From 4164d1465530197bf11478370ffb291528f6c251 Mon Sep 17 00:00:00 2001 From: CatastrophicCoder Date: Thu, 15 Oct 2026 13:48:00 +0300 Subject: [PATCH 01/17] m6: plugin reinstalled; pluginval (VST3, AU) and auval pass --- docs/PROGRESS.md | 2 + harness/reports/M6/20261015_auval.log | 281 ++++++++++++++++++ harness/reports/M6/20261015_pluginval_au.log | 119 ++++++++ .../reports/M6/20261015_pluginval_vst3.log | 116 ++++++++ 4 files changed, 518 insertions(+) create mode 100644 harness/reports/M6/20261015_auval.log create mode 100644 harness/reports/M6/20261015_pluginval_au.log create mode 100644 harness/reports/M6/20261015_pluginval_vst3.log diff --git a/docs/PROGRESS.md b/docs/PROGRESS.md index 4779c3f..b0598fc 100644 --- a/docs/PROGRESS.md +++ b/docs/PROGRESS.md @@ -756,6 +756,8 @@ Notes: automation, plugin CPU. - Done (D-057): plugin CPU under automation 18.7 … 24.6 % (default base), 22.8 … 33.5 % (every knob 10); static ≈ 19 % / 32.5 %. Accuracy: acceptance and HOT unchanged; knob jump PASS (B1234 −39.2 … −55.1 dB, B56 −63.2 dB). +- 2026-10-15 (main after PR #1): plugin reinstalled to ~/Library/Audio/Plug-Ins (VST3, AU); pluginval strictness 5 + SUCCESS for VST3 and AU, auval PASS (`harness/reports/M6/20261015_pluginval_*.log`, `…_auval.log`). ## Questions for the owner _(Claude Code: add questions here and also ask them in the session.)_ diff --git a/harness/reports/M6/20261015_auval.log b/harness/reports/M6/20261015_auval.log new file mode 100644 index 0000000..e5c0f8f --- /dev/null +++ b/harness/reports/M6/20261015_auval.log @@ -0,0 +1,281 @@ + + AU Validation Tool + Version: 1.10.0 + Copyright 2003-2019, Apple Inc. All Rights Reserved. + Specify -h (-help) for command options + +-------------------------------------------------- +VALIDATING AUDIO UNIT: 'aufx' - 'A223' - 'Ctcd' +-------------------------------------------------- +Manufacturer String: CatastrophicCoder +AudioUnit Name: Amp2203 +Component Version: 0.0.1 (0x1) + +* * PASS +-------------------------------------------------- +TESTING OPEN TIMES: +COLD: +Time to open AudioUnit: 9.826 ms +WARM: +Time to open AudioUnit: 5.473 ms +This AudioUnit is a version 2 implementation. +FIRST TIME: +Time for initialization: 8.287 ms + +* * PASS +-------------------------------------------------- +VERIFYING DEFAULT SCOPE FORMATS: +Input Scope Bus Configuration: + Default Bus Count:1 + Bus Name: Input + Default Format: AudioStreamBasicDescription: 2 ch, 44100 Hz, Float32, deinterleaved + Has Channel Layouts: 0x640001 0x650002 0x660002 0x670002 0x6A0002 + Default Layout: + Tag=0x650002, Num Chan Descs=0 + +Output Scope Bus Configuration: + Default Bus Count:1 + Bus Name: Output + Default Format: AudioStreamBasicDescription: 2 ch, 44100 Hz, Float32, deinterleaved + Has Channel Layouts: 0x640001 0x650002 0x660002 0x670002 0x6A0002 + Default Layout: + Tag=0x650002, Num Chan Descs=0 + +* * PASS +-------------------------------------------------- +VERIFYING REQUIRED PROPERTIES: + +* * PASS +-------------------------------------------------- +VERIFYING RECOMMENDED PROPERTIES: + VERIFYING PROPERTY: Latency + PASS + VERIFYING PROPERTY: Tail Time + PASS + VERIFYING PROPERTY: Bypass Effect + PASS + +* * PASS +-------------------------------------------------- +VERIFYING OPTIONAL PROPERTIES: + +* * PASS +-------------------------------------------------- +VERIFYING SPECIAL PROPERTIES: + +VERIFYING CUSTOM UI +Cocoa Views Available: 1 + JUCE_AUCocoaViewClass_6cb728253cf62f2b + PASS + +HAS FACTORY PRESETS + ID: 0 Name: Untitled + +VERIFYING CLASS INFO + PASS + +TESTING HOST CALLBACKS + PASS + +* * PASS +-------------------------------------------------- +PUBLISHED PARAMETER INFO: + +# # # 12 Global Scope Parameters: +Parameter ID:3016415 +Name: Bass +Parameter Type: Generic +Values: Minimum = 0.0, Default = 5.0, Maximum = 10.0 +Flags: Values Have Strings, High Resolution, Can Ramp, Readable, Writable + -parameter PASS + +Parameter ID:857833147 +Name: Preamp Volume +Parameter Type: Generic +Values: Minimum = 0.0, Default = 6.0, Maximum = 10.0 +Flags: Values Have Strings, High Resolution, Can Ramp, Readable, Writable + -parameter PASS + +Parameter ID:870817019 +Name: Presence +Parameter Type: Generic +Values: Minimum = 0.0, Default = 5.0, Maximum = 10.0 +Flags: Values Have Strings, High Resolution, Can Ramp, Readable, Writable + -parameter PASS + +Parameter ID:956930507 +Name: Interface Level +Parameter Type: Generic +Values: Minimum = 0.0, Default = 12.0, Maximum = 24.0 +Flags: Values Have Strings, High Resolution, Can Ramp, Readable, Writable + -parameter PASS + +Parameter ID:1066216034 +Name: Master +Parameter Type: Generic +Values: Minimum = 0.0, Default = 3.0, Maximum = 10.0 +Flags: Values Have Strings, High Resolution, Can Ramp, Readable, Writable + -parameter PASS + +Parameter ID:1073142165 +Name: Middle +Parameter Type: Generic +Values: Minimum = 0.0, Default = 5.0, Maximum = 10.0 +Flags: Values Have Strings, High Resolution, Can Ramp, Readable, Writable + -parameter PASS + +Parameter ID:1281885780 +Name: Treble +Parameter Type: Generic +Values: Minimum = 0.0, Default = 5.0, Maximum = 10.0 +Flags: Values Have Strings, High Resolution, Can Ramp, Readable, Writable + -parameter PASS + +Parameter ID:1305086723 +Name: Output Level +Parameter Type: Generic +Values: Minimum = -48.0, Default = 0.0, Maximum = 12.0 +Flags: Values Have Strings, High Resolution, Can Ramp, Readable, Writable + -parameter PASS + +Parameter ID:1420097723 +Name: Oversampling +Parameter Type: Indexed +Values: Minimum = 2x, Default = 2x, Maximum = 16x +Flags: Values Have Strings, High Resolution, Readable, Writable +Parameter has Value Strings +Num Strings = 4 +Value: 0, String: 2x +Value: 1, String: 4x +Value: 2, String: 8x +Value: 3, String: 16x + -parameter PASS + +Parameter ID:1706969868 +Name: Input Trim +Parameter Type: Generic +Values: Minimum = -24.0, Default = 0.0, Maximum = 24.0 +Flags: Values Have Strings, High Resolution, Can Ramp, Readable, Writable + -parameter PASS + +Parameter ID:1796311039 +Name: Power Amp Rate +Parameter Type: Indexed +Values: Minimum = Full, Default = Half, Maximum = Half +Flags: Values Have Strings, High Resolution, Readable, Writable +Parameter has Value Strings +Num Strings = 2 +Value: 0, String: Full +Value: 1, String: Half + -parameter PASS + +Parameter ID:1957034003 +Name: Oversampling Filter +Parameter Type: Indexed +Values: Minimum = Linear phase (FIR), Default = Linear phase (FIR), Maximum = Low latency (IIR) +Flags: Values Have Strings, High Resolution, Readable, Writable +Parameter has Value Strings +Num Strings = 2 +Value: 0, String: Linear phase (FIR) +Value: 1, String: Low latency (IIR) + -parameter PASS + +Testing that parameters retain value across reset and initialization + PASS + +* * PASS +-------------------------------------------------- +FORMAT TESTS: + +Reported Channel Capabilities (explicit): + [1, 1] [1, 2] [2, 1] [2, 2] + +Input/Output Channel Handling: +1-1 1-2 1-4 1-5 1-6 1-7 1-8 2-2 2-4 2-5 2-6 2-7 2-8 4-4 4-5 5-5 6-6 7-7 8-8 +X X X + +# # AudioChannelLayouts (5), Input Scope: +ChannelLayout is Writable: T +The Unit publishes the following Channel Layouts: + 0x640001, 0x650002, 0x660002, 0x670002, 0x6A0002, + +Is Audio Channel Layout Available: +Mono Stereo Binau. AU_4 Ambi. AU_5 AU_5_0 AU_6 AU_6_0 AU_7_0 AU_7_0F AU_8 AU_5_1 AU_6_1 AU_7_1 AU_7_1F +X X X + +Current Format:AudioStreamBasicDescription: 2 ch, 44100 Hz, Float32, deinterleaved +Current Format Tag = 0x650002, New Format Tag = 0x640001, Success - did not reset format with mis-matched layout + +Current Format:AudioStreamBasicDescription: 2 ch, 44100 Hz, Float32, deinterleaved +Current Format Tag = 0x650002, New Format Tag = 0x650002, Successsful + +Current Format:AudioStreamBasicDescription: 2 ch, 44100 Hz, Float32, deinterleaved +Current Format Tag = 0x650002, New Format Tag = 0x6A0002, Successsful + +# # AudioChannelLayouts (5), Output Scope: +ChannelLayout is Writable: T +The Unit publishes the following Channel Layouts: + 0x640001, 0x650002, 0x660002, 0x670002, 0x6A0002, + +Is Audio Channel Layout Available: +Mono Stereo Binau. AU_4 Ambi. AU_5 AU_5_0 AU_6 AU_6_0 AU_7_0 AU_7_0F AU_8 AU_5_1 AU_6_1 AU_7_1 AU_7_1F +X X X + +Current Format:AudioStreamBasicDescription: 2 ch, 44100 Hz, Float32, deinterleaved +Current Format Tag = 0x650002, New Format Tag = 0x640001, Success - did not reset format with mis-matched layout + +Current Format:AudioStreamBasicDescription: 2 ch, 44100 Hz, Float32, deinterleaved +Current Format Tag = 0x650002, New Format Tag = 0x650002, Successsful + +Current Format:AudioStreamBasicDescription: 2 ch, 44100 Hz, Float32, deinterleaved +Current Format Tag = 0x650002, New Format Tag = 0x6A0002, Successsful + +* * PASS +-------------------------------------------------- +RENDER TESTS: + +Input Format: AudioStreamBasicDescription: 2 ch, 44100 Hz, Float32, deinterleaved +Output Format: AudioStreamBasicDescription: 2 ch, 44100 Hz, Float32, deinterleaved +Render Test at 512 frames +Slicing Render Test at 64 frames + PASS + + +Render Test at 64 frames, sample rate: 22050 Hz +Render Test at 137 frames, sample rate: 96000 Hz +Render Test at 4096 frames, sample rate: 48000 Hz +Render Test at 4096 frames, sample rate: 192000 Hz +Render Test at 4096 frames, sample rate: 11025 Hz +Render Test at 512 frames, sample rate: 44100 Hz + PASS + +1 Channel Test: +Render Test at 512 frames + PASS + +1 to 2 Channel Render Test at 256 frames + PASS + +Checking connection semantics: +Connection format: +AudioStreamBasicDescription: 2 ch, 44100 Hz, Float32, deinterleaved + PASS + +Bad Max Frames - Render should fail + PASS + +Checking parameter setting +Using AudioUnitSetParameter +Using AudioUnitScheduleParameter + PASS + +Checking ramped parameter scheduling + PASS + +Test MIDI + PASS + +* * PASS +-------------------------------------------------- +AU VALIDATION SUCCEEDED. +-------------------------------------------------- diff --git a/harness/reports/M6/20261015_pluginval_au.log b/harness/reports/M6/20261015_pluginval_au.log new file mode 100644 index 0000000..f92c0a8 --- /dev/null +++ b/harness/reports/M6/20261015_pluginval_au.log @@ -0,0 +1,119 @@ +Started validating: /Users/kimmo/Library/Audio/Plug-Ins/Components/Amp2203.component +Random seed: 0x3eea322 +Validation started +Strictness level: 5 +----------------------------------------------------------------- +Starting tests in: pluginval / Scan for plugins located in: /Users/kimmo/Library/Audio/Plug-Ins/Components/Amp2203.component... +Num plugins found: 1 + +Testing plugin: AudioUnit-Amp2203-f5dabfd3-6333372f +CatastrophicCoder: Amp2203 v0.0.1 +Completed tests in pluginval / Scan for plugins located in: /Users/kimmo/Library/Audio/Plug-Ins/Components/Amp2203.component +----------------------------------------------------------------- +Starting tests in: pluginval / Open plugin (cold)... +Completed tests in pluginval / Open plugin (cold) +----------------------------------------------------------------- +Starting tests in: pluginval / Open plugin (warm)... +Running tests 1 times +Completed tests in pluginval / Open plugin (warm) +----------------------------------------------------------------- +Starting tests in: pluginval / Plugin info... + +Plugin name: Amp2203 +Alternative names: Amp2203 +SupportsDoublePrecision: no +Reported latency: 0 +Reported taillength: 0 +Completed tests in pluginval / Plugin info +----------------------------------------------------------------- +Starting tests in: pluginval / Plugin programs... +Num programs: 1 +All program names checked + +Changing program +!!! WARNING: Current program is -1... Is this correct? +Completed tests in pluginval / Plugin programs +----------------------------------------------------------------- +Starting tests in: pluginval / Editor... +Completed tests in pluginval / Editor +----------------------------------------------------------------- +Starting tests in: pluginval / Open editor whilst processing... +Completed tests in pluginval / Open editor whilst processing +----------------------------------------------------------------- +Starting tests in: pluginval / Audio processing... +Testing with sample rate [44100] and block size [64] +Testing with sample rate [44100] and block size [128] +Testing with sample rate [44100] and block size [256] +Testing with sample rate [44100] and block size [512] +Testing with sample rate [44100] and block size [1024] +Testing with sample rate [48000] and block size [64] +Testing with sample rate [48000] and block size [128] +Testing with sample rate [48000] and block size [256] +Testing with sample rate [48000] and block size [512] +Testing with sample rate [48000] and block size [1024] +Testing with sample rate [96000] and block size [64] +Testing with sample rate [96000] and block size [128] +Testing with sample rate [96000] and block size [256] +Testing with sample rate [96000] and block size [512] +Testing with sample rate [96000] and block size [1024] +Completed tests in pluginval / Audio processing +----------------------------------------------------------------- +Starting tests in: pluginval / Plugin state... +Completed tests in pluginval / Plugin state +----------------------------------------------------------------- +Starting tests in: pluginval / Automation... +Testing with sample rate [44100] and block size [64] and sub-block size [32] +Testing with sample rate [44100] and block size [128] and sub-block size [32] +Testing with sample rate [44100] and block size [256] and sub-block size [32] +Testing with sample rate [44100] and block size [512] and sub-block size [32] +Testing with sample rate [44100] and block size [1024] and sub-block size [32] +Testing with sample rate [48000] and block size [64] and sub-block size [32] +Testing with sample rate [48000] and block size [128] and sub-block size [32] +Testing with sample rate [48000] and block size [256] and sub-block size [32] +Testing with sample rate [48000] and block size [512] and sub-block size [32] +Testing with sample rate [48000] and block size [1024] and sub-block size [32] +Testing with sample rate [96000] and block size [64] and sub-block size [32] +Testing with sample rate [96000] and block size [128] and sub-block size [32] +Testing with sample rate [96000] and block size [256] and sub-block size [32] +Testing with sample rate [96000] and block size [512] and sub-block size [32] +Testing with sample rate [96000] and block size [1024] and sub-block size [32] +Completed tests in pluginval / Automation +----------------------------------------------------------------- +Starting tests in: pluginval / Editor Automation... +Completed tests in pluginval / Editor Automation +----------------------------------------------------------------- +Starting tests in: pluginval / Automatable Parameters... +Completed tests in pluginval / Automatable Parameters +----------------------------------------------------------------- +Starting tests in: pluginval / auval... +auval exited with code: 0 +Completed tests in pluginval / auval +----------------------------------------------------------------- +Starting tests in: pluginval / vst3 validator... +Completed tests in pluginval / vst3 validator +----------------------------------------------------------------- +Starting tests in: pluginval / Basic bus... +Completed tests in pluginval / Basic bus +----------------------------------------------------------------- +Starting tests in: pluginval / Listing available buses... +Inputs: + Named layouts: Mono, Stereo + Discrete layouts: None +Outputs: + Named layouts: Mono, Stereo + Discrete layouts: None +Main bus num input channels: 2 +Main bus num output channels: 2 +Completed tests in pluginval / Listing available buses +----------------------------------------------------------------- +Starting tests in: pluginval / Enabling all buses... +Completed tests in pluginval / Enabling all buses +----------------------------------------------------------------- +Starting tests in: pluginval / Disabling non-main busses... +Completed tests in pluginval / Disabling non-main busses +----------------------------------------------------------------- +Starting tests in: pluginval / Restoring default layout... +Main bus num input channels: 2 +Main bus num output channels: 2 +Completed tests in pluginval / Restoring default layout +SUCCESS diff --git a/harness/reports/M6/20261015_pluginval_vst3.log b/harness/reports/M6/20261015_pluginval_vst3.log new file mode 100644 index 0000000..0edd0b9 --- /dev/null +++ b/harness/reports/M6/20261015_pluginval_vst3.log @@ -0,0 +1,116 @@ +Started validating: /Users/kimmo/Library/Audio/Plug-Ins/VST3/Amp2203.vst3 +Random seed: 0x12ee3a2 +Validation started +Strictness level: 5 +----------------------------------------------------------------- +Starting tests in: pluginval / Scan for plugins located in: /Users/kimmo/Library/Audio/Plug-Ins/VST3/Amp2203.vst3... +Num plugins found: 1 + +Testing plugin: VST3-Amp2203-81e3417-bab24cd9 +CatastrophicCoder: Amp2203 v0.0.1 +Completed tests in pluginval / Scan for plugins located in: /Users/kimmo/Library/Audio/Plug-Ins/VST3/Amp2203.vst3 +----------------------------------------------------------------- +Starting tests in: pluginval / Open plugin (cold)... +Completed tests in pluginval / Open plugin (cold) +----------------------------------------------------------------- +Starting tests in: pluginval / Open plugin (warm)... +Running tests 1 times +Completed tests in pluginval / Open plugin (warm) +----------------------------------------------------------------- +Starting tests in: pluginval / Plugin info... + +Plugin name: Amp2203 +Alternative names: Amp2203 +SupportsDoublePrecision: yes +Reported latency: 0 +Reported taillength: 0 +Completed tests in pluginval / Plugin info +----------------------------------------------------------------- +Starting tests in: pluginval / Plugin programs... +Num programs: 0 +All program names checked +Completed tests in pluginval / Plugin programs +----------------------------------------------------------------- +Starting tests in: pluginval / Editor... +Completed tests in pluginval / Editor +----------------------------------------------------------------- +Starting tests in: pluginval / Open editor whilst processing... +Completed tests in pluginval / Open editor whilst processing +----------------------------------------------------------------- +Starting tests in: pluginval / Audio processing... +Testing with sample rate [44100] and block size [64] +Testing with sample rate [44100] and block size [128] +Testing with sample rate [44100] and block size [256] +Testing with sample rate [44100] and block size [512] +Testing with sample rate [44100] and block size [1024] +Testing with sample rate [48000] and block size [64] +Testing with sample rate [48000] and block size [128] +Testing with sample rate [48000] and block size [256] +Testing with sample rate [48000] and block size [512] +Testing with sample rate [48000] and block size [1024] +Testing with sample rate [96000] and block size [64] +Testing with sample rate [96000] and block size [128] +Testing with sample rate [96000] and block size [256] +Testing with sample rate [96000] and block size [512] +Testing with sample rate [96000] and block size [1024] +Completed tests in pluginval / Audio processing +----------------------------------------------------------------- +Starting tests in: pluginval / Plugin state... +Completed tests in pluginval / Plugin state +----------------------------------------------------------------- +Starting tests in: pluginval / Automation... +Testing with sample rate [44100] and block size [64] and sub-block size [32] +Testing with sample rate [44100] and block size [128] and sub-block size [32] +Testing with sample rate [44100] and block size [256] and sub-block size [32] +Testing with sample rate [44100] and block size [512] and sub-block size [32] +Testing with sample rate [44100] and block size [1024] and sub-block size [32] +Testing with sample rate [48000] and block size [64] and sub-block size [32] +Testing with sample rate [48000] and block size [128] and sub-block size [32] +Testing with sample rate [48000] and block size [256] and sub-block size [32] +Testing with sample rate [48000] and block size [512] and sub-block size [32] +Testing with sample rate [48000] and block size [1024] and sub-block size [32] +Testing with sample rate [96000] and block size [64] and sub-block size [32] +Testing with sample rate [96000] and block size [128] and sub-block size [32] +Testing with sample rate [96000] and block size [256] and sub-block size [32] +Testing with sample rate [96000] and block size [512] and sub-block size [32] +Testing with sample rate [96000] and block size [1024] and sub-block size [32] +Completed tests in pluginval / Automation +----------------------------------------------------------------- +Starting tests in: pluginval / Editor Automation... +Completed tests in pluginval / Editor Automation +----------------------------------------------------------------- +Starting tests in: pluginval / Automatable Parameters... +Completed tests in pluginval / Automatable Parameters +----------------------------------------------------------------- +Starting tests in: pluginval / auval... +Completed tests in pluginval / auval +----------------------------------------------------------------- +Starting tests in: pluginval / vst3 validator... +INFO: Skipping vst3 validator as validator path hasn't been set +Completed tests in pluginval / vst3 validator +----------------------------------------------------------------- +Starting tests in: pluginval / Basic bus... +Completed tests in pluginval / Basic bus +----------------------------------------------------------------- +Starting tests in: pluginval / Listing available buses... +Inputs: + Named layouts: Mono, Stereo + Discrete layouts: Discrete #1 +Outputs: + Named layouts: Mono, Stereo + Discrete layouts: Discrete #1 +Main bus num input channels: 2 +Main bus num output channels: 2 +Completed tests in pluginval / Listing available buses +----------------------------------------------------------------- +Starting tests in: pluginval / Enabling all buses... +Completed tests in pluginval / Enabling all buses +----------------------------------------------------------------- +Starting tests in: pluginval / Disabling non-main busses... +Completed tests in pluginval / Disabling non-main busses +----------------------------------------------------------------- +Starting tests in: pluginval / Restoring default layout... +Main bus num input channels: 2 +Main bus num output channels: 2 +Completed tests in pluginval / Restoring default layout +SUCCESS From 0d0ad9c889fac7b88dab9a621b31fd37ac455ddc Mon Sep 17 00:00:00 2001 From: CatastrophicCoder Date: Thu, 15 Oct 2026 14:31:13 +0300 Subject: [PATCH 02/17] m6: review of O3 / A5 vs the drawing and datasheets; C2 100 pF missing from the netlist (O8) --- docs/CIRCUIT.md | 1 + docs/PROGRESS.md | 12 ++++++++++++ 2 files changed, 13 insertions(+) diff --git a/docs/CIRCUIT.md b/docs/CIRCUIT.md index 22f9ed6..8076079 100644 --- a/docs/CIRCUIT.md +++ b/docs/CIRCUIT.md @@ -248,6 +248,7 @@ Regenerate with `python3 reference/spice/spice_tools.py` after any netlist chang | O5 | NFB tap | 16 Ω output with 16 Ω load | Feedback amount if taken from another tap | | O6 | Low input | Not modelled | Feature only | | O7 | OT half-primary orientation | Blue–White (15.36 Ω) on the pA side (V4/V5) | ±0.6 Ω winding asymmetry, about ±40 mV DC per side | +| O8 | C2 100 pF V1a plate–cathode (drawing 2203 STD Preamp iss. 4) | Not in the netlist (found 2026-10-15) | −0.3 dB at 5 kHz, −0.7 … −0.9 dB at 10 kHz into V1b (SPICE study) | | A1 | HT source 505 V / 100 Ω | Assumed | B+ level and sag | | A2 | OT values | Hammond 1750U replacement datasheet, primary inductance fitted (§3, D-023) | Power, LF/HF response, feedback | | A3 | Choke 5 H / 115 Ω | Hammond 194F replacement datasheet; L specified at 120 mA DC, the amp runs it at ≈ 27 mA (D-024) | Screen node dynamics, supply DC | diff --git a/docs/PROGRESS.md b/docs/PROGRESS.md index b0598fc..0557a32 100644 --- a/docs/PROGRESS.md +++ b/docs/PROGRESS.md @@ -758,6 +758,18 @@ Notes: ≈ 19 % / 32.5 %. Accuracy: acceptance and HOT unchanged; knob jump PASS (B1234 −39.2 … −55.1 dB, B56 −63.2 dB). - 2026-10-15 (main after PR #1): plugin reinstalled to ~/Library/Audio/Plug-Ins (VST3, AU); pluginval strictness 5 SUCCESS for VST3 and AU, auval PASS (`harness/reports/M6/20261015_pluginval_*.log`, `…_auval.log`). +- Owner listening in Logic (2026-10-15): "very dark", "lacks gain", Master "just adds volume"; cab IR after the plugin; + compared with a real 2203. Review of O3 / A5 (owner request), SPICE studies on copies, reference unchanged: + - O3: C5 1 nF top-to-wiper matches the drawing. New O8: C2 100 pF V1a plate–cathode is on the drawing but missing + from the netlist; adding it darkens V1a → V1b by 0.3 dB at 5 kHz, 0.7 … 0.9 dB at 10 kHz. + - A5 12AX7: Koren's set vs RCA datasheet: 250 V / −2 V 0.95 mA (1.2), gm 1.67 (1.6) mA/V, rp 53.7 (62.5) kΩ; 100 V / + −1 V 0.10 mA (0.5), gm 0.59 (1.25), rp 141 (80) kΩ. Sarti et al. DAFx-07 set (mu 100.8, ex 1.4979, kg1 1890, kp 828, + kvb 72, Vct 0.612) matches both points (1.22 mA / 1.62 / 61.4; 0.50 mA / 1.22 / 82.0). Full amp with it: DC −1.6 … + −6.6 V, CRUNCH / DRIVE 220 Hz 0.3 V: output −0.3 dB, harmonics H2–H9 within 0.0 … 3.8 dB, spectral centroid +2 %. + - A5 EL34 (Koren set) vs Philips class A (250 / 250 V, −12.2 V): Ia 113 (100) mA, Ig2 19.3 (14.9) mA, gm 13.1 (11) + mA/V, ra 34 (15) kΩ; effect on the sound not studied. + Neither O3 nor the 12AX7 set explains "dark / lacks gain"; open candidates: resistive 16 Ω load (README known + limitation), EL34 model, input level. ## Questions for the owner _(Claude Code: add questions here and also ask them in the session.)_ From 3ef594d77bdd78ea6f8f0fb3f86706f4884da94e Mon Sep 17 00:00:00 2001 From: CatastrophicCoder Date: Thu, 15 Oct 2026 14:38:54 +0300 Subject: [PATCH 03/17] =?UTF-8?q?m6:=20EL34=20study=20(one-point=20datashe?= =?UTF-8?q?et=20fit=20vs=20Koren;=20output=20impedance=20=E2=89=88=2016=20?= =?UTF-8?q?=CE=A9)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/PROGRESS.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/docs/PROGRESS.md b/docs/PROGRESS.md index 0557a32..caa5a4e 100644 --- a/docs/PROGRESS.md +++ b/docs/PROGRESS.md @@ -770,6 +770,15 @@ Notes: mA/V, ra 34 (15) kΩ; effect on the sound not studied. Neither O3 nor the 12AX7 set explains "dark / lacks gain"; open candidates: resistive 16 Ω load (README known limitation), EL34 model, input level. +- EL34 study (owner request; SPICE copies, reference unchanged): no published Koren EL34 fit found; JJ datasheet typical + point Ua 250 V, Ug2 265 V, Ia 100 mA, S 11 mA/V, Ri 15 kΩ, mu g2-g1 11. Current set there: gm 12.2 mA/V, ri 38.8 kΩ. + One-point fit (mu, ex, kg1, kg2 kept): kp 49.97, kvb 58.9 → gm 11.0, ri 15.0 kΩ; softer knee (Vg1 0 V, Va 50 V: + 159 vs 254 mA), not validated against curves. Full amp, current / fit: clean power (CLEAN 25 mV) 101 / 82.5 W + (THD 3.2 / 1.9 %); clipped output at DRIVE Master 0.6–1.0 and HOT 182–194 / 132–137 W into 16 Ω; harmonics + H2–H9 mostly within 0–2 dB (H2 at Master 0.6: −38.6 / −53.2 dB); spectral centroid −1 … −7 % with the fit. + Closed-loop output impedance (16 Ω vs open load) 14.1 / 15.7 / 16.0 Ω at 100 Hz / 1 kHz / 5 kHz (fit: 14.6 / 16.2 / + 16.5 Ω): about equal to the load, so a speaker's rising impedance would raise the real amp's output at resonance + and at high frequencies relative to the 16 Ω resistor (not yet simulated). Neither EL34 set explains "dark". ## Questions for the owner _(Claude Code: add questions here and also ask them in the session.)_ From 94107d7fc5fe78fc4a454ba9b523e1d559fc4a3a Mon Sep 17 00:00:00 2001 From: CatastrophicCoder Date: Thu, 15 Oct 2026 14:51:23 +0300 Subject: [PATCH 04/17] m6: EL34 Koren parameters fitted to digitised datasheet curves; SPICE comparison --- docs/PROGRESS.md | 5 + .../reports/M6/20261015_el34_curve_fit.json | 113 ++++++++++++++++++ harness/reports/M6/20261015_el34_curve_fit.md | 19 +++ 3 files changed, 137 insertions(+) create mode 100644 harness/reports/M6/20261015_el34_curve_fit.json create mode 100644 harness/reports/M6/20261015_el34_curve_fit.md diff --git a/docs/PROGRESS.md b/docs/PROGRESS.md index caa5a4e..a6f2eb5 100644 --- a/docs/PROGRESS.md +++ b/docs/PROGRESS.md @@ -779,6 +779,11 @@ Notes: Closed-loop output impedance (16 Ω vs open load) 14.1 / 15.7 / 16.0 Ω at 100 Hz / 1 kHz / 5 kHz (fit: 14.6 / 16.2 / 16.5 Ω): about equal to the load, so a speaker's rising impedance would raise the real amp's output at resonance and at high frequencies relative to the 16 Ω resistor (not yet simulated). Neither EL34 set explains "dark". +- EL34 curve fit (owner request; poppler installed for the data sheet; `harness/reports/M6/20261015_el34_curve_fit.md`): + Koren parameters fitted to 81 digitised Ei-RC curve points: mu 14.77, ex 1.046, kg1 194.3, kp 53.82, + kvb 40.4, kg2 2243; error vs the curves median 3.7 / 2.7 % (current set 11.5 / 28.2 %). Full amp: output impedance + 20–23 Ω (was 14–16), clean 87 W (101), clipped 156–163 W (182–194), harmonics mostly within 1 dB, centroid −1 … −2 %. + Not a cause of "dark"; the higher output impedance makes the resistive-load difference larger. ## Questions for the owner _(Claude Code: add questions here and also ask them in the session.)_ diff --git a/harness/reports/M6/20261015_el34_curve_fit.json b/harness/reports/M6/20261015_el34_curve_fit.json new file mode 100644 index 0000000..84cd4e3 --- /dev/null +++ b/harness/reports/M6/20261015_el34_curve_fit.json @@ -0,0 +1,113 @@ +{ + "source": "Ei-RC EL34 data sheet (frank.pocnet.net/sheets/084/e/EL34.pdf), page 7 top (plate characteristics, Vg2 250 V) and page 6 (transfer characteristics), digitised 2026-10-15", + "plate_vg2_250": { + "0": { + "50": 211.4, + "100": 251.6, + "150": 262.7, + "200": 263.4, + "250": 264.0 + }, + "-5": { + "50": 148.9, + "100": 175.0, + "150": 188.0, + "200": 194.0, + "250": 199.3, + "300": 198.2, + "350": 201.1, + "400": 195.2 + }, + "-10": { + "50": 79.6, + "100": 107.3, + "150": 109.2, + "200": 119.1, + "250": 128.5, + "300": 131.2, + "350": 130.2, + "400": 138.1, + "450": 141.5, + "495": 143.2 + }, + "-15": { + "50": 35.4, + "100": 54.3, + "150": 60.3, + "200": 64.4, + "250": 68.2, + "300": 69.9, + "350": 72.1, + "400": 70.8, + "450": 78.1, + "495": 81.0 + }, + "-20": { + "50": 18.6, + "100": 20.2, + "150": 27.3, + "200": 28.7, + "250": 29.6, + "300": 36.2, + "350": 31.4, + "400": 32.5, + "450": 35.5, + "495": 37.6 + }, + "-25": { + "50": 8.7, + "100": 5.5, + "150": 8.5, + "200": 9.6, + "250": 10.3, + "300": 12.8, + "350": 10.9, + "400": 11.6, + "450": 12.0, + "495": 12.5 + } + }, + "transfer_va_vg2": { + "250/250": { + "30": -19.4, + "40": -17.8, + "50": -16.5, + "60": -15.4, + "75": -13.6, + "100": -11.4, + "125": -9.5, + "150": -7.8, + "175": -6.7 + }, + "350/375": { + "30": -33.2, + "40": -30.7, + "50": -29.2, + "60": -27.4, + "75": -25.5, + "100": -22.6, + "125": -20.4, + "150": -18.6, + "175": -17.3 + }, + "400/425": { + "30": -39.1, + "40": -36.4, + "50": -34.4, + "60": -32.7, + "75": -30.6, + "100": -27.7, + "125": -25.4, + "150": -23.3, + "175": -21.3 + } + }, + "fit": { + "mu": 14.7687204357891, + "ex": 1.0460615706275331, + "kg1": 194.2741516346107, + "kp": 53.82052271611609, + "kvb": 40.42952399468857, + "kg2": 2243.1266543968895 + } +} \ No newline at end of file diff --git a/harness/reports/M6/20261015_el34_curve_fit.md b/harness/reports/M6/20261015_el34_curve_fit.md new file mode 100644 index 0000000..f1b3b8c --- /dev/null +++ b/harness/reports/M6/20261015_el34_curve_fit.md @@ -0,0 +1,19 @@ +# M6 EL34 study: Koren parameters fitted to datasheet curves (SPICE copies, reference unchanged) + +- Source: Ei-RC EL34 data sheet, plate characteristics at Vg2 = 250 V (Vg1 0 … −25 V, 54 points, page 7) and transfer characteristics Ia(Vg1) at Va / Vg2 = 250 / 250, 350 / 375, 400 / 425 V (27 points, page 6), digitised from 300 dpi renders (axis calibration checked against the printed 25 W dissipation curve); screen parameter kg2 fitted to the four Ig2 values of the sheet's operating tables. Data: `20261015_el34_curve_fit.json`. +- Fit (soft-L1 on relative error): mu 14.77, ex 1.046, kg1 194.3, kp 53.82, kvb 40.4, kg2 2243 (current tubes.lib: mu 11, ex 1.35, kg1 650, kp 60, kvb 24, kg2 4200). + +| | current (Koren) | curve fit | +|---|---|---| +| Plate curves, relative error median / 90 % | 11.5 % / 25.5 % | 3.7 % / 14.1 % | +| Transfer curves, median / 90 % | 28.2 % / 34.0 % | 2.7 % / 5.5 % | +| Table Ia (250/265/−13.5, 250/245/−14.5, 420/416/−38, 370/371/−32 V) | 115 / 80 / 38 / 43 mA | 97 / 67 / 30 / 34 mA (sheet 100 / 70 / 30 / 35) | +| Table Ig2 | 19.6 / 13.5 / 5.3 / 6.3 mA | 16.9 / 11.7 / 3.7 / 4.5 mA (sheet 14.9 / 10.0 / 4.4 / 4.7) | +| Full amp: B+ (ct), same bias network | 488.7 V | 491.4 V | +| Output impedance 100 Hz / 1 kHz / 5 kHz (16 Ω vs open) | 14.1 / 15.7 / 16.0 Ω | 20.1 / 22.3 / 22.7 Ω | +| CLEAN 25 mV 1 kHz | 101.2 W, 3.2 % | 87.1 W, 4.5 % | +| DRIVE Master 0.3 / 0.6 / 1.0, HOT (220 Hz 0.3 V) | 36.8 / 193.6 / 190.4 / 182.1 W | 30.1 / 162.9 / 161.0 / 156.0 W | +| Harmonics H2–H9 at those settings | — | within 0 … 1 dB except H2 at Master 0.6 (−38.6 → −43.1) and H5 at HOT (−38.7 → −43.5 dB) | +| Spectral centroid | 1931 / 3308 / 7080 / 3753 Hz | 1895 / 3244 / 7033 / 3715 Hz | + +Not done: re-biasing to the same idle current (a real amp is biased per tube set; A4 is an assumption). From 5b9b4ab6d0dcdf7a8e4130c5dc27359a395e2ecd Mon Sep 17 00:00:00 2001 From: CatastrophicCoder Date: Thu, 15 Oct 2026 15:04:27 +0300 Subject: [PATCH 05/17] m6: EL34 parameters fitted to the data sheet in the reference and the engine (D-058); DC fixtures, sweeps, testbenches regenerated --- docs/CIRCUIT.md | 41 +- docs/DECISIONS.md | 13 + docs/PROGRESS.md | 4 + engine/src/devices/Pentode.h | 6 +- harness/junctions.py | 4 +- harness/reports/M0/20261015_junctions.md | 48 + harness/testbenches/b12.cir | 2 +- harness/testbenches/b123.cir | 4 +- harness/testbenches/b1234.cir | 4 +- harness/testbenches/b3.cir | 4 +- harness/testbenches/b34.cir | 4 +- harness/testbenches/b4.cir | 4 +- harness/testbenches/b56.cir | 4 +- harness/testbenches/b56j5.cir | 4 +- harness/testbenches/b5open.cir | 4 +- harness/testbenches/b6.cir | 8 +- harness/tests/test_device_sweeps.py | 2 +- reference/spice/tubes.lib | 3 +- tests/data/12ax7_grid.csv | 2 +- tests/data/12ax7_plate.csv | 2 +- tests/data/el34_grid.csv | 12 +- tests/data/el34_plate.csv | 2930 +++++++++++----------- tests/test_amp2203.cpp | 20 +- tests/test_power_amp.cpp | 18 +- tests/test_power_stage.cpp | 22 +- 25 files changed, 1618 insertions(+), 1551 deletions(-) create mode 100644 harness/reports/M0/20261015_junctions.md diff --git a/docs/CIRCUIT.md b/docs/CIRCUIT.md index 8076079..c03309c 100644 --- a/docs/CIRCUIT.md +++ b/docs/CIRCUIT.md @@ -206,32 +206,33 @@ three candidates differ by < 0.4 % and give the same result within 0.1 dB. Worst ## 5. Reference DC operating point (default parameters, from SPICE) -Defaults: vol 0.6, treble/middle/bass/presence 0.5, master 0.3, rv1 4 kΩ, vnl 505 V, rsrc 100 Ω. +Defaults: vol 0.6, treble/middle/bass/presence 0.5, master 0.3, rv1 4 kΩ, vnl 505 V, rsrc 100 Ω. EL34 parameters +fitted to the Ei-RC data sheet curves (D-058; with Koren's set the EL34s idled at 34.08 mA plate / 4.57 mA screen). | Node | Voltage | Node | Voltage | |---|---|---|---| -| ct (B+, OT CT) | 488.708 V | p2a | 231.130 V | -| nScr | 485.649 V | k2a | 1.404 V | -| bpX | 402.336 V | k2b | 231.686 V | -| bpA | 389.350 V | p3a | 270.881 V | -| nbias | −46.364 V | p3b | 262.271 V | -| p1a | 296.402 V | k3 | 44.933 V | -| k1a | 2.510 V | nF | 43.522 V | -| p1b | 352.433 V | nG | 13.484 V | -| k1b | 3.692 V | pA / pB (EL34 plates) | 487.662 / 487.580 V | +| ct (B+, OT CT) | 491.347 V | p2a | 232.577 V | +| nScr | 488.880 V | k2a | 1.414 V | +| bpX | 404.998 V | k2b | 233.140 V | +| bpA | 391.921 V | p3a | 272.611 V | +| nbias | −46.364 V | p3b | 263.951 V | +| p1a | 298.326 V | k3 | 45.250 V | +| k1a | 2.527 V | nF | 43.828 V | +| p1b | 354.750 V | nG | 13.579 V | +| k1b | 3.717 V | pA / pB (EL34 plates) | 490.463 / 490.394 V | | Current | Value | |---|---| -| V1a plate (R4) | 0.930 mA | -| V1b plate (R7) | 0.369 mA | -| V2a plate (R12) | 1.712 mA | -| V2b cathode (R13) | 2.317 mA | -| PI plates (R18 / R21) | 1.603 / 1.401 mA | -| R29 (preamp + PI total from nScr) | 8.331 mA | -| Choke (Lch) | 26.60 mA | -| EL34 plate, per tube | 34.08 mA | -| EL34 screen, per tube | 4.57 mA | -| Total HT current (Vht) | 162.9 mA | +| V1a plate (R4) | 0.936 mA | +| V1b plate (R7) | 0.372 mA | +| V2a plate (R12) | 1.724 mA | +| V2b cathode (R13) | 2.331 mA | +| PI plates (R18 / R21) | 1.614 / 1.410 mA | +| R29 (preamp + PI total from nScr) | 8.388 mA | +| Choke (Lch) | 21.45 mA | +| EL34 plate, per tube | 28.77 mA | +| EL34 screen, per tube | 3.26 mA | +| Total HT current (Vht) | 136.5 mA | Regenerate with `python3 reference/spice/spice_tools.py` after any netlist change. diff --git a/docs/DECISIONS.md b/docs/DECISIONS.md index 741da26..da3a119 100644 --- a/docs/DECISIONS.md +++ b/docs/DECISIONS.md @@ -989,3 +989,16 @@ Consequences: plugin CPU (2x Half, plugin_cpu): automation of any knob or all si settings −18.9 dB; null test 26 / 26 at Half and Full (−138.5 dB); automation 0 failures. Knob jump vs SPICE (768 kHz) still PASS with less margin: B1234 −39.2 … −55.1 dB (was −50.0 … −59.4), B56 Presence −63.2 dB (was −77.0); which of the two changes accounts for it is not separated. + +## D-058 EL34 model parameters fitted to the Ei-RC data sheet curves (reference model change) +Date: 2026-10-15 · Status: accepted (owner: "Adopt the fitted EL34 in the reference model"; changes `tubes.lib`, A5) +Context: owner listening ("dark", "lacks gain"); M6 EL34 study (`harness/reports/M6/20261015_el34_curve_fit.md`): Koren's +EL34 set deviated from the data sheet by a median 11.5 % on the plate curves and 28.2 % on the transfer curves. +Decision: `tubes.lib` EL34 mu 14.77, ex 1.046, kg1 194.3, kg2 2243, kp 53.82, kvb 40.43 (was 11 / 1.35 / 650 / 4200 / 60 / +24), fitted to 81 digitised curve points (median error 3.7 / 2.7 %) and the sheet's screen currents; the engine's +`devices::Pentode` / `kEL34Pair` take the same values. The bias network (A4) is unchanged. +Consequences: DC (CIRCUIT.md §5): EL34 idle 28.77 mA plate / 3.26 mA screen per tube (was 34.08 / 4.57), B+ 491.3 V (was +488.7), total HT 136.5 mA (162.9). tests/data EL34 sweeps, the block testbenches and the C++ DC fixtures regenerated; J3 +re-measured (359.535 Ω). Every SPICE reference that contains the power amp is re-rendered (netlist hash); the +verification reports from before this entry describe the Koren EL34. Expected from the study: output impedance ≈ 20–23 Ω +(was 14–16), less power (clean 87 vs 101 W at 25 mV, clipped ≈ 156–163 vs 182–194 W). diff --git a/docs/PROGRESS.md b/docs/PROGRESS.md index a6f2eb5..4a76c81 100644 --- a/docs/PROGRESS.md +++ b/docs/PROGRESS.md @@ -784,6 +784,10 @@ Notes: kvb 40.4, kg2 2243; error vs the curves median 3.7 / 2.7 % (current set 11.5 / 28.2 %). Full amp: output impedance 20–23 Ω (was 14–16), clean 87 W (101), clipped 156–163 W (182–194), harmonics mostly within 1 dB, centroid −1 … −2 %. Not a cause of "dark"; the higher output impedance makes the resistive-load difference larger. +- Owner 2026-10-15: adopt the fitted EL34 in the reference model (D-058). Plan: tubes.lib EL34 parameters (bias network A4 + unchanged); engine `devices::Pentode` defaults; regenerate tests/data el34 sweeps (`harness.device_sweeps`), CIRCUIT.md §5, + README sanity figures; re-verify: b56 block-exact, M4 acceptance at 768 kHz and at 384 kHz exact J4 + HOT, X2 at half 2x + (plugin config), B56 knob jump; SPICE references re-rendered (netlist hash changes). ## Questions for the owner _(Claude Code: add questions here and also ask them in the session.)_ diff --git a/engine/src/devices/Pentode.h b/engine/src/devices/Pentode.h index 759f6e3..84cba25 100644 --- a/engine/src/devices/Pentode.h +++ b/engine/src/devices/Pentode.h @@ -25,7 +25,7 @@ struct PentodeCurrents { /// helpers, the diode's CJO / TT and the inter-electrode capacitances are not part of the device. /// `count` scales every current and derivative: 2 = a matched pair with identical drive (SPEC §4.2 B6). struct Pentode { - double mu = 11.0, ex = 1.35, kg1 = 650.0, kg2 = 4200.0, kp = 60.0, kvb = 24.0; + double mu = 14.77, ex = 1.046, kg1 = 194.3, kg2 = 2243.0, kp = 53.82, kvb = 40.43; // D-058 (was Koren 11 / 1.35 / 650 / 4200 / 60 / 24) GridDiode grid{1e-9, 1.0, 1000.0 + 1.0}; double count = 1.0; @@ -69,9 +69,9 @@ struct Pentode { } }; -/// EL34 with the tubes.lib parameters (mu=11 ex=1.35 kg1=650 kg2=4200 kp=60 kvb=24 rgi=1000). +/// EL34 with the tubes.lib parameters (mu=14.77 ex=1.046 kg1=194.3 kg2=2243 kp=53.82 kvb=40.43 rgi=1000; D-058). inline const Pentode kEL34{}; /// Matched EL34 pair with identical drive (V4 ‖ V5, V6 ‖ V7): every current doubled. -inline const Pentode kEL34Pair{11.0, 1.35, 650.0, 4200.0, 60.0, 24.0, {1e-9, 1.0, 1000.0 + 1.0}, 2.0}; +inline const Pentode kEL34Pair{14.77, 1.046, 194.3, 2243.0, 53.82, 40.43, {1e-9, 1.0, 1000.0 + 1.0}, 2.0}; } // namespace amp2203::devices diff --git a/harness/junctions.py b/harness/junctions.py index 1074e58..114a994 100644 --- a/harness/junctions.py +++ b/harness/junctions.py @@ -1,13 +1,13 @@ """Junction Thevenin resistances (SPEC §4.1, CIRCUIT.md §4) used by the block testbenches and the engine. Values: |Z(1 kHz)| of the upstream output impedance at default parameters, measured with `python -m harness.rth_measure` (owner decision, PROGRESS.md Q6b, DECISIONS D-018; re-measured after -D-024). J5 is provisional until its partition error is measured in M4. None = not measured; testbenches then carry a PENDING +D-024; J3 again after D-058). J5 is provisional until its partition error is measured in M4. None = not measured; testbenches then carry a PENDING marker and transient runs refuse them. There is no J1 (B12, D-017). J4 is not listed: its resistance is a knob-dependent formula in the testbench (WDF_DESIGN §6).""" RTH = { 'j2': 89732.8, # p1b (B12 -> B3); DC 90107.6 - 'j3': 360.137, # k2b (B3 -> B4); DC 360.094 + 'j3': 359.535, # k2b (B3 -> B4); DC 359.5 (re-measured after D-058) 'j5a': 58067.6, # p3a (B5 -> B6); DC 41404.1; provisional 'j5b': 56937.4, # p3b (B5 -> B6); DC 45515.6; provisional } diff --git a/harness/reports/M0/20261015_junctions.md b/harness/reports/M0/20261015_junctions.md new file mode 100644 index 0000000..0dad3f2 --- /dev/null +++ b/harness/reports/M0/20261015_junctions.md @@ -0,0 +1,48 @@ +# M0 junction Thevenin resistances + +- Date: 2026-10-15, ngspice 47, default parameters unless stated +- Method (SPEC §7 M0.5): 1 A AC current into the open-circuited output node of the upstream block testbench, block input AC-grounded, linearised at the DC operating point. DC = 1 mHz point of the sweep (capacitors effectively open), cross-checked by a ±1 µA finite difference of two DC operating points. +- Upstream junctions inside a testbench (Rth_j2 in b3) use the junctions.py value, or the DC value measured here while it is unset. +- junctions.py (used by the testbenches): j2 = 89.73 kΩ, j3 = 360.1 Ω, j5a = 58.07 kΩ, j5b = 56.94 kΩ (|Z(1 kHz)|, D-018) + +| Junction | Node | Testbench | R_th DC | DC (op finite diff.) | Z @ 1 kHz | Re Z @ 1 kHz | +|---|---|---|---|---|---|---| +| J2 | p1b | b12 | 90.1 kΩ | 90.1 kΩ | 89.73 kΩ ∠-1.0° | 89.72 kΩ | +| J3 | k2b | b3 | 359.5 Ω | 359.5 Ω | 359.5 Ω ∠+0.1° | 359.5 Ω | +| J5a (R_thA) | p3a | b5open | 41.38 kΩ | 41.38 kΩ | 58.05 kΩ ∠-0.9° | 58.05 kΩ | +| J5b (R_thB) | p3b | b5open | 45.49 kΩ | 45.49 kΩ | 56.91 kΩ ∠+0.4° | 56.91 kΩ | + +## Spread over presets + +| Junction | Knob sets | R_th DC min–max | \|Z\| @ 1 kHz min–max | +|---|---|---|---| +| J2 | 34 | 90.1 kΩ – 90.1 kΩ | 88.39 kΩ – 90.1 kΩ | +| J3 | 34 | 359.5 Ω – 359.5 Ω | 359.5 Ω – 359.5 Ω | +| J5a (R_thA) | 34 | 41.38 kΩ – 41.38 kΩ | 53.55 kΩ – 58.56 kΩ | +| J5b (R_thB) | 34 | 45.49 kΩ – 45.49 kΩ | 56.35 kΩ – 62.37 kΩ | + +## LTP coupling (J5) + +Transimpedance to the other PI plate (v(other) per A injected); the J-Thevenin model has no such term. + +| Injected at | Observed | DC | @ 1 kHz | Ratio to self @ 1 kHz | +|---|---|---|---|---| +| p3a | p3b | 14.46 kΩ | 25.48 kΩ ∠+1.8° | 0.44 | +| p3b | p3a | 14.52 kΩ | 32.12 kΩ ∠-0.8° | 0.56 | + +## Sensitivity to the upstream R_th + +Max relative change when every upstream R_th is switched from its DC value to |Z(1 kHz)|: j2 0.0e+00, j3 8.7e-08, j5a 0.0e+00, j5b 0.0e+00 + +## |Z(f)| + +![impedance](20261015_junctions.png) + +## |Z| at selected frequencies + +| Junction | 0.001 Hz | 10 Hz | 100 Hz | 1000 Hz | 10000 Hz | +|---|---|---|---|---|---| +| J2 | 90.1 kΩ ∠-0.0° | 90.1 kΩ ∠-0.0° | 90.1 kΩ ∠-0.1° | 89.73 kΩ ∠-1.0° | 85.63 kΩ ∠-3.3° | +| J3 | 359.5 Ω ∠+0.0° | 359.5 Ω ∠+0.0° | 359.5 Ω ∠+0.0° | 359.5 Ω ∠+0.1° | 360.7 Ω ∠+0.4° | +| J5a (R_thA) | 41.38 kΩ ∠+0.0° | 57.2 kΩ ∠+6.0° | 58.67 kΩ ∠+0.0° | 58.05 kΩ ∠-0.9° | 57.35 kΩ ∠-7.9° | +| J5b (R_thB) | 45.49 kΩ ∠+0.1° | 58.69 kΩ ∠-6.1° | 56.23 kΩ ∠-0.0° | 56.91 kΩ ∠+0.4° | 57.67 kΩ ∠+3.1° | diff --git a/harness/testbenches/b12.cir b/harness/testbenches/b12.cir index 992bca0..fa53757 100644 --- a/harness/testbenches/b12.cir +++ b/harness/testbenches/b12.cir @@ -28,4 +28,4 @@ R6 k1b 0 10k R7 bpA p1b 100k *** supply (inserted by the harness) -Vsup_bpA bpA 0 DC 389.349603 +Vsup_bpA bpA 0 DC 391.921506 diff --git a/harness/testbenches/b123.cir b/harness/testbenches/b123.cir index a3062f2..3b665e6 100644 --- a/harness/testbenches/b123.cir +++ b/harness/testbenches/b123.cir @@ -40,5 +40,5 @@ X2b bpX p2a k2b 12AX7 R13 k2b 0 100k *** supply (inserted by the harness) -Vsup_bpA bpA 0 DC 389.349603 -Vsup_bpX bpX 0 DC 402.335999 +Vsup_bpA bpA 0 DC 391.921506 +Vsup_bpX bpX 0 DC 404.998185 diff --git a/harness/testbenches/b1234.cir b/harness/testbenches/b1234.cir index 0666711..b5e2824 100644 --- a/harness/testbenches/b1234.cir +++ b/harness/testbenches/b1234.cir @@ -53,5 +53,5 @@ RVR2a tw y {1Meg*(1-atap(master))+1} RVR2b y 0 {1Meg*atap(master)+1} *** supply (inserted by the harness) -Vsup_bpA bpA 0 DC 389.349603 -Vsup_bpX bpX 0 DC 402.335999 +Vsup_bpA bpA 0 DC 391.921506 +Vsup_bpX bpX 0 DC 404.998185 diff --git a/harness/testbenches/b3.cir b/harness/testbenches/b3.cir index 2389ea9..34cf861 100644 --- a/harness/testbenches/b3.cir +++ b/harness/testbenches/b3.cir @@ -22,8 +22,8 @@ X2b bpX p2a k2b 12AX7 R13 k2b 0 100k *** J2 (inserted by the harness) -Vin j2s 0 DC 352.432789 AC 1 +Vin j2s 0 DC 354.750235 AC 1 Rth_j2 j2s p1b {rth_j2} *** supply (inserted by the harness) -Vsup_bpX bpX 0 DC 402.335999 +Vsup_bpX bpX 0 DC 404.998185 diff --git a/harness/testbenches/b34.cir b/harness/testbenches/b34.cir index 1087ef1..eb244a1 100644 --- a/harness/testbenches/b34.cir +++ b/harness/testbenches/b34.cir @@ -36,8 +36,8 @@ RVR2a tw y {1Meg*(1-atap(master))+1} RVR2b y 0 {1Meg*atap(master)+1} *** J2 (inserted by the harness) -Vin j2s 0 DC 352.432789 AC 1 +Vin j2s 0 DC 354.750235 AC 1 Rth_j2 j2s p1b {rth_j2} *** supply (inserted by the harness) -Vsup_bpX bpX 0 DC 402.335999 +Vsup_bpX bpX 0 DC 404.998185 diff --git a/harness/testbenches/b4.cir b/harness/testbenches/b4.cir index d52adb0..f4f6ba1 100644 --- a/harness/testbenches/b4.cir +++ b/harness/testbenches/b4.cir @@ -8,7 +8,7 @@ .func atap(x) {max((pwr(81,x)-1)/80,1e-4)} .func ltap(x) {max(min(x,0.9999),1e-4)} .param lpt=25.61 npr={sqrt(1700/16)} kot=0.9997925 -.param rth_j3=360.137 +.param rth_j3=359.535 *** B4 (from the reference netlist) C10 k2b tt 470p @@ -24,5 +24,5 @@ RVR2a tw y {1Meg*(1-atap(master))+1} RVR2b y 0 {1Meg*atap(master)+1} *** J3 (inserted by the harness) -Vin j3s 0 DC 231.685818 AC 1 +Vin j3s 0 DC 233.140404 AC 1 Rth_j3 j3s k2b {rth_j3} diff --git a/harness/testbenches/b56.cir b/harness/testbenches/b56.cir index 8a02467..8cd1db8 100644 --- a/harness/testbenches/b56.cir +++ b/harness/testbenches/b56.cir @@ -78,5 +78,5 @@ Vin j4s 0 DC 0 AC 1 Rth_j4 j4s y {rth_j4} *** preamp load (inserted by the harness) -Isink_bpA bpA 0 DC 0.00129863961 -Isink_bpX bpX 0 DC 0.0040289243 +Isink_bpA bpA 0 DC 0.00130766783 +Isink_bpX bpX 0 DC 0.00405561586 diff --git a/harness/testbenches/b56j5.cir b/harness/testbenches/b56j5.cir index 557ebc4..8765f20 100644 --- a/harness/testbenches/b56j5.cir +++ b/harness/testbenches/b56j5.cir @@ -89,5 +89,5 @@ Ej5b j5b 0 p3b 0 1 Rth_j5b j5b p3b6 {rth_j5b} *** preamp load (inserted by the harness) -Isink_bpA bpA 0 DC 0.00129863961 -Isink_bpX bpX 0 DC 0.0040289243 +Isink_bpA bpA 0 DC 0.00130766783 +Isink_bpX bpX 0 DC 0.00405561586 diff --git a/harness/testbenches/b5open.cir b/harness/testbenches/b5open.cir index 02dbbbc..2a890ff 100644 --- a/harness/testbenches/b5open.cir +++ b/harness/testbenches/b5open.cir @@ -32,5 +32,5 @@ Vin j4s 0 DC 0 AC 1 Rth_j4 j4s y {rth_j4} *** recorded (inserted by the harness) -Vrec_out out 0 DC 4.23024587e-05 -Vrec_bpx bpX 0 DC 402.335999 +Vrec_out out 0 DC 4.26007353e-05 +Vrec_bpx bpX 0 DC 404.998185 diff --git a/harness/testbenches/b6.cir b/harness/testbenches/b6.cir index 9907708..f15512a 100644 --- a/harness/testbenches/b6.cir +++ b/harness/testbenches/b6.cir @@ -47,13 +47,13 @@ K3 Lp2 Ls {kot} Rload out 0 16 *** J5a (inserted by the harness) -Vrec_p3a j5a 0 DC 270.880925 +Vrec_p3a j5a 0 DC 272.611263 Rth_j5a j5a p3a {rth_j5a} *** J5b (inserted by the harness) -Vrec_p3b j5b 0 DC 262.270582 +Vrec_p3b j5b 0 DC 263.951199 Rth_j5b j5b p3b {rth_j5b} *** recorded (inserted by the harness) -Vrec_ct ct 0 DC 488.708422 -Vrec_nscr nScr 0 DC 485.649287 +Vrec_ct ct 0 DC 491.346637 +Vrec_nscr nScr 0 DC 488.880467 diff --git a/harness/tests/test_device_sweeps.py b/harness/tests/test_device_sweeps.py index 3655112..9d22081 100644 --- a/harness/tests/test_device_sweeps.py +++ b/harness/tests/test_device_sweeps.py @@ -32,7 +32,7 @@ def triode(vgk, vpk, mu=100, ex=1.4, kg1=1060, kp=600, kvb=300): return 2 * np.maximum(e1, 0) ** ex / kg1, grid_current(vgk, 2001.0) -def pentode(vsk, vgk, vpk, mu=11, ex=1.35, kg1=650, kg2=4200, kp=60, kvb=24): +def pentode(vsk, vgk, vpk, mu=14.77, ex=1.046, kg1=194.3, kg2=2243, kp=53.82, kvb=40.43): # tubes.lib EL34 (D-058) vs = np.maximum(vsk, 1e-3) f = 2 * np.maximum(vs * softplus(kp * (1 / mu + vgk / vs)) / kp, 0) ** ex ip = f / kg1 * np.arctan(vpk / kvb) diff --git a/reference/spice/tubes.lib b/reference/spice/tubes.lib index b0ae342..36d5854 100644 --- a/reference/spice/tubes.lib +++ b/reference/spice/tubes.lib @@ -14,7 +14,8 @@ Dg gx k DGRID .ends 12AX7 * Pentode pin order: plate screen grid cathode -.subckt EL34 p s g k params: mu=11 ex=1.35 kg1=650 kg2=4200 kp=60 kvb=24 rgi=1000 ccg=15p cpg=1p ccp=8p +* EL34 parameters fitted to the Ei-RC data sheet curves (D-058; Koren's set was mu=11 ex=1.35 kg1=650 kg2=4200 kp=60 kvb=24) +.subckt EL34 p s g k params: mu=14.77 ex=1.046 kg1=194.3 kg2=2243 kp=53.82 kvb=40.43 rgi=1000 ccg=15p cpg=1p ccp=8p Be1 e1 0 V = max(V(s,k),1m)/kp*ln(1+exp(kp*(1/mu+V(g,k)/max(V(s,k),1m)))) Re1 e1 0 1G Bp p k I = 2*pwr(max(V(e1),0),ex)/kg1*atan(V(p,k)/kvb) diff --git a/tests/data/12ax7_grid.csv b/tests/data/12ax7_grid.csv index e6c4a93..e89e997 100644 --- a/tests/data/12ax7_grid.csv +++ b/tests/data/12ax7_grid.csv @@ -1,6 +1,6 @@ # 12AX7 grid current at Vpk = 200 V # GENERATED by harness/device_sweeps.py (VERIFICATION §5.1), do not edit -# source: reference/spice/tubes.lib (sha256 9ec33154be8127d7), ngspice 47 +# source: reference/spice/tubes.lib (sha256 5767afe208240bfa), ngspice 47 # ip = device plate current without the 1 GOhm Rcp (engine model); ip_terminal = SPICE terminal # currents in A into plate / screen / grid; voltages in V vs cathode vgk,vpk,ip,ig,ip_terminal diff --git a/tests/data/12ax7_plate.csv b/tests/data/12ax7_plate.csv index 0a337d6..675ff46 100644 --- a/tests/data/12ax7_plate.csv +++ b/tests/data/12ax7_plate.csv @@ -1,6 +1,6 @@ # 12AX7 plate curves: Vpk 0–400 V (5 V) for each Vgk # GENERATED by harness/device_sweeps.py (VERIFICATION §5.1), do not edit -# source: reference/spice/tubes.lib (sha256 9ec33154be8127d7), ngspice 47 +# source: reference/spice/tubes.lib (sha256 5767afe208240bfa), ngspice 47 # ip = device plate current without the 1 GOhm Rcp (engine model); ip_terminal = SPICE terminal # currents in A into plate / screen / grid; voltages in V vs cathode vgk,vpk,ip,ig,ip_terminal diff --git a/tests/data/el34_grid.csv b/tests/data/el34_grid.csv index d287283..cd5c1a9 100644 --- a/tests/data/el34_grid.csv +++ b/tests/data/el34_grid.csv @@ -1,11 +1,11 @@ # EL34 grid current at Vpk = Vsk = 400 V # GENERATED by harness/device_sweeps.py (VERIFICATION §5.1), do not edit -# source: reference/spice/tubes.lib (sha256 9ec33154be8127d7), ngspice 47 +# source: reference/spice/tubes.lib (sha256 5767afe208240bfa), ngspice 47 # ip = device plate current without the 1 GOhm Rcp (engine model); ip_terminal = SPICE terminal # currents in A into plate / screen / grid; voltages in V vs cathode vsk,vgk,vpk,ip,is,ig,ip_terminal -400,-5,400,0.488248658439888,0.0693787337644543,-9.99999814510488e-10,0.488249058439888 -400,0,400,0.595254409792376,0.0845839440728072,2.4382835194612e-30,0.595254809792376 -400,1,400,0.61735333148001,0.0877241374512118,0.000653031701523396,0.61735373148001 -400,5,400,0.707895496316969,0.100589919343481,0.00459860090785936,0.707895896316969 -400,10,400,0.825587731790932,0.117313648390034,0.00957465636479713,0.825588131790932 +400,-5,400,0.392042727426909,0.0499654028708635,-9.99999814510488e-10,0.392043127426909 +400,0,400,0.480488433389875,0.0612377082127894,2.4382835194612e-30,0.480488833389875 +400,1,400,0.498490593264215,0.0635320631586666,0.000653031701523396,0.498490993264215 +400,5,400,0.571261028013111,0.0728065728866767,0.00459860090785936,0.571261428013111 +400,10,400,0.66352071702826,0.0845649660614154,0.00957465636479713,0.66352111702826 diff --git a/tests/data/el34_plate.csv b/tests/data/el34_plate.csv index eda8934..2202cb9 100644 --- a/tests/data/el34_plate.csv +++ b/tests/data/el34_plate.csv @@ -1,1470 +1,1470 @@ # EL34 plate curves: Vpk 0–600 V (10 V) for each Vsk and Vgk # GENERATED by harness/device_sweeps.py (VERIFICATION §5.1), do not edit -# source: reference/spice/tubes.lib (sha256 9ec33154be8127d7), ngspice 47 +# source: reference/spice/tubes.lib (sha256 5767afe208240bfa), ngspice 47 # ip = device plate current without the 1 GOhm Rcp (engine model); ip_terminal = SPICE terminal # currents in A into plate / screen / grid; voltages in V vs cathode vsk,vgk,vpk,ip,is,ig,ip_terminal -250,0,0,0,0.360448884291835,2.4382835194612e-30,0 -250,0,10,0.0824672376923608,0.277981646599474,3.65171239030557e-39,0.0824672476923608 -250,0,20,0.145122683105603,0.215326201186232,-3.65171237936754e-39,0.145122703105603 -250,0,30,0.187175467475464,0.173273416816371,-1.64070378794541e-47,0.187175497475464 -250,0,40,0.21523364236334,0.145215241928495,5.46901257187999e-48,0.21523368236334 -250,0,50,0.234639264315682,0.125809619976154,4.0953525157576e-56,0.234639314315682 -250,0,60,0.24863761950357,0.111811264788266,-8.19070485977906e-57,0.24863767950357 -250,0,70,0.259125695775577,0.101323188516258,-8.58680667843167e-65,0.259125765775577 -250,0,80,0.267239033595937,0.0932098506958981,1.22668662425564e-65,0.267239113595937 -250,0,90,0.273684156692346,0.086764727599489,1.65344027914067e-73,0.273684246692346 -250,0,100,0.278918356166355,0.0815305281254805,-1.83715576482612e-74,0.278918456166355 -250,0,110,0.283248522530651,0.0772003617611844,-3.02657225418411e-82,0.283248632530651 -250,0,120,0.28688732304987,0.0735615612419655,2.75142910770929e-83,0.28688744304987 -250,0,130,0.289986328299173,0.0704625559926625,5.35690654890671e-91,0.289986458299173 -250,0,140,0.292656250377675,0.0677926339141597,-4.12069691331547e-92,0.292656390377675 -250,0,150,0.294979717169871,0.0654691671219645,-9.25708673056568e-100,0.294979867169871 -250,0,160,0.297019576929043,0.0634293073627919,6.17139031571224e-101,0.297019736929043 -250,0,170,0.298824442261107,0.0616244420307279,1.57124659632959e-108,0.298824612261107 -250,0,180,0.300432480390863,0.0600164039009719,-9.24262545921235e-110,0.300432660390863 -250,0,190,0.301874060536595,0.0585748237552398,-2.6300341248365e-117,0.301874250536595 -250,0,200,0.303173639036787,0.0572752452550486,1.38422819652212e-118,0.303173839036787 -250,0,210,0.304351125321281,0.0560977589705541,4.35350883813035e-126,0.304351335321281 -250,0,220,0.305422887488237,0.0550259968035983,-2.07309892305382e-127,0.305423107488237 -250,0,230,0.306402503314313,0.054046380977522,-7.14102122713026e-135,0.306402733314313 -250,0,240,0.307301328573144,0.0531475557186907,3.10479090790003e-136,0.307301568573144 -250,0,250,0.308128932322607,0.0523199519692279,1.16247828252341e-143,0.308129182322607 -250,0,260,0.308893434018405,0.0515554502734299,-4.64991150052341e-145,0.308893694018405 -250,0,270,0.309601767279488,0.0508471170123469,-1.88027319217195e-152,0.309602037279488 -250,0,280,0.310259888225243,0.0501889960665926,6.96397196286446e-154,0.310260168225243 -250,0,290,0.310872941481752,0.0495759428100834,3.02459714311403e-161,0.310873231481752 -250,0,300,0.311445393540972,0.0490034907508633,-1.04296404788728e-162,0.311445693540972 -250,0,310,0.311981140710294,0.0484677435815412,-4.84220957744239e-170,0.311981450710294 -250,0,320,0.312483597116176,0.0479652871756593,1.56200226604808e-171,0.312483917116176 -250,0,330,0.312955766925343,0.0474931173664922,7.71983781454779e-179,0.312956096925343 -250,0,340,0.313400303984287,0.0470485803075485,-2.33934340255108e-180,0.313400643984287 -250,0,350,0.313819561358027,0.0466293229338082,-1.22623759778336e-187,0.313819911358027 -250,0,360,0.314215632706168,0.046233251585667,3.50353366395621e-189,0.314215992706168 -250,0,370,0.314590387021257,0.0458584972705781,1.94142516131204e-196,0.314590757021257 -250,0,380,0.314945497937745,0.04550338635409,-5.24709114854839e-198,0.314945877937745 -250,0,390,0.315282468575175,0.0451664157166601,-3.06475584646932e-205,0.315282858575175 -250,0,400,0.315602652688826,0.0448462316030089,7.85834189049905e-207,0.315603052688826 -250,0,410,0.315907272751918,0.0445416115399175,4.82533507399056e-214,0.315907682751918 -250,0,420,0.316197435475887,0.0442514488159478,-1.17690993256546e-215,0.316197855475887 -250,0,430,0.316474145182014,0.0439747391098211,-7.57921835019235e-223,0.316474575182014 -250,0,440,0.316738315363253,0.0437105689285824,1.76260717639191e-224,0.316738755363253 -250,0,450,0.316990778715476,0.0434581055763593,1.18790256424665e-231,0.316991228715476 -250,0,460,0.317232295869202,0.0432165884226329,-2.63978062695451e-233,0.317232755869202 -250,0,470,0.317463563013895,0.0429853212779404,-1.85814031413343e-240,0.317464033013895 -250,0,480,0.317685218575162,0.0427636657166736,3.9534853880281e-242,0.317685698575162 -250,0,490,0.317897849079225,0.0425510352126097,2.90127615722786e-249,0.317898339079225 -250,0,500,0.318101994317687,0.0423468899741478,-5.92096421199582e-251,0.318102494317687 -250,0,510,0.318298151908013,0.0421507323838219,-4.52246802742357e-258,0.318298661908013 -250,0,520,0.318486781330589,0.0419621029612461,8.86757216704983e-260,0.318487301330589 -250,0,530,0.318668307511074,0.0417805767807616,7.03871754724518e-267,0.318668837511073 -250,0,540,0.318843124006656,0.0416057602851792,-1.32805794548559e-268,0.318843664006656 -250,0,550,0.319011595846358,0.0414372884454767,-1.0939379689506e-275,0.319012145846358 -250,0,560,0.319174062068399,0.0412748222234358,1.98897495591316e-277,0.319174622068399 -250,0,570,0.319330837991634,0.0411180463002015,1.69791990644622e-284,0.319331407991634 -250,0,580,0.319482217253009,0.0409666670388266,-2.97880176463542e-286,0.319482797253009 -250,0,590,0.319628473638663,0.0408204106531723,-2.63212610639224e-293,0.319629063638663 -250,0,600,0.319769862732638,0.0406790215591974,4.46122253749779e-295,0.319770462732638 -250,-10,0,0,0.167963574014124,-9.99998805539803e-10,0 -250,-10,10,0.0384284501506915,0.129535123863432,-9.99998805539803e-10,0.0384284601506915 -250,-10,20,0.0676249132323593,0.100338660781764,-9.99998805539803e-10,0.0676249332323594 -250,-10,30,0.0872208567012492,0.0807427173128744,-9.99998805539803e-10,0.0872208867012492 -250,-10,40,0.100295529809865,0.0676680442042589,-9.99998805539803e-10,0.100295569809865 -250,-10,50,0.109338247823782,0.0586253261903413,-9.99998805539803e-10,0.109338297823782 -250,-10,60,0.11586126362475,0.0521023103893736,-9.99998805539803e-10,0.11586132362475 -250,-10,70,0.120748544046328,0.0472150299677956,-9.99998805539803e-10,0.120748614046328 -250,-10,80,0.124529233283774,0.0434343407303495,-9.99998805539803e-10,0.124529313283774 -250,-10,90,0.127532560405623,0.0404310136085006,-9.99998805539803e-10,0.127532650405623 -250,-10,100,0.129971615952943,0.0379919580611806,-9.99998805539803e-10,0.129971715952943 -250,-10,110,0.131989406131575,0.0359741678825486,-9.99998805539803e-10,0.131989516131575 -250,-10,120,0.133685030579222,0.0342785434349012,-9.99998805539803e-10,0.133685150579222 -250,-10,130,0.135129118826531,0.0328344551875923,-9.99998805539803e-10,0.135129248826531 -250,-10,140,0.136373260989783,0.0315903130243404,-9.99998805539803e-10,0.136373400989783 -250,-10,150,0.137455960378039,0.0305076136360847,-9.99998805539803e-10,0.137456110378039 -250,-10,160,0.13840650329985,0.0295570707142739,-9.99998805539803e-10,0.13840666329985 -250,-10,170,0.139247542473499,0.0287160315406245,-9.99998805539803e-10,0.139247712473499 -250,-10,180,0.139996863232129,0.0279667107819947,-9.99998805539803e-10,0.139997043232129 -250,-10,190,0.140668617159127,0.027294956854997,-9.99998805539803e-10,0.140668807159127 -250,-10,200,0.141274200527855,0.0266893734862681,-9.99998805539803e-10,0.141274400527855 -250,-10,210,0.141822890822971,0.0261406831911522,-9.99998805539803e-10,0.141823100822971 -250,-10,220,0.142322315323643,0.0256412586904808,-9.99998805539803e-10,0.142322535323643 -250,-10,230,0.142778801062618,0.0251847729515061,-9.99998805539803e-10,0.142779031062618 -250,-10,240,0.143197639653793,0.0247659343603308,-9.99998805539803e-10,0.143197879653793 -250,-10,250,0.143583290129311,0.0243802838848123,-9.99998805539803e-10,0.143583540129311 -250,-10,260,0.143939536029249,0.0240240379848746,-9.99998805539803e-10,0.143939796029249 -250,-10,270,0.144269608312198,0.0236939657019257,-9.99998805539803e-10,0.144269878312198 -250,-10,280,0.144576282437156,0.0233872915769673,-9.99998805539803e-10,0.144576562437156 -250,-10,290,0.144861955719865,0.0231016182942587,-9.99998805539803e-10,0.144862245719865 -250,-10,300,0.145128709476108,0.022834864538016,-9.99998805539803e-10,0.145129009476108 -250,-10,310,0.145378359324529,0.0225852146895941,-9.99998805539803e-10,0.14537866932453 -250,-10,320,0.14561249619496,0.0223510778191637,-9.99998805539803e-10,0.14561281619496 -250,-10,330,0.145832519982369,0.0221310540317546,-9.99998805539803e-10,0.145832849982369 -250,-10,340,0.146039667337946,0.0219239066761771,-9.99998805539803e-10,0.146040007337946 -250,-10,350,0.146235034753394,0.0217285392607292,-9.99998805539803e-10,0.146235384753394 -250,-10,360,0.146419597841526,0.0215439761725979,-9.99998805539803e-10,0.146419957841526 -250,-10,370,0.146594227523799,0.0213693464903249,-9.99998805539803e-10,0.146594597523799 -250,-10,380,0.146759703687838,0.0212038703262858,-9.99998805539803e-10,0.146760083687838 -250,-10,390,0.146916726763972,0.0210468472501519,-9.99998805539803e-10,0.146917116763972 -250,-10,400,0.147065927581106,0.0208976464330178,-9.99998805539803e-10,0.147066327581106 -250,-10,410,0.147207875792747,0.0207556982213767,-9.99998805539803e-10,0.147208285792747 -250,-10,420,0.147343087109212,0.0206204869049113,-9.99998805539803e-10,0.147343507109212 -250,-10,430,0.147472029528598,0.0204915444855256,-9.99998805539803e-10,0.147472459528598 -250,-10,440,0.147595128724413,0.0203684452897104,-9.99998805539803e-10,0.147595568724413 -250,-10,450,0.147712772719984,0.02025080129414,-9.99998805539803e-10,0.147713222719984 -250,-10,460,0.147825315957301,0.0201382580568227,-9.99998805539803e-10,0.147825775957301 -250,-10,470,0.147933082849827,0.0200304911642968,-9.99998805539803e-10,0.147933552849827 -250,-10,480,0.148036370893966,0.019927203120158,-9.99998805539803e-10,0.148036850893966 -250,-10,490,0.148135453401814,0.0198281206123091,-9.99998805539803e-10,0.148135943401814 -250,-10,500,0.148230581907864,0.0197329921062592,-9.99998805539803e-10,0.148231081907864 -250,-10,510,0.148321988294115,0.0196415857200088,-9.99998805539803e-10,0.148322498294115 -250,-10,520,0.148409886671279,0.0195536873428441,-9.99998805539803e-10,0.148410406671279 -250,-10,530,0.148494475048106,0.0194690989660172,-9.99998805539803e-10,0.148495005048106 -250,-10,540,0.148575936816125,0.0193876371979989,-9.99998805539803e-10,0.148576476816125 -250,-10,550,0.148654442073181,0.0193091319409421,-9.99998805539803e-10,0.148654992073181 -250,-10,560,0.148730148805813,0.0192334252083102,-9.99998805539803e-10,0.148730708805813 -250,-10,570,0.148803203947703,0.0191603700664208,-9.99998805539803e-10,0.148803773947703 -250,-10,580,0.1488737443291,0.0190898296850236,-9.99998805539803e-10,0.1488743243291 -250,-10,590,0.148941897530088,0.019021676484036,-9.99998805539803e-10,0.148942487530088 -250,-10,600,0.149007782648854,0.01895579136527,-9.99998805539803e-10,0.149008382648854 -250,-20,0,0,0.0400954214007988,-9.99997784134621e-10,0 -250,-20,10,0.00917344675246078,0.0309219746483381,-9.99997784134621e-10,0.00917345675246078 -250,-20,20,0.0161430798859752,0.0239523415148236,-9.99997784134621e-10,0.0161430998859752 -250,-20,30,0.0208209251613163,0.0192744962394826,-9.99997784134621e-10,0.0208209551613163 -250,-20,40,0.0239420455056806,0.0161533758951182,-9.99997784134621e-10,0.0239420855056806 -250,-20,50,0.0261006777657094,0.0139947436350894,-9.99997784134621e-10,0.0261007277657094 -250,-20,60,0.0276578193595283,0.0124376020412705,-9.99997784134621e-10,0.0276578793595283 -250,-20,70,0.0288244864131275,0.0112709349876713,-9.99997784134621e-10,0.0288245564131275 -250,-20,80,0.0297269935730914,0.0103684278277075,-9.99997784134621e-10,0.0297270735730914 -250,-20,90,0.0304439327503016,0.00965148865049723,-9.99997784134621e-10,0.0304440227503016 -250,-20,100,0.0310261718492477,0.00906924955155111,-9.99997784134621e-10,0.0310262718492477 -250,-20,110,0.031507848593658,0.00858757280714081,-9.99997784134621e-10,0.031507958593658 -250,-20,120,0.0319126195516766,0.00818280184912224,-9.99997784134621e-10,0.0319127395516766 -250,-20,130,0.0322573450503786,0.00783807635042022,-9.99997784134621e-10,0.0322574750503786 -250,-20,140,0.0325543404233985,0.0075410809774003,-9.99997784134621e-10,0.0325544804233985 -250,-20,150,0.0328127969874322,0.00728262441336665,-9.99997784134621e-10,0.0328129469874322 -250,-20,160,0.0330397058230726,0.00705571557772621,-9.99997784134621e-10,0.0330398658230726 -250,-20,170,0.0332404744735374,0.00685494692726146,-9.99997784134621e-10,0.0332406444735374 -250,-20,180,0.0334193485642917,0.00667607283650712,-9.99997784134621e-10,0.0334195285642917 -250,-20,190,0.0335797062902969,0.0065157151105019,-9.99997784134621e-10,0.0335798962902969 -250,-20,200,0.0337242681127339,0.00637115328806497,-9.99997784134621e-10,0.0337244681127339 -250,-20,210,0.033855248706177,0.00624017269462182,-9.99997784134621e-10,0.033855458706177 -250,-20,220,0.0339744688164291,0.0061209525843697,-9.99997784134621e-10,0.0339746888164291 -250,-20,230,0.0340834388009932,0.00601198259980563,-9.99997784134621e-10,0.0340836688009932 -250,-20,240,0.0341834218473809,0.00591199955341799,-9.99997784134621e-10,0.0341836618473809 -250,-20,250,0.0342754823933659,0.00581993900743298,-9.99997784134621e-10,0.0342757323933659 -250,-20,260,0.0343605236266461,0.00573489777415279,-9.99997784134621e-10,0.0343607836266461 -250,-20,270,0.0344393168254407,0.00565610457535812,-9.99997784134621e-10,0.0344395868254407 -250,-20,280,0.0345125245333923,0.00558289686740653,-9.99997784134621e-10,0.0345128045333923 -250,-20,290,0.0345807190256826,0.00551470237511628,-9.99997784134621e-10,0.0345810090256826 -250,-20,300,0.0346443971435696,0.00545102425722925,-9.99997784134621e-10,0.0346446971435696 -250,-20,310,0.034703992302424,0.00539142909837487,-9.99997784134621e-10,0.034704302302424 -250,-20,320,0.0347598842810299,0.00533553711976896,-9.99997784134621e-10,0.0347602042810299 -250,-20,330,0.0348124072552887,0.00528301414551011,-9.99997784134621e-10,0.0348127372552887 -250,-20,340,0.0348618564323659,0.00523356496843293,-9.99997784134621e-10,0.0348621964323659 -250,-20,350,0.0349084935612574,0.00518692783954144,-9.99997784134621e-10,0.0349088435612574 -250,-20,360,0.0349525515353574,0.00514286986544145,-9.99997784134621e-10,0.0349529115353574 -250,-20,370,0.0349942382566654,0.00510118314413344,-9.99997784134621e-10,0.0349946082566654 -250,-20,380,0.0350337398960409,0.00506168150475789,-9.99997784134621e-10,0.0350341198960409 -250,-20,390,0.0350712236566968,0.00502419774410208,-9.99997784134621e-10,0.0350716136566968 -250,-20,400,0.035106840126943,0.0049885812738558,-9.99997784134621e-10,0.035107240126943 -250,-20,410,0.0351407252916059,0.0049546961091929,-9.99997784134621e-10,0.0351411352916059 -250,-20,420,0.0351730022584642,0.00492241914233469,-9.99997784134621e-10,0.0351734222584642 -250,-20,430,0.0352037827456743,0.00489163865512457,-9.99997784134621e-10,0.0352042127456743 -250,-20,440,0.03523316836788,0.00486225303291881,-9.99997784134621e-10,0.03523360836788 -250,-20,450,0.0352612517520623,0.00483416964873652,-9.99997784134621e-10,0.0352617017520623 -250,-20,460,0.0352881175088345,0.00480730389196436,-9.99997784134621e-10,0.0352885775088345 -250,-20,470,0.0353138430805499,0.00478157832024891,-9.99997784134621e-10,0.0353143130805499 -250,-20,480,0.0353384994840571,0.0047569219167417,-9.99997784134621e-10,0.0353389794840571 -250,-20,490,0.0353621519630483,0.00473326943775052,-9.99997784134621e-10,0.0353626419630483 -250,-20,500,0.0353848605625747,0.00471056083822418,-9.99997784134621e-10,0.0353853605625747 -250,-20,510,0.0354066806363433,0.00468874076445552,-9.99997784134621e-10,0.0354071906363433 -250,-20,520,0.0354276632957893,0.00466775810500958,-9.99997784134621e-10,0.0354281832957893 -250,-20,530,0.0354478558085671,0.00464756559223179,-9.99997784134621e-10,0.0354483858085671 -250,-20,540,0.0354673019529821,0.00462811944781672,-9.99997784134621e-10,0.0354678419529821 -250,-20,550,0.0354860423339388,0.00460937906686004,-9.99997784134621e-10,0.0354865923339388 -250,-20,560,0.0355041146651902,0.00459130673560863,-9.99997784134621e-10,0.0355046746651902 -250,-20,570,0.0355215540220076,0.00457386737879128,-9.99997784134621e-10,0.0355221240220076 -250,-20,580,0.0355383930678215,0.00455702833297735,-9.99997784134621e-10,0.0355389730678215 -250,-20,590,0.035554662257909,0.00454075914288986,-9.99997784134621e-10,0.035555252257909 -250,-20,600,0.0355703900227918,0.00452503137800709,-9.99997784134621e-10,0.0355709900227918 -250,-30,0,0,0.00309460977337294,-9.99996691716798e-10,0 -250,-30,10,0.000708016950162688,0.00238659282321025,-9.99996691716798e-10,0.000708026950162688 -250,-30,20,0.00124594108359923,0.00184866868977371,-9.99996691716798e-10,0.00124596108359923 -250,-30,30,0.00160698244946223,0.00148762732391071,-9.99996691716798e-10,0.00160701244946223 -250,-30,40,0.00184787403219418,0.00124673574117876,-9.99996691716798e-10,0.00184791403219418 -250,-30,50,0.00201447970076236,0.00108013007261057,-9.99996691716798e-10,0.00201452970076236 -250,-30,60,0.00213466164240075,0.000959948130972183,-9.99996691716798e-10,0.00213472164240075 -250,-30,70,0.00222470631932908,0.000869903454043853,-9.99996691716798e-10,0.00222477631932908 -250,-30,80,0.00229436283820801,0.000800246935164927,-9.99996691716798e-10,0.00229444283820801 -250,-30,90,0.00234969701121821,0.000744912762154724,-9.99996691716798e-10,0.00234978701121821 -250,-30,100,0.00239463488050826,0.000699974892864676,-9.99996691716798e-10,0.00239473488050826 -250,-30,110,0.00243181123403647,0.000662798539336467,-9.99996691716798e-10,0.00243192123403647 -250,-30,120,0.0024630519123708,0.000631557861002137,-9.99996691716798e-10,0.0024631719123708 -250,-30,130,0.00248965821454058,0.000604951558832361,-9.99996691716798e-10,0.00248978821454058 -250,-30,140,0.00251258065186345,0.000582029121509489,-9.99996691716798e-10,0.00251272065186345 -250,-30,150,0.00253252862051193,0.000562081152861004,-9.99996691716798e-10,0.00253267862051193 -250,-30,160,0.00255004169995854,0.000544568073414392,-9.99996691716798e-10,0.00255020169995854 -250,-30,170,0.00256553725047801,0.000529072522894932,-9.99996691716798e-10,0.00256570725047801 -250,-30,180,0.00257934295422453,0.000515266819148405,-9.99996691716798e-10,0.00257952295422453 -250,-30,190,0.00259171954408927,0.000502890229283665,-9.99996691716798e-10,0.00259190954408927 -250,-30,200,0.00260287698832955,0.000491732785043386,-9.99996691716798e-10,0.00260307698832955 -250,-30,210,0.00261298621802288,0.00048162355535006,-9.99996691716798e-10,0.00261319621802288 -250,-30,220,0.00262218776038057,0.000472422012992372,-9.99996691716798e-10,0.00262240776038057 -250,-30,230,0.00263059818649544,0.000464011586877495,-9.99996691716798e-10,0.00263082818649544 -250,-30,240,0.00263831499060207,0.000456294782770863,-9.99996691716798e-10,0.00263855499060207 -250,-30,250,0.00264542032720646,0.000449189446166481,-9.99996691716798e-10,0.00264567032720646 -250,-30,260,0.00265198390535215,0.00044262586802079,-9.99996691716798e-10,0.00265224390535215 -250,-30,270,0.00265806525316061,0.000436544520212322,-9.99996691716798e-10,0.00265833525316061 -250,-30,280,0.00266371550649624,0.000430894266876696,-9.99996691716798e-10,0.00266399550649624 -250,-30,290,0.00266897883420197,0.000425630939170969,-9.99996691716798e-10,0.00266926883420197 -250,-30,300,0.00267389358304557,0.00042071619032737,-9.99996691716798e-10,0.00267419358304557 -250,-30,310,0.00267849320451339,0.000416116568859549,-9.99996691716798e-10,0.00267880320451339 -250,-30,320,0.00268280701035965,0.000411802763013289,-9.99996691716798e-10,0.00268312701035965 -250,-30,330,0.00268686079265672,0.000407748980716221,-9.99996691716798e-10,0.00268719079265672 -250,-30,340,0.00269067733582604,0.000403932437546899,-9.99996691716798e-10,0.00269101733582604 -250,-30,350,0.00269427684194987,0.000400332931423071,-9.99996691716798e-10,0.00269462684194987 -250,-30,360,0.00269767728600262,0.000396932487370321,-9.99996691716798e-10,0.00269803728600262 -250,-30,370,0.00270089471409472,0.000393715059278217,-9.99996691716798e-10,0.00270126471409472 -250,-30,380,0.00270394349510275,0.000390666278270185,-9.99996691716798e-10,0.00270432349510275 -250,-30,390,0.00270683653395895,0.000387773239413985,-9.99996691716798e-10,0.00270722653395895 -250,-30,400,0.00270958545323867,0.000385024320134264,-9.99996691716798e-10,0.00270998545323867 -250,-30,410,0.00271220074840392,0.000382409024969013,-9.99996691716798e-10,0.00271261074840392 -250,-30,420,0.00271469192105169,0.000379917852321249,-9.99996691716798e-10,0.00271511192105169 -250,-30,430,0.00271706759371509,0.000377542179657844,-9.99996691716798e-10,0.00271749759371509 -250,-30,440,0.00271933560912677,0.000375274164246169,-9.99996691716798e-10,0.00271977560912677 -250,-30,450,0.0027215031163414,0.000373106657031538,-9.99996691716798e-10,0.0027219531163414 -250,-30,460,0.0027235766457014,0.000371033127671537,-9.99996691716798e-10,0.0027240366457014 -250,-30,470,0.00272556217429481,0.000369047599078123,-9.99996691716798e-10,0.00272603217429481 -250,-30,480,0.00272746518328197,0.000367144590090965,-9.99996691716798e-10,0.00272794518328197 -250,-30,490,0.00272929070824451,0.000365319065128428,-9.99996691716798e-10,0.00272978070824451 -250,-30,500,0.00273104338352709,0.000363566389845848,-9.99996691716798e-10,0.00273154338352709 -250,-30,510,0.00273272748139116,0.000361882291981774,-9.99996691716798e-10,0.00273323748139116 -250,-30,520,0.00273434694667484,0.000360262826698103,-9.99996691716798e-10,0.00273486694667484 -250,-30,530,0.00273590542754891,0.000358704345824028,-9.99996691716798e-10,0.00273643542754891 -250,-30,540,0.0027374063028723,0.00035720347050064,-9.99996691716798e-10,0.0027379463028723 -250,-30,550,0.00273885270657724,0.000355757066795699,-9.99996691716798e-10,0.00273940270657724 -250,-30,560,0.00274024754945366,0.000354362223919272,-9.99996691716798e-10,0.00274080754945366 -250,-30,570,0.00274159353865051,0.00035301623472243,-9.99996691716798e-10,0.00274216353865051 -250,-30,580,0.00274289319516812,0.000351716578204816,-9.99996691716798e-10,0.00274347319516812 -250,-30,590,0.00274414886957908,0.000350460903793856,-9.99996691716798e-10,0.00274473886957908 -250,-30,600,0.00274536275618307,0.000349247017189872,-9.99996691716798e-10,0.00274596275618307 -250,-40,0,0,0.00013386874780687,-9.99995592110281e-10,0 -250,-40,10,3.06278818608565e-05,0.000103240865946014,-9.99995592110281e-10,3.06378818608565e-05 -250,-40,20,5.38977722288939e-05,7.99709755779763e-05,-9.99995592110281e-10,5.39177722288939e-05 -250,-40,30,6.95159467627003e-05,6.43528010441699e-05,-9.99995592110281e-10,6.95459467627003e-05 -250,-40,40,7.99365997364656e-05,5.39321480704047e-05,-9.99995592110281e-10,7.99765997364656e-05 -250,-40,50,8.71437417873485e-05,4.67250060195217e-05,-9.99995592110281e-10,8.71937417873485e-05 -250,-40,60,9.23426544821126e-05,4.15260933247576e-05,-9.99995592110281e-10,9.24026544821126e-05 -250,-40,70,9.62378687513842e-05,3.7630879055486e-05,-9.99995592110281e-10,9.63078687513843e-05 -250,-40,80,9.92511181242588e-05,3.46176296826114e-05,-9.99995592110281e-10,9.93311181242588e-05 -250,-40,90,0.000101644801656038,3.22239461508326e-05,-9.99995592110281e-10,0.000101734801656038 -250,-40,100,0.000103588754765321,3.02799930415491e-05,-9.99995592110281e-10,0.000103688754765321 -250,-40,110,0.000105196954913097,2.86717928937733e-05,-9.99995592110281e-10,0.000105306954913097 -250,-40,120,0.000106548385560424,2.73203622464462e-05,-9.99995592110281e-10,0.000106668385560424 -250,-40,130,0.000107699339191439,2.61694086154309e-05,-9.99995592110281e-10,0.000107829339191439 -250,-40,140,0.000108690933675338,2.51778141315326e-05,-9.99995592110281e-10,0.000108830933675338 -250,-40,150,0.000109553856557324,2.43148912495458e-05,-9.99995592110281e-10,0.000109703856557324 -250,-40,160,0.000110311449335559,2.35572984713117e-05,-9.99995592110281e-10,0.000110471449335559 -250,-40,170,0.000110981766466483,2.28869813403872e-05,-9.99995592110281e-10,0.000111151766466483 -250,-40,180,0.00011157898304902,2.22897647578499e-05,-9.99995592110281e-10,0.00011175898304902 -250,-40,190,0.000112114378045045,2.17543697618256e-05,-9.99995592110281e-10,0.000112304378045045 -250,-40,200,0.000112597034405153,2.12717134017175e-05,-9.99995592110281e-10,0.000112797034405153 -250,-40,210,0.000113034346382896,2.08344014239741e-05,-9.99995592110281e-10,0.000113244346382896 -250,-40,220,0.000113432393000571,2.0436354806299e-05,-9.99995592110281e-10,0.000113652393000571 -250,-40,230,0.000113796216970304,2.00725308365667e-05,-9.99995592110281e-10,0.000114026216970304 -250,-40,240,0.000114130035764426,1.97387120424447e-05,-9.99995592110281e-10,0.000114370035764426 -250,-40,250,0.000114437403278792,1.94313445280785e-05,-9.99995592110281e-10,0.000114687403278792 -250,-40,260,0.000114721335034924,1.91474127719467e-05,-9.99995592110281e-10,0.000114981335034924 -250,-40,270,0.000114984406141046,1.88843416658246e-05,-9.99995592110281e-10,0.000115254406141046 -250,-40,280,0.000115228828667382,1.86399191394886e-05,-9.99995592110281e-10,0.000115508828667382 -250,-40,290,0.000115456513299973,1.84122345068976e-05,-9.99995592110281e-10,0.000115746513299973 -250,-40,300,0.000115669118869547,1.81996289373234e-05,-9.99995592110281e-10,0.000115969118869547 -250,-40,310,0.000115868092443398,1.80006553634722e-05,-9.99995592110281e-10,0.000116178092443398 -250,-40,320,0.000116054702009454,1.78140457974165e-05,-9.99995592110281e-10,0.000116374702009454 -250,-40,330,0.000116230063298835,1.76386845080354e-05,-9.99995592110281e-10,0.000116560063298835 -250,-40,340,0.00011639516193564,1.74735858712302e-05,-9.99995592110281e-10,0.00011673516193564 -250,-40,350,0.000116550871835372,1.73178759714987e-05,-9.99995592110281e-10,0.000116900871835372 -250,-40,360,0.000116697970571776,1.71707772350939e-05,-9.99995592110281e-10,0.000117057970571776 -250,-40,370,0.000116837152278483,1.70315955283875e-05,-9.99995592110281e-10,0.000117207152278483 -250,-40,380,0.000116969038534189,1.6899709272681e-05,-9.99995592110281e-10,0.000117349038534189 -250,-40,390,0.000117094187589288,1.67745602175826e-05,-9.99995592110281e-10,0.000117484187589288 -250,-40,400,0.000117213102221098,1.66556455857719e-05,-9.99995592110281e-10,0.000117613102221098 -250,-40,410,0.000117326236449501,1.65425113573694e-05,-9.99995592110281e-10,0.000117736236449501 -250,-40,420,0.000117434001301081,1.64347465057889e-05,-9.99995592110281e-10,0.000117854001301081 -250,-40,430,0.00011753676977528,1.63319780315905e-05,-9.99995592110281e-10,0.00011796676977528 -250,-40,440,0.000117634881138392,1.62338666684777e-05,-9.99995592110281e-10,0.000118074881138392 -250,-40,450,0.000117728644649121,1.61401031577496e-05,-9.99995592110281e-10,0.000118178644649121 -250,-40,460,0.000117818342801486,1.6050405005384e-05,-9.99995592110281e-10,0.000118278342801486 -250,-40,470,0.000117904234156455,1.59645136504151e-05,-9.99995592110281e-10,0.000118374234156455 -250,-40,480,0.000117986555821813,1.58821919850574e-05,-9.99995592110281e-10,0.000118466555821813 -250,-40,490,0.000118065525630196,1.58032221766739e-05,-9.99995592110281e-10,0.000118555525630196 -250,-40,500,0.000118141344057259,1.57274037496109e-05,-9.99995592110281e-10,0.000118641344057259 -250,-40,510,0.000118214195915412,1.56545518914582e-05,-9.99995592110281e-10,0.000118724195915412 -250,-40,520,0.000118284251853161,1.55844959537089e-05,-9.99995592110281e-10,0.000118804251853161 -250,-40,530,0.000118351669685577,1.55170781212931e-05,-9.99995592110281e-10,0.000118881669685577 -250,-40,540,0.000118416595577651,1.54521522292195e-05,-9.99995592110281e-10,0.000118956595577651 -250,-40,550,0.000118479165099168,1.53895827077019e-05,-9.99995592110281e-10,0.000119029165099168 -250,-40,560,0.000118539504167073,1.5329243639797e-05,-9.99995592110281e-10,0.000119099504167073 -250,-40,570,0.000118597729889067,1.52710179178035e-05,-9.99995592110281e-10,0.000119167729889067 -250,-40,580,0.000118653951320308,1.52147964865623e-05,-9.99995592110281e-10,0.000119233951320308 -250,-40,590,0.000118708270143474,1.51604776633961e-05,-9.99995592110281e-10,0.000119298270143474 -250,-40,600,0.000118760781281083,1.51079665257873e-05,-9.99995592110281e-10,0.000119360781281083 -250,-46,0,0,1.93163277438646e-05,-9.99994929570813e-10,0 -250,-46,10,4.41938999069585e-06,1.48969377531687e-05,-9.99994929570813e-10,4.42938999069585e-06 -250,-46,20,7.77707306666871e-06,1.15392546771959e-05,-9.99994929570813e-10,7.79707306666871e-06 -250,-46,30,1.00306668516134e-05,9.28566089225122e-06,-9.99994929570813e-10,1.00606668516134e-05 -250,-46,40,1.1534294482737e-05,7.78203326112762e-06,-9.99994929570813e-10,1.1574294482737e-05 -250,-46,50,1.25742348738452e-05,6.74209287001941e-06,-9.99994929570813e-10,1.26242348738452e-05 -250,-46,60,1.33244017587157e-05,5.99192598514886e-06,-9.99994929570813e-10,1.33844017587157e-05 -250,-46,70,1.38864540426915e-05,5.42987370117308e-06,-9.99994929570813e-10,1.39564540426915e-05 -250,-46,80,1.4321244936115e-05,4.99508280774955e-06,-9.99994929570813e-10,1.4401244936115e-05 -250,-46,90,1.46666367947259e-05,4.64969094913863e-06,-9.99994929570813e-10,1.47566367947259e-05 -250,-46,100,1.49471356863104e-05,4.36919205755418e-06,-9.99994929570813e-10,1.50471356863104e-05 -250,-46,110,1.51791877644921e-05,4.13713997937246e-06,-9.99994929570813e-10,1.52891877644921e-05 -250,-46,120,1.53741897924825e-05,3.94213795138208e-06,-9.99994929570813e-10,1.54941897924825e-05 -250,-46,130,1.55402643835944e-05,3.77606336027022e-06,-9.99994929570813e-10,1.56702643835944e-05 -250,-46,140,1.56833445599147e-05,3.63298318394989e-06,-9.99994929570813e-10,1.58233445599147e-05 -250,-46,150,1.58078583204392e-05,3.50846942342542e-06,-9.99994929570813e-10,1.59578583204392e-05 -250,-46,160,1.59171736807492e-05,3.39915406311542e-06,-9.99994929570813e-10,1.60771736807492e-05 -250,-46,170,1.60138957731373e-05,3.30243197072725e-06,-9.99994929570813e-10,1.61838957731373e-05 -250,-46,180,1.61000699656307e-05,3.21625777823385e-06,-9.99994929570813e-10,1.62800699656307e-05 -250,-46,190,1.61773237338556e-05,3.13900401000893e-06,-9.99994929570813e-10,1.63673237338556e-05 -250,-46,200,1.6246967684309e-05,3.06936005955562e-06,-9.99994929570813e-10,1.6446967684309e-05 -250,-46,210,1.63100687562679e-05,3.00625898759673e-06,-9.99994929570813e-10,1.65200687562679e-05 -250,-46,220,1.63675041103017e-05,2.94882363356292e-06,-9.99994929570813e-10,1.65875041103017e-05 -250,-46,230,1.64200013746412e-05,2.89632636922337e-06,-9.99994929570813e-10,1.66500013746412e-05 -250,-46,240,1.64681691011641e-05,2.84815864270048e-06,-9.99994929570813e-10,1.67081691011641e-05 -250,-46,250,1.65125200922847e-05,2.80380765157983e-06,-9.99994929570813e-10,1.67625200922847e-05 -250,-46,260,1.65534894667518e-05,2.7628382771128e-06,-9.99994929570813e-10,1.68134894667518e-05 -250,-46,270,1.65914487947432e-05,2.72487894912142e-06,-9.99994929570813e-10,1.68614487947432e-05 -250,-46,280,1.66267172625823e-05,2.6896104812823e-06,-9.99994929570813e-10,1.69067172625823e-05 -250,-46,290,1.66595705689545e-05,2.65675717491006e-06,-9.99994929570813e-10,1.69495705689545e-05 -250,-46,300,1.66902480715781e-05,2.62607967228643e-06,-9.99994929570813e-10,1.69902480715781e-05 -250,-46,310,1.6718958572183e-05,2.59736917168159e-06,-9.99994929570813e-10,1.7028958572183e-05 -250,-46,320,1.67458850325938e-05,2.57044271127074e-06,-9.99994929570813e-10,1.70658850325938e-05 -250,-46,330,1.6771188445039e-05,2.5451392988256e-06,-9.99994929570813e-10,1.7101188445039e-05 -250,-46,340,1.67950110282097e-05,2.52131671565483e-06,-9.99994929570813e-10,1.71350110282097e-05 -250,-46,350,1.68174788820252e-05,2.49884886183942e-06,-9.99994929570813e-10,1.71674788820252e-05 -250,-46,360,1.68387042049601e-05,2.47762353890443e-06,-9.99994929570813e-10,1.71987042049601e-05 -250,-46,370,1.68587871556618e-05,2.45754058820282e-06,-9.99994929570813e-10,1.72287871556618e-05 -250,-46,380,1.68778174236061e-05,2.43851032025849e-06,-9.99994929570813e-10,1.72578174236061e-05 -250,-46,390,1.68958755604358e-05,2.42045218342879e-06,-9.99994929570813e-10,1.72858755604358e-05 -250,-46,400,1.69130341134157e-05,2.40329363044889e-06,-9.99994929570813e-10,1.73130341134157e-05 -250,-46,410,1.69293585944516e-05,2.386969149413e-06,-9.99994929570813e-10,1.73393585944516e-05 -250,-46,420,1.69449083118165e-05,2.37141943204805e-06,-9.99994929570813e-10,1.73649083118165e-05 -250,-46,430,1.69597370867313e-05,2.35659065713325e-06,-9.99994929570813e-10,1.73897370867313e-05 -250,-46,440,1.69738938729591e-05,2.34243387090547e-06,-9.99994929570813e-10,1.74138938729591e-05 -250,-46,450,1.69874232943761e-05,2.32890444948851e-06,-9.99994929570813e-10,1.74374232943761e-05 -250,-46,460,1.70003661129017e-05,2.31596163096291e-06,-9.99994929570813e-10,1.74603661129017e-05 -250,-46,470,1.70127596370821e-05,2.30356810678252e-06,-9.99994929570813e-10,1.74827596370821e-05 -250,-46,480,1.70246380799189e-05,2.29168966394563e-06,-9.99994929570813e-10,1.75046380799189e-05 -250,-46,490,1.70360328731444e-05,2.2802948707202e-06,-9.99994929570813e-10,1.75260328731444e-05 -250,-46,500,1.70469729439986e-05,2.26935479986597e-06,-9.99994929570813e-10,1.75469729439986e-05 -250,-46,510,1.7057484959625e-05,2.25884278423961e-06,-9.99994929570813e-10,1.7567484959625e-05 -250,-46,520,1.70675935434142e-05,2.24873420045035e-06,-9.99994929570813e-10,1.75875935434142e-05 -250,-46,530,1.70773214669816e-05,2.23900627688299e-06,-9.99994929570813e-10,1.76073214669816e-05 -250,-46,540,1.70866898209171e-05,2.22963792294749e-06,-9.99994929570813e-10,1.76266898209171e-05 -250,-46,550,1.70957181669964e-05,2.22060957686813e-06,-9.99994929570813e-10,1.76457181669964e-05 -250,-46,560,1.71044246741574e-05,2.21190306970716e-06,-9.99994929570813e-10,1.76644246741574e-05 -250,-46,570,1.71128262402255e-05,2.20350150363909e-06,-9.99994929570813e-10,1.76828262402255e-05 -250,-46,580,1.71209386011004e-05,2.19538914276416e-06,-9.99994929570813e-10,1.77009386011004e-05 -250,-46,590,1.71287764288842e-05,2.18755131498038e-06,-9.99994929570813e-10,1.77187764288842e-05 -250,-46,600,1.71363534202348e-05,2.17997432362975e-06,-9.99994929570813e-10,1.77363534202348e-05 -250,-50,0,0,5.2936620671529e-06,-9.99994492503764e-10,0 -250,-50,10,1.2111389630533e-06,4.0825231040996e-06,-9.99994492503764e-10,1.2211389630533e-06 -250,-50,20,2.13131591223788e-06,3.16234615491502e-06,-9.99994492503764e-10,2.15131591223788e-06 -250,-50,30,2.74891590807157e-06,2.54474615908133e-06,-9.99994492503764e-10,2.77891590807157e-06 -250,-50,40,3.16098680785894e-06,2.13267525929396e-06,-9.99994492503764e-10,3.20098680785894e-06 -250,-50,50,3.44598368063453e-06,1.84767838651837e-06,-9.99994492503764e-10,3.49598368063453e-06 -250,-50,60,3.65156778725825e-06,1.64209427989465e-06,-9.99994492503764e-10,3.71156778725825e-06 -250,-50,70,3.80559886888474e-06,1.48806319826816e-06,-9.99994492503764e-10,3.87559886888474e-06 -250,-50,80,3.92475381853042e-06,1.36890824862247e-06,-9.99994492503764e-10,4.00475381853042e-06 -250,-50,90,4.01940885878842e-06,1.27425320836448e-06,-9.99994492503764e-10,4.10940885878842e-06 -250,-50,100,4.09627990601584e-06,1.19738216113706e-06,-9.99994492503764e-10,4.19627990601584e-06 -250,-50,110,4.15987404772659e-06,1.13378801942631e-06,-9.99994492503764e-10,4.26987404772659e-06 -250,-50,120,4.21331458012377e-06,1.08034748702913e-06,-9.99994492503764e-10,4.33331458012377e-06 -250,-50,130,4.25882751482566e-06,1.03483455232724e-06,-9.99994492503764e-10,4.38882751482566e-06 -250,-50,140,4.2980388034304e-06,9.95623263722499e-07,-9.99994492503764e-10,4.4380388034304e-06 -250,-50,150,4.33216194420887e-06,9.61500122944028e-07,-9.99994492503764e-10,4.48216194420887e-06 -250,-50,160,4.36211994574537e-06,9.31542121407531e-07,-9.99994492503764e-10,4.52211994574537e-06 -250,-50,170,4.38862674757231e-06,9.05035319580587e-07,-9.99994492503764e-10,4.55862674757231e-06 -250,-50,180,4.41224288517459e-06,8.81419181978306e-07,-9.99994492503764e-10,4.59224288517459e-06 -250,-50,190,4.433414370139e-06,8.60247697013896e-07,-9.99994492503764e-10,4.623414370139e-06 -250,-50,200,4.45250037569917e-06,8.4116169145373e-07,-9.99994492503764e-10,4.65250037569917e-06 -250,-50,210,4.46979329780397e-06,8.23868769348928e-07,-9.99994492503764e-10,4.67979329780397e-06 -250,-50,220,4.48553352332685e-06,8.0812854382605e-07,-9.99994492503764e-10,4.70553352332685e-06 -250,-50,230,4.49992045963009e-06,7.93741607522804e-07,-9.99994492503764e-10,4.72992045963009e-06 -250,-50,240,4.513120881063e-06,7.80541186089894e-07,-9.99994492503764e-10,4.753120881063e-06 -250,-50,250,4.52527532172321e-06,7.68386745429682e-07,-9.99994492503764e-10,4.77527532172321e-06 -250,-50,260,4.53650302640947e-06,7.57159040743425e-07,-9.99994492503764e-10,4.79650302640947e-06 -250,-50,270,4.54690582436088e-06,7.46756242792018e-07,-9.99994492503764e-10,4.81690582436088e-06 -250,-50,280,4.55657118896031e-06,7.37090878192588e-07,-9.99994492503764e-10,4.83657118896031e-06 -250,-50,290,4.56557467575291e-06,7.28087391399992e-07,-9.99994492503764e-10,4.85557467575291e-06 -250,-50,300,4.57398188099953e-06,7.19680186153372e-07,-9.99994492503764e-10,4.87398188099953e-06 -250,-50,310,4.5818500270569e-06,7.11812040096e-07,-9.99994492503764e-10,4.8918500270569e-06 -250,-50,320,4.58922925482574e-06,7.04432812327156e-07,-9.99994492503764e-10,4.90922925482574e-06 -250,-50,330,4.59616368441332e-06,6.97498382739578e-07,-9.99994492503764e-10,4.92616368441332e-06 -250,-50,340,4.60269229101727e-06,6.90969776135628e-07,-9.99994492503764e-10,4.94269229101727e-06 -250,-50,350,4.60884963246696e-06,6.84812434685942e-07,-9.99994492503764e-10,4.95884963246696e-06 -250,-50,360,4.61466645688482e-06,6.78995610268077e-07,-9.99994492503764e-10,4.97466645688482e-06 -250,-50,370,4.62017021286449e-06,6.73491854288403e-07,-9.99994492503764e-10,4.99017021286449e-06 -250,-50,380,4.62538547991113e-06,6.68276587241765e-07,-9.99994492503764e-10,5.00538547991113e-06 -250,-50,390,4.63033433329602e-06,6.63327733856876e-07,-9.99994492503764e-10,5.02033433329602e-06 -250,-50,400,4.6350366546814e-06,6.586254124715e-07,-9.99994492503764e-10,5.0350366546814e-06 -250,-50,410,4.63951039768118e-06,6.54151669471715e-07,-9.99994492503764e-10,5.04951039768118e-06 -250,-50,420,4.64377181579654e-06,6.49890251356363e-07,-9.99994492503764e-10,5.06377181579654e-06 -250,-50,430,4.64783565879556e-06,6.45826408357336e-07,-9.99994492503764e-10,5.07783565879556e-06 -250,-50,440,4.65171534251394e-06,6.41946724638953e-07,-9.99994492503764e-10,5.09171534251394e-06 -250,-50,450,4.65542309617681e-06,6.38238970976086e-07,-9.99994492503764e-10,5.10542309617681e-06 -250,-50,460,4.65897009063557e-06,6.34691976517329e-07,-9.99994492503764e-10,5.11897009063557e-06 -250,-50,470,4.66236655034065e-06,6.31295516812251e-07,-9.99994492503764e-10,5.13236655034065e-06 -250,-50,480,4.66562185140492e-06,6.28040215747977e-07,-9.99994492503764e-10,5.14562185140492e-06 -250,-50,490,4.66874460773109e-06,6.2491745942181e-07,-9.99994492503764e-10,5.15874460773109e-06 -250,-50,500,4.67174274686296e-06,6.21919320289935e-07,-9.99994492503764e-10,5.17174274686296e-06 -250,-50,510,4.67462357696217e-06,6.19038490190732e-07,-9.99994492503764e-10,5.18462357696217e-06 -250,-50,520,4.67739384609755e-06,6.16268221055345e-07,-9.99994492503764e-10,5.19739384609755e-06 -250,-50,530,4.68005979485673e-06,6.13602272296164e-07,-9.99994492503764e-10,5.21005979485673e-06 -250,-50,540,4.68262720314042e-06,6.11034864012475e-07,-9.99994492503764e-10,5.22262720314042e-06 -250,-50,550,4.68510143187599e-06,6.08560635276912e-07,-9.99994492503764e-10,5.23510143187599e-06 -250,-50,560,4.68748746028193e-06,6.06174606870967e-07,-9.99994492503764e-10,5.24748746028193e-06 -250,-50,570,4.68978991922698e-06,6.03872147925924e-07,-9.99994492503764e-10,5.25978991922698e-06 -250,-50,580,4.69201312115273e-06,6.01648946000168e-07,-9.99994492503764e-10,5.27201312115273e-06 -250,-50,590,4.6941610869658e-06,5.99500980187101e-07,-9.99994492503764e-10,5.2841610869658e-06 -250,-50,600,4.69623757025123e-06,5.97424496901671e-07,-9.99994492503764e-10,5.29623757025123e-06 -250,-60,0,0,2.07503192832613e-07,-9.99993385958353e-10,0 -250,-60,10,4.74747346183935e-08,1.6002845821422e-07,-9.99993385958353e-10,5.74747346183935e-08 -250,-60,20,8.3544217805005e-08,1.23958975027608e-07,-9.99993385958353e-10,1.03544217805005e-07 -250,-60,30,1.0775316227543e-07,9.97500305571835e-08,-9.99993385958353e-10,1.3775316227543e-07 -250,-60,40,1.23905690769806e-07,8.35975020628071e-08,-9.99993385958353e-10,1.63905690769806e-07 -250,-60,50,1.35077118091394e-07,7.24260747412194e-08,-9.99993385958353e-10,1.85077118091394e-07 -250,-60,60,1.43135690395199e-07,6.4367502437414e-08,-9.99993385958353e-10,2.03135690395199e-07 -250,-60,70,1.49173465536019e-07,5.8329727296594e-08,-9.99993385958353e-10,2.19173465536019e-07 -250,-60,80,1.53844151382535e-07,5.36590414500783e-08,-9.99993385958353e-10,2.33844151382535e-07 -250,-60,90,1.57554479473387e-07,4.99487133592267e-08,-9.99993385958353e-10,2.47554479473387e-07 -250,-60,100,1.60567703123429e-07,4.69354897091843e-08,-9.99993385958353e-10,2.60567703123429e-07 -250,-60,110,1.63060493045232e-07,4.44426997873813e-08,-9.99993385958353e-10,2.73060493045232e-07 -250,-60,120,1.65155277517384e-07,4.23479153152297e-08,-9.99993385958353e-10,2.85155277517384e-07 -250,-60,130,1.66939312679814e-07,4.05638801527994e-08,-9.99993385958353e-10,2.96939312679814e-07 -250,-60,140,1.6847633326733e-07,3.90268595652837e-08,-9.99993385958353e-10,3.0847633326733e-07 -250,-60,150,1.6981390649569e-07,3.76892863369235e-08,-9.99993385958353e-10,3.1981390649569e-07 -250,-60,160,1.70988212843706e-07,3.65149799889079e-08,-9.99993385958353e-10,3.30988212843706e-07 -250,-60,170,1.72027237613534e-07,3.54759552190796e-08,-9.99993385958353e-10,3.42027237613534e-07 -250,-60,180,1.72952952910937e-07,3.45502399216762e-08,-9.99993385958353e-10,3.52952952910937e-07 -250,-60,190,1.73782841685739e-07,3.37203511468746e-08,-9.99993385958353e-10,3.63782841685739e-07 -250,-60,200,1.7453098296146e-07,3.29722098711537e-08,-9.99993385958353e-10,3.7453098296146e-07 -250,-60,210,1.7520883819752e-07,3.22943546350936e-08,-9.99993385958353e-10,3.8520883819752e-07 -250,-60,220,1.75825830179718e-07,3.1677362652895e-08,-9.99993385958353e-10,3.95825830179719e-07 -250,-60,230,1.76389775361737e-07,3.11134174708769e-08,-9.99993385958353e-10,4.06389775361737e-07 -250,-60,240,1.76907211034682e-07,3.05959817979311e-08,-9.99993385958353e-10,4.16907211034682e-07 -250,-60,250,1.7738364591324e-07,3.01195469193736e-08,-9.99993385958353e-10,4.2738364591324e-07 -250,-60,260,1.77823754205198e-07,2.9679438627415e-08,-9.99993385958353e-10,4.37823754205198e-07 -250,-60,270,1.78231527455913e-07,2.92716653767001e-08,-9.99993385958353e-10,4.48231527455913e-07 -250,-60,280,1.78610394483848e-07,2.88927983487653e-08,-9.99993385958353e-10,4.58610394483848e-07 -250,-60,290,1.78963316947049e-07,2.8539875885565e-08,-9.99993385958353e-10,4.68963316947049e-07 -250,-60,300,1.79292866115345e-07,2.82103267172685e-08,-9.99993385958353e-10,4.79292866115345e-07 -250,-60,310,1.79601285014751e-07,2.79019078178626e-08,-9.99993385958353e-10,4.89601285014751e-07 -250,-60,320,1.79890539089388e-07,2.76126537432258e-08,-9.99993385958353e-10,4.99890539089388e-07 -250,-60,330,1.80162357777782e-07,2.73408350548317e-08,-9.99993385958353e-10,5.10162357777782e-07 -250,-60,340,1.80418268846128e-07,2.70849239864857e-08,-9.99993385958353e-10,5.20418268846128e-07 -250,-60,350,1.8065962690676e-07,2.68435659258535e-08,-9.99993385958353e-10,5.3065962690676e-07 -250,-60,360,1.80887637237518e-07,2.66155555950953e-08,-9.99993385958353e-10,5.40887637237518e-07 -250,-60,370,1.81103375779924e-07,2.63998170526899e-08,-9.99993385958353e-10,5.51103375779924e-07 -250,-60,380,1.8130780601176e-07,2.61953868208534e-08,-9.99993385958353e-10,5.6130780601176e-07 -250,-60,390,1.81501793248799e-07,2.60013995838145e-08,-9.99993385958353e-10,5.71501793248799e-07 -250,-60,400,1.81686116820801e-07,2.58170760118122e-08,-9.99993385958353e-10,5.81686116820801e-07 -250,-60,410,1.81861480481079e-07,2.56417123515347e-08,-9.99993385958353e-10,5.91861480481079e-07 -250,-60,420,1.82028521341208e-07,2.54746714914056e-08,-9.99993385958353e-10,6.02028521341208e-07 -250,-60,430,1.82187817568805e-07,2.5315375263809e-08,-9.99993385958353e-10,6.12187817568805e-07 -250,-60,440,1.8233989504344e-07,2.51632977891737e-08,-9.99993385958353e-10,6.2233989504344e-07 -250,-60,450,1.82485233131425e-07,2.50179597011881e-08,-9.99993385958353e-10,6.32485233131425e-07 -250,-60,460,1.82624269712494e-07,2.48789231201191e-08,-9.99993385958353e-10,6.42624269712494e-07 -250,-60,470,1.82757405568956e-07,2.47457872636571e-08,-9.99993385958353e-10,6.52757405568956e-07 -250,-60,480,1.82885008229629e-07,2.46181846029849e-08,-9.99993385958353e-10,6.62885008229629e-07 -250,-60,490,1.83007415345893e-07,2.44957774867206e-08,-9.99993385958353e-10,6.73007415345893e-07 -250,-60,500,1.83124937664947e-07,2.43782551676665e-08,-9.99993385958353e-10,6.83124937664947e-07 -250,-60,510,1.83237861655185e-07,2.42653311774288e-08,-9.99993385958353e-10,6.93237861655185e-07 -250,-60,520,1.83346451830248e-07,2.41567410023654e-08,-9.99993385958353e-10,7.03346451830248e-07 -250,-60,530,1.83450952811316e-07,2.40522400212977e-08,-9.99993385958353e-10,7.13450952811316e-07 -250,-60,540,1.83551591161368e-07,2.39516016712459e-08,-9.99993385958353e-10,7.23551591161368e-07 -250,-60,550,1.8364857702029e-07,2.38546158123235e-08,-9.99993385958353e-10,7.3364857702029e-07 -250,-60,560,1.83742105565585e-07,2.37610872670288e-08,-9.99993385958353e-10,7.43742105565585e-07 -250,-60,570,1.83832358319992e-07,2.36708345126214e-08,-9.99993385958353e-10,7.53832358319992e-07 -250,-60,580,1.83919504324413e-07,2.35836885082007e-08,-9.99993385958353e-10,7.63919504324413e-07 -250,-60,590,1.84003701192035e-07,2.34994916405781e-08,-9.99993385958353e-10,7.74003701192035e-07 -250,-60,600,1.84085096057466e-07,2.34180967751476e-08,-9.99993385958353e-10,7.84085096057466e-07 -400,0,0,0,0.679838353865183,2.4382835194612e-30,0 -400,0,10,0.155540476233493,0.52429787763169,3.65171239030557e-39,0.155540486233493 -400,0,20,0.273714166669835,0.406124187195348,-3.65171237936754e-39,0.273714186669835 -400,0,30,0.353029423138509,0.326808930726674,-1.64070378794541e-47,0.353029453138509 -400,0,40,0.405949613100286,0.273888740764897,5.46901257187999e-48,0.405949653100286 -400,0,50,0.442550325874664,0.237288027990519,4.0953525157576e-56,0.442550375874664 -400,0,60,0.468952457112914,0.210885896752269,-8.19070485977906e-57,0.468952517112914 -400,0,70,0.488733893035465,0.191104460829718,-8.58680667843167e-65,0.488733963035466 -400,0,80,0.504036363006991,0.175801990858192,1.22668662425564e-65,0.504036443006991 -400,0,90,0.516192433027653,0.16364592083753,1.65344027914067e-73,0.516192523027653 -400,0,100,0.52606459440555,0.153773759459633,-1.83715576482612e-74,0.52606469440555 -400,0,110,0.534231669686832,0.145606684178351,-3.02657225418411e-82,0.534231779686832 -400,0,120,0.541094768070088,0.138743585795095,2.75142910770929e-83,0.541094888070088 -400,0,130,0.546939765014509,0.132898588850675,5.35690654890671e-91,0.546939895014509 -400,0,140,0.551975473293545,0.127862880571639,-4.12069691331547e-92,0.551975613293545 -400,0,150,0.556357736377448,0.123480617487735,-9.25708673056568e-100,0.556357886377448 -400,0,160,0.56020509160929,0.119633262255893,6.17139031571224e-101,0.56020525160929 -400,0,170,0.563609226646937,0.116229127218246,1.57124659632959e-108,0.563609396646937 -400,0,180,0.566642128239166,0.113196225626017,-9.24262545921235e-110,0.566642308239166 -400,0,190,0.569361075407403,0.110477278457781,-2.6300341248365e-117,0.569361265407403 -400,0,200,0.571812194960801,0.108026158904382,1.38422819652212e-118,0.571812394960801 -400,0,210,0.574033037838211,0.105805316026973,4.35350883813035e-126,0.574033247838211 -400,0,220,0.576054475714901,0.103783878150283,-2.07309892305382e-127,0.576054695714901 -400,0,230,0.577902117473949,0.101936236391234,-7.14102122713026e-135,0.577902347473949 -400,0,240,0.579597381104954,0.100240972760229,3.10479090790003e-136,0.579597621104954 -400,0,250,0.581158314694172,0.0986800391710106,1.16247828252341e-143,0.581158564694172 -400,0,260,0.582600232250443,0.0972381216147403,-4.64991150052341e-145,0.582600492250443 -400,0,270,0.583936211190005,0.0959021426751779,-1.88027319217195e-152,0.583936481190005 -400,0,280,0.585177485278798,0.0946608685863849,6.96397196286446e-154,0.585177765278798 -400,0,290,0.586333757734893,0.0935045961302897,3.02459714311403e-161,0.586334047734894 -400,0,300,0.587413452755649,0.0924249011095338,-1.04296404788728e-162,0.587413752755649 -400,0,310,0.588423919120098,0.0914144347450853,-4.84220957744239e-170,0.588424229120098 -400,0,320,0.589371596171547,0.0904667576936363,1.56200226604808e-171,0.589371916171547 -400,0,330,0.590262150033129,0.0895762038320544,7.71983781454779e-179,0.590262480033129 -400,0,340,0.591100586093149,0.088737767772034,-2.33934340255108e-180,0.591100926093149 -400,0,350,0.591891342439557,0.087947011425626,-1.22623759778336e-187,0.591891692439557 -400,0,360,0.592638367898833,0.0871999859663506,3.50353366395621e-189,0.592638727898833 -400,0,370,0.59334518755559,0.0864931663095927,1.94142516131204e-196,0.59334555755559 -400,0,380,0.594014958031865,0.085823395833318,-5.24709114854839e-198,0.594015338031865 -400,0,390,0.59465051434355,0.0851878395216337,-3.06475584646932e-205,0.59465090434355 -400,0,400,0.595254409792376,0.0845839440728072,7.85834189049905e-207,0.595254809792376 -400,0,410,0.595828950070544,0.0840094037946392,4.82533507399056e-214,0.595829360070544 -400,0,420,0.596376222533335,0.0834621313318485,-1.17690993256546e-215,0.596376642533335 -400,0,430,0.596898121419168,0.0829402324460152,-7.57921835019235e-223,0.596898551419168 -400,0,440,0.597396369656242,0.0824419842089415,1.76260717639191e-224,0.597396809656242 -400,0,450,0.597872537782338,0.0819658160828455,1.18790256424665e-231,0.597872987782338 -400,0,460,0.598328060413632,0.0815102934515516,-2.63978062695451e-233,0.598328520413631 -400,0,470,0.598764250624789,0.0810741032403939,-1.85814031413343e-240,0.598764720624789 -400,0,480,0.599182312542758,0.0806560413224253,3.9534853880281e-242,0.599182792542758 -400,0,490,0.59958335240767,0.0802550014575127,2.90127615722786e-249,0.59958384240767 -400,0,500,0.599968388314046,0.079869965551137,-5.92096421199582e-251,0.599968888314046 -400,0,510,0.600338358812269,0.0794999950529143,-4.52246802742357e-258,0.600338868812269 -400,0,520,0.60069413052283,0.0791442233423529,8.86757216704983e-260,0.60069465052283 -400,0,530,0.601036504892962,0.0788018489722214,7.03871754724518e-267,0.601037034892962 -400,0,540,0.601366224206197,0.0784721296589858,-1.32805794548559e-268,0.601366764206197 -400,0,550,0.601683976939435,0.0781543769257487,-1.0939379689506e-275,0.601684526939435 -400,0,560,0.601990402548624,0.0778479513165588,1.98897495591316e-277,0.601990962548624 -400,0,570,0.60228609575291,0.0775522581122734,1.69791990644622e-284,0.60228666575291 -400,0,580,0.602571610377444,0.077266743487739,-2.97880176463542e-286,0.602572190377444 -400,0,590,0.602847462807008,0.076990891058175,-2.63212610639224e-293,0.602848052807008 -400,0,600,0.603114135095622,0.0767242187695613,4.46122253749779e-295,0.603114735095622 -400,-10,0,0,0.442804001438546,-9.99998805539803e-10,0 -400,-10,10,0.101309296350035,0.341494705088511,-9.99998805539803e-10,0.101309306350035 -400,-10,20,0.178280215528786,0.264523785909759,-9.99998805539803e-10,0.178280235528786 -400,-10,30,0.229941191611959,0.212862809826586,-9.99998805539803e-10,0.229941221611959 -400,-10,40,0.264410079309652,0.178393922128894,-9.99998805539803e-10,0.264410119309652 -400,-10,50,0.288249484632775,0.15455451680577,-9.99998805539803e-10,0.288249534632775 -400,-10,60,0.305446174540508,0.137357826898038,-9.99998805539803e-10,0.305446234540508 -400,-10,70,0.318330559381265,0.12447344205728,-9.99998805539803e-10,0.318330629381265 -400,-10,80,0.328297627136063,0.114506374302483,-9.99998805539803e-10,0.328297707136063 -400,-10,90,0.336215327595758,0.106588673842788,-9.99998805539803e-10,0.336215417595758 -400,-10,100,0.342645433423307,0.100158568015239,-9.99998805539803e-10,0.342645533423307 -400,-10,110,0.347964953268047,0.0948390481704984,-9.99998805539803e-10,0.347965063268047 -400,-10,120,0.352435144467314,0.0903688569712319,-9.99998805539803e-10,0.352435264467314 -400,-10,130,0.356242208338704,0.0865617930998415,-9.99998805539803e-10,0.356242338338704 -400,-10,140,0.359522152406815,0.0832818490317306,-9.99998805539803e-10,0.359522292406815 -400,-10,150,0.362376483319269,0.080427518119277,-9.99998805539803e-10,0.362376633319269 -400,-10,160,0.364882408855728,0.077921592582818,-9.99998805539803e-10,0.364882568855728 -400,-10,170,0.367099648597407,0.0757043528411391,-9.99998805539803e-10,0.367099818597407 -400,-10,180,0.369075090190798,0.0737289112477475,-9.99998805539803e-10,0.369075270190798 -400,-10,190,0.370846041592628,0.0719579598459178,-9.99998805539803e-10,0.370846231592628 -400,-10,200,0.372442546909044,0.0703614545295017,-9.99998805539803e-10,0.372442746909044 -400,-10,210,0.373889064462948,0.0689149369755979,-9.99998805539803e-10,0.373889274462948 -400,-10,220,0.375205702124487,0.0675982993140586,-9.99998805539803e-10,0.375205922124487 -400,-10,230,0.376409139911543,0.0663948615270023,-9.99998805539803e-10,0.376409369911543 -400,-10,240,0.377513328157226,0.0652906732813194,-9.99998805539803e-10,0.377513568157226 -400,-10,250,0.37853002225128,0.0642739791872659,-9.99998805539803e-10,0.37853027225128 -400,-10,260,0.379469196777152,0.0633348046613939,-9.99998805539803e-10,0.379469456777152 -400,-10,270,0.380339369542358,0.062464631896188,-9.99998805539803e-10,0.380339639542358 -400,-10,280,0.38114785751641,0.0616561439221357,-9.99998805539803e-10,0.38114813751641 -400,-10,290,0.381900980766078,0.0609030206724673,-9.99998805539803e-10,0.381901270766078 -400,-10,300,0.382604226284378,0.0601997751541676,-9.99998805539803e-10,0.382604526284378 -400,-10,310,0.383262380604376,0.0595416208341694,-9.99998805539803e-10,0.383262690604376 -400,-10,320,0.383879637909833,0.0589243635287124,-9.99998805539803e-10,0.383879957909833 -400,-10,330,0.384459688757455,0.0583443126810911,-9.99998805539803e-10,0.384460018757455 -400,-10,340,0.385005793342782,0.0577982080957634,-9.99998805539803e-10,0.385006133342782 -400,-10,350,0.385520842357539,0.0572831590810062,-9.99998805539803e-10,0.385521192357539 -400,-10,360,0.38600740781926,0.0567965936192859,-9.99998805539803e-10,0.38600776781926 -400,-10,370,0.386467785746643,0.056336215691903,-9.99998805539803e-10,0.386468155746643 -400,-10,380,0.386904032165006,0.0558999692735395,-9.99998805539803e-10,0.386904412165006 -400,-10,390,0.387317993625629,0.0554860078129168,-9.99998805539803e-10,0.387318383625629 -400,-10,400,0.38771133318888,0.0550926682496654,-9.99998805539803e-10,0.38771173318888 -400,-10,410,0.388085552637833,0.0547184488007126,-9.99998805539803e-10,0.388085962637833 -400,-10,420,0.388442011544606,0.05436198989394,-9.99998805539803e-10,0.388442431544606 -400,-10,430,0.388781943697123,0.0540220577414226,-9.99998805539803e-10,0.388782373697123 -400,-10,440,0.389106471302592,0.0536975301359535,-9.99998805539803e-10,0.389106911302592 -400,-10,450,0.389416617310675,0.0533873841278708,-9.99998805539803e-10,0.389417067310675 -400,-10,460,0.389713316140236,0.0530906852983094,-9.99998805539803e-10,0.389713776140236 -400,-10,470,0.389997423045636,0.0528065783929093,-9.99998805539803e-10,0.389997893045636 -400,-10,480,0.390269722319534,0.0525342791190111,-9.99998805539803e-10,0.390270202319534 -400,-10,490,0.390530934497268,0.052273066941278,-9.99998805539803e-10,0.390531424497268 -400,-10,500,0.390781722701657,0.0520222787368889,-9.99998805539803e-10,0.390782222701657 -400,-10,510,0.391022698245469,0.0517813031930765,-9.99998805539803e-10,0.391023208245469 -400,-10,520,0.391254425590859,0.0515495758476868,-9.99998805539803e-10,0.391254945590859 -400,-10,530,0.391477426750211,0.0513265746883343,-9.99998805539803e-10,0.391477956750211 -400,-10,540,0.391692185200396,0.0511118162381495,-9.99998805539803e-10,0.391692725200396 -400,-10,550,0.391899149372019,0.0509048520665262,-9.99998805539803e-10,0.391899699372019 -400,-10,560,0.392098735766522,0.0507052656720236,-9.99998805539803e-10,0.392099295766522 -400,-10,570,0.392291331746598,0.0505126696919479,-9.99998805539803e-10,0.392291901746598 -400,-10,580,0.392477298039165,0.050326703399381,-9.99998805539803e-10,0.392477878039165 -400,-10,590,0.392656970984833,0.0501470304537124,-9.99998805539803e-10,0.392657560984833 -400,-10,600,0.392830664563313,0.0499733368752322,-9.99998805539803e-10,0.392831264563313 -400,-20,0,0,0.24162711262241,-9.99997784134621e-10,0 -400,-20,10,0.0552819592400732,0.186345153382337,-9.99997784134621e-10,0.0552819692400732 -400,-20,20,0.0972830723660477,0.144344040256362,-9.99997784134621e-10,0.0972830923660477 -400,-20,30,0.125473180056312,0.116153932566098,-9.99997784134621e-10,0.125473210056312 -400,-20,40,0.144281993397298,0.0973451192251114,-9.99997784134621e-10,0.144282033397298 -400,-20,50,0.15729056300405,0.0843365496183594,-9.99997784134621e-10,0.15729061300405 -400,-20,60,0.16667436828939,0.0749527443330203,-9.99997784134621e-10,0.16667442828939 -400,-20,70,0.173705056126162,0.0679220564962478,-9.99997784134621e-10,0.173705126126162 -400,-20,80,0.179143836704205,0.0624832759182047,-9.99997784134621e-10,0.179143916704205 -400,-20,90,0.183464328602359,0.0581627840200513,-9.99997784134621e-10,0.183464418602359 -400,-20,100,0.186973077168134,0.0546540354542756,-9.99997784134621e-10,0.186973177168134 -400,-20,110,0.189875806629581,0.0517513059928288,-9.99997784134621e-10,0.189875916629581 -400,-20,120,0.192315078607341,0.0493120340150691,-9.99997784134621e-10,0.192315198607341 -400,-20,130,0.194392498521851,0.0472346141005591,-9.99997784134621e-10,0.194392628521851 -400,-20,140,0.196182282291116,0.0454448303312934,-9.99997784134621e-10,0.196182422291116 -400,-20,150,0.197739819564051,0.043887293058359,-9.99997784134621e-10,0.197739969564051 -400,-20,160,0.199107240702646,0.0425198719197643,-9.99997784134621e-10,0.199107400702646 -400,-20,170,0.200317133194658,0.041309979427752,-9.99997784134621e-10,0.200317303194658 -400,-20,180,0.201395082460732,0.0402320301616777,-9.99997784134621e-10,0.201395262460732 -400,-20,190,0.202361446523452,0.039265666098958,-9.99997784134621e-10,0.202361636523452 -400,-20,200,0.203232619703095,0.0383944929193148,-9.99997784134621e-10,0.203232819703095 -400,-20,210,0.204021948297173,0.0376051643252372,-9.99997784134621e-10,0.204022158297173 -400,-20,220,0.204740404669505,0.0368867079529051,-9.99997784134621e-10,0.204740624669505 -400,-20,230,0.205397090690323,0.0362300219320868,-9.99997784134621e-10,0.205397320690323 -400,-20,240,0.20599961870888,0.0356274939135296,-9.99997784134621e-10,0.20599985870888 -400,-20,250,0.206554403348514,0.035072709273896,-9.99997784134621e-10,0.206554653348514 -400,-20,260,0.207066887490928,0.0345602251314814,-9.99997784134621e-10,0.207067147490928 -400,-20,270,0.207541719091493,0.0340853935309171,-9.99997784134621e-10,0.207541989091493 -400,-20,280,0.207982890838192,0.0336442217842175,-9.99997784134621e-10,0.207983170838192 -400,-20,290,0.20839385143402,0.0332332611883896,-9.99997784134621e-10,0.20839414143402 -400,-20,300,0.208777594994375,0.0328495176280347,-9.99997784134621e-10,0.208777894994375 -400,-20,310,0.209136733411111,0.0324903792112984,-9.99997784134621e-10,0.209137043411111 -400,-20,320,0.209473555345823,0.0321535572765866,-9.99997784134621e-10,0.209473875345823 -400,-20,330,0.209790074643367,0.0318370379790428,-9.99997784134621e-10,0.209790404643367 -400,-20,340,0.210088070311233,0.0315390423111764,-9.99997784134621e-10,0.210088410311233 -400,-20,350,0.210369119727884,0.0312579928945259,-9.99997784134621e-10,0.210369469727884 -400,-20,360,0.210634626379213,0.0309924862431964,-9.99997784134621e-10,0.210634986379213 -400,-20,370,0.210885843145429,0.030741269476981,-9.99997784134621e-10,0.210886213145429 -400,-20,380,0.211123891948327,0.0305032206740827,-9.99997784134621e-10,0.211124271948327 -400,-20,390,0.211349780404941,0.0302773322174692,-9.99997784134621e-10,0.211350170404941 -400,-20,400,0.211564416005883,0.0300626966165265,-9.99997784134621e-10,0.211564816005883 -400,-20,410,0.211768618236766,0.0298584943856436,-9.99997784134621e-10,0.211769028236766 -400,-20,420,0.211963128982225,0.0296639836401847,-9.99997784134621e-10,0.211963548982225 -400,-20,430,0.212148621489595,0.0294784911328147,-9.99997784134621e-10,0.212149051489595 -400,-20,440,0.212325708119393,0.0293014045030169,-9.99997784134621e-10,0.212326148119393 -400,-20,450,0.212494947069766,0.0291321655526439,-9.99997784134621e-10,0.212495397069766 -400,-20,460,0.212656848229811,0.0289702643925992,-9.99997784134621e-10,0.212657308229811 -400,-20,470,0.212811878290526,0.028815234331884,-9.99997784134621e-10,0.212812348290526 -400,-20,480,0.212960465220877,0.0286666474015324,-9.99997784134621e-10,0.212960945220877 -400,-20,490,0.213103002199049,0.0285241104233605,-9.99997784134621e-10,0.213103492199049 -400,-20,500,0.213239851074645,0.0283872615477644,-9.99997784134621e-10,0.213240351074645 -400,-20,510,0.213371345425814,0.0282557671965958,-9.99997784134621e-10,0.213371855425814 -400,-20,520,0.213497793265491,0.028129319356919,-9.99997784134621e-10,0.213498313265491 -400,-20,530,0.213619479442831,0.0280076331795793,-9.99997784134621e-10,0.213620009442831 -400,-20,540,0.213736667779117,0.0278904448432932,-9.99997784134621e-10,0.213737207779117 -400,-20,550,0.21384960297176,0.02777750965065,-9.99997784134621e-10,0.21385015297176 -400,-20,560,0.213958512295221,0.0276686003271893,-9.99997784134621e-10,0.213959072295221 -400,-20,570,0.214063607123671,0.0275635054987388,-9.99997784134621e-10,0.214064177123671 -400,-20,580,0.214165084296804,0.0274620283256056,-9.99997784134621e-10,0.214165664296804 -400,-20,590,0.214263127347312,0.0273639852750974,-9.99997784134621e-10,0.214263717347312 -400,-20,600,0.214357907606102,0.0272692050163083,-9.99997784134621e-10,0.214358507606102 -400,-30,0,0,0.0959764601248581,-9.99996691716798e-10,0 -400,-30,10,0.0219584909120701,0.074017969212788,-9.99996691716798e-10,0.0219585009120701 -400,-30,20,0.0386417104207771,0.057334749704081,-9.99996691716798e-10,0.0386417304207771 -400,-30,30,0.0498390744801578,0.0461373856447003,-9.99996691716798e-10,0.0498391044801578 -400,-30,40,0.0573101041341771,0.038666355990681,-9.99996691716798e-10,0.0573101441341771 -400,-30,50,0.0624772248624496,0.0334992352624085,-9.99996691716798e-10,0.0624772748624496 -400,-30,60,0.066204556634175,0.0297719034906831,-9.99996691716798e-10,0.066204616634175 -400,-30,70,0.0689972090128457,0.0269792511120124,-9.99996691716798e-10,0.0689972790128457 -400,-30,80,0.0711575415252493,0.0248189185996087,-9.99996691716798e-10,0.0711576215252493 -400,-30,90,0.0728736797263083,0.0231027803985497,-9.99996691716798e-10,0.0728737697263083 -400,-30,100,0.0742673861823283,0.0217090739425298,-9.99996691716798e-10,0.0742674861823283 -400,-30,110,0.0754203764050984,0.0205560837197597,-9.99996691716798e-10,0.0754204864050984 -400,-30,120,0.0763892771512368,0.0195871829736212,-9.99996691716798e-10,0.0763893971512368 -400,-30,130,0.0772144470066542,0.0187620131182038,-9.99996691716798e-10,0.0772145770066542 -400,-30,140,0.0779253652008036,0.0180510949240545,-9.99996691716798e-10,0.0779255052008036 -400,-30,150,0.0785440329999027,0.0174324271249554,-9.99996691716798e-10,0.0785441829999027 -400,-30,160,0.0790871849622709,0.0168892751625872,-9.99996691716798e-10,0.0790873449622709 -400,-30,170,0.0795677651308401,0.0164086949940179,-9.99996691716798e-10,0.0795679351308401 -400,-30,180,0.0799959362645724,0.0159805238602856,-9.99996691716798e-10,0.0799961162645724 -400,-30,190,0.0803797847529523,0.0155966753719057,-9.99996691716798e-10,0.0803799747529523 -400,-30,200,0.0807258225672954,0.0152506375575627,-9.99996691716798e-10,0.0807260225672954 -400,-30,210,0.0810393509768877,0.0149371091479704,-9.99996691716798e-10,0.0810395609768877 -400,-30,220,0.0813247283032242,0.0146517318216339,-9.99996691716798e-10,0.0813249483032241 -400,-30,230,0.08158556989094,0.0143908902339181,-9.99996691716798e-10,0.08158579989094 -400,-30,240,0.0818248994335544,0.0141515606913037,-9.99996691716798e-10,0.0818251394335544 -400,-30,250,0.0820452648770917,0.0139311952477663,-9.99996691716798e-10,0.0820455148770917 -400,-30,260,0.0822488281830686,0.0137276319417894,-9.99996691716798e-10,0.0822490881830686 -400,-30,270,0.082437435561119,0.0135390245637391,-9.99996691716798e-10,0.082437705561119 -400,-30,280,0.0826126729427844,0.0133637871820737,-9.99996691716798e-10,0.0826129529427844 -400,-30,290,0.0827759101838799,0.0132005499409781,-9.99996691716798e-10,0.0827762001838799 -400,-30,300,0.0829283365739437,0.0130481235509143,-9.99996691716798e-10,0.0829286365739437 -400,-30,310,0.0830709895798879,0.0129054705449702,-9.99996691716798e-10,0.0830712995798879 -400,-30,320,0.083204778278661,0.0127716818461971,-9.99996691716798e-10,0.083205098278661 -400,-30,330,0.0833305025875341,0.012645957537324,-9.99996691716798e-10,0.0833308325875341 -400,-30,340,0.0834488691442667,0.0125275909805913,-9.99996691716798e-10,0.0834492091442667 -400,-30,350,0.0835605044977563,0.0124159556271018,-9.99996691716798e-10,0.0835608544977563 -400,-30,360,0.0836659661252105,0.0123104939996476,-9.99996691716798e-10,0.0836663261252105 -400,-30,370,0.0837657516819044,0.0122107084429537,-9.99996691716798e-10,0.0837661216819044 -400,-30,380,0.0838603068052561,0.0121161533196019,-9.99996691716798e-10,0.0838606868052561 -400,-30,390,0.0839500317298043,0.0120264283950538,-9.99996691716798e-10,0.0839504217298043 -400,-30,400,0.0840352869189744,0.0119411732058837,-9.99996691716798e-10,0.0840356869189744 -400,-30,410,0.0841163978798141,0.0118600622450439,-9.99996691716798e-10,0.0841168078798141 -400,-30,420,0.0841936592955666,0.0117828008292915,-9.99996691716798e-10,0.0841940792955666 -400,-30,430,0.0842673385861224,0.0117091215387357,-9.99996691716798e-10,0.0842677685861224 -400,-30,440,0.0843376789865806,0.0116387811382774,-9.99996691716798e-10,0.0843381189865807 -400,-30,450,0.0844049022182609,0.0115715579065972,-9.99996691716798e-10,0.0844053522182609 -400,-30,460,0.0844692108136936,0.0115072493111645,-9.99996691716798e-10,0.0844696708136936 -400,-30,470,0.0845307901467365,0.0114456699781215,-9.99996691716798e-10,0.0845312601467365 -400,-30,480,0.0845898102105083,0.0113866499143497,-9.99996691716798e-10,0.0845902902105083 -400,-30,490,0.0846464271789162,0.0113300329459418,-9.99996691716798e-10,0.0846469171789162 -400,-30,500,0.084700784781874,0.011275675342984,-9.99996691716798e-10,0.084701284781874 -400,-30,510,0.0847530155196195,0.0112234446052385,-9.99996691716798e-10,0.0847535255196195 -400,-30,520,0.0848032417376581,0.0111732183871999,-9.99996691716798e-10,0.0848037617376581 -400,-30,530,0.0848515765806335,0.0111248835442246,-9.99996691716798e-10,0.0848521065806335 -400,-30,540,0.0848981248407298,0.0110783352841283,-9.99996691716798e-10,0.0848986648407298 -400,-30,550,0.0849429837139571,0.011033476410901,-9.99996691716798e-10,0.0849435337139571 -400,-30,560,0.0849862434757732,0.0109902166490849,-9.99996691716798e-10,0.0849868034757732 -400,-30,570,0.0850279880858984,0.0109484720389596,-9.99996691716798e-10,0.0850285580858984 -400,-30,580,0.0850682957308274,0.0109081643940307,-9.99996691716798e-10,0.0850688757308274 -400,-30,590,0.0851072393113945,0.0108692208134635,-9.99996691716798e-10,0.0851078293113945 -400,-30,600,0.0851448868817751,0.010831573243083,-9.99996691716798e-10,0.0851454868817751 -400,-40,0,0,0.0239008012589274,-9.99995592110281e-10,0 -400,-40,10,0.00546827343447126,0.0184325278244562,-9.99995592110281e-10,0.00546828343447125 -400,-40,20,0.00962285793694128,0.0142779433219862,-9.99995592110281e-10,0.00962287793694128 -400,-40,30,0.0124113122377037,0.0114894890212237,-9.99995592110281e-10,0.0124113422377037 -400,-40,40,0.0142718058913347,0.0096289953675927,-9.99995592110281e-10,0.0142718458913347 -400,-40,50,0.0155585623047997,0.00834223895412775,-9.99995592110281e-10,0.0155586123047997 -400,-40,60,0.0164867713238258,0.00741402993510162,-9.99995592110281e-10,0.0164868313238258 -400,-40,70,0.0171822192430453,0.00671858201588218,-9.99995592110281e-10,0.0171822892430453 -400,-40,80,0.0177202019730291,0.00618059928589831,-9.99995592110281e-10,0.0177202819730291 -400,-40,90,0.0181475679961457,0.00575323326278177,-9.99995592110281e-10,0.0181476579961457 -400,-40,100,0.0184946395694802,0.0054061616894472,-9.99995592110281e-10,0.0184947395694802 -400,-40,110,0.0187817661225128,0.00511903513641467,-9.99995592110281e-10,0.0187818761225128 -400,-40,120,0.0190230492886449,0.00487775197028252,-9.99995592110281e-10,0.0190231692886449 -400,-40,130,0.0192285394754421,0.00467226178348535,-9.99995592110281e-10,0.0192286694754421 -400,-40,140,0.0194055778288843,0.00449522343004311,-9.99995592110281e-10,0.0194057178288843 -400,-40,150,0.0195596432746439,0.0043411579842835,-9.99995592110281e-10,0.0195597932746439 -400,-40,160,0.0196949031820115,0.0042058980769159,-9.99995592110281e-10,0.0196950631820115 -400,-40,170,0.0198145809767855,0.00408622028214192,-9.99995592110281e-10,0.0198147509767855 -400,-40,180,0.0199212074678942,0.00397959379103325,-9.99995592110281e-10,0.0199213874678942 -400,-40,190,0.020016796390661,0.00388400486826642,-9.99995592110281e-10,0.020016986390661 -400,-40,200,0.020102969406606,0.0037978318523214,-9.99995592110281e-10,0.020103169406606 -400,-40,210,0.0201810466788554,0.00371975458007209,-9.99995592110281e-10,0.0201812566788554 -400,-40,220,0.0202521135503747,0.00364868770855277,-9.99995592110281e-10,0.0202523335503747 -400,-40,230,0.0203170703422791,0.00358373091664829,-9.99995592110281e-10,0.0203173003422791 -400,-40,240,0.0203766700381418,0.00352413122078562,-9.99995592110281e-10,0.0203769100381418 -400,-40,250,0.0204315471472107,0.0034692541117167,-9.99995592110281e-10,0.0204317971472107 -400,-40,260,0.0204822400578832,0.00341856120104428,-9.99995592110281e-10,0.0204825000578832 -400,-40,270,0.0205292085275775,0.0033715927313499,-9.99995592110281e-10,0.0205294785275775 -400,-40,280,0.0205728474972465,0.00332795376168097,-9.99995592110281e-10,0.0205731274972465 -400,-40,290,0.020613498098992,0.00328730315993545,-9.99995592110281e-10,0.020613788098992 -400,-40,300,0.0206514564989037,0.00324934476002373,-9.99995592110281e-10,0.0206517564989037 -400,-40,310,0.0206869810550253,0.00321382020390211,-9.99995592110281e-10,0.0206872910550253 -400,-40,320,0.0207202981527377,0.00318050310618976,-9.99995592110281e-10,0.0207206181527377 -400,-40,330,0.0207516069936335,0.00314919426529394,-9.99995592110281e-10,0.0207519369936335 -400,-40,340,0.0207810835501192,0.00311971770880822,-9.99995592110281e-10,0.0207814235501192 -400,-40,350,0.0208088838502527,0.0030919174086747,-9.99995592110281e-10,0.0208092338502527 -400,-40,360,0.0208351467213249,0.00306565453760249,-9.99995592110281e-10,0.0208355067213249 -400,-40,370,0.0208599960933058,0.0030408051656216,-9.99995592110281e-10,0.0208603660933058 -400,-40,380,0.0208835429422759,0.00301725831665151,-9.99995592110281e-10,0.0208839229422759 -400,-40,390,0.0209058869377391,0.00299491432118838,-9.99995592110281e-10,0.0209062769377391 -400,-40,400,0.0209271178450886,0.00297368341383884,-9.99995592110281e-10,0.0209275178450886 -400,-40,410,0.02094731672461,0.00295348453431745,-9.99995592110281e-10,0.02094772672461 -400,-40,420,0.0209665569606062,0.00293424429832124,-9.99995592110281e-10,0.0209669769606062 -400,-40,430,0.020984905148049,0.00291589611087839,-9.99995592110281e-10,0.020985335148049 -400,-40,440,0.0210024218592263,0.00289837939970109,-9.99995592110281e-10,0.0210028618592263 -400,-40,450,0.0210191623088979,0.00288163895002956,-9.99995592110281e-10,0.0210196123088979 -400,-40,460,0.0210351769332826,0.00286562432564481,-9.99995592110281e-10,0.0210356369332826 -400,-40,470,0.021050511895614,0.0028502893633134,-9.99995592110281e-10,0.021050981895614 -400,-40,480,0.0210652095288948,0.00283559173003265,-9.99995592110281e-10,0.0210656895288948 -400,-40,490,0.0210793087247605,0.00282149253416692,-9.99995592110281e-10,0.0210797987247605 -400,-40,500,0.0210928452759473,0.00280795598298014,-9.99995592110281e-10,0.0210933452759473 -400,-40,510,0.0211058521786903,0.00279494908023713,-9.99995592110281e-10,0.0211063621786903 -400,-40,520,0.0211183599004146,0.00278244135851279,-9.99995592110281e-10,0.0211188799004146 -400,-40,530,0.0211303966172756,0.00277040464165188,-9.99995592110281e-10,0.0211309266172756 -400,-40,540,0.0211419884254342,0.00275881283349327,-9.99995592110281e-10,0.0211425284254342 -400,-40,550,0.0211531595293935,0.00274764172953392,-9.99995592110281e-10,0.0211537095293935 -400,-40,560,0.0211639324102471,0.00273686884868032,-9.99995592110281e-10,0.0211644924102471 -400,-40,570,0.0211743279762946,0.00272647328263281,-9.99995592110281e-10,0.0211748979762946 -400,-40,580,0.0211843656981424,0.00271643556078508,-9.99995592110281e-10,0.0211849456981424 -400,-40,590,0.0211940637301206,0.00270673752880687,-9.99995592110281e-10,0.0211946537301206 -400,-40,600,0.0212034390196069,0.0026973622393205,-9.99995592110281e-10,0.0212040390196069 -400,-46,0,0,0.00844766144553905,-9.99994929570813e-10,0 -400,-46,10,0.00193274368359487,0.00651491776194418,-9.99994929570813e-10,0.00193275368359487 -400,-46,20,0.00340116823319614,0.00504649321234291,-9.99994929570813e-10,0.00340118823319614 -400,-46,30,0.00438673845044565,0.0040609229950934,-9.99994929570813e-10,0.00438676845044565 -400,-46,40,0.00504432395719004,0.00340333748834901,-9.99994929570813e-10,0.00504436395719004 -400,-46,50,0.00549912387900303,0.00294853756653602,-9.99994929570813e-10,0.00549917387900303 -400,-46,60,0.00582719637575666,0.00262046506978239,-9.99994929570813e-10,0.00582725637575666 -400,-46,70,0.00607300020931542,0.00237466123622363,-9.99994929570813e-10,0.00607307020931542 -400,-46,80,0.00626314847745153,0.00218451296808751,-9.99994929570813e-10,0.00626322847745153 -400,-46,90,0.00641419962580023,0.00203346181973882,-9.99994929570813e-10,0.00641428962580023 -400,-46,100,0.00653687095874585,0.00191079048679319,-9.99994929570813e-10,0.00653697095874585 -400,-46,110,0.00663835491678418,0.00180930652875487,-9.99994929570813e-10,0.00663846491678418 -400,-46,120,0.00672363567695245,0.00172402576858659,-9.99994929570813e-10,0.00672375567695245 -400,-46,130,0.00679626552352694,0.00165139592201211,-9.99994929570813e-10,0.00679639552352694 -400,-46,140,0.00685883916097757,0.00158882228456148,-9.99994929570813e-10,0.00685897916097757 -400,-46,150,0.0069132930979872,0.00153436834755185,-9.99994929570813e-10,0.0069134430979872 -400,-46,160,0.00696110027784773,0.00148656116769132,-9.99994929570813e-10,0.00696126027784773 -400,-46,170,0.00700340001005531,0.00144426143548373,-9.99994929570813e-10,0.00700357001005531 -400,-46,180,0.00704108680089775,0.0014065746446413,-9.99994929570813e-10,0.00704126680089775 -400,-46,190,0.00707487239865784,0.00137278904688121,-9.99994929570813e-10,0.00707506239865784 -400,-46,200,0.00710532997439173,0.00134233147114731,-9.99994929570813e-10,0.00710552997439173 -400,-46,210,0.00713292613551654,0.00131473531002251,-9.99994929570813e-10,0.00713313613551654 -400,-46,220,0.00715804449301782,0.00128961695252123,-9.99994929570813e-10,0.00715826449301782 -400,-46,230,0.00718100326250227,0.00126665818303677,-9.99994929570813e-10,0.00718123326250227 -400,-46,240,0.00720206858359551,0.00124559286194354,-9.99994929570813e-10,0.00720230858359551 -400,-46,250,0.00722146472155348,0.00122619672398557,-9.99994929570813e-10,0.00722171472155348 -400,-46,260,0.00723938196802611,0.00120827947751294,-9.99994929570813e-10,0.00723964196802611 -400,-46,270,0.00725598282279641,0.00119167862274264,-9.99994929570813e-10,0.00725625282279641 -400,-46,280,0.00727140687647568,0.00117625456906337,-9.99994929570813e-10,0.00727168687647568 -400,-46,290,0.00728577470110981,0.00116188674442923,-9.99994929570813e-10,0.00728606470110981 -400,-46,300,0.00729919097565202,0.00114847046988702,-9.99994929570813e-10,0.00729949097565202 -400,-46,310,0.00731174701592312,0.00113591442961593,-9.99994929570813e-10,0.00731205701592312 -400,-46,320,0.00732352283710889,0.00112413860843016,-9.99994929570813e-10,0.00732384283710889 -400,-46,330,0.00733458884637255,0.0011130725991665,-9.99994929570813e-10,0.00733491884637255 -400,-46,340,0.00734500724059599,0.00110265420494306,-9.99994929570813e-10,0.00734534724059599 -400,-46,350,0.00735483316739519,0.00109282827814386,-9.99994929570813e-10,0.00735518316739519 -400,-46,360,0.00736411569483025,0.0010835457507088,-9.99994929570813e-10,0.00736447569483025 -400,-46,370,0.00737289862555105,0.001074762819988,-9.99994929570813e-10,0.00737326862555105 -400,-46,380,0.00738122118369685,0.0010664402618422,-9.99994929570813e-10,0.00738160118369685 -400,-46,390,0.00738911859713367,0.00105854284840538,-9.99994929570813e-10,0.00738950859713367 -400,-46,400,0.00739662259315152,0.00105103885238752,-9.99994929570813e-10,0.00739702259315152 -400,-46,410,0.00740376182224796,0.00104389962329108,-9.99994929570813e-10,0.00740417182224796 -400,-46,420,0.00741056222186919,0.00103709922366985,-9.99994929570813e-10,0.00741098222186919 -400,-46,430,0.00741704732979412,0.00103061411574492,-9.99994929570813e-10,0.00741747732979412 -400,-46,440,0.00742323855510335,0.00102442289043569,-9.99994929570813e-10,0.00742367855510335 -400,-46,450,0.0074291554132764,0.00101850603226265,-9.99994929570813e-10,0.0074296054132764 -400,-46,460,0.00743481573083288,0.00101284571470617,-9.99994929570813e-10,0.00743527573083288 -400,-46,470,0.0074402358240194,0.00100742562151965,-9.99994929570813e-10,0.0074407058240194 -400,-46,480,0.00744543065529979,0.00100223079023925,-9.99994929570813e-10,0.00744591065529979 -400,-46,490,0.00745041397079779,0.000997247474741261,-9.99994929570813e-10,0.00745090397079779 -400,-46,500,0.00745519842134099,0.000992463024198063,-9.99994929570813e-10,0.00745569842134099 -400,-46,510,0.00745979566934274,0.000987865776196308,-9.99994929570813e-10,0.00746030566934274 -400,-46,520,0.00746421648341661,0.000983444962122439,-9.99994929570813e-10,0.00746473648341661 -400,-46,530,0.00746847082233417,0.000979190623204876,-9.99994929570813e-10,0.00746900082233417 -400,-46,540,0.00747256790969977,0.000975093535839277,-9.99994929570813e-10,0.00747310790969977 -400,-46,550,0.00747651630051726,0.000971145145021784,-9.99994929570813e-10,0.00747706630051726 -400,-46,560,0.00748032394065696,0.000967337504882091,-9.99994929570813e-10,0.00748088394065696 -400,-46,570,0.00748399822009022,0.000963663225448829,-9.99994929570813e-10,0.00748456822009022 -400,-46,580,0.00748754602064031,0.000960115424898736,-9.99994929570813e-10,0.00748812602064031 -400,-46,590,0.00749097375889697,0.00095668768664208,-9.99994929570813e-10,0.00749156375889697 -400,-46,600,0.00749428742485639,0.000953374020682654,-9.99994929570813e-10,0.00749488742485639 -400,-50,0,0,0.00400004553037012,-9.99994492503764e-10,0 -400,-50,10,0.0009151719422891,0.00308487358808102,-9.99994492503764e-10,0.0009151819422891 -400,-50,20,0.00161048449644219,0.00238956103392793,-9.99994492503764e-10,0.00161050449644219 -400,-50,30,0.00207716107525521,0.00192288445511491,-9.99994492503764e-10,0.00207719107525521 -400,-50,40,0.00238853387162574,0.00161151165874437,-9.99994492503764e-10,0.00238857387162574 -400,-50,50,0.00260388582508517,0.00139615970528495,-9.99994492503764e-10,0.00260393582508517 -400,-50,60,0.00275923117512518,0.00124081435524494,-9.99994492503764e-10,0.00275929117512518 -400,-50,70,0.00287562155512718,0.00112442397524294,-9.99994492503764e-10,0.00287569155512718 -400,-50,80,0.00296565851209675,0.00103438701827337,-9.99994492503764e-10,0.00296573851209675 -400,-50,90,0.00303718262261003,0.000962862907760091,-9.99994492503764e-10,0.00303727262261003 -400,-50,100,0.00309526862904117,0.000904776901328949,-9.99994492503764e-10,0.00309536862904117 -400,-50,110,0.00314332221823535,0.000856723312134766,-9.99994492503764e-10,0.00314343221823535 -400,-50,120,0.00318370344394342,0.000816342086426697,-9.99994492503764e-10,0.00318382344394342 -400,-50,130,0.00321809434550058,0.000781951184869538,-9.99994492503764e-10,0.00321822434550058 -400,-50,140,0.00324772353938069,0.00075232199098943,-9.99994492503764e-10,0.00324786353938069 -400,-50,150,0.00327350798028787,0.000726537550082244,-9.99994492503764e-10,0.00327365798028787 -400,-50,160,0.00329614512044241,0.000703900409927709,-9.99994492503764e-10,0.00329630512044241 -400,-50,170,0.0033161744333882,0.000683871096981918,-9.99994492503764e-10,0.0033163444333882 -400,-50,180,0.00333401947609441,0.000666026054275703,-9.99994492503764e-10,0.00333419947609441 -400,-50,190,0.00335001726793093,0.000650028262439185,-9.99994492503764e-10,0.00335020726793093 -400,-50,200,0.00336443921067399,0.000635606319696129,-9.99994492503764e-10,0.00336463921067399 -400,-50,210,0.00337750624723485,0.000622539283135265,-9.99994492503764e-10,0.00337771624723485 -400,-50,220,0.00338940002094974,0.000610645509420376,-9.99994492503764e-10,0.00338962002094974 -400,-50,230,0.00340027120984043,0.000599774320529683,-9.99994492503764e-10,0.00340050120984043 -400,-50,240,0.00341024583347184,0.000589799696898274,-9.99994492503764e-10,0.00341048583347184 -400,-50,250,0.00341943008350902,0.000580615446861102,-9.99994492503764e-10,0.00341968008350902 -400,-50,260,0.00342791406480152,0.000572131465568594,-9.99994492503764e-10,0.00342817406480152 -400,-50,270,0.00343577472249387,0.000564270807876244,-9.99994492503764e-10,0.00343604472249387 -400,-50,280,0.0034430781540267,0.000556967376343422,-9.99994492503764e-10,0.0034433581540267 -400,-50,290,0.00344988145137466,0.00055016407899546,-9.99994492503764e-10,0.00345017145137466 -400,-50,300,0.0034562341809866,0.000543811349383512,-9.99994492503764e-10,0.0034565341809866 -400,-50,310,0.00346217958174507,0.00053786594862505,-9.99994492503764e-10,0.00346248958174507 -400,-50,320,0.00346775554157777,0.000532289988792348,-9.99994492503764e-10,0.00346807554157777 -400,-50,330,0.00347299539892521,0.000527050131444904,-9.99994492503764e-10,0.00347332539892521 -400,-50,340,0.00347792860458406,0.000522116925786061,-9.99994492503764e-10,0.00347826860458406 -400,-50,350,0.00348258127145858,0.000517464258911535,-9.99994492503764e-10,0.00348293127145858 -400,-50,360,0.00348697663372736,0.000513068896642757,-9.99994492503764e-10,0.00348733663372736 -400,-50,370,0.00349113543234871,0.000508910098021412,-9.99994492503764e-10,0.00349150543234871 -400,-50,380,0.00349507624031396,0.000504969290056159,-9.99994492503764e-10,0.00349545624031396 -400,-50,390,0.00349881573834227,0.000501229792027844,-9.99994492503764e-10,0.00349920573834227 -400,-50,400,0.00350236894959779,0.000497676580772322,-9.99994492503764e-10,0.00350276894959779 -400,-50,410,0.0035057494403551,0.000494296090015016,-9.99994492503764e-10,0.0035061594403551 -400,-50,420,0.00350896949223396,0.000491076038136162,-9.99994492503764e-10,0.00350938949223396 -400,-50,430,0.00351204025058955,0.000488005279780571,-9.99994492503764e-10,0.00351247025058955 -400,-50,440,0.0035149718528188,0.000485073677551321,-9.99994492503764e-10,0.0035154118528188 -400,-50,450,0.00351777353968107,0.000482271990689045,-9.99994492503764e-10,0.00351822353968107 -400,-50,460,0.00352045375219767,0.000479591778172452,-9.99994492503764e-10,0.00352091375219766 -400,-50,470,0.00352302021626168,0.000477025314108439,-9.99994492503764e-10,0.00352349021626168 -400,-50,480,0.0035254800167376,0.000474565513632516,-9.99994492503764e-10,0.0035259600167376 -400,-50,490,0.00352783966254167,0.000472205867828446,-9.99994492503764e-10,0.00352832966254167 -400,-50,500,0.00353010514395732,0.000469940386412792,-9.99994492503764e-10,0.00353060514395732 -400,-50,510,0.00353228198324474,0.000467763547125379,-9.99994492503764e-10,0.00353279198324474 -400,-50,520,0.00353437527944165,0.000465670250928463,-9.99994492503764e-10,0.00353489527944165 -400,-50,530,0.00353638974811817,0.000463655782251944,-9.99994492503764e-10,0.00353691974811817 -400,-50,540,0.00353832975673594,0.00046171577363418,-9.99994492503764e-10,0.00353886975673594 -400,-50,550,0.0035401993561681,0.000459846174202019,-9.99994492503764e-10,0.0035407493561681 -400,-50,560,0.00354200230885746,0.000458043221512659,-9.99994492503764e-10,0.00354256230885746 -400,-50,570,0.00354374211402355,0.000456303416346566,-9.99994492503764e-10,0.00354431211402355 -400,-50,580,0.0035454220302731,0.000454623500097018,-9.99994492503764e-10,0.0035460020302731 -400,-50,590,0.00354704509592046,0.000453000434449654,-9.99994492503764e-10,0.00354763509592046 -400,-50,600,0.00354861414728404,0.000451431383086079,-9.99994492503764e-10,0.00354921414728404 -400,-60,0,0,0.000562694613951249,-9.99993385958353e-10,0 -400,-60,10,0.000128739115306453,0.000433955498644796,-9.99993385958353e-10,0.000128749115306453 -400,-60,20,0.000226550159271852,0.000336144454679397,-9.99993385958353e-10,0.000226570159271852 -400,-60,30,0.00029219851136223,0.000270496102589019,-9.99993385958353e-10,0.00029222851136223 -400,-60,40,0.00033599996165033,0.00022669465230092,-9.99993385958353e-10,0.00033603996165033 -400,-60,50,0.000366293962904932,0.000196400651046317,-9.99993385958353e-10,0.000366343962904932 -400,-60,60,0.000388146712106463,0.000174547901844786,-9.99993385958353e-10,0.000388206712106463 -400,-60,70,0.000404519585726431,0.000158175028224819,-9.99993385958353e-10,0.000404589585726431 -400,-60,80,0.00041718526924395,0.000145509344707299,-9.99993385958353e-10,0.00041726526924395 -400,-60,90,0.000427246712657008,0.000135447901294241,-9.99993385958353e-10,0.000427336712657008 -400,-60,100,0.000435417790390145,0.000127276823561104,-9.99993385958353e-10,0.000435517790390145 -400,-60,110,0.000442177587401279,0.000120517026549971,-9.99993385958353e-10,0.000442287587401279 -400,-60,120,0.000447858097295019,0.00011483651665623,-9.99993385958353e-10,0.000447978097295019 -400,-60,130,0.000452695935996658,0.000109998677954592,-9.99993385958353e-10,0.000452825935996658 -400,-60,140,0.000456863935507031,0.000105830678444218,-9.99993385958353e-10,0.000457003935507031 -400,-60,150,0.000460491085726213,0.000102203528225037,-9.99993385958353e-10,0.000460641085726213 -400,-60,160,0.000463675498689391,9.9019115261858e-05,-9.99993385958353e-10,0.000463835498689391 -400,-60,170,0.000466493063247137,9.62015507041121e-05,-9.99993385958353e-10,0.000466663063247137 -400,-60,180,0.000469003362027558,9.3691251923691e-05,-9.99993385958353e-10,0.000469183362027558 -400,-60,190,0.000471253804237072,9.14408097141771e-05,-9.99993385958353e-10,0.000471443804237072 -400,-60,200,0.000473282568520533,8.94120454307166e-05,-9.99993385958353e-10,0.000473482568520533 -400,-60,210,0.000475120735370704,8.75738785805452e-05,-9.99993385958353e-10,0.000475330735370704 -400,-60,220,0.000476793856928474,8.59007570227754e-05,-9.99993385958353e-10,0.000477013856928474 -400,-60,230,0.000478323129380399,8.43714845708507e-05,-9.99993385958353e-10,0.000478553129380399 -400,-60,240,0.000479726280157301,8.29683337939482e-05,-9.99993385958353e-10,0.000479966280157301 -400,-60,250,0.000481018247458639,8.16763664926109e-05,-9.99993385958353e-10,0.000481268247458639 -400,-60,260,0.00048221170651852,8.04829074327298e-05,-9.99993385958353e-10,0.00048247170651852 -400,-60,270,0.000483317481368335,7.93771325829143e-05,-9.99993385958353e-10,0.000483587481368335 -400,-60,280,0.000484344870070708,7.83497438805411e-05,-9.99993385958353e-10,0.000484624870070708 -400,-60,290,0.000485301903870884,7.73927100803652e-05,-9.99993385958353e-10,0.000485591903870884 -400,-60,300,0.000486195555382946,7.64990585683033e-05,-9.99993385958353e-10,0.000486495555382946 -400,-60,310,0.000487031907109237,7.56627068420121e-05,-9.99993385958353e-10,0.000487341907109237 -400,-60,320,0.000487816288822307,7.4878325128942e-05,-9.99993385958353e-10,0.000488136288822307 -400,-60,330,0.000488553390309001,7.4141223642248e-05,-9.99993385958353e-10,0.000488883390309001 -400,-60,340,0.000489247354473326,7.34472594779232e-05,-9.99993385958353e-10,0.000489587354473326 -400,-60,350,0.000489901854671118,7.27927592801309e-05,-9.99993385958353e-10,0.000490251854671118 -400,-60,360,0.00049052015930196,7.21744546492891e-05,-9.99993385958353e-10,0.00049088015930196 -400,-60,370,0.000491105186039024,7.15894279122253e-05,-9.99993385958353e-10,0.000491475186039024 -400,-60,380,0.000491659547583118,7.10350663681309e-05,-9.99993385958353e-10,0.000492039547583118 -400,-60,390,0.000492185590445241,7.0509023506009e-05,-9.99993385958353e-10,0.000492575590445241 -400,-60,400,0.000492685427964722,7.00091859865275e-05,-9.99993385958353e-10,0.000493085427964722 -400,-60,410,0.000493160968537249,6.9533645414e-05,-9.99993385958353e-10,0.000493570968537249 -400,-60,420,0.00049361393984348,6.90806741077691e-05,-9.99993385958353e-10,0.00049403393984348 -400,-60,430,0.000494045909723402,6.86487042278471e-05,-9.99993385958353e-10,0.000494475909723402 -400,-60,440,0.000494458304225445,6.8236309725804e-05,-9.99993385958353e-10,0.000494898304225445 -400,-60,450,0.000494852423266194,6.78421906850553e-05,-9.99993385958353e-10,0.000495302423266194 -400,-60,460,0.000495229454261437,6.74651596898126e-05,-9.99993385958353e-10,0.000495689454261437 -400,-60,470,0.000495590484028412,6.71041299228374e-05,-9.99993385958353e-10,0.000496060484028412 -400,-60,480,0.000495936509209547,6.67581047417019e-05,-9.99993385958353e-10,0.000496416509209547 -400,-60,490,0.000496268445427449,6.64261685238009e-05,-9.99993385958353e-10,0.000496758445427449 -400,-60,500,0.00049658713534758,6.61074786036697e-05,-9.99993385958353e-10,0.00049708713534758 -400,-60,510,0.000496893355797613,6.5801258153636e-05,-9.99993385958353e-10,0.000497403355797613 -400,-60,520,0.000497187824069653,6.55067898815961e-05,-9.99993385958353e-10,0.000497707824069653 -400,-60,530,0.000497471203512623,6.52234104386261e-05,-9.99993385958353e-10,0.000498001203512623 -400,-60,540,0.000497744108506316,6.49505054449338e-05,-9.99993385958353e-10,0.000498284108506316 -400,-60,550,0.00049800710889537,6.46875050558792e-05,-9.99993385958353e-10,0.00049855710889537 -400,-60,560,0.000498260733950337,6.44338800009119e-05,-9.99993385958353e-10,0.000498820733950337 -400,-60,570,0.000498505475913611,6.41891380376387e-05,-9.99993385958353e-10,0.000499075475913611 -400,-60,580,0.000498741793180085,6.39528207711644e-05,-9.99993385958353e-10,0.000499321793180085 -400,-60,590,0.000498970113155677,6.37245007955724e-05,-9.99993385958353e-10,0.000499560113155677 -400,-60,600,0.000499190834831116,6.35037791201331e-05,-9.99993385958353e-10,0.000499790834831116 -490,0,0,0,0.894106767165948,2.4382835194612e-30,0 -490,0,10,0.204563028222675,0.689543738943273,3.65171239030557e-39,0.204563038222675 -490,0,20,0.359982174140795,0.534124593025153,-3.65171237936754e-39,0.359982194140795 -490,0,30,0.46429565858155,0.429811108584399,-1.64070378794541e-47,0.46429568858155 -490,0,40,0.533894997447206,0.360211769718742,5.46901257187999e-48,0.533895037447206 -490,0,50,0.582031359258234,0.312075407907715,4.0953525157576e-56,0.582031409258234 -490,0,60,0.616754796195133,0.277351970970816,-8.19070485977906e-57,0.616754856195133 -490,0,70,0.642770856663119,0.251335910502829,-8.58680667843167e-65,0.642770926663119 -490,0,80,0.662896290713884,0.231210476452064,1.22668662425564e-65,0.662896370713884 -490,0,90,0.678883656542575,0.215223110623374,1.65344027914067e-73,0.678883746542575 -490,0,100,0.691867281612193,0.202239485553755,-1.83715576482612e-74,0.691867381612193 -490,0,110,0.702608419171484,0.191498347994464,-3.02657225418411e-82,0.702608529171484 -490,0,120,0.711634598223176,0.182472168942773,2.75142910770929e-83,0.711634718223176 -490,0,130,0.719321795175743,0.174784971990205,5.35690654890671e-91,0.719321925175743 -490,0,140,0.72594463547912,0.168162131686828,-4.12069691331547e-92,0.72594477547912 -490,0,150,0.731708080651848,0.1623986865141,-9.25708673056568e-100,0.731708230651848 -490,0,160,0.736768028106892,0.157338739059057,6.17139031571224e-101,0.736768188106892 -490,0,170,0.741245063208255,0.152861703957694,1.57124659632959e-108,0.741245233208255 -490,0,180,0.745233861166391,0.148872905999558,-9.24262545921235e-110,0.745234041166391 -490,0,190,0.748809753948646,0.145297013217302,-2.6300341248365e-117,0.748809943948646 -490,0,200,0.752033406405685,0.142073360760263,1.38422819652212e-118,0.752033606405685 -490,0,210,0.754954204613398,0.139152562552551,4.35350883813035e-126,0.754954414613398 -490,0,220,0.757612750243662,0.136494016922287,-2.07309892305382e-127,0.757612970243662 -490,0,230,0.760042723472843,0.134064043693105,-7.14102122713026e-135,0.760042953472843 -490,0,240,0.762272292716759,0.131834474449189,3.10479090790003e-136,0.762272532716759 -490,0,250,0.764325194376811,0.129781572789137,1.16247828252341e-143,0.764325444376811 -490,0,260,0.766221569062686,0.127885198103262,-4.64991150052341e-145,0.766221829062686 -490,0,270,0.767978615872214,0.126128151293734,-1.88027319217195e-152,0.767978885872214 -490,0,280,0.769611109179466,0.124495657986483,6.96397196286446e-154,0.769611389179466 -490,0,290,0.771131810419407,0.122974956746542,3.02459714311403e-161,0.771132100419407 -490,0,300,0.772551798890261,0.121554968275687,-1.04296404788728e-162,0.772552098890261 -490,0,310,0.773880739526385,0.120226027639563,-4.84220957744239e-170,0.773881049526385 -490,0,320,0.775127101194524,0.118979665971424,1.56200226604808e-171,0.775127421194524 -490,0,330,0.776298335841171,0.117808431324777,7.71983781454779e-179,0.776298665841171 -490,0,340,0.777401026430541,0.116705740735407,-2.33934340255108e-180,0.777401366430541 -490,0,350,0.778441009827305,0.115665757338644,-1.22623759778336e-187,0.778441359827305 -490,0,360,0.779423479431419,0.11468328773453,3.50353366395621e-189,0.779423839431419 -490,0,370,0.780353071347909,0.113753695818039,1.94142516131204e-196,0.780353441347909 -490,0,380,0.781233937088832,0.112872830077117,-5.24709114854839e-198,0.781234317088832 -490,0,390,0.782069805197716,0.112036961968233,-3.06475584646932e-205,0.782070195197716 -490,0,400,0.782864033714519,0.111242733451429,7.85834189049905e-207,0.782864433714519 -490,0,410,0.783619655029202,0.110487112136746,4.82533507399056e-214,0.783620065029202 -490,0,420,0.784339414380352,0.109767352785597,-1.17690993256546e-215,0.784339834380352 -490,0,430,0.785025803023986,0.109080964141963,-7.57921835019235e-223,0.785026233023986 -490,0,440,0.785681086913109,0.108425680252839,1.76260717639191e-224,0.785681526913109 -490,0,450,0.786307331580581,0.107799435585367,1.18790256424665e-231,0.786307781580581 -490,0,460,0.786906423798491,0.107200343367457,-2.63978062695451e-233,0.786906883798491 -490,0,470,0.787480090490507,0.106626676675441,-1.85814031413343e-240,0.787480560490507 -490,0,480,0.788029915294926,0.106076851871023,3.9534853880281e-242,0.788030395294926 -490,0,490,0.788557353111699,0.105549414054249,2.90127615722786e-249,0.7885578431117 -490,0,500,0.789063742913827,0.105043024252122,-5.92096421199582e-251,0.789064242913827 -490,0,510,0.789550319059806,0.104556448106142,-4.52246802742357e-258,0.789550829059806 -490,0,520,0.790018221307702,0.104088545858246,8.86757216704983e-260,0.790018741307702 -490,0,530,0.790468503701301,0.103638263464648,7.03871754724518e-267,0.790469033701301 -490,0,540,0.790902142473743,0.103204624692205,-1.32805794548559e-268,0.790902682473743 -490,0,550,0.791320043092997,0.102786724072952,-1.0939379689506e-275,0.791320593092997 -490,0,560,0.791723046555882,0.102383720610067,1.98897495591316e-277,0.791723606555882 -490,0,570,0.792111935022461,0.101994832143487,1.69791990644622e-284,0.792112505022461 -490,0,580,0.792487436870025,0.101619330295923,-2.97880176463542e-286,0.792488016870025 -490,0,590,0.7928502312352,0.101256535930748,-2.63212610639224e-293,0.7928508212352 -490,0,600,0.793200952103638,0.10090581506231,4.46122253749779e-295,0.793201552103638 -490,-10,0,0,0.636609224341313,-9.99998805539803e-10,0 -490,-10,10,0.145650067204532,0.490959157136781,-9.99998805539803e-10,0.145650077204532 -490,-10,20,0.256309404057935,0.380299820283378,-9.99998805539803e-10,0.256309424057935 -490,-10,30,0.330581212366308,0.306028011975005,-9.99998805539803e-10,0.330581242366308 -490,-10,40,0.380136346895013,0.256472877446301,-9.99998805539803e-10,0.380136386895013 -490,-10,50,0.414409716788257,0.222199507553057,-9.99998805539803e-10,0.414409766788257 -490,-10,60,0.439133006071628,0.197476218269685,-9.99998805539803e-10,0.439133066071628 -490,-10,70,0.457656592608657,0.178952631732656,-9.99998805539803e-10,0.457656662608657 -490,-10,80,0.471986018837249,0.164623205504064,-9.99998805539803e-10,0.471986098837249 -490,-10,90,0.483369116396978,0.153240107944335,-9.99998805539803e-10,0.483369206396978 -490,-10,100,0.492613533046353,0.14399569129496,-9.99998805539803e-10,0.492613633046353 -490,-10,110,0.500261285531034,0.136347938810279,-9.99998805539803e-10,0.500261395531034 -490,-10,120,0.506687977572609,0.129921246768704,-9.99998805539803e-10,0.506688097572609 -490,-10,130,0.51216130656311,0.124447917778203,-9.99998805539803e-10,0.51216143656311 -490,-10,140,0.516876807421954,0.119732416919359,-9.99998805539803e-10,0.516876947421954 -490,-10,150,0.520980413943773,0.115628810397541,-9.99998805539803e-10,0.520980563943773 -490,-10,160,0.524583125994341,0.112026098346973,-9.99998805539803e-10,0.524583285994341 -490,-10,170,0.527770801054962,0.108838423286352,-9.99998805539803e-10,0.527770971054962 -490,-10,180,0.530610848426745,0.105998375914568,-9.99998805539803e-10,0.530611028426745 -490,-10,190,0.533156904909076,0.103452319432237,-9.99998805539803e-10,0.533157094909076 -490,-10,200,0.535452164228863,0.101157060112451,-9.99998805539803e-10,0.535452364228863 -490,-10,210,0.537531789559698,0.0990774347816155,-9.99998805539803e-10,0.537531999559698 -490,-10,220,0.53942468952837,0.0971845348129429,-9.99998805539803e-10,0.53942490952837 -490,-10,230,0.541154844616563,0.0954543797247503,-9.99998805539803e-10,0.541155074616563 -490,-10,240,0.542742310900353,0.0938669134409604,-9.99998805539803e-10,0.542742550900353 -490,-10,250,0.544203988835749,0.0924052355055644,-9.99998805539803e-10,0.544204238835749 -490,-10,260,0.54555421865412,0.0910550056871929,-9.99998805539803e-10,0.54555447865412 -490,-10,270,0.546805246213268,0.0898039781280449,-9.99998805539803e-10,0.546805516213268 -490,-10,280,0.547967590953557,0.0886416333877566,-9.99998805539803e-10,0.547967870953557 -490,-10,290,0.549050339090988,0.0875588852503251,-9.99998805539803e-10,0.549050629090988 -490,-10,300,0.550061379150409,0.086547845190904,-9.99998805539803e-10,0.550061679150409 -490,-10,310,0.551007592621357,0.0856016317199558,-9.99998805539803e-10,0.551007902621357 -490,-10,320,0.551895009386268,0.0847142149550454,-9.99998805539803e-10,0.551895329386268 -490,-10,330,0.552728935274433,0.0838802890668801,-9.99998805539803e-10,0.552729265274433 -490,-10,340,0.553514057394706,0.0830951669466074,-9.99998805539803e-10,0.553514397394706 -490,-10,350,0.554254531628717,0.0823546927125962,-9.99998805539803e-10,0.554254881628717 -490,-10,360,0.554954055707476,0.0816551686338372,-9.99998805539803e-10,0.554954415707476 -490,-10,370,0.555615930564756,0.0809932937765575,-9.99998805539803e-10,0.555616300564756 -490,-10,380,0.556243112101313,0.0803661122399999,-9.99998805539803e-10,0.556243492101313 -490,-10,390,0.556838255061851,0.0797709692794619,-9.99998805539803e-10,0.556838645061851 -490,-10,400,0.557403750390373,0.0792054739509402,-9.99998805539803e-10,0.557404150390373 -490,-10,410,0.557941757166187,0.0786674671751266,-9.99998805539803e-10,0.557942167166187 -490,-10,420,0.558454230015151,0.0781549943261623,-9.99998805539803e-10,0.558454650015151 -490,-10,430,0.558942942726056,0.0776662816152568,-9.99998805539803e-10,0.558943372726056 -490,-10,440,0.559409508670636,0.0771997156706768,-9.99998805539803e-10,0.559409948670636 -490,-10,450,0.559855398520314,0.0767538258209991,-9.99998805539803e-10,0.559855848520314 -490,-10,460,0.560281955667802,0.0763272686735108,-9.99998805539803e-10,0.560282415667802 -490,-10,470,0.560690409692809,0.0759188146485037,-9.99998805539803e-10,0.560690879692809 -490,-10,480,0.561081888155023,0.0755273361862906,-9.99998805539803e-10,0.561082368155023 -490,-10,490,0.56145742695168,0.0751517973896334,-9.99998805539803e-10,0.56145791695168 -490,-10,500,0.561817979439353,0.0747912449019607,-9.99998805539803e-10,0.561818479439352 -490,-10,510,0.562164424488479,0.0744447998528345,-9.99998805539803e-10,0.562164934488479 -490,-10,520,0.562497573613437,0.0741116507278764,-9.99998805539803e-10,0.562498093613437 -490,-10,530,0.56281817729954,0.0737910470417729,-9.99998805539803e-10,0.56281870729954 -490,-10,540,0.563126930630469,0.0734822937108437,-9.99998805539803e-10,0.56312747063047 -490,-10,550,0.56342447830469,0.0731847460366234,-9.99998805539803e-10,0.56342502830469 -490,-10,560,0.563711419116834,0.0728978052244793,-9.99998805539803e-10,0.563711979116834 -490,-10,570,0.563988309969421,0.0726209143718923,-9.99998805539803e-10,0.563988879969421 -490,-10,580,0.564255669471322,0.0723535548699907,-9.99998805539803e-10,0.564256249471322 -490,-10,590,0.564513981171772,0.0720952431695417,-9.99998805539803e-10,0.564514571171772 -490,-10,600,0.564763696472243,0.0718455278690699,-9.99998805539803e-10,0.564764296472243 -490,-20,0,0,0.408186689007377,-9.99997784134621e-10,0 -490,-20,10,0.0933891882377832,0.314797500769594,-9.99997784134621e-10,0.0933891982377832 -490,-20,20,0.164342712928976,0.243843976078401,-9.99997784134621e-10,0.164342732928976 -490,-20,30,0.211964962750055,0.196221726257322,-9.99997784134621e-10,0.211964992750055 -490,-20,40,0.243739158776693,0.164447530230684,-9.99997784134621e-10,0.243739198776693 -490,-20,50,0.265714858849722,0.142471830157655,-9.99997784134621e-10,0.265714908849722 -490,-20,60,0.281567154430882,0.126619534576496,-9.99997784134621e-10,0.281567214430882 -490,-20,70,0.293444270199844,0.114742418807533,-9.99997784134621e-10,0.293444340199844 -490,-20,80,0.302632137456522,0.105554551550855,-9.99997784134621e-10,0.302632217456522 -490,-20,90,0.309930851841883,0.0982558371654937,-9.99997784134621e-10,0.309930941841883 -490,-20,100,0.315858268033217,0.0923284209741597,-9.99997784134621e-10,0.315858368033217 -490,-20,110,0.320761921083957,0.0874247679234207,-9.99997784134621e-10,0.320762031083957 -490,-20,120,0.324882643884407,0.0833040451229702,-9.99997784134621e-10,0.324882763884407 -490,-20,130,0.328392080997563,0.0797946080098141,-9.99997784134621e-10,0.328392210997563 -490,-20,140,0.331415607218966,0.0767710817884113,-9.99997784134621e-10,0.331415747218966 -490,-20,150,0.334046793659695,0.0741398953476818,-9.99997784134621e-10,0.334046943659695 -490,-20,160,0.336356812187765,0.0718298768196125,-9.99997784134621e-10,0.336356972187765 -490,-20,170,0.338400713656476,0.0697859753509013,-9.99997784134621e-10,0.338400883656476 -490,-20,180,0.340221720153062,0.067964968854315,-9.99997784134621e-10,0.340221900153062 -490,-20,190,0.341854222991242,0.0663324660161352,-9.99997784134621e-10,0.341854412991242 -490,-20,200,0.343325917503878,0.0648607715034987,-9.99997784134621e-10,0.343326117503878 -490,-20,210,0.34465934992319,0.0635273390841872,-9.99997784134621e-10,0.34465955992319 -490,-20,220,0.345873056136188,0.0623136328711896,-9.99997784134621e-10,0.345873276136188 -490,-20,230,0.346982412158556,0.0612042768488207,-9.99997784134621e-10,0.346982642158556 -490,-20,240,0.348000277721157,0.0601864112862198,-9.99997784134621e-10,0.348000517721157 -490,-20,250,0.348937489206683,0.0592491998006939,-9.99997784134621e-10,0.348937739206683 -490,-20,260,0.349803241410526,0.0583834475968512,-9.99997784134621e-10,0.349803501410526 -490,-20,270,0.350605386239253,0.0575813027681237,-9.99997784134621e-10,0.350605656239253 -490,-20,280,0.351350668639951,0.056836020367426,-9.99997784134621e-10,0.351350948639951 -490,-20,290,0.352044914592332,0.0561417744150455,-9.99997784134621e-10,0.352045204592332 -490,-20,300,0.352693182129982,0.0554935068773956,-9.99997784134621e-10,0.352693482129982 -490,-20,310,0.353299883586751,0.0548868054206265,-9.99997784134621e-10,0.353300193586751 -490,-20,320,0.353868885255574,0.0543178037518034,-9.99997784134621e-10,0.353869205255574 -490,-20,330,0.354403589174638,0.0537830998327392,-9.99997784134621e-10,0.354403919174638 -490,-20,340,0.354907000665529,0.0532796883418482,-9.99997784134621e-10,0.354907340665529 -490,-20,350,0.355381784432901,0.0528049045744766,-9.99997784134621e-10,0.355382134432901 -490,-20,360,0.355830311420371,0.0523563775870064,-9.99997784134621e-10,0.355830671420371 -490,-20,370,0.356254698149623,0.0519319908577538,-9.99997784134621e-10,0.356255068149623 -490,-20,380,0.356656839911045,0.051529849096332,-9.99997784134621e-10,0.356657219911045 -490,-20,390,0.357038438897141,0.0511482501102359,-9.99997784134621e-10,0.357038828897141 -490,-20,400,0.357401028154369,0.0507856608530079,-9.99997784134621e-10,0.357401428154369 -490,-20,410,0.357745992060147,0.0504406969472302,-9.99997784134621e-10,0.357746402060147 -490,-20,420,0.358074583898635,0.0501121051087419,-9.99997784134621e-10,0.358075003898635 -490,-20,430,0.358387941003297,0.0497987480040805,-9.99997784134621e-10,0.358388371003297 -490,-20,440,0.358687097849977,0.0494995911573999,-9.99997784134621e-10,0.358687537849977 -490,-20,450,0.358972997416686,0.0492136915906913,-9.99997784134621e-10,0.358973447416686 -490,-20,460,0.359246501071751,0.0489401879356258,-9.99997784134621e-10,0.359246961071751 -490,-20,470,0.359508397207881,0.0486782917994964,-9.99997784134621e-10,0.359508867207881 -490,-20,480,0.35975940880369,0.0484272802036876,-9.99997784134621e-10,0.35975988880369 -490,-20,490,0.360000200064859,0.0481864889425181,-9.99997784134621e-10,0.360000690064859 -490,-20,500,0.360231382272922,0.0479553067344551,-9.99997784134621e-10,0.360231882272922 -490,-20,510,0.360453518949738,0.0477331700576387,-9.99997784134621e-10,0.360454028949738 -490,-20,520,0.360667130429219,0.0475195585781585,-9.99997784134621e-10,0.360667650429219 -490,-20,530,0.360872697914122,0.047313991093255,-9.99997784134621e-10,0.360873227914122 -490,-20,540,0.361070667084302,0.0471160219230747,-9.99997784134621e-10,0.361071207084302 -490,-20,550,0.361261451313179,0.0469252376941979,-9.99997784134621e-10,0.361262001313179 -490,-20,560,0.36144543454115,0.0467412544662273,-9.99997784134621e-10,0.36144599454115 -490,-20,570,0.361622973847859,0.0465637151595186,-9.99997784134621e-10,0.361623543847859 -490,-20,580,0.361794401759493,0.0463922872478844,-9.99997784134621e-10,0.361794981759493 -490,-20,590,0.361960028322393,0.0462266606849844,-9.99997784134621e-10,0.361960618322393 -490,-20,600,0.362120142970118,0.0460665460372591,-9.99997784134621e-10,0.362120742970118 -490,-30,0,0,0.220728848278793,-9.99996691716798e-10,0 -490,-30,10,0.050500637371457,0.170228210907336,-9.99996691716798e-10,0.050500647371457 -490,-30,20,0.0888690854570457,0.131859762821747,-9.99996691716798e-10,0.0888691054570457 -490,-30,30,0.114621038273081,0.106107810005712,-9.99996691716798e-10,0.114621068273081 -490,-30,40,0.131803082378928,0.0889257658998644,-9.99996691716798e-10,0.131803122378928 -490,-30,50,0.143686544279745,0.0770423039990472,-9.99996691716798e-10,0.143686594279745 -490,-30,60,0.152258746755807,0.068470101522986,-9.99996691716798e-10,0.152258806755807 -490,-30,70,0.158681352282048,0.0620474959967444,-9.99996691716798e-10,0.158681422282048 -490,-30,80,0.163649734182587,0.057079114096206,-9.99996691716798e-10,0.163649814182587 -490,-30,90,0.167596547892055,0.0531323003867381,-9.99996691716798e-10,0.167596637892055 -490,-30,100,0.170801825732848,0.0499270225459446,-9.99996691716798e-10,0.170801925732848 -490,-30,110,0.173453498899556,0.0472753493792362,-9.99996691716798e-10,0.173453608899556 -490,-30,120,0.175681798896383,0.0450470493824101,-9.99996691716798e-10,0.175681918896383 -490,-30,130,0.177579543318126,0.0431493049606663,-9.99996691716798e-10,0.177579673318126 -490,-30,140,0.179214529167895,0.0415143191108977,-9.99996691716798e-10,0.179214669167895 -490,-30,150,0.180637355458682,0.0400914928201107,-9.99996691716798e-10,0.180637505458682 -490,-30,160,0.181886508708739,0.0388423395700541,-9.99996691716798e-10,0.181886668708739 -490,-30,170,0.182991757922722,0.0377370903560705,-9.99996691716798e-10,0.182991927922722 -490,-30,180,0.183976475645089,0.036752372633704,-9.99996691716798e-10,0.183976655645089 -490,-30,190,0.184859259138494,0.0358695891402991,-9.99996691716798e-10,0.184859449138494 -490,-30,200,0.185655084782839,0.0350737634959538,-9.99996691716798e-10,0.185655284782839 -490,-30,210,0.186376144557933,0.0343527037208593,-9.99996691716798e-10,0.186376354557933 -490,-30,220,0.187032461830785,0.0336963864480074,-9.99996691716798e-10,0.187032681830785 -490,-30,230,0.187632351253304,0.0330964970254883,-9.99996691716798e-10,0.187632581253304 -490,-30,240,0.188182766784692,0.0325460814941002,-9.99996691716798e-10,0.188183006784692 -490,-30,250,0.18868956824923,0.0320392800295624,-9.99996691716798e-10,0.18868981824923 -490,-30,260,0.18915772777524,0.031571120503553,-9.99996691716798e-10,0.18915798777524 -490,-30,270,0.189591491317673,0.0311373569611201,-9.99996691716798e-10,0.189591761317673 -490,-30,280,0.189994506237999,0.030734342040794,-9.99996691716798e-10,0.189994786237999 -490,-30,290,0.190369922961812,0.0303589253169811,-9.99996691716798e-10,0.190370212961812 -490,-30,300,0.19072047664427,0.0300083716345229,-9.99996691716798e-10,0.19072077664427 -490,-30,310,0.1910485532754,0.0296802950033927,-9.99996691716798e-10,0.1910488632754 -490,-30,320,0.191356243571067,0.0293726047077257,-9.99996691716798e-10,0.191356563571067 -490,-30,330,0.191645387199225,0.0290834610795682,-9.99996691716798e-10,0.191645717199225 -490,-30,340,0.191917609301481,0.0288112389773118,-9.99996691716798e-10,0.191917949301481 -490,-30,350,0.192174350829256,0.0285544974495362,-9.99996691716798e-10,0.192174700829256 -490,-30,360,0.192416893881327,0.028311954397466,-9.99996691716798e-10,0.192417253881327 -490,-30,370,0.192646382976624,0.0280824653021687,-9.99996691716798e-10,0.192646752976624 -490,-30,380,0.19286384300223,0.027865005276563,-9.99996691716798e-10,0.19286422300223 -490,-30,390,0.193070194426648,0.0276586538521445,-9.99996691716798e-10,0.193070584426648 -490,-30,400,0.193266266251873,0.0274625820269195,-9.99996691716798e-10,0.193266666251873 -490,-30,410,0.193452807086424,0.0272760411923685,-9.99996691716798e-10,0.193453217086424 -490,-30,420,0.193630494649533,0.0270983536292593,-9.99996691716798e-10,0.193630914649533 -490,-30,430,0.193799943959554,0.0269289043192387,-9.99996691716798e-10,0.193800373959554 -490,-30,440,0.193961714414105,0.0267671338646874,-9.99996691716798e-10,0.193962154414105 -490,-30,450,0.194116315932926,0.0266125323458665,-9.99996691716798e-10,0.194116765932926 -490,-30,460,0.194264214304942,0.0264646339738509,-9.99996691716798e-10,0.194264674304942 -490,-30,470,0.194405835857171,0.0263230124216217,-9.99996691716798e-10,0.194406305857171 -490,-30,480,0.194541571543658,0.0261872767351342,-9.99996691716798e-10,0.194542051543658 -490,-30,490,0.194671780536712,0.0260570677420805,-9.99996691716798e-10,0.194672270536712 -490,-30,500,0.19479679338966,0.0259320548891324,-9.99996691716798e-10,0.19479729338966 -490,-30,510,0.194916914829567,0.025811933449226,-9.99996691716798e-10,0.194917424829567 -490,-30,520,0.19503242622941,0.0256964220493823,-9.99996691716798e-10,0.19503294622941 -490,-30,530,0.195143587801819,0.0255852604769738,-9.99996691716798e-10,0.195144117801819 -490,-30,540,0.195250640550244,0.0254782077285491,-9.99996691716798e-10,0.195251180550244 -490,-30,550,0.195353808008281,0.0253750402705113,-9.99996691716798e-10,0.195354358008281 -490,-30,560,0.195453297793486,0.0252755504853071,-9.99996691716798e-10,0.195453857793486 -490,-30,570,0.195549302998333,0.02517954528046,-9.99996691716798e-10,0.195549872998333 -490,-30,580,0.195642003437903,0.0250868448408894,-9.99996691716798e-10,0.195642583437903 -490,-30,590,0.195731566771196,0.0249972815075965,-9.99996691716798e-10,0.195732156771196 -490,-30,600,0.195818149510753,0.0249106987680395,-9.99996691716798e-10,0.195818749510753 -490,-40,0,0,0.0916117993615426,-9.99995592110281e-10,0 -490,-40,10,0.0209598985115914,0.0706519008499512,-9.99995592110281e-10,0.0209599085115914 -490,-40,20,0.0368844258003446,0.054727373561198,-9.99995592110281e-10,0.0368844458003446 -490,-40,30,0.0475725744177413,0.0440392249438013,-9.99995592110281e-10,0.0475726044177413 -490,-40,40,0.0547038487822861,0.0369079505792565,-9.99995592110281e-10,0.0547038887822861 -490,-40,50,0.0596359876298696,0.031975811731673,-9.99995592110281e-10,0.0596360376298696 -490,-40,60,0.0631938138924864,0.0284179854690562,-9.99995592110281e-10,0.0631938738924864 -490,-40,70,0.0658594665855373,0.0257523327760053,-9.99995592110281e-10,0.0658595365855373 -490,-40,80,0.0679215550228798,0.0236902443386628,-9.99995592110281e-10,0.0679216350228798 -490,-40,90,0.0695596494925817,0.0220521498689609,-9.99995592110281e-10,0.0695597394925817 -490,-40,100,0.0708899752417465,0.0207218241197961,-9.99995592110281e-10,0.0708900752417465 -490,-40,110,0.0719905316575262,0.0196212677040164,-9.99995592110281e-10,0.0719906416575262 -490,-40,120,0.0729153703173498,0.0186964290441928,-9.99995592110281e-10,0.0729154903173498 -490,-40,130,0.0737030144452468,0.0179087849162958,-9.99995592110281e-10,0.0737031444452468 -490,-40,140,0.0743816026624009,0.0172301966991417,-9.99995592110281e-10,0.0743817426624009 -490,-40,150,0.0749721356973636,0.016639663664179,-9.99995592110281e-10,0.0749722856973636 -490,-40,160,0.0754905870815318,0.0161212122800108,-9.99995592110281e-10,0.0754907470815318 -490,-40,170,0.0759493122097855,0.0156624871517571,-9.99995592110281e-10,0.0759494822097855 -490,-40,180,0.0763580116757259,0.0152537876858166,-9.99995592110281e-10,0.0763581916757259 -490,-40,190,0.0767244041292187,0.0148873952323239,-9.99995592110281e-10,0.0767245941292187 -490,-40,200,0.077054705400779,0.0145570939607636,-9.99995592110281e-10,0.077054905400779 -490,-40,210,0.0773539756772233,0.0142578236843192,-9.99995592110281e-10,0.0773541856772233 -490,-40,220,0.0776263750794169,0.0139854242821257,-9.99995592110281e-10,0.0776265950794169 -490,-40,230,0.0778753545392541,0.0137364448222885,-9.99995592110281e-10,0.0778755845392541 -490,-40,240,0.0781038002436566,0.013507999117886,-9.99995592110281e-10,0.0781040402436566 -490,-40,250,0.0783141442673192,0.0132976550942234,-9.99995592110281e-10,0.0783143942673192 -490,-40,260,0.0785084502536024,0.0131033491079402,-9.99995592110281e-10,0.0785087102536024 -490,-40,270,0.0786884804532324,0.0129233189083102,-9.99995592110281e-10,0.0786887504532324 -490,-40,280,0.0788557486753453,0.0127560506861973,-9.99995592110281e-10,0.0788560286753453 -490,-40,290,0.0790115624796898,0.0126002368818528,-9.99995592110281e-10,0.0790118524796898 -490,-40,300,0.0791570570712361,0.0124547422903065,-9.99995592110281e-10,0.0791573570712361 -490,-40,310,0.0792932227366699,0.0123185766248727,-9.99995592110281e-10,0.0792935327366699 -490,-40,320,0.0794209272114223,0.0121908721501203,-9.99995592110281e-10,0.0794212472114223 -490,-40,330,0.0795409340354328,0.0120708653261098,-9.99995592110281e-10,0.0795412640354328 -490,-40,340,0.0796539177111424,0.0119578816504002,-9.99995592110281e-10,0.0796542577111424 -490,-40,350,0.0797604762942808,0.0118513230672618,-9.99995592110281e-10,0.0797608262942808 -490,-40,360,0.0798611419100173,0.0117506574515253,-9.99995592110281e-10,0.0798615019100173 -490,-40,370,0.0799563895820727,0.0116554097794699,-9.99995592110281e-10,0.0799567595820727 -490,-40,380,0.0800466446818945,0.0115651546796481,-9.99995592110281e-10,0.0800470246818945 -490,-40,390,0.0801322892428081,0.0114795101187345,-9.99995592110281e-10,0.0801326792428081 -490,-40,400,0.0802136673356719,0.0113981320258707,-9.99995592110281e-10,0.0802140673356719 -490,-40,410,0.0802910896646555,0.011320709696887,-9.99995592110281e-10,0.0802914996646556 -490,-40,420,0.0803648375118787,0.0112469618496639,-9.99995592110281e-10,0.0803652575118787 -490,-40,430,0.0804351661359467,0.0111766332255959,-9.99995592110281e-10,0.0804355961359467 -490,-40,440,0.08050230771051,0.0111094916510326,-9.99995592110281e-10,0.08050274771051 -490,-40,450,0.0805664738738078,0.0110453254877348,-9.99995592110281e-10,0.0805669238738078 -490,-40,460,0.080627857947927,0.0109839414136155,-9.99995592110281e-10,0.080628317947927 -490,-40,470,0.0806866368765957,0.0109251624849469,-9.99995592110281e-10,0.0806871068765957 -490,-40,480,0.0807429729222629,0.0108688264392797,-9.99995592110281e-10,0.0807434529222629 -490,-40,490,0.0807970151566138,0.0108147842049288,-9.99995592110281e-10,0.0807975051566138 -490,-40,500,0.080848900773248,0.0107628985882946,-9.99995592110281e-10,0.080849400773248 -490,-40,510,0.0808987562467737,0.0107130431147689,-9.99995592110281e-10,0.0808992662467737 -490,-40,520,0.0809466983588672,0.0106651010026754,-9.99995592110281e-10,0.0809472183588672 -490,-40,530,0.0809928351087647,0.0106189642527779,-9.99995592110281e-10,0.0809933651087647 -490,-40,540,0.0810372665230826,0.01057453283846,-9.99995592110281e-10,0.0810378065230826 -490,-40,550,0.0810800853777094,0.0105317139838332,-9.99995592110281e-10,0.0810806353777094 -490,-40,560,0.0811213778427031,0.0104904215188395,-9.99995592110281e-10,0.0811219378427031 -490,-40,570,0.0811612240596009,0.0104505753019417,-9.99995592110281e-10,0.0811617940596009 -490,-40,580,0.0811996986592597,0.0104121007022829,-9.99995592110281e-10,0.0812002786592597 -490,-40,590,0.0812368712272487,0.0103749281342939,-9.99995592110281e-10,0.0812374612272487 -490,-40,600,0.0812728067228866,0.010338992638656,-9.99995592110281e-10,0.0812734067228866 -490,-46,0,0,0.0461985272973418,-9.99994929570813e-10,0 -490,-46,10,0.0105697786779173,0.0356287486194245,-9.99994929570813e-10,0.0105697886779173 -490,-46,20,0.0186002912731711,0.0275982360241707,-9.99994929570813e-10,0.0186003112731711 -490,-46,30,0.0239901725886791,0.0222083547086627,-9.99994929570813e-10,0.0239902025886791 -490,-46,40,0.0275863728127908,0.018612154484551,-9.99994929570813e-10,0.0275864128127908 -490,-46,50,0.0300735802770295,0.0161249470203123,-9.99994929570813e-10,0.0300736302770295 -490,-46,60,0.0318677414534084,0.0143307858439333,-9.99994929570813e-10,0.0318678014534084 -490,-46,70,0.0332119921892677,0.0129865351080741,-9.99994929570813e-10,0.0332120621892677 -490,-46,80,0.0342518740562982,0.0119466532410436,-9.99994929570813e-10,0.0342519540562982 -490,-46,90,0.0350779417964971,0.0111205855008447,-9.99994929570813e-10,0.0350780317964971 -490,-46,100,0.0357488061487472,0.0104497211485946,-9.99994929570813e-10,0.0357489061487472 -490,-46,110,0.0363038010944966,0.0098947262028452,-9.99994929570813e-10,0.0363039110944966 -490,-46,120,0.0367701840753927,0.00942834322194905,-9.99994929570813e-10,0.0367703040753927 -490,-46,130,0.0371673818053449,0.00903114549199682,-9.99994929570813e-10,0.037167511805345 -490,-46,140,0.0375095841907617,0.00868894310658003,-9.99994929570813e-10,0.0375097241907617 -490,-46,150,0.0378073816003295,0.00839114569701227,-9.99994929570813e-10,0.0378075316003295 -490,-46,160,0.0380688292587181,0.00812969803862367,-9.99994929570813e-10,0.0380689892587181 -490,-46,170,0.0383001578158177,0.00789836948152409,-9.99994929570813e-10,0.0383003278158177 -490,-46,180,0.0385062591429966,0.0076922681543452,-9.99994929570813e-10,0.0385064391429966 -490,-46,190,0.0386910256455889,0.00750750165175286,-9.99994929570813e-10,0.0386912156455889 -490,-46,200,0.0388575918785073,0.00734093541883449,-9.99994929570813e-10,0.0388577918785073 -490,-46,210,0.0390085096219852,0.00719001767535655,-9.99994929570813e-10,0.0390087196219852 -490,-46,220,0.0391458767657999,0.00705265053154185,-9.99994929570813e-10,0.0391460967657999 -490,-46,230,0.0392714335658183,0.00692709373152343,-9.99994929570813e-10,0.0392716635658183 -490,-46,240,0.0393866354850509,0.00681189181229086,-9.99994929570813e-10,0.0393868754850509 -490,-46,250,0.0394927089841715,0.00670581831317029,-9.99994929570813e-10,0.0394929589841715 -490,-46,260,0.0395906947291727,0.00660783256816909,-9.99994929570813e-10,0.0395909547291727 -490,-46,270,0.0396814813980288,0.00651704589931297,-9.99994929570813e-10,0.0396817513980288 -490,-46,280,0.0397658323831542,0.00643269491418753,-9.99994929570813e-10,0.0397661123831542 -490,-46,290,0.0398444070683311,0.00635412022901072,-9.99994929570813e-10,0.0398446970683311 -490,-46,300,0.0399177779212781,0.00628074937606369,-9.99994929570813e-10,0.0399180779212781 -490,-46,310,0.0399864443294847,0.00621208296785707,-9.99994929570813e-10,0.0399867543294847 -490,-46,320,0.0400508438795859,0.00614768341775591,-9.99994929570813e-10,0.0400511638795859 -490,-46,330,0.0401113616139122,0.0060871656834296,-9.99994929570813e-10,0.0401116916139122 -490,-46,340,0.0401683376744502,0.00603018962289153,-9.99994929570813e-10,0.0401686776744502 -490,-46,350,0.0402220736521976,0.00597645364514421,-9.99994929570813e-10,0.0402224236521976 -490,-46,360,0.0402728378903079,0.00592568940703388,-9.99994929570813e-10,0.0402731978903079 -490,-46,370,0.0403208699364868,0.005877657360855,-9.99994929570813e-10,0.0403212399364868 -490,-46,380,0.0403663842995044,0.00583214299783737,-9.99994929570813e-10,0.0403667642995044 -490,-46,390,0.0404095736333327,0.0057889536640091,-9.99994929570813e-10,0.0404099636333327 -490,-46,400,0.0404506114480113,0.00574791584933046,-9.99994929570813e-10,0.0404510114480113 -490,-46,410,0.0404896544272334,0.00570887287010832,-9.99994929570813e-10,0.0404900644272334 -490,-46,420,0.040526844417571,0.00567168287977081,-9.99994929570813e-10,0.040527264417571 -490,-46,430,0.0405623101423076,0.00563621715503412,-9.99994929570813e-10,0.0405627401423077 -490,-46,440,0.0405961686833129,0.00560235861402885,-9.99994929570813e-10,0.0405966086833129 -490,-46,450,0.0406285267667404,0.00557000053060137,-9.99994929570813e-10,0.0406289767667404 -490,-46,460,0.0406594818821686,0.00553904541517321,-9.99994929570813e-10,0.0406599418821686 -490,-46,470,0.0406891232598026,0.0055094040375392,-9.99994929570813e-10,0.0406895932598026 -490,-46,480,0.0407175327262874,0.00548099457105434,-9.99994929570813e-10,0.0407180127262874 -490,-46,490,0.0407447854563536,0.00545374184098822,-9.99994929570813e-10,0.0407452754563536 -490,-46,500,0.0407709506347817,0.00542757666256011,-9.99994929570813e-10,0.0407714506347817 -490,-46,510,0.0407960920409177,0.00540243525642411,-9.99994929570813e-10,0.0407966020409177 -490,-46,520,0.0408202685660998,0.00537825873124199,-9.99994929570813e-10,0.0408207885660998 -490,-46,530,0.0408435346728066,0.00535499262453515,-9.99994929570813e-10,0.0408440646728066 -490,-46,540,0.040865940803038,0.00533258649430379,-9.99994929570813e-10,0.040866480803038 -490,-46,550,0.0408875337423548,0.00531099355498697,-9.99994929570813e-10,0.0408880837423548 -490,-46,560,0.0409083569450916,0.0052901703522502,-9.99994929570813e-10,0.0409089169450916 -490,-46,570,0.0409284508254856,0.00527007647185621,-9.99994929570813e-10,0.0409290208254856 -490,-46,580,0.0409478530188163,0.00525067427852547,-9.99994929570813e-10,0.0409484330188163 -490,-46,590,0.0409665986160966,0.00523192868124519,-9.99994929570813e-10,0.0409671886160966 -490,-46,600,0.0409847203753868,0.00521380692195502,-9.99994929570813e-10,0.0409853203753868 -490,-50,0,0,0.0274907986540919,-9.99994492503764e-10,0 -490,-50,10,0.00628963030753702,0.0212011683465549,-9.99994492503764e-10,0.00628964030753702 -490,-50,20,0.0110682502714243,0.0164225483826676,-9.99994492503764e-10,0.0110682702714243 -490,-50,30,0.0142755417303148,0.0132152569237771,-9.99994492503764e-10,0.0142755717303148 -490,-50,40,0.0164154890850121,0.0110753095690798,-9.99994492503764e-10,0.0164155290850121 -490,-50,50,0.0178955215364854,0.00959527711760655,-9.99994492503764e-10,0.0178955715364854 -490,-50,60,0.0189631513190404,0.00852764733505153,-9.99994492503764e-10,0.0189632113190404 -490,-50,70,0.0197630583395018,0.00772774031459012,-9.99994492503764e-10,0.0197631283395018 -490,-50,80,0.0203818482599377,0.00710895039415426,-9.99994492503764e-10,0.0203819282599377 -490,-50,90,0.0208734063949901,0.00661739225910184,-9.99994492503764e-10,0.0208734963949901 -490,-50,100,0.0212726095278782,0.00621818912621374,-9.99994492503764e-10,0.0212727095278782 -490,-50,110,0.021602863655016,0.00588793499907596,-9.99994492503764e-10,0.021602973655016 -490,-50,120,0.0218803885323998,0.00561041012169207,-9.99994492503764e-10,0.0218805085323998 -490,-50,130,0.02211674417962,0.00537405447447196,-9.99994492503764e-10,0.02211687417962 -490,-50,140,0.0223203744125903,0.00517042424150165,-9.99994492503764e-10,0.0223205144125903 -490,-50,150,0.0224975811138655,0.00499321754022638,-9.99994492503764e-10,0.0224977311138655 -490,-50,160,0.0226531576085249,0.00483764104556703,-9.99994492503764e-10,0.0226533176085249 -490,-50,170,0.0227908114940099,0.00469998716008198,-9.99994492503764e-10,0.0227909814940099 -490,-50,180,0.022913453717026,0.00457734493706588,-9.99994492503764e-10,0.022913633717026 -490,-50,190,0.0230234004841187,0.00446739816997318,-9.99994492503764e-10,0.0230235904841187 -490,-50,200,0.0231225170369529,0.00436828161713897,-9.99994492503764e-10,0.0231227170369529 -490,-50,210,0.0232123218325166,0.00427847682157526,-9.99994492503764e-10,0.0232125318325166 -490,-50,220,0.0232940632366959,0.00419673541739602,-9.99994492503764e-10,0.0232942832366959 -490,-50,230,0.023368776802493,0.00412202185159894,-9.99994492503764e-10,0.023369006802493 -490,-50,240,0.023437328614671,0.00405347003942094,-9.99994492503764e-10,0.023437568614671 -490,-50,250,0.0235004484883434,0.00399035016574855,-9.99994492503764e-10,0.0235006984883434 -490,-50,260,0.0235587556800307,0.0039320429740612,-9.99994492503764e-10,0.0235590156800307 -490,-50,270,0.0236127790045825,0.00387801964950941,-9.99994492503764e-10,0.0236130490045825 -490,-50,280,0.023662972724686,0.00382782592940589,-9.99994492503764e-10,0.023663252724686 -490,-50,290,0.0237097292118702,0.00378106944222174,-9.99994492503764e-10,0.0237100192118702 -490,-50,300,0.0237533891175737,0.00373740953651817,-9.99994492503764e-10,0.0237536891175737 -490,-50,310,0.0237942496062676,0.00369654904782427,-9.99994492503764e-10,0.0237945596062676 -490,-50,320,0.0238325710673361,0.00365822758675582,-9.99994492503764e-10,0.0238328910673361 -490,-50,330,0.0238685826232599,0.003622216030832,-9.99994492503764e-10,0.0238689126232599 -490,-50,340,0.0239024866782155,0.00358831197587643,-9.99994492503764e-10,0.0239028266782155 -490,-50,350,0.0239344626963085,0.00355633595778337,-9.99994492503764e-10,0.0239348126963085 -490,-50,360,0.0239646703572527,0.00352612829683917,-9.99994492503764e-10,0.0239650303572527 -490,-50,370,0.0239932522058028,0.00349754644828913,-9.99994492503764e-10,0.0239936222058028 -490,-50,380,0.0240203358870971,0.00347046276699483,-9.99994492503764e-10,0.0240207158870971 -490,-50,390,0.0240460360414036,0.00344476261268828,-9.99994492503764e-10,0.0240464260414036 -490,-50,400,0.0240704559172424,0.00342034273684952,-9.99994492503764e-10,0.0240708559172424 -490,-50,410,0.0240936887504828,0.00339710990360911,-9.99994492503764e-10,0.0240940987504828 -490,-50,420,0.0241158189480481,0.00337497970604381,-9.99994492503764e-10,0.0241162389480481 -490,-50,430,0.0241369231077453,0.00335387554634663,-9.99994492503764e-10,0.0241373531077453 -490,-50,440,0.0241570709000657,0.00333372775402619,-9.99994492503764e-10,0.0241575109000657 -490,-50,450,0.0241763258332503,0.00331447282084159,-9.99994492503764e-10,0.0241767758332503 -490,-50,460,0.0241947459192429,0.00329605273484896,-9.99994492503764e-10,0.0241952059192429 -490,-50,470,0.0242123842551821,0.00327841439890977,-9.99994492503764e-10,0.0242128542551821 -490,-50,480,0.0242292895326595,0.00326150912143244,-9.99994492503764e-10,0.0242297695326595 -490,-50,490,0.0242455064849922,0.00324529216909974,-9.99994492503764e-10,0.0242459964849922 -490,-50,500,0.0242610762811306,0.0032297223729613,-9.99994492503764e-10,0.0242615762811306 -490,-50,510,0.0242760368734784,0.00321476178061348,-9.99994492503764e-10,0.0242765468734784 -490,-50,520,0.0242904233057917,0.00320037534830018,-9.99994492503764e-10,0.0242909433057917 -490,-50,530,0.0243042679863987,0.00318653066769324,-9.99994492503764e-10,0.0243047979863987 -490,-50,540,0.0243176009312097,0.00317319772288218,-9.99994492503764e-10,0.0243181409312097 -490,-50,550,0.0243304499803426,0.00316034867374934,-9.99994492503764e-10,0.0243309999803426 -490,-50,560,0.0243428409916423,0.00314795766244966,-9.99994492503764e-10,0.0243434009916423 -490,-50,570,0.0243547980139199,0.00313600064017197,-9.99994492503764e-10,0.0243553680139199 -490,-50,580,0.024366343442346,0.00312445521174586,-9.99994492503764e-10,0.024366923442346 -490,-50,590,0.024377498158105,0.00311330049598693,-9.99994492503764e-10,0.024378088158105 -490,-50,600,0.0243882816541393,0.00310251699995258,-9.99994492503764e-10,0.0243888816541393 -490,-60,0,0,0.00638510032056645,-9.99993385958353e-10,0 -490,-60,10,0.00146084953726586,0.00492425078330059,-9.99993385958353e-10,0.00146085953726586 -490,-60,20,0.0025707470068594,0.00381435331370704,-9.99993385958353e-10,0.0025707670068594 -490,-60,30,0.00331568272080467,0.00306941759976177,-9.99993385958353e-10,0.00331571272080467 -490,-60,40,0.00381271369878388,0.00257238662178257,-9.99993385958353e-10,0.00381275369878388 -490,-60,50,0.00415647074270462,0.00222862957786183,-9.99993385958353e-10,0.00415652074270462 -490,-60,60,0.00440444183123549,0.00198065848933095,-9.99993385958353e-10,0.00440450183123549 -490,-60,70,0.00459023077964101,0.00179486954092544,-9.99993385958353e-10,0.00459030077964101 -490,-60,80,0.00473395289441304,0.0016511474261534,-9.99993385958353e-10,0.00473403289441304 -490,-60,90,0.00484812375009435,0.0015369765704721,-9.99993385958353e-10,0.00484821375009435 -490,-60,100,0.00494084393926919,0.00144425638129725,-9.99993385958353e-10,0.0049409439392692 -490,-60,110,0.00501754981309953,0.00136755050746692,-9.99993385958353e-10,0.00501765981309953 -490,-60,120,0.00508200862369451,0.00130309169687193,-9.99993385958353e-10,0.00508212862369451 -490,-60,130,0.00513690533796688,0.00124819498259957,-9.99993385958353e-10,0.00513703533796688 -490,-60,140,0.0051842011434535,0.00120089917711295,-9.99993385958353e-10,0.0051843411434535 -490,-60,150,0.00522535973543754,0.0011597405851289,-9.99993385958353e-10,0.00522550973543754 -490,-60,160,0.00526149442684543,0.00112360589372102,-9.99993385958353e-10,0.00526165442684543 -490,-60,170,0.00529346635604971,0.00109163396451673,-9.99993385958353e-10,0.00529363635604971 -490,-60,180,0.00532195162878945,0.00106314869177699,-9.99993385958353e-10,0.00532213162878945 -490,-60,190,0.00534748821456283,0.00103761210600362,-9.99993385958353e-10,0.00534767821456283 -490,-60,200,0.0053705093403307,0.00101459098023574,-9.99993385958353e-10,0.0053707093403307 -490,-60,210,0.00539136768774204,0.000993732632824403,-9.99993385958353e-10,0.00539157768774204 -490,-60,220,0.00541035320622754,0.000974747114338904,-9.99993385958353e-10,0.00541057320622754 -490,-60,230,0.00542770641662074,0.000957393903945701,-9.99993385958353e-10,0.00542793641662075 -490,-60,240,0.00544362847852301,0.000941471842043435,-9.99993385958353e-10,0.00544386847852301 -490,-60,250,0.00545828890111352,0.000926811419452923,-9.99993385958353e-10,0.00545853890111352 -490,-60,260,0.00547183151488109,0.00091326880568536,-9.99993385958353e-10,0.00547209151488109 -490,-60,270,0.00548437914404436,0.000900721176522088,-9.99993385958353e-10,0.00548464914404436 -490,-60,280,0.00549603729709972,0.00088906302346673,-9.99993385958353e-10,0.00549631729709972 -490,-60,290,0.00550689710750626,0.000878203213060182,-9.99993385958353e-10,0.00550718710750626 -490,-60,300,0.00551703769605051,0.000868062624515939,-9.99993385958353e-10,0.00551733769605051 -490,-60,310,0.00552652808309749,0.00085857223746896,-9.99993385958353e-10,0.00552683808309749 -490,-60,320,0.00553542874751366,0.000849671573052782,-9.99993385958353e-10,0.00553574874751366 -490,-60,330,0.00554379290601508,0.000841307414551369,-9.99993385958353e-10,0.00554412290601508 -490,-60,340,0.00555166756963941,0.000833432750927033,-9.99993385958353e-10,0.00555200756963941 -490,-60,350,0.00555909442129059,0.000826005899275852,-9.99993385958353e-10,0.00555944442129059 -490,-60,360,0.00556611054868672,0.000818989771879726,-9.99993385958353e-10,0.00556647054868672 -490,-60,370,0.00557274905972583,0.000812351260840612,-9.99993385958353e-10,0.00557311905972584 -490,-60,380,0.00557903960167372,0.00080606071889273,-9.99993385958353e-10,0.00557941960167372 -490,-60,390,0.00558500880124359,0.00080009151932286,-9.99993385958353e-10,0.00558539880124359 -490,-60,400,0.00559068063926503,0.000794419681301412,-9.99993385958353e-10,0.00559108063926503 -490,-60,410,0.0055960767709976,0.000789023549568844,-9.99993385958353e-10,0.0055964867709976 -490,-60,420,0.00560121680106171,0.000783883519504734,-9.99993385958353e-10,0.00560163680106171 -490,-60,430,0.0056061185203076,0.000778981800258841,-9.99993385958353e-10,0.0056065485203076 -490,-60,440,0.00561079811062518,0.00077430220994127,-9.99993385958353e-10,0.00561123811062518 -490,-60,450,0.00561527032264042,0.000769829997926027,-9.99993385958353e-10,0.00561572032264042 -490,-60,460,0.00561954863039191,0.000765551690174539,-9.99993385958353e-10,0.00562000863039191 -490,-60,470,0.00562364536638989,0.000761454954176553,-9.99993385958353e-10,0.00562411536638989 -490,-60,480,0.00562757183989828,0.000757528480668165,-9.99993385958353e-10,0.00562805183989828 -490,-60,490,0.0056313384408196,0.00075376187974685,-9.99993385958353e-10,0.0056318284408196 -490,-60,500,0.00563495473118517,0.000750145589381279,-9.99993385958353e-10,0.00563545473118517 -490,-60,510,0.00563842952594097,0.000746670794625479,-9.99993385958353e-10,0.00563893952594097 -490,-60,520,0.00564177096446122,0.000743329356105221,-9.99993385958353e-10,0.00564229096446122 -490,-60,530,0.0056449865740073,0.00074011374655914,-9.99993385958353e-10,0.0056455165740073 -490,-60,540,0.00564808332617003,0.000737016994396412,-9.99993385958353e-10,0.00564862332617003 -490,-60,550,0.00565106768718367,0.000734032633382772,-9.99993385958353e-10,0.00565161768718367 -490,-60,560,0.00565394566287355,0.000731154657692897,-9.99993385958353e-10,0.00565450566287355 -490,-60,570,0.00565672283889302,0.000728377481673425,-9.99993385958353e-10,0.00565729283889302 -490,-60,580,0.00565940441681559,0.000725695903750855,-9.99993385958353e-10,0.00565998441681559 -490,-60,590,0.00566199524657155,0.000723105073994893,-9.99993385958353e-10,0.00566258524657155 -490,-60,600,0.00566449985565375,0.000720600464912701,-9.99993385958353e-10,0.00566509985565375 +250,0,0,0,0.331337271508696,2.4382835194612e-30,0 +250,0,10,0.0484734128902095,0.282863858618487,3.65171239030557e-39,0.0484734228902095 +250,0,20,0.0918361162953016,0.239501155213395,-3.65171237936754e-39,0.0918361362953016 +250,0,30,0.127618663640721,0.203718607867975,-1.64070378794541e-47,0.127618693640721 +250,0,40,0.155941205910464,0.175396065598232,5.46901257187999e-48,0.155941245910464 +250,0,50,0.178087677705153,0.153249593803544,4.0953525157576e-56,0.178087727705153 +250,0,60,0.195482989323353,0.135854282185343,-8.19070485977906e-57,0.195483049323353 +250,0,70,0.209313476412284,0.122023795096413,-8.58680667843167e-65,0.209313546412284 +250,0,80,0.220473779430736,0.11086349207796,1.22668662425564e-65,0.220473859430736 +250,0,90,0.229616007477928,0.101721264030769,1.65344027914067e-73,0.229616097477928 +250,0,100,0.237212471023913,0.0941248004847833,-1.83715576482612e-74,0.237212571023913 +250,0,110,0.243607344495059,0.0877299270136369,-3.02657225418411e-82,0.243607454495059 +250,0,120,0.249054354978882,0.0822829165298141,2.75142910770929e-83,0.249054474978882 +250,0,130,0.253743143320552,0.0775941281881438,5.35690654890671e-91,0.253743273320552 +250,0,140,0.257817488774319,0.0735197827343773,-4.12069691331547e-92,0.257817628774319 +250,0,150,0.261387934099413,0.0699493374092837,-9.25708673056568e-100,0.261388084099413 +250,0,160,0.26454060622926,0.0667966652794362,6.17139031571224e-101,0.26454076622926 +250,0,170,0.267343450320411,0.0639938211882853,1.57124659632959e-108,0.267343620320411 +250,0,180,0.269850692288952,0.0614865792197447,-9.24262545921235e-110,0.269850872288952 +250,0,190,0.272106075265174,0.0592311962435219,-2.6300341248365e-117,0.272106265265174 +250,0,200,0.274145237247988,0.0571920342607087,1.38422819652212e-118,0.274145437247988 +250,0,210,0.275997479667027,0.0553397918416695,4.35350883813035e-126,0.275997689667027 +250,0,220,0.277687098539135,0.0536501729695613,-2.07309892305382e-127,0.277687318539135 +250,0,230,0.279234397672485,0.052102873836211,-7.14102122713026e-135,0.279234627672485 +250,0,240,0.280656468032763,0.0506808034759338,3.10479090790003e-136,0.280656708032762 +250,0,250,0.28196779320554,0.049369478303156,1.16247828252341e-143,0.28196804320554 +250,0,260,0.283180724152,0.0481565473566962,-4.64991150052341e-145,0.283180984152 +250,0,270,0.284305854736808,0.0470314167718879,-1.88027319217195e-152,0.284306124736808 +250,0,280,0.285352321210124,0.0459849502985724,6.96397196286446e-154,0.285352601210124 +250,0,290,0.286328042887453,0.0450092286212432,3.02459714311403e-161,0.286328332887453 +250,0,300,0.287239916976515,0.0440973545321809,-1.04296404788728e-162,0.287240216976515 +250,0,310,0.288093977363385,0.043243294145311,-4.84220957744239e-170,0.288094287363385 +250,0,320,0.288895524857044,0.0424417466516527,1.56200226604808e-171,0.288895844857044 +250,0,330,0.289649234670268,0.0416880368384285,7.71983781454779e-179,0.289649564670268 +250,0,340,0.290359245622973,0.0409780258857229,-2.33934340255108e-180,0.290359585622973 +250,0,350,0.2910292345766,0.0403080369320963,-1.22623759778336e-187,0.2910295845766 +250,0,360,0.291662478862651,0.039674792646045,3.50353366395621e-189,0.291662838862651 +250,0,370,0.292261908895751,0.0390753626129449,1.94142516131204e-196,0.292262278895751 +250,0,380,0.292830152718414,0.0385071187902822,-5.24709114854839e-198,0.292830532718414 +250,0,390,0.293369573879521,0.0379676976291755,-3.06475584646932e-205,0.293369963879521 +250,0,400,0.293882303777873,0.0374549677308235,7.85834189049905e-207,0.293882703777873 +250,0,410,0.294370269388722,0.0369670021199739,4.82533507399056e-214,0.294370679388722 +250,0,420,0.29483521712183,0.0365020543868659,-1.17690993256546e-215,0.29483563712183 +250,0,430,0.295278733424482,0.036058538084214,-7.57921835019235e-223,0.295279163424482 +250,0,440,0.295702262634531,0.0356350088741651,1.76260717639191e-224,0.295702702634531 +250,0,450,0.296107122501167,0.0352301490075294,1.18790256424665e-231,0.296107572501167 +250,0,460,0.296494517720348,0.0348427537883483,-2.63978062695451e-233,0.296494977720348 +250,0,470,0.296865551774231,0.0344717197344658,-1.85814031413343e-240,0.29686602177423 +250,0,480,0.297221237316843,0.0341160341918529,3.9534853880281e-242,0.297221717316843 +250,0,490,0.297562505309601,0.0337747661990949,2.90127615722786e-249,0.297562995309601 +250,0,500,0.297890213078375,0.0334470584303217,-5.92096421199582e-251,0.297890713078375 +250,0,510,0.298205151437456,0.0331321200712403,-4.52246802742357e-258,0.298205661437456 +250,0,520,0.298508051003854,0.0328292205048424,8.86757216704983e-260,0.298508571003854 +250,0,530,0.298799587807059,0.0325376837016377,7.03871754724518e-267,0.298800117807059 +250,0,540,0.299080388284145,0.0322568832245511,-1.32805794548559e-268,0.299080928284145 +250,0,550,0.29935103373723,0.0319862377714662,-1.0939379689506e-275,0.29935158373723 +250,0,560,0.299612064319487,0.0317252071892096,1.98897495591316e-277,0.299612624319487 +250,0,570,0.299863982606785,0.0314732889019109,1.69791990644622e-284,0.299864552606785 +250,0,580,0.300107256804275,0.0312300147044213,-2.97880176463542e-286,0.300107836804275 +250,0,590,0.300342323630638,0.0309949478780579,-2.63212610639224e-293,0.300342913630638 +250,0,600,0.300569590917143,0.0307676805915536,4.46122253749779e-295,0.300570190917143 +250,-10,0,0,0.147619595129978,-9.99998805539803e-10,0 +250,-10,10,0.0215961988002101,0.126023396329768,-9.99998805539803e-10,0.0215962088002101 +250,-10,20,0.0409154401619021,0.106704154968076,-9.99998805539803e-10,0.0409154601619021 +250,-10,30,0.0568575197468468,0.090762075383131,-9.99998805539803e-10,0.0568575497468468 +250,-10,40,0.0694759680242583,0.0781436271057195,-9.99998805539803e-10,0.0694760080242583 +250,-10,50,0.0793428121163925,0.0682767830135854,-9.99998805539803e-10,0.0793428621163925 +250,-10,60,0.0870928875804236,0.0605267075495542,-9.99998805539803e-10,0.0870929475804236 +250,-10,70,0.0932547386007508,0.0543648565292271,-9.99998805539803e-10,0.0932548086007508 +250,-10,80,0.0982269513723786,0.0493926437575993,-9.99998805539803e-10,0.0982270313723786 +250,-10,90,0.102300057898449,0.0453195372315291,-9.99998805539803e-10,0.102300147898449 +250,-10,100,0.105684485095461,0.0419351100345166,-9.99998805539803e-10,0.105684585095461 +250,-10,110,0.108533571853554,0.0390860232764236,-9.99998805539803e-10,0.108533681853554 +250,-10,120,0.110960360360109,0.0366592347698684,-9.99998805539803e-10,0.110960480360109 +250,-10,130,0.113049340671609,0.0345702544583692,-9.99998805539803e-10,0.113049470671609 +250,-10,140,0.114864570282108,0.0327550248478698,-9.99998805539803e-10,0.114864710282108 +250,-10,150,0.116455298940324,0.0311642961896536,-9.99998805539803e-10,0.116455448940324 +250,-10,160,0.11785989849312,0.0297596966368579,-9.99998805539803e-10,0.11786005849312 +250,-10,170,0.119108640320637,0.0285109548093413,-9.99998805539803e-10,0.119108810320637 +250,-10,180,0.120225683515335,0.0273939116146425,-9.99998805539803e-10,0.120225863515335 +250,-10,190,0.121230516808907,0.0263890783210711,-9.99998805539803e-10,0.121230706808907 +250,-10,200,0.12213901788075,0.0254805772492276,-9.99998805539803e-10,0.12213921788075 +250,-10,210,0.122964241299583,0.0246553538303948,-9.99998805539803e-10,0.122964451299583 +250,-10,220,0.12371701158917,0.0239025835408078,-9.99998805539803e-10,0.12371723158917 +250,-10,230,0.124406374637794,0.0232132204921834,-9.99998805539803e-10,0.124406604637795 +250,-10,240,0.125039944926687,0.0225796502032913,-9.99998805539803e-10,0.125040184926687 +250,-10,250,0.125624175279667,0.0219954198503105,-9.99998805539803e-10,0.125624425279667 +250,-10,260,0.126164568379489,0.021455026750489,-9.99998805539803e-10,0.126164828379489 +250,-10,270,0.126665844075524,0.0209537510544543,-9.99998805539803e-10,0.126666114075524 +250,-10,280,0.127132072810989,0.0204875223189893,-9.99998805539803e-10,0.127132352810989 +250,-10,290,0.127566782852244,0.0200528122777342,-9.99998805539803e-10,0.127567072852244 +250,-10,300,0.127973047089358,0.0196465480406202,-9.99998805539803e-10,0.127973347089358 +250,-10,310,0.128353553779572,0.0192660413504063,-9.99998805539803e-10,0.128353863779572 +250,-10,320,0.128710664574721,0.0189089305552564,-9.99998805539803e-10,0.128710984574721 +250,-10,330,0.129046462406843,0.018573132723135,-9.99998805539803e-10,0.129046792406843 +250,-10,340,0.129362791230639,0.0182568038993386,-9.99998805539803e-10,0.129363131230639 +250,-10,350,0.129661289185987,0.0179583059439906,-9.99998805539803e-10,0.129661639185987 +250,-10,360,0.129943416411517,0.0176761787184611,-9.99998805539803e-10,0.129943776411517 +250,-10,370,0.130210478485132,0.0174091166448463,-9.99998805539803e-10,0.130210848485132 +250,-10,380,0.130463646269892,0.0171559488600854,-9.99998805539803e-10,0.130464026269892 +250,-10,390,0.13070397278989,0.016915622340088,-9.99998805539803e-10,0.13070436278989 +250,-10,400,0.130932407640159,0.0166871874898186,-9.99998805539803e-10,0.130932807640159 +250,-10,410,0.131149809339591,0.0164697857903872,-9.99998805539803e-10,0.131150219339591 +250,-10,420,0.13135695596033,0.0162626391696479,-9.99998805539803e-10,0.13135737596033 +250,-10,430,0.131554554306972,0.0160650408230058,-9.99998805539803e-10,0.131554984306972 +250,-10,440,0.131743247870568,0.0158763472594098,-9.99998805539803e-10,0.131743687870568 +250,-10,450,0.131923623743542,0.015695971386436,-9.99998805539803e-10,0.131924073743542 +250,-10,460,0.132096218650086,0.0155233764798914,-9.99998805539803e-10,0.132096678650086 +250,-10,470,0.132261524220945,0.0153580709090325,-9.99998805539803e-10,0.132261994220945 +250,-10,480,0.132419991620508,0.01519960350947,-9.99998805539803e-10,0.132420471620508 +250,-10,490,0.132572035616924,0.015047559513054,-9.99998805539803e-10,0.132572525616924 +250,-10,500,0.132718038171744,0.0149015569582344,-9.99998805539803e-10,0.132718538171744 +250,-10,510,0.132858351613835,0.0147612435161432,-9.99998805539803e-10,0.132858861613835 +250,-10,520,0.132993301452569,0.014626293677409,-9.99998805539803e-10,0.132993821452569 +250,-10,530,0.133123188877121,0.0144964062528564,-9.99998805539803e-10,0.133123718877121 +250,-10,540,0.133248292981924,0.0143713021480538,-9.99998805539803e-10,0.133248832981924 +250,-10,550,0.13336887275258,0.0142507223773982,-9.99998805539803e-10,0.13336942275258 +250,-10,560,0.133485168841739,0.0141344262882387,-9.99998805539803e-10,0.133485728841739 +250,-10,570,0.133597405160363,0.0140221899696152,-9.99998805539803e-10,0.133597975160363 +250,-10,580,0.133705790306336,0.0139138048236416,-9.99998805539803e-10,0.133706370306336 +250,-10,590,0.133810518849486,0.013809076280492,-9.99998805539803e-10,0.133811108849486 +250,-10,600,0.133911772489522,0.0137078226404554,-9.99998805539803e-10,0.133912372489522 +250,-20,0,0,0.0339854346243019,-9.99997784134621e-10,0 +250,-20,10,0.00497194293082652,0.0290134916934754,-9.99997784134621e-10,0.00497195293082652 +250,-20,20,0.00941967775702482,0.0245657568672771,-9.99997784134621e-10,0.00941969775702482 +250,-20,30,0.0130899120713278,0.0208955225529741,-9.99997784134621e-10,0.0130899420713278 +250,-20,40,0.0159949698220587,0.0179904648022432,-9.99997784134621e-10,0.0159950098220587 +250,-20,50,0.0182665448426117,0.0157188897816902,-9.99997784134621e-10,0.0182665948426117 +250,-20,60,0.0200507909163414,0.0139346437079605,-9.99997784134621e-10,0.0200508509163414 +250,-20,70,0.0214693911017141,0.0125160435225878,-9.99997784134621e-10,0.0214694611017141 +250,-20,80,0.0226141091314545,0.0113713254928474,-9.99997784134621e-10,0.0226141891314545 +250,-20,90,0.0235518321717981,0.0104336024525038,-9.99997784134621e-10,0.0235519221717981 +250,-20,100,0.0243310053509652,0.00965442927333669,-9.99997784134621e-10,0.0243311053509652 +250,-20,110,0.0249869308171669,0.00899850380713502,-9.99997784134621e-10,0.0249870408171669 +250,-20,120,0.025545633488475,0.00843980113582692,-9.99997784134621e-10,0.025545753488475 +250,-20,130,0.0260265649240706,0.00795886970023126,-9.99997784134621e-10,0.0260266949240706 +250,-20,140,0.0264444726361288,0.00754096198817307,-9.99997784134621e-10,0.0264446126361288 +250,-20,150,0.0268106950524091,0.00717473957189284,-9.99997784134621e-10,0.0268108450524091 +250,-20,160,0.0271340662568405,0.00685136836746141,-9.99997784134621e-10,0.0271342262568405 +250,-20,170,0.0274215554191318,0.00656387920517011,-9.99997784134621e-10,0.0274217254191318 +250,-20,180,0.02767872451943,0.00630671010487194,-9.99997784134621e-10,0.02767890451943 +250,-20,190,0.027910060313143,0.00607537431115889,-9.99997784134621e-10,0.027910250313143 +250,-20,200,0.0281192182081776,0.00586621641612431,-9.99997784134621e-10,0.0281194182081776 +250,-20,210,0.0283092036672658,0.00567623095703609,-9.99997784134621e-10,0.0283094136672658 +250,-20,220,0.0284825087453711,0.00550292587893076,-9.99997784134621e-10,0.0284827287453711 +250,-20,230,0.0286412160145572,0.00534421860974468,-9.99997784134621e-10,0.0286414460145572 +250,-20,240,0.0287870785039786,0.00519835612032326,-9.99997784134621e-10,0.0287873185039786 +250,-20,250,0.0289215818024688,0.00506385282183312,-9.99997784134621e-10,0.0289218318024688 +250,-20,260,0.0290459927544785,0.0049394418698234,-9.99997784134621e-10,0.0290462527544785 +250,-20,270,0.029161397978164,0.00482403664613789,-9.99997784134621e-10,0.029161667978164 +250,-20,280,0.0292687345834105,0.00471670004089138,-9.99997784134621e-10,0.0292690145834105 +250,-20,290,0.0293688148584891,0.00461661976581277,-9.99997784134621e-10,0.0293691048584891 +250,-20,300,0.0294623462535486,0.00452308837075325,-9.99997784134621e-10,0.0294626462535486 +250,-20,310,0.029549947667392,0.00443548695690986,-9.99997784134621e-10,0.029550257667392 +250,-20,320,0.0296321628067271,0.00435327181757477,-9.99997784134621e-10,0.0296324828067271 +250,-20,330,0.0297094712105369,0.00427596341376499,-9.99997784134621e-10,0.0297098012105369 +250,-20,340,0.0297822973997122,0.0042031372245897,-9.99997784134621e-10,0.0297826373997122 +250,-20,350,0.0298510185118249,0.00413441611247696,-9.99997784134621e-10,0.0298513685118249 +250,-20,360,0.0299159707044558,0.00406946391984612,-9.99997784134621e-10,0.0299163307044558 +250,-20,370,0.0299774545517423,0.00400798007255961,-9.99997784134621e-10,0.0299778245517423 +250,-20,380,0.0300357396133589,0.00394969501094299,-9.99997784134621e-10,0.0300361196133589 +250,-20,390,0.030091068319732,0.00389436630456993,-9.99997784134621e-10,0.030091458319732 +250,-20,400,0.0301436592895345,0.00384177533476741,-9.99997784134621e-10,0.0301440592895345 +250,-20,410,0.0301937101736108,0.00379172445069111,-9.99997784134621e-10,0.0301941201736108 +250,-20,420,0.0302414001021096,0.00374403452219225,-9.99997784134621e-10,0.0302418201021096 +250,-20,430,0.0302868917977464,0.00369854282655548,-9.99997784134621e-10,0.0302873217977464 +250,-20,440,0.0303303334069987,0.0036551012173032,-9.99997784134621e-10,0.0303307734069987 +250,-20,450,0.0303718600920797,0.00361357453222216,-9.99997784134621e-10,0.0303723100920797 +250,-20,460,0.0304115954192746,0.00357383920502732,-9.99997784134621e-10,0.0304120554192746 +250,-20,470,0.0304496525733164,0.00353578205098546,-9.99997784134621e-10,0.0304501225733164 +250,-20,480,0.0304861354226507,0.00349929920165119,-9.99997784134621e-10,0.0304866154226507 +250,-20,490,0.0305211394564693,0.00346429516783261,-9.99997784134621e-10,0.0305216294564693 +250,-20,500,0.0305547526111283,0.00343068201317361,-9.99997784134621e-10,0.0305552526111283 +250,-20,510,0.0305870560008572,0.00339837862344474,-9.99997784134621e-10,0.0305875660008572 +250,-20,520,0.0306181245654188,0.0033673100588831,-9.99997784134621e-10,0.0306186445654188 +250,-20,530,0.0306480276455063,0.00333740697879562,-9.99997784134621e-10,0.0306485576455063 +250,-20,540,0.0306768294950931,0.0033086051292088,-9.99997784134621e-10,0.0306773694950931 +250,-20,550,0.0307045897386368,0.00328084488566512,-9.99997784134621e-10,0.0307051397386368 +250,-20,560,0.0307313637799266,0.00325407084437532,-9.99997784134621e-10,0.0307319237799266 +250,-20,570,0.0307572031684284,0.00322823145587346,-9.99997784134621e-10,0.0307577731684284 +250,-20,580,0.0307821559281856,0.00320327869611627,-9.99997784134621e-10,0.0307827359281856 +250,-20,590,0.0308062668536585,0.00317916777064344,-9.99997784134621e-10,0.0308068568536585 +250,-20,600,0.0308295777763101,0.00315585684799183,-9.99997784134621e-10,0.0308301777763101 +250,-30,0,0,0.00434332681483377,-9.99996691716798e-10,0 +250,-30,10,0.000635412590481932,0.00370791422435184,-9.99996691716798e-10,0.000635422590481932 +250,-30,20,0.00120383156612403,0.00313949524870974,-9.99996691716798e-10,0.00120385156612403 +250,-30,30,0.00167288624470201,0.00267044057013175,-9.99996691716798e-10,0.00167291624470201 +250,-30,40,0.00204415162255797,0.0022991751922758,-9.99996691716798e-10,0.00204419162255797 +250,-30,50,0.00233445812614523,0.00200886868868854,-9.99996691716798e-10,0.00233450812614523 +250,-30,60,0.00256248415853119,0.00178084265630257,-9.99996691716798e-10,0.00256254415853119 +250,-30,70,0.00274378077258865,0.00159954604224512,-9.99996691716798e-10,0.00274385077258865 +250,-30,80,0.00289007534168739,0.00145325147314638,-9.99996691716798e-10,0.00289015534168739 +250,-30,90,0.00300991602258601,0.00133341079224776,-9.99996691716798e-10,0.00301000602258601 +250,-30,100,0.00310949408595012,0.00123383272888365,-9.99996691716798e-10,0.00310959408595012 +250,-30,110,0.00319332113413649,0.00115000568069728,-9.99996691716798e-10,0.00319343113413649 +250,-30,120,0.00326472314269213,0.00107860367214164,-9.99996691716798e-10,0.00326484314269213 +250,-30,130,0.00332618601416665,0.00101714080066712,-9.99996691716798e-10,0.00332631601416665 +250,-30,140,0.00337959447552586,0.000963732339307903,-9.99996691716798e-10,0.00337973447552586 +250,-30,150,0.00342639757392396,0.00091692924090981,-9.99996691716798e-10,0.00342654757392396 +250,-30,160,0.00346772430223797,0.000875602512595799,-9.99996691716798e-10,0.00346788430223797 +250,-30,170,0.00350446531795124,0.000838861496882526,-9.99996691716798e-10,0.00350463531795124 +250,-30,180,0.00353733144020683,0.000805995374626934,-9.99996691716798e-10,0.00353751144020683 +250,-30,190,0.00356689607479727,0.000776430740036494,-9.99996691716798e-10,0.00356708607479727 +250,-30,200,0.00359362638159136,0.00074970043324241,-9.99996691716798e-10,0.00359382638159136 +250,-30,210,0.00361790645768891,0.000725420357144861,-9.99996691716798e-10,0.00361811645768891 +250,-30,220,0.00364005478685412,0.000703272027979651,-9.99996691716798e-10,0.00364027478685412 +250,-30,230,0.00366033752107791,0.000682989293755854,-9.99996691716798e-10,0.00366056752107791 +250,-30,240,0.00367897869688119,0.000664348117952574,-9.99996691716798e-10,0.00367921869688119 +250,-30,250,0.00369616817200411,0.000647158642829662,-9.99996691716798e-10,0.00369641817200411 +250,-30,260,0.00371206784873022,0.00063125896610355,-9.99996691716798e-10,0.00371232784873022 +250,-30,270,0.00372681659648484,0.000616510218348925,-9.99996691716798e-10,0.00372708659648484 +250,-30,280,0.00374053417758787,0.0006027926372459,-9.99996691716798e-10,0.00374081417758787 +250,-30,290,0.00375332440219997,0.000590002412633794,-9.99996691716798e-10,0.00375361440219997 +250,-30,300,0.003765277682206,0.000578049132627766,-9.99996691716798e-10,0.003765577682206 +250,-30,310,0.00377647311265935,0.000566853702174414,-9.99996691716798e-10,0.00377678311265935 +250,-30,320,0.00378698017908963,0.000556346635744136,-9.99996691716798e-10,0.00378730017908963 +250,-30,330,0.00379686016641335,0.000546466648420422,-9.99996691716798e-10,0.00379719016641335 +250,-30,340,0.00380616732825382,0.000537159486579949,-9.99996691716798e-10,0.00380650732825382 +250,-30,350,0.00381494986266258,0.000528376952171192,-9.99996691716798e-10,0.00381529986266258 +250,-30,360,0.0038232507304624,0.000520076084371372,-9.99996691716798e-10,0.0038236107304624 +250,-30,370,0.00383110834492432,0.00051221846990945,-9.99996691716798e-10,0.00383147834492432 +250,-30,380,0.0038385571556817,0.000504769659152071,-9.99996691716798e-10,0.0038389371556817 +250,-30,390,0.00384562814525934,0.000497698669574426,-9.99996691716798e-10,0.00384601814525934 +250,-30,400,0.00385234925304821,0.000490977561785558,-9.99996691716798e-10,0.00385274925304821 +250,-30,410,0.00385874573875798,0.000484581076075788,-9.99996691716798e-10,0.00385915573875798 +250,-30,420,0.00386484049515985,0.000478486319673923,-9.99996691716798e-10,0.00386526049515985 +250,-30,430,0.00387065431816066,0.000472672496673109,-9.99996691716798e-10,0.00387108431816066 +250,-30,440,0.00387620614082913,0.00046712067400464,-9.99996691716798e-10,0.00387664614082913 +250,-30,450,0.00388151323684945,0.000461813577984316,-9.99996691716798e-10,0.00388196323684945 +250,-30,460,0.00388659139795021,0.000456735416883555,-9.99996691716798e-10,0.00388705139795021 +250,-30,470,0.00389145508910125,0.000451871725732522,-9.99996691716798e-10,0.00389192508910125 +250,-30,480,0.00389611758465403,0.000447209230179743,-9.99996691716798e-10,0.00389659758465403 +250,-30,490,0.00390059108809432,0.000442735726739452,-9.99996691716798e-10,0.00390108108809432 +250,-30,500,0.00390488683765808,0.00043843997717569,-9.99996691716798e-10,0.00390538683765808 +250,-30,510,0.00390901519971584,0.000434311615117931,-9.99996691716798e-10,0.00390952519971584 +250,-30,520,0.00391298575154343,0.000430341063290341,-9.99996691716798e-10,0.00391350575154343 +250,-30,530,0.00391680735485749,0.000426519459976279,-9.99996691716798e-10,0.00391733735485749 +250,-30,540,0.00392048822129366,0.000422838593540109,-9.99996691716798e-10,0.00392102822129366 +250,-30,550,0.00392403597083703,0.000419290843996739,-9.99996691716798e-10,0.00392458597083703 +250,-30,560,0.00392745768407274,0.000415869130761025,-9.99996691716798e-10,0.00392801768407274 +250,-30,570,0.00393075994900475,0.000412566865829013,-9.99996691716798e-10,0.00393132994900475 +250,-30,580,0.00393394890308922,0.000409377911744547,-9.99996691716798e-10,0.00393452890308922 +250,-30,590,0.00393703027104271,0.000406296543791062,-9.99996691716798e-10,0.00393762027104271 +250,-30,600,0.00394000939891176,0.000403317415922005,-9.99996691716798e-10,0.00394060939891176 +250,-40,0,0,0.00046943313327,-9.99995592110281e-10,0 +250,-40,10,6.86763248508981e-05,0.000400756808419102,-9.99995592110281e-10,6.86863248508981e-05 +250,-40,20,0.000130111881538567,0.000339321251731433,-9.99995592110281e-10,0.000130131881538567 +250,-40,30,0.000180807999244424,0.000288625134025576,-9.99995592110281e-10,0.000180837999244424 +250,-40,40,0.000220934905883445,0.000248498227386555,-9.99995592110281e-10,0.000220974905883445 +250,-40,50,0.000252311658634859,0.000217121474635141,-9.99995592110281e-10,0.000252361658634859 +250,-40,60,0.000276957046701096,0.000192476086568904,-9.99995592110281e-10,0.000277017046701096 +250,-40,70,0.000296551850688115,0.000172881282581884,-9.99995592110281e-10,0.000296621850688115 +250,-40,80,0.000312363582312329,0.00015706955095767,-9.99995592110281e-10,0.000312443582312329 +250,-40,90,0.000325316138895296,0.000144116994374704,-9.99995592110281e-10,0.000325406138895296 +250,-40,100,0.000336078682052381,0.000133354451217619,-9.99995592110281e-10,0.000336178682052381 +250,-40,110,0.000345138832384266,0.000124294300885734,-9.99995592110281e-10,0.000345248832384266 +250,-40,120,0.000352856066206868,0.000116577067063132,-9.99995592110281e-10,0.000352976066206868 +250,-40,130,0.000359499063514257,0.000109934069755742,-9.99995592110281e-10,0.000359629063514257 +250,-40,140,0.000365271528361563,0.000104161604908437,-9.99995592110281e-10,0.000365411528361563 +250,-40,150,0.00037033007589078,9.91030573792198e-05,-9.99995592110281e-10,0.00037048007589078 +250,-40,160,0.000374796729308153,9.46364039618469e-05,-9.99995592110281e-10,0.000374956729308153 +250,-40,170,0.000378767752180965,9.06653810890345e-05,-9.99995592110281e-10,0.000378937752180965 +250,-40,180,0.000382319970884882,8.71131623851174e-05,-9.99995592110281e-10,0.000382499970884882 +250,-40,190,0.000385515359959076,8.39177733109236e-05,-9.99995592110281e-10,0.000385705359959076 +250,-40,200,0.000388404410727432,8.1028722542568e-05,-9.99995592110281e-10,0.000388604410727432 +250,-40,210,0.000391028636967921,7.84044963020789e-05,-9.99995592110281e-10,0.000391238636967921 +250,-40,220,0.000393422460872954,7.6010672397046e-05,-9.99995592110281e-10,0.000393642460872954 +250,-40,230,0.000395614648540122,7.38184847298777e-05,-9.99995592110281e-10,0.000395844648540122 +250,-40,240,0.000397629414165238,7.18037191047619e-05,-9.99995592110281e-10,0.000397869414165238 +250,-40,250,0.000399487277851354,6.99458554186455e-05,-9.99995592110281e-10,0.000399737277851354 +250,-40,260,0.00040120573823477,6.82273950352299e-05,-9.99995592110281e-10,0.00040146573823477 +250,-40,270,0.000402799804526677,6.66333287433227e-05,-9.99995592110281e-10,0.000403069804526677 +250,-40,280,0.000404282420814285,6.51507124557145e-05,-9.99995592110281e-10,0.000404562420814285 +250,-40,290,0.000405664807052038,6.37683262179619e-05,-9.99995592110281e-10,0.000405954807052038 +250,-40,300,0.000406956735089071,6.24763981809284e-05,-9.99995592110281e-10,0.000407256735089071 +250,-40,310,0.00040816675363478,6.12663796352195e-05,-9.99995592110281e-10,0.00040847675363478 +250,-40,320,0.00040930237278713,6.01307604828693e-05,-9.99995592110281e-10,0.00040962237278713 +250,-40,330,0.000410370216309796,5.9062916960204e-05,-9.99995592110281e-10,0.000410700216309796 +250,-40,340,0.000411376148013968,5.80569852560314e-05,-9.99995592110281e-10,0.000411716148013968 +250,-40,350,0.000412325377215757,5.71077560542422e-05,-9.99995592110281e-10,0.000412675377215757 +250,-40,360,0.000413222547183908,5.62105860860921e-05,-9.99995592110281e-10,0.000413582547183908 +250,-40,370,0.0004140718096811,5.53613235888999e-05,-9.99995592110281e-10,0.0004144418096811 +250,-40,380,0.000414876888074241,5.45562451957591e-05,-9.99995592110281e-10,0.000415256888074241 +250,-40,390,0.000415641131000059,5.37920022699408e-05,-9.99995592110281e-10,0.000416031131000059 +250,-40,400,0.000416367558188913,5.3065575081087e-05,-9.99995592110281e-10,0.000416767558188913 +250,-40,410,0.000417058899747277,5.23742335227222e-05,-9.99995592110281e-10,0.000417468899747277 +250,-40,420,0.000417717629959444,5.17155033105555e-05,-9.99995592110281e-10,0.000418137629959444 +250,-40,430,0.000418345996477531,5.10871367924689e-05,-9.99995592110281e-10,0.000418775996477531 +250,-40,440,0.000418946045615375,5.04870876546242e-05,-9.99995592110281e-10,0.000419386045615375 +250,-40,450,0.000419519644338105,4.99134889318947e-05,-9.99995592110281e-10,0.000419969644338105 +250,-40,460,0.000420068499438909,4.93646338310908e-05,-9.99995592110281e-10,0.000420528499438909 +250,-40,470,0.000420594174312945,4.88389589570543e-05,-9.99995592110281e-10,0.000421064174312945 +250,-40,480,0.000421098103671594,4.83350295984061e-05,-9.99995592110281e-10,0.000421578103671594 +250,-40,490,0.000421581606485496,4.78515267845038e-05,-9.99995592110281e-10,0.000422071606485496 +250,-40,500,0.00042204589739968,4.73872358703195e-05,-9.99995592110281e-10,0.00042254589739968 +250,-40,510,0.000422492096826679,4.69410364433208e-05,-9.99995592110281e-10,0.000423002096826679 +250,-40,520,0.000422921239892513,4.65118933774869e-05,-9.99995592110281e-10,0.000423441239892513 +250,-40,530,0.000423334284384516,4.60988488854841e-05,-9.99995592110281e-10,0.000423864284384516 +250,-40,540,0.000423732117828312,4.57010154416874e-05,-9.99995592110281e-10,0.000424272117828312 +250,-40,550,0.000424115563803069,4.53175694669306e-05,-9.99995592110281e-10,0.000424665563803069 +250,-40,560,0.000424485387588815,4.49477456811849e-05,-9.99995592110281e-10,0.000425045387588815 +250,-40,570,0.00042484230122668,4.45908320433193e-05,-9.99995592110281e-10,0.00042541230122668 +250,-40,580,0.00042518696806193,4.42461652080692e-05,-9.99995592110281e-10,0.00042576696806193 +250,-40,590,0.000425520006830328,4.39131264396712e-05,-9.99995592110281e-10,0.000426110006830328 +250,-40,600,0.000425841995340428,4.35911379295717e-05,-9.99995592110281e-10,0.000426441995340428 +250,-46,0,0,0.000121882720726762,-9.99994929570813e-10,0 +250,-46,10,1.78309896108846e-05,0.000104051731115877,-9.99994929570813e-10,1.78409896108846e-05 +250,-46,20,3.37820000269932e-05,8.81007206997684e-05,-9.99994929570813e-10,3.38020000269933e-05 +250,-46,30,4.69446430497218e-05,7.49380776770398e-05,-9.99994929570813e-10,4.69746430497218e-05 +250,-46,40,5.73631163292798e-05,6.45196043974818e-05,-9.99994929570813e-10,5.74031163292798e-05 +250,-46,50,6.55097163919422e-05,5.63730043348194e-05,-9.99994929570813e-10,6.55597163919422e-05 +250,-46,60,7.19085978044141e-05,4.99741229223475e-05,-9.99994929570813e-10,7.19685978044141e-05 +250,-46,70,7.69961552280012e-05,4.48865654987604e-05,-9.99994929570813e-10,7.70661552280012e-05 +250,-46,80,8.11014829800841e-05,4.07812377466774e-05,-9.99994929570813e-10,8.11814829800841e-05 +250,-46,90,8.44644599938759e-05,3.74182607328857e-05,-9.99994929570813e-10,8.45544599938759e-05 +250,-46,100,8.7258826111127e-05,3.46238946156346e-05,-9.99994929570813e-10,8.7358826111127e-05 +250,-46,110,8.96111862118115e-05,3.22715345149501e-05,-9.99994929570813e-10,8.97211862118115e-05 +250,-46,120,9.16148740389387e-05,3.02678466878229e-05,-9.99994929570813e-10,9.17348740389387e-05 +250,-46,130,9.33396491522018e-05,2.85430715745598e-05,-9.99994929570813e-10,9.34696491522018e-05 +250,-46,140,9.48384008828013e-05,2.70443198439603e-05,-9.99994929570813e-10,9.49784008828013e-05 +250,-46,150,9.61517924866105e-05,2.57309282401511e-05,-9.99994929570813e-10,9.63017924866105e-05 +250,-46,160,9.73115058354758e-05,2.45712148912858e-05,-9.99994929570813e-10,9.74715058354758e-05 +250,-46,170,9.83425346178608e-05,2.35401861089008e-05,-9.99994929570813e-10,9.85125346178608e-05 +250,-46,180,9.92648258869794e-05,2.26178948397822e-05,-9.99994929570813e-10,9.94448258869794e-05 +250,-46,190,0.000100094470593629,2.17882501331327e-05,-9.99994929570813e-10,0.000100284470593629 +250,-46,200,0.000100844578208556,2.10381425182056e-05,-9.99994929570813e-10,0.000101044578208556 +250,-46,210,0.00010152592728966,2.03567934371014e-05,-9.99994929570813e-10,0.00010173592728966 +250,-46,220,0.000102147455149131,1.97352655776302e-05,-9.99994929570813e-10,0.000102367455149131 +250,-46,230,0.000102716630561521,1.9166090165241e-05,-9.99994929570813e-10,0.000102946630561521 +250,-46,240,0.000103239740454308,1.86429802724533e-05,-9.99994929570813e-10,0.000103479740454308 +250,-46,250,0.000103722112627798,1.8160608098964e-05,-9.99994929570813e-10,0.000103972112627798 +250,-46,260,0.000104168290394443,1.77144303323184e-05,-9.99994929570813e-10,0.000104428290394443 +250,-46,270,0.000104582170717127,1.73005500096342e-05,-9.99994929570813e-10,0.000104852170717127 +250,-46,280,0.000104967114373892,1.69156063528694e-05,-9.99994929570813e-10,0.000105247114373892 +250,-46,290,0.000105326034492246,1.65566862345155e-05,-9.99994929570813e-10,0.000105616034492246 +250,-46,300,0.000105661468216406,1.62212525103555e-05,-9.99994929570813e-10,0.000105961468216406 +250,-46,310,0.000105975635116926,1.59070856098355e-05,-9.99994929570813e-10,0.000106285635116926 +250,-46,320,0.000106270485101276,1.56122356254859e-05,-9.99994929570813e-10,0.000106590485101276 +250,-46,330,0.000106547737950784,1.53349827759772e-05,-9.99994929570813e-10,0.000106877737950784 +250,-46,340,0.000106808916134173,1.50738045925886e-05,-9.99994929570813e-10,0.000107148916134173 +250,-46,350,0.000107055372188311,1.48273485384506e-05,-9.99994929570813e-10,0.000107405372188311 +250,-46,360,0.000107288311682613,1.45944090441487e-05,-9.99994929570813e-10,0.000107648311682613 +250,-46,370,0.000107508812572799,1.43739081539624e-05,-9.99994929570813e-10,0.000107878812572799 +250,-46,380,0.000107717841586731,1.41648791400306e-05,-9.99994929570813e-10,0.000108097841586731 +250,-46,390,0.000107916268158043,1.39664525687188e-05,-9.99994929570813e-10,0.000108306268158043 +250,-46,400,0.000108104876323748,1.37778444030134e-05,-9.99994929570813e-10,0.000108504876323748 +250,-46,410,0.00010828437492347,1.35983458032916e-05,-9.99994929570813e-10,0.00010869437492347 +250,-46,420,0.000108455406375648,1.34273143511133e-05,-9.99994929570813e-10,0.000108875406375648 +250,-46,430,0.000108618554256379,1.32641664703821e-05,-9.99994929570813e-10,0.000109048554256379 +250,-46,440,0.000108774349866674,1.31083708600876e-05,-9.99994929570813e-10,0.000109214349866674 +250,-46,450,0.000108923277941786,1.29594427849757e-05,-9.99994929570813e-10,0.000109373277941786 +250,-46,460,0.000109065781630234,1.28169390965276e-05,-9.99994929570813e-10,0.000109525781630234 +250,-46,470,0.000109202266848947,1.2680453877815e-05,-9.99994929570813e-10,0.000109672266848947 +250,-46,480,0.000109333106103641,1.25496146231201e-05,-9.99994929570813e-10,0.000109813106103641 +250,-46,490,0.000109458641849333,1.24240788774284e-05,-9.99994929570813e-10,0.000109948641849333 +250,-46,500,0.000109579189454133,1.23035312726283e-05,-9.99994929570813e-10,0.000110079189454133 +250,-46,510,0.000109695039819808,1.21876809069532e-05,-9.99994929570813e-10,0.000110205039819808 +250,-46,520,0.000109806461704498,1.20762590222633e-05,-9.99994929570813e-10,0.000110326461704498 +250,-46,530,0.000109913703786274,1.19690169404873e-05,-9.99994929570813e-10,0.000110443703786274 +250,-46,540,0.000110016996500592,1.18657242261697e-05,-9.99994929570813e-10,0.000110556996500592 +250,-46,550,0.00011011655367997,1.17661670467914e-05,-9.99994929570813e-10,0.00011066655367997 +250,-46,560,0.000110212574020252,1.16701467065096e-05,-9.99994929570813e-10,0.000110772574020252 +250,-46,570,0.000110305242394435,1.1577478332327e-05,-9.99994929570813e-10,0.000110875242394435 +250,-46,580,0.000110394731032213,1.14879896945483e-05,-9.99994929570813e-10,0.000110974731032213 +250,-46,590,0.000110481200580958,1.14015201458032e-05,-9.99994929570813e-10,0.000111071200580958 +250,-46,600,0.000110564801061777,1.13179196649843e-05,-9.99994929570813e-10,0.000111164801061777 +250,-50,0,0,4.9546159280886e-05,-9.99994492503764e-10,0 +250,-50,10,7.24841918631976e-06,4.22977400945663e-05,-9.99994492503764e-10,7.25841918631976e-06 +250,-50,20,1.37326139766488e-05,3.58135453042373e-05,-9.99994492503764e-10,1.37526139766488e-05 +250,-50,30,1.90833183576543e-05,3.04628409232318e-05,-9.99994492503764e-10,1.91133183576543e-05 +250,-50,40,2.33184989763233e-05,2.62276603045627e-05,-9.99994492503764e-10,2.33584989763233e-05 +250,-50,50,2.66301475996521e-05,2.29160116812339e-05,-9.99994492503764e-10,2.66801475996521e-05 +250,-50,60,2.92313366426222e-05,2.03148226382639e-05,-9.99994492503764e-10,2.92913366426222e-05 +250,-50,70,3.12994635186606e-05,1.82466957622254e-05,-9.99994492503764e-10,3.13694635186606e-05 +250,-50,80,3.29683073177823e-05,1.65778519631037e-05,-9.99994492503764e-10,3.30483073177823e-05 +250,-50,90,3.43353804663775e-05,1.52107788145085e-05,-9.99994492503764e-10,3.44253804663775e-05 +250,-50,100,3.54713093979676e-05,1.40748498829185e-05,-9.99994492503764e-10,3.55713093979676e-05 +250,-50,110,3.64275598618524e-05,1.31185994190336e-05,-9.99994492503764e-10,3.65375598618524e-05 +250,-50,120,3.72420726626831e-05,1.23040866182029e-05,-9.99994492503764e-10,3.73620726626831e-05 +250,-50,130,3.79432055384171e-05,1.16029537424689e-05,-9.99994492503764e-10,3.80732055384171e-05 +250,-50,140,3.8552458363789e-05,1.09937009170971e-05,-9.99994492503764e-10,3.8692458363789e-05 +250,-50,150,3.90863610303235e-05,1.04597982505625e-05,-9.99994492503764e-10,3.92363610303235e-05 +250,-50,160,3.95577924355337e-05,9.98836684535236e-06,-9.99994492503764e-10,3.97177924355337e-05 +250,-50,170,3.99769126846603e-05,9.56924659622576e-06,-9.99994492503764e-10,4.01469126846603e-05 +250,-50,180,4.03518303912117e-05,9.19432888967437e-06,-9.99994492503764e-10,4.05318303912117e-05 +250,-50,190,4.06890866366999e-05,8.85707264418616e-06,-9.99994492503764e-10,4.08790866366999e-05 +250,-50,200,4.09940105106122e-05,8.55214877027377e-06,-9.99994492503764e-10,4.11940105106122e-05 +250,-50,210,4.12709835704273e-05,8.27517571045873e-06,-9.99994492503764e-10,4.14809835704273e-05 +250,-50,220,4.15236388946541e-05,8.0225203862319e-06,-9.99994492503764e-10,4.17436388946541e-05 +250,-50,230,4.17550125912113e-05,7.79114668967468e-06,-9.99994492503764e-10,4.19850125912113e-05 +250,-50,240,4.19676603391031e-05,7.57849894178293e-06,-9.99994492503764e-10,4.22076603391031e-05 +250,-50,250,4.21637479255785e-05,7.38241135530753e-06,-9.99994492503764e-10,4.24137479255785e-05 +250,-50,260,4.23451222382128e-05,7.20103704267324e-06,-9.99994492503764e-10,4.26051222382128e-05 +250,-50,270,4.25133674190609e-05,7.0327918618251e-06,-9.99994492503764e-10,4.27833674190609e-05 +250,-50,280,4.26698496473744e-05,6.8763096335116e-06,-9.99994492503764e-10,4.29498496473744e-05 +250,-50,290,4.28157531294024e-05,6.73040615148363e-06,-9.99994492503764e-10,4.31057531294024e-05 +250,-50,300,4.29521092316153e-05,6.59405004927069e-06,-9.99994492503764e-10,4.32521092316153e-05 +250,-50,310,4.30798202246185e-05,6.46633905626748e-06,-9.99994492503764e-10,4.33898202246185e-05 +250,-50,320,4.31996787591298e-05,6.34648052175623e-06,-9.99994492503764e-10,4.35196787591298e-05 +250,-50,330,4.33123839380176e-05,6.23377534286846e-06,-9.99994492503764e-10,4.36423839380176e-05 +250,-50,340,4.34185546552259e-05,6.12760462566014e-06,-9.99994492503764e-10,4.37585546552259e-05 +250,-50,350,4.35187407262395e-05,6.02741855464656e-06,-9.99994492503764e-10,4.38687407262395e-05 +250,-50,360,4.36134322232677e-05,5.93272705761832e-06,-9.99994492503764e-10,4.39734322232677e-05 +250,-50,370,4.37030673426809e-05,5.84309193820512e-06,-9.99994492503764e-10,4.40730673426809e-05 +250,-50,380,4.3788039065964e-05,5.75812021492199e-06,-9.99994492503764e-10,4.4168039065964e-05 +250,-50,390,4.38687008238338e-05,5.6774584570522e-06,-9.99994492503764e-10,4.42587008238338e-05 +250,-50,400,4.39453713326967e-05,5.60078794818929e-06,-9.99994492503764e-10,4.43453713326967e-05 +250,-50,410,4.40183387407057e-05,5.52782054018033e-06,-9.99994492503764e-10,4.44283387407057e-05 +250,-50,420,4.40878641953488e-05,5.45829508553721e-06,-9.99994492503764e-10,4.45078641953488e-05 +250,-50,430,4.41541849242991e-05,5.39197435658689e-06,-9.99994492503764e-10,4.45841849242991e-05 +250,-50,440,4.42175169050499e-05,5.32864237583616e-06,-9.99994492503764e-10,4.46575169050499e-05 +250,-50,450,4.42780571857959e-05,5.2681020950901e-06,-9.99994492503764e-10,4.47280571857959e-05 +250,-50,460,4.433598590944e-05,5.21017337144605e-06,-9.99994492503764e-10,4.479598590944e-05 +250,-50,470,4.43914680839886e-05,5.15469119689747e-06,-9.99994492503764e-10,4.48614680839886e-05 +250,-50,480,4.44446551355628e-05,5.10150414532322e-06,-9.99994492503764e-10,4.49246551355628e-05 +250,-50,490,4.44956862744675e-05,5.05047300641853e-06,-9.99994492503764e-10,4.49856862744675e-05 +250,-50,500,4.45446896999961e-05,5.00146958088996e-06,-9.99994492503764e-10,4.50446896999961e-05 +250,-50,510,4.45917836657056e-05,4.95437561518046e-06,-9.99994492503764e-10,4.51017836657056e-05 +250,-50,520,4.46370774236173e-05,4.9090818572687e-06,-9.99994492503764e-10,4.51570774236173e-05 +250,-50,530,4.46806720630675e-05,4.86548721781854e-06,-9.99994492503764e-10,4.52106720630675e-05 +250,-50,540,4.47226612576442e-05,4.82349802324186e-06,-9.99994492503764e-10,4.52626612576442e-05 +250,-50,550,4.47631319317284e-05,4.78302734915762e-06,-9.99994492503764e-10,4.53131319317284e-05 +250,-50,560,4.48021648565388e-05,4.74399442434726e-06,-9.99994492503764e-10,4.53621648565388e-05 +250,-50,570,4.48398351842125e-05,4.70632409667348e-06,-9.99994492503764e-10,4.54098351842125e-05 +250,-50,580,4.48762129272985e-05,4.66994635358751e-06,-9.99994492503764e-10,4.54562129272985e-05 +250,-50,590,4.49113633900509e-05,4.6347958908351e-06,-9.99994492503764e-10,4.55013633900509e-05 +250,-50,600,4.49453475570757e-05,4.60081172381033e-06,-9.99994492503764e-10,4.55453475570757e-05 +250,-60,0,0,5.21453338767217e-06,-9.99993385958353e-10,0 +250,-60,10,7.62866878149511e-07,4.45166650952266e-06,-9.99993385958353e-10,7.72866878149511e-07 +250,-60,20,1.44530222161688e-06,3.76923116605529e-06,-9.99993385958353e-10,1.46530222161688e-06 +250,-60,30,2.00844227217335e-06,3.20609111549882e-06,-9.99993385958353e-10,2.03844227217335e-06 +250,-60,40,2.45417794693415e-06,2.76035544073802e-06,-9.99993385958353e-10,2.49417794693415e-06 +250,-60,50,2.80271560485204e-06,2.41181778282013e-06,-9.99993385958353e-10,2.85271560485204e-06 +250,-60,60,3.07648025803772e-06,2.13805312963445e-06,-9.99993385958353e-10,3.13648025803772e-06 +250,-60,70,3.29414226860662e-06,1.92039111906555e-06,-9.99993385958353e-10,3.36414226860662e-06 +250,-60,80,3.46978134609788e-06,1.74475204157429e-06,-9.99993385958353e-10,3.54978134609788e-06 +250,-60,90,3.61366028000931e-06,1.60087310766286e-06,-9.99993385958353e-10,3.70366028000931e-06 +250,-60,100,3.7332122175514e-06,1.48132117012077e-06,-9.99993385958353e-10,3.8332122175514e-06 +250,-60,110,3.83385372121742e-06,1.38067966645475e-06,-9.99993385958353e-10,3.94385372121742e-06 +250,-60,120,3.919577907638e-06,1.29495548003418e-06,-9.99993385958353e-10,4.039577907638e-06 +250,-60,130,3.99336931433377e-06,1.2211640733384e-06,-9.99993385958353e-10,4.12336931433377e-06 +250,-60,140,4.05749071638684e-06,1.15704267128533e-06,-9.99993385958353e-10,4.19749071638684e-06 +250,-60,150,4.11368181819613e-06,1.10085156947604e-06,-9.99993385958353e-10,4.26368181819613e-06 +250,-60,160,4.16329807176947e-06,1.0512353159027e-06,-9.99993385958353e-10,4.32329807176947e-06 +250,-60,170,4.20740878719607e-06,1.0071246004761e-06,-9.99993385958353e-10,4.37740878719607e-06 +250,-60,180,4.24686736333632e-06,9.67666024335851e-07,-9.99993385958353e-10,4.42686736333632e-06 +250,-60,190,4.28236222263165e-06,9.32171165040517e-07,-9.99993385958353e-10,4.47236222263165e-06 +250,-60,200,4.31445423025227e-06,9.00079157419901e-07,-9.99993385958353e-10,4.51445423025227e-06 +250,-60,210,4.34360452744692e-06,8.70928860225252e-07,-9.99993385958353e-10,4.55360452744692e-06 +250,-60,220,4.3701954810723e-06,8.44337906599867e-07,-9.99993385958353e-10,4.5901954810723e-06 +250,-60,230,4.39454662923874e-06,8.1998675843343e-07,-9.99993385958353e-10,4.62454662923874e-06 +250,-60,240,4.41692694685142e-06,7.97606440820746e-07,-9.99993385958353e-10,4.65692694685143e-06 +250,-60,250,4.43756437428121e-06,7.76969013390958e-07,-9.99993385958353e-10,4.68756437428121e-06 +250,-60,260,4.45665328899478e-06,7.57880098677392e-07,-9.99993385958353e-10,4.71665328899478e-06 +250,-60,270,4.47436041555274e-06,7.4017297211943e-07,-9.99993385958353e-10,4.74436041555274e-06 +250,-60,280,4.49082953880995e-06,7.23703848862225e-07,-9.99993385958353e-10,4.77082953880995e-06 +250,-60,290,4.50618529169685e-06,7.0834809597532e-07,-9.99993385958353e-10,4.79618529169685e-06 +250,-60,300,4.52053622137379e-06,6.93997166298385e-07,-9.99993385958353e-10,4.82053622137379e-06 +250,-60,310,4.53397728818206e-06,6.80556099490107e-07,-9.99993385958353e-10,4.84397728818206e-06 +250,-60,320,4.54659191541206e-06,6.67941472260111e-07,-9.99993385958353e-10,4.86659191541206e-06 +250,-60,330,4.55845368082039e-06,6.56079706851777e-07,-9.99993385958353e-10,4.88845368082039e-06 +250,-60,340,4.56962772049797e-06,6.44905667174205e-07,-9.99993385958353e-10,4.90962772049797e-06 +250,-60,350,4.5801719003065e-06,6.34361487365669e-07,-9.99993385958353e-10,4.9301719003065e-06 +250,-60,360,4.59013779836902e-06,6.24395589303155e-07,-9.99993385958353e-10,4.95013779836902e-06 +250,-60,370,4.59957153308573e-06,6.14961854586437e-07,-9.99993385958353e-10,4.96957153308573e-06 +250,-60,380,4.6085144641726e-06,6.0601892349957e-07,-9.99993385958353e-10,4.9885144641726e-06 +250,-60,390,4.61700378878676e-06,5.97529598885409e-07,-9.99993385958353e-10,5.00700378878676e-06 +250,-60,400,4.62507305054425e-06,5.89460337127925e-07,-9.99993385958353e-10,5.02507305054425e-06 +250,-60,410,4.63275257587572e-06,5.81780811796455e-07,-9.99993385958353e-10,5.04275257587572e-06 +250,-60,420,4.64006984950079e-06,5.74463538171383e-07,-9.99993385958353e-10,5.06006984950079e-06 +250,-60,430,4.64704983867504e-06,5.67483548997135e-07,-9.99993385958353e-10,5.07704983867504e-06 +250,-60,440,4.65371527415834e-06,5.60818113513834e-07,-9.99993385958353e-10,5.09371527415834e-06 +250,-60,450,4.66008689447828e-06,5.54446493193888e-07,-9.99993385958353e-10,5.11008689447828e-06 +250,-60,460,4.66618365894865e-06,5.48349728723515e-07,-9.99993385958353e-10,5.12618365894865e-06 +250,-60,470,4.67202293399648e-06,5.42510453675694e-07,-9.99993385958353e-10,5.14202293399648e-06 +250,-60,480,4.67762065661012e-06,5.36912731062051e-07,-9.99993385958353e-10,5.15762065661012e-06 +250,-60,490,4.68299147811257e-06,5.31541909559605e-07,-9.99993385958353e-10,5.17299147811257e-06 +250,-60,500,4.68814889096228e-06,5.26384496709893e-07,-9.99993385958353e-10,5.18814889096228e-06 +250,-60,510,4.69310534086908e-06,5.21428046803094e-07,-9.99993385958353e-10,5.20310534086908e-06 +250,-60,520,4.69787232616747e-06,5.16661061504696e-07,-9.99993385958353e-10,5.21787232616747e-06 +250,-60,530,4.70246048610229e-06,5.12072901569884e-07,-9.99993385958353e-10,5.23246048610229e-06 +250,-60,540,4.70687967944077e-06,5.076537082314e-07,-9.99993385958353e-10,5.24687967944077e-06 +250,-60,550,4.71113905462337e-06,5.03394333048806e-07,-9.99993385958353e-10,5.26113905462337e-06 +250,-60,560,4.71524711249498e-06,4.99286275177192e-07,-9.99993385958353e-10,5.27524711249498e-06 +250,-60,570,4.71921176251489e-06,4.9532162515728e-07,-9.99993385958353e-10,5.28921176251489e-06 +250,-60,580,4.72304037322141e-06,4.91493014450756e-07,-9.99993385958353e-10,5.30304037322141e-06 +250,-60,590,4.72673981762386e-06,4.87793570048306e-07,-9.99993385958353e-10,5.31673981762386e-06 +250,-60,600,4.73031651410599e-06,4.84216873566179e-07,-9.99993385958353e-10,5.33031651410599e-06 +400,0,0,0,0.541726141602664,2.4382835194612e-30,0 +400,0,10,0.0792525236166703,0.462473617985994,3.65171239030557e-39,0.0792525336166703 +400,0,20,0.150149196056024,0.39157694554664,-3.65171237936754e-39,0.150149216056024 +400,0,30,0.20865254891423,0.333073592688433,-1.64070378794541e-47,0.20865257891423 +400,0,40,0.254959025316067,0.286767116286597,5.46901257187999e-48,0.254959065316067 +400,0,50,0.291167818431374,0.25055832317129,4.0953525157576e-56,0.291167868431374 +400,0,60,0.319608612314886,0.222117529287778,-8.19070485977906e-57,0.319608672314886 +400,0,70,0.342221028880811,0.199505112721853,-8.58680667843167e-65,0.342221098880811 +400,0,80,0.360467777475601,0.181258364127063,1.22668662425564e-65,0.360467857475601 +400,0,90,0.3754150362102,0.166311105392464,1.65344027914067e-73,0.3754151262102 +400,0,100,0.387835018024664,0.153891123578,-1.83715576482612e-74,0.387835118024664 +400,0,110,0.398290437409834,0.14343570419283,-3.02657225418411e-82,0.398290547409834 +400,0,120,0.407196130268457,0.134530011334207,2.75142910770929e-83,0.407196250268457 +400,0,130,0.414862153488721,0.126863988113943,5.35690654890671e-91,0.414862283488721 +400,0,140,0.421523581682945,0.120202559919719,-4.12069691331547e-92,0.421523721682945 +400,0,150,0.427361148827019,0.114364992775645,-9.25708673056568e-100,0.427361298827019 +400,0,160,0.432515669780438,0.109210471822226,6.17139031571224e-101,0.432515829780438 +400,0,170,0.43709823276256,0.104627908840104,1.57124659632959e-108,0.43709840276256 +400,0,180,0.44119749546095,0.100528646141714,-9.24262545921235e-110,0.44119767546095 +400,0,190,0.444884976534184,0.0968411650684797,-2.6300341248365e-117,0.444885166534184 +400,0,200,0.448218943002919,0.0935071985997444,1.38422819652212e-118,0.448219143002919 +400,0,210,0.451247301793979,0.0904788398086853,4.35350883813035e-126,0.451247511793979 +400,0,220,0.454009776139827,0.0877163654628367,-2.07309892305382e-127,0.454009996139827 +400,0,230,0.456539562135825,0.0851865794668385,-7.14102122713026e-135,0.456539792135825 +400,0,240,0.458864602979715,0.0828615386229493,3.10479090790003e-136,0.458864842979715 +400,0,250,0.461008578883786,0.080717562718878,1.16247828252341e-143,0.461008828883786 +400,0,260,0.462991683285727,0.0787344583169368,-4.64991150052341e-145,0.462991943285727 +400,0,270,0.464831236825032,0.0768949047776321,-1.88027319217195e-152,0.464831506825032 +400,0,280,0.466542176986772,0.0751839646158917,6.96397196286446e-154,0.466542456986772 +400,0,290,0.468137451605685,0.0735886899969789,3.02459714311403e-161,0.468137741605685 +400,0,300,0.46962833740204,0.0720978042006243,-1.04296404788728e-162,0.46962863740204 +400,0,310,0.471024699592046,0.0707014420106177,-4.84220957744239e-170,0.471025009592046 +400,0,320,0.47233520483365,0.0693909367690141,1.56200226604808e-171,0.47233552483365 +400,0,330,0.473567496954445,0.0681586446482188,7.71983781454779e-179,0.473567826954445 +400,0,340,0.474728342796368,0.0669977988062962,-2.33934340255108e-180,0.474728682796368 +400,0,350,0.475823753913602,0.0659023876890624,-1.22623759778336e-187,0.475824103913602 +400,0,360,0.476859088641302,0.0648670529613618,3.50353366395621e-189,0.476859448641302 +400,0,370,0.477839138116308,0.0638870034863555,1.94142516131204e-196,0.477839508116308 +400,0,380,0.478768199106456,0.0629579424962081,-5.24709114854839e-198,0.478768579106456 +400,0,390,0.479650135940711,0.0620760056619529,-3.06475584646932e-205,0.479650525940711 +400,0,400,0.480488433389875,0.0612377082127894,7.85834189049905e-207,0.480488833389875 +400,0,410,0.481286241998597,0.0604398996040666,4.82533507399056e-214,0.481286651998597 +400,0,420,0.482046417092563,0.0596797245101008,-1.17690993256546e-215,0.482046837092563 +400,0,430,0.48277155246378,0.0589545891388837,-7.57921835019235e-223,0.48277198246378 +400,0,440,0.483464009559751,0.0582621320429129,1.76260717639191e-224,0.483464449559751 +400,0,450,0.484125942859448,0.057600198743216,1.18790256424665e-231,0.484126392859448 +400,0,460,0.484759322003324,0.0569668195993403,-2.63978062695451e-233,0.484759782003324 +400,0,470,0.485365951150409,0.0563601904522547,-1.85814031413343e-240,0.485366421150409 +400,0,480,0.485947485958571,0.0557786556440934,3.9534853880281e-242,0.485947965958571 +400,0,490,0.486505448520789,0.0552206930818754,2.90127615722786e-249,0.486505938520789 +400,0,500,0.487041240538216,0.0546849010644475,-5.92096421199582e-251,0.487041740538216 +400,0,510,0.487556154967647,0.0541699866350174,-4.52246802742357e-258,0.487556664967647 +400,0,520,0.488051386345181,0.0536747552574827,8.86757216704983e-260,0.488051906345181 +400,0,530,0.488528039958028,0.0531981016446363,7.03871754724518e-267,0.488528569958028 +400,0,540,0.488987140011335,0.052739001591329,-1.32805794548559e-268,0.488987680011335 +400,0,550,0.489429636915998,0.0522965046866664,-1.0939379689506e-275,0.489430186915998 +400,0,560,0.489856413805667,0.0518697277969966,1.98897495591316e-277,0.489856973805667 +400,0,570,0.490268292376273,0.0514578492263906,1.69791990644622e-284,0.490268862376273 +400,0,580,0.490666038128683,0.0510601034739812,-2.97880176463542e-286,0.490666618128683 +400,0,590,0.49105036508437,0.050675776518294,-2.63212610639224e-293,0.49105095508437 +400,0,600,0.491421940034782,0.0503042015678819,4.46122253749779e-295,0.491422540034782 +400,-10,0,0,0.346540710962086,-9.99998805539803e-10,0 +400,-10,10,0.0506976196467263,0.29584309131536,-9.99998805539803e-10,0.0506976296467263 +400,-10,20,0.0960500244601531,0.250490686501933,-9.99998805539803e-10,0.0960500444601531 +400,-10,30,0.133474457095377,0.213066253866709,-9.99998805539803e-10,0.133474487095377 +400,-10,40,0.163096581674721,0.183444129287365,-9.99998805539803e-10,0.163096621674721 +400,-10,50,0.186259246249364,0.160281464712723,-9.99998805539803e-10,0.186259296249364 +400,-10,60,0.204452743250561,0.142087967711526,-9.99998805539803e-10,0.204452803250561 +400,-10,70,0.218917843439641,0.127622867522445,-9.99998805539803e-10,0.218917913439641 +400,-10,80,0.230590237930478,0.115950473031609,-9.99998805539803e-10,0.230590317930478 +400,-10,90,0.240151957904888,0.106388753057199,-9.99998805539803e-10,0.240152047904888 +400,-10,100,0.248096985839828,0.0984437251222589,-9.99998805539803e-10,0.248097085839828 +400,-10,110,0.254785288635082,0.0917554223270042,-9.99998805539803e-10,0.254785398635082 +400,-10,120,0.260482235667594,0.0860584752944928,-9.99998805539803e-10,0.260482355667594 +400,-10,130,0.265386169469169,0.0811545414929177,-9.99998805539803e-10,0.265386299469169 +400,-10,140,0.269647466617613,0.0768932443444732,-9.99998805539803e-10,0.269647606617613 +400,-10,150,0.273381742136257,0.0731589688258293,-9.99998805539803e-10,0.273381892136257 +400,-10,160,0.276679074900341,0.0698616360617456,-9.99998805539803e-10,0.276679234900341 +400,-10,170,0.279610527735818,0.0669301832262688,-9.99998805539803e-10,0.279610697735818 +400,-10,180,0.282232814719639,0.0643078962424477,-9.99998805539803e-10,0.282232994719639 +400,-10,190,0.284591686139426,0.0619490248226609,-9.99998805539803e-10,0.284591876139426 +400,-10,200,0.286724415246759,0.0598162957153277,-9.99998805539803e-10,0.286724615246759 +400,-10,210,0.288661647969915,0.0578790629921714,-9.99998805539803e-10,0.288661857969915 +400,-10,220,0.290428795150579,0.0561119158115078,-9.99998805539803e-10,0.290429015150579 +400,-10,230,0.292047092238922,0.0544936187231643,-9.99998805539803e-10,0.292047322238922 +400,-10,240,0.293534414421074,0.0530062965410123,-9.99998805539803e-10,0.293534654421074 +400,-10,250,0.294905909863189,0.0516348010988976,-9.99998805539803e-10,0.294906159863189 +400,-10,260,0.296174496251373,0.0503662147107133,-9.99998805539803e-10,0.296174756251373 +400,-10,270,0.297351253550693,0.0491894574113931,-9.99998805539803e-10,0.297351523550693 +400,-10,280,0.298445737228939,0.0480949737331475,-9.99998805539803e-10,0.298446017228939 +400,-10,290,0.299466229980096,0.0470744809819904,-9.99998805539803e-10,0.299466519980096 +400,-10,300,0.300419945490858,0.0461207654712279,-9.99998805539803e-10,0.300420245490858 +400,-10,310,0.301313194512687,0.0452275164493995,-9.99998805539803e-10,0.301313504512687 +400,-10,320,0.302151521082642,0.0443891898794442,-9.99998805539803e-10,0.302151841082642 +400,-10,330,0.302939814936046,0.0436008960260407,-9.99998805539803e-10,0.302940144936046 +400,-10,340,0.303682404802924,0.0428583061591623,-9.99998805539803e-10,0.303682744802924 +400,-10,350,0.304383136257823,0.0421575747042635,-9.99998805539803e-10,0.304383486257823 +400,-10,360,0.305045437012886,0.0414952739491999,-9.99998805539803e-10,0.305045797012886 +400,-10,370,0.305672371945068,0.0408683390170183,-9.99998805539803e-10,0.305672741945068 +400,-10,380,0.30626668968484,0.0402740212772461,-9.99998805539803e-10,0.30626706968484 +400,-10,390,0.30683086223273,0.0397098487293563,-9.99998805539803e-10,0.30683125223273 +400,-10,400,0.307367118786958,0.0391735921751288,-9.99998805539803e-10,0.307367518786958 +400,-10,410,0.307877474742202,0.0386632362198845,-9.99998805539803e-10,0.307877884742202 +400,-10,420,0.308363756642387,0.0381769543196992,-9.99998805539803e-10,0.308364176642387 +400,-10,430,0.30882762372907,0.037713087233016,-9.99998805539803e-10,0.30882805372907 +400,-10,440,0.309270586613672,0.0372701243484143,-9.99998805539803e-10,0.309271026613672 +400,-10,450,0.309694023510418,0.0368466874516683,-9.99998805539803e-10,0.309694473510418 +400,-10,460,0.310099194392846,0.0364415165692407,-9.99998805539803e-10,0.310099654392846 +400,-10,470,0.310487253376485,0.0360534575856011,-9.99998805539803e-10,0.310487723376485 +400,-10,480,0.310859259581084,0.0356814513810025,-9.99998805539803e-10,0.310859739581084 +400,-10,490,0.311216186685302,0.0353245242767848,-9.99998805539803e-10,0.311216676685302 +400,-10,500,0.31155893135348,0.0349817796086062,-9.99998805539803e-10,0.31155943135348 +400,-10,510,0.311888320686495,0.0346523902755911,-9.99998805539803e-10,0.311888830686495 +400,-10,520,0.31220511882578,0.0343355921363064,-9.99998805539803e-10,0.31220563882578 +400,-10,530,0.312510032820496,0.0340306781415899,-9.99998805539803e-10,0.312510562820496 +400,-10,540,0.312803717851839,0.033736993110247,-9.99998805539803e-10,0.312804257851839 +400,-10,550,0.313086781895023,0.0334539290670634,-9.99998805539803e-10,0.313087331895023 +400,-10,560,0.313359789888196,0.0331809210738903,-9.99998805539803e-10,0.313360349888196 +400,-10,570,0.313623267467967,0.0329174434941198,-9.99998805539803e-10,0.313623837467967 +400,-10,580,0.313877704323117,0.0326630066389695,-9.99998805539803e-10,0.313878284323117 +400,-10,590,0.314123557211205,0.0324171537508816,-9.99998805539803e-10,0.314124147211205 +400,-10,600,0.31436125267687,0.0321794582852159,-9.99998805539803e-10,0.314361852676871 +400,-20,0,0,0.179876566735198,-9.99997784134621e-10,0 +400,-20,10,0.026315274007439,0.153561292727759,-9.99997784134621e-10,0.026315284007439 +400,-20,20,0.0498560431377839,0.130020523597414,-9.99997784134621e-10,0.0498560631377839 +400,-20,30,0.0692816928276793,0.110594873907518,-9.99997784134621e-10,0.0692817228276793 +400,-20,40,0.0846574507117728,0.0952191160234248,-9.99997784134621e-10,0.0846574907117728 +400,-20,50,0.0966803399375687,0.0831962267976289,-9.99997784134621e-10,0.0966803899375687 +400,-20,60,0.106123916619791,0.0737526501154062,-9.99997784134621e-10,0.106123976619791 +400,-20,70,0.113632219330514,0.0662443474046833,-9.99997784134621e-10,0.113632289330514 +400,-20,80,0.119690930991726,0.0601856357434719,-9.99997784134621e-10,0.119691010991726 +400,-20,90,0.124654068962746,0.0552224977724517,-9.99997784134621e-10,0.124654158962746 +400,-20,100,0.128778041420656,0.0510985253145417,-9.99997784134621e-10,0.128778141420656 +400,-20,110,0.132249693974135,0.047626872761063,-9.99997784134621e-10,0.132249803974135 +400,-20,120,0.135206770129012,0.0446697966061851,-9.99997784134621e-10,0.135206890129012 +400,-20,130,0.137752222215364,0.0421243445198341,-9.99997784134621e-10,0.137752352215364 +400,-20,140,0.139964105196652,0.0399124615385455,-9.99997784134621e-10,0.139964245196652 +400,-20,150,0.141902430588991,0.0379741361462066,-9.99997784134621e-10,0.141902580588991 +400,-20,160,0.143613955031069,0.0362626117041282,-9.99997784134621e-10,0.143614115031069 +400,-20,170,0.145135564628187,0.034741002107011,-9.99997784134621e-10,0.145135734628187 +400,-20,180,0.146496697576563,0.033379869158635,-9.99997784134621e-10,0.146496877576563 +400,-20,190,0.147721101171693,0.0321554655635046,-9.99997784134621e-10,0.147721291171693 +400,-20,200,0.14882812259073,0.0310484441444677,-9.99997784134621e-10,0.14882832259073 +400,-20,210,0.149833669010488,0.0300428977247093,-9.99997784134621e-10,0.149833879010488 +400,-20,220,0.150750930266434,0.0291256364687632,-9.99997784134621e-10,0.150751150266434 +400,-20,230,0.151590928901517,0.0282856378336803,-9.99997784134621e-10,0.151591158901517 +400,-20,240,0.152362943268925,0.0275136234662721,-9.99997784134621e-10,0.152363183268926 +400,-20,250,0.153074836225847,0.0268017305093503,-9.99997784134621e-10,0.153075086225847 +400,-20,260,0.153733312869126,0.026143253866072,-9.99997784134621e-10,0.153733572869126 +400,-20,270,0.154344124402047,0.025532442333151,-9.99997784134621e-10,0.154344394402047 +400,-20,280,0.154912230717302,0.0249643360178959,-9.99997784134621e-10,0.154912510717302 +400,-20,290,0.155441931057405,0.0244346356777925,-9.99997784134621e-10,0.155442221057405 +400,-20,300,0.155936969782413,0.0239395969527845,-9.99997784134621e-10,0.155937269782413 +400,-20,310,0.156400622571836,0.0234759441633618,-9.99997784134621e-10,0.156400932571836 +400,-20,320,0.156835767131873,0.023040799603325,-9.99997784134621e-10,0.156836087131873 +400,-20,330,0.1572449415447,0.0226316251904976,-9.99997784134621e-10,0.1572452715447 +400,-20,340,0.157630392695232,0.0222461740399659,-9.99997784134621e-10,0.157630732695232 +400,-20,350,0.157994116680101,0.0218824500550966,-9.99997784134621e-10,0.157994466680101 +400,-20,360,0.158337892698902,0.0215386740362958,-9.99997784134621e-10,0.158338252698902 +400,-20,370,0.158663311616795,0.0212132551184026,-9.99997784134621e-10,0.158663681616795 +400,-20,380,0.158971800146997,0.0209047665882001,-9.99997784134621e-10,0.158972180146997 +400,-20,390,0.159264641414273,0.0206119253209247,-9.99997784134621e-10,0.159265031414273 +400,-20,400,0.159542992513617,0.0203335742215808,-9.99997784134621e-10,0.159543392513617 +400,-20,410,0.159807899562452,0.0200686671727456,-9.99997784134621e-10,0.159808309562452 +400,-20,420,0.160060310652704,0.0198162560824932,-9.99997784134621e-10,0.160060730652704 +400,-20,430,0.16030108703578,0.0195754796994172,-9.99997784134621e-10,0.16030151703578 +400,-20,440,0.160531012814636,0.0193455539205612,-9.99997784134621e-10,0.160531452814636 +400,-20,450,0.160750803369703,0.0191257633654942,-9.99997784134621e-10,0.160751253369703 +400,-20,460,0.16096111270701,0.0189154540281877,-9.99997784134621e-10,0.16096157270701 +400,-20,470,0.161162539885577,0.0187140268496203,-9.99997784134621e-10,0.161163009885577 +400,-20,480,0.161355634655602,0.0185209320795957,-9.99997784134621e-10,0.161356114655602 +400,-20,490,0.161540902417947,0.0183356643172506,-9.99997784134621e-10,0.161541392417947 +400,-20,500,0.161718808598169,0.0181577581370284,-9.99997784134621e-10,0.161719308598169 +400,-20,510,0.161889782513983,0.017986784221215,-9.99997784134621e-10,0.161890292513983 +400,-20,520,0.162054220803165,0.0178223459320326,-9.99997784134621e-10,0.162054740803165 +400,-20,530,0.162212490468991,0.0176640762662065,-9.99997784134621e-10,0.162213020468991 +400,-20,540,0.162364931591977,0.0175116351432204,-9.99997784134621e-10,0.162365471591977 +400,-20,550,0.162511859749747,0.0173647069854501,-9.99997784134621e-10,0.162512409749747 +400,-20,560,0.162653568180964,0.0172229985542332,-9.99997784134621e-10,0.162654128180964 +400,-20,570,0.162790329724303,0.0170862370108946,-9.99997784134621e-10,0.162790899724303 +400,-20,580,0.162922398559241,0.0169541681759567,-9.99997784134621e-10,0.162922978559241 +400,-20,590,0.163050011771866,0.0168265549633318,-9.99997784134621e-10,0.163050601771866 +400,-20,600,0.163173390765848,0.0167031759693493,-9.99997784134621e-10,0.163173990765848 +400,-30,0,0,0.0695972748520387,-9.99996691716798e-10,0 +400,-30,10,0.0101818229641808,0.0594154518878578,-9.99996691716798e-10,0.0101818329641808 +400,-30,20,0.0192901432369649,0.0503071316150737,-9.99996691716798e-10,0.0192901632369649 +400,-30,30,0.0268062544524817,0.042791020399557,-9.99996691716798e-10,0.0268062844524817 +400,-30,40,0.032755394281757,0.0368418805702817,-9.99996691716798e-10,0.032755434281757 +400,-30,50,0.0374072527264156,0.0321900221256231,-9.99996691716798e-10,0.0374073027264156 +400,-30,60,0.0410611316827919,0.0285361431692467,-9.99996691716798e-10,0.0410611916827919 +400,-30,70,0.0439662205274092,0.0256310543246294,-9.99996691716798e-10,0.0439662905274092 +400,-30,80,0.0463104381672497,0.023286836684789,-9.99996691716798e-10,0.0463105181672497 +400,-30,90,0.0482307598843424,0.0213665149676962,-9.99996691716798e-10,0.0482308498843424 +400,-30,100,0.0498263943232514,0.0197708805287872,-9.99996691716798e-10,0.0498264943232514 +400,-30,110,0.0511696351985953,0.0184276396534434,-9.99996691716798e-10,0.0511697451985953 +400,-30,120,0.0523137777939586,0.0172834970580801,-9.99996691716798e-10,0.0523138977939586 +400,-30,130,0.0532986561007436,0.016298618751295,-9.99996691716798e-10,0.0532987861007437 +400,-30,140,0.0541544708996547,0.015442803952384,-9.99996691716798e-10,0.0541546108996547 +400,-30,150,0.0549044416575571,0.0146928331944815,-9.99996691716798e-10,0.0549045916575571 +400,-30,160,0.0555666593058775,0.0140306155461612,-9.99996691716798e-10,0.0555668193058775 +400,-30,170,0.0561553957003405,0.0134418791516982,-9.99996691716798e-10,0.0561555657003405 +400,-30,180,0.0566820409751402,0.0129152338768985,-9.99996691716798e-10,0.0566822209751402 +400,-30,190,0.0571557833590804,0.0124414914929582,-9.99996691716798e-10,0.0571559733590804 +400,-30,200,0.0575841086010294,0.0120131662510092,-9.99996691716798e-10,0.0575843086010294 +400,-30,210,0.057973171455756,0.0116241033962827,-9.99996691716798e-10,0.057973381455756 +400,-30,220,0.0583280752928699,0.0112691995591687,-9.99996691716798e-10,0.0583282952928699 +400,-30,230,0.0586530849199842,0.0109441899320545,-9.99996691716798e-10,0.0586533149199842 +400,-30,240,0.0589517902883012,0.0106454845637375,-9.99996691716798e-10,0.0589520302883012 +400,-30,250,0.0592272336697676,0.0103700411822711,-9.99996691716798e-10,0.0592274836697676 +400,-30,260,0.0594820093793427,0.010115265472696,-9.99996691716798e-10,0.0594822693793427 +400,-30,270,0.059718342654494,0.00987893219754468,-9.99996691716798e-10,0.059718612654494 +400,-30,280,0.0599381525612852,0.00965912229075347,-9.99996691716798e-10,0.0599384325612852 +400,-30,290,0.0601431025490936,0.00945417230294508,-9.99996691716798e-10,0.0601433925490936 +400,-30,300,0.0603346413739229,0.00926263347811577,-9.99996691716798e-10,0.0603349413739229 +400,-30,310,0.0605140364513754,0.00908323840066322,-9.99996691716798e-10,0.0605143464513754 +400,-30,320,0.0606824012144734,0.00891487363756522,-9.99996691716798e-10,0.0606827212144734 +400,-30,330,0.0608407176899813,0.00875655716205737,-9.99996691716798e-10,0.0608410476899813 +400,-30,340,0.0609898552355354,0.00860741961650324,-9.99996691716798e-10,0.0609901952355354 +400,-30,350,0.0611305861745604,0.0084666886774783,-9.99996691716798e-10,0.0611309361745604 +400,-30,360,0.0612635989093611,0.00833367594267754,-9.99996691716798e-10,0.0612639589093611 +400,-30,370,0.0613895089724768,0.00820776587956185,-9.99996691716798e-10,0.0613898789724768 +400,-30,380,0.0615088683832933,0.00808840646874534,-9.99996691716798e-10,0.0615092483832933 +400,-30,390,0.0616221736044041,0.00797510124763453,-9.99996691716798e-10,0.0616225636044041 +400,-30,400,0.0617298723353618,0.00786740251667687,-9.99996691716798e-10,0.0617302723353618 +400,-30,410,0.0618323693366258,0.00776490551541285,-9.99996691716798e-10,0.0618327793366258 +400,-30,420,0.0619300314409391,0.00766724341109961,-9.99996691716798e-10,0.0619304514409391 +400,-30,430,0.062023191880984,0.0075740829710547,-9.99996691716798e-10,0.062023621880984 +400,-30,440,0.0621121540394077,0.00748512081263098,-9.99996691716798e-10,0.0621125940394077 +400,-30,450,0.0621971947089542,0.0074000801430845,-9.99996691716798e-10,0.0621976447089542 +400,-30,460,0.0622785669355767,0.00731870791646192,-9.99996691716798e-10,0.0622790269355767 +400,-30,470,0.0623565025053059,0.00724077234673279,-9.99996691716798e-10,0.0623569725053059 +400,-30,480,0.0624312141257566,0.0071660607262821,-9.99996691716798e-10,0.0624316941257566 +400,-30,490,0.0625028973450396,0.0070943775069991,-9.99996691716798e-10,0.0625033873450396 +400,-30,500,0.0625717322441458,0.00702554260789282,-9.99996691716798e-10,0.0625722322441458 +400,-30,510,0.0626378849333336,0.00695938991870505,-9.99996691716798e-10,0.0626383949333336 +400,-30,520,0.062701508878443,0.00689576597359569,-9.99996691716798e-10,0.062702028878443 +400,-30,530,0.0627627460792255,0.00683452877281312,-9.99996691716798e-10,0.0627632760792255 +400,-30,540,0.0628217281185639,0.00677554673347479,-9.99996691716798e-10,0.0628222681185639 +400,-30,550,0.0628785770987587,0.00671869775327998,-9.99996691716798e-10,0.0628791270987587 +400,-30,560,0.06293340647879,0.00666386837324863,-9.99996691716798e-10,0.06293396647879 +400,-30,570,0.0629863218245389,0.00661095302749972,-9.99996691716798e-10,0.062986891824539 +400,-30,580,0.0630374214823287,0.00655985336970995,-9.99996691716798e-10,0.0630380014823287 +400,-30,590,0.0630867971847618,0.00651047766727684,-9.99996691716798e-10,0.0630873871847618 +400,-30,600,0.0631345345966494,0.00646274025538925,-9.99996691716798e-10,0.0631351345966494 +400,-40,0,0,0.0207159399361903,-9.99995592110281e-10,0 +400,-40,10,0.00303066511462288,0.0176852748215675,-9.99995592110281e-10,0.00303067511462288 +400,-40,20,0.00574179735495446,0.0149741425812359,-9.99995592110281e-10,0.00574181735495446 +400,-40,30,0.00797900145274982,0.0127369384834405,-9.99995592110281e-10,0.00797903145274982 +400,-40,40,0.00974978951359377,0.0109661504225966,-9.99995592110281e-10,0.00974982951359377 +400,-40,50,0.0111344359718938,0.00958150396429655,-9.99995592110281e-10,0.0111344859718938 +400,-40,60,0.0122220293748729,0.00849391056131744,-9.99995592110281e-10,0.0122220893748729 +400,-40,70,0.0130867420542462,0.0076291978819441,-9.99995592110281e-10,0.0130868120542462 +400,-40,80,0.0137845089126115,0.00693143102357881,-9.99995592110281e-10,0.0137845889126115 +400,-40,90,0.0143561012548983,0.00635983868129201,-9.99995592110281e-10,0.0143561912548983 +400,-40,100,0.0148310489775905,0.00588489095859985,-9.99995592110281e-10,0.0148311489775905 +400,-40,110,0.0152308706279729,0.00548506930821745,-9.99995592110281e-10,0.0152309806279729 +400,-40,120,0.0155714297854165,0.00514451015077383,-9.99995592110281e-10,0.0155715497854165 +400,-40,130,0.0158645832155068,0.00485135672068348,-9.99995592110281e-10,0.0158647132155068 +400,-40,140,0.0161193203156079,0.00459661962058244,-9.99995592110281e-10,0.0161194603156079 +400,-40,150,0.0163425524638154,0.00437338747237496,-9.99995592110281e-10,0.0163427024638154 +400,-40,160,0.0165396645067287,0.00417627542946158,-9.99995592110281e-10,0.0165398245067287 +400,-40,170,0.0167149045259949,0.0040010354101954,-9.99995592110281e-10,0.0167150745259949 +400,-40,180,0.0168716628459669,0.00384427709022348,-9.99995592110281e-10,0.0168718428459669 +400,-40,190,0.0170126743840163,0.00370326555217407,-9.99995592110281e-10,0.0170128643840163 +400,-40,200,0.0171401673067526,0.00357577262943775,-9.99995592110281e-10,0.0171403673067526 +400,-40,210,0.0172559736044424,0.0034599663317479,-9.99995592110281e-10,0.0172561836044424 +400,-40,220,0.0173616123178605,0.00335432761832978,-9.99995592110281e-10,0.0173618323178605 +400,-40,230,0.0174583528860552,0.00325758705013517,-9.99995592110281e-10,0.0174585828860552 +400,-40,240,0.0175472638740475,0.00316867606214278,-9.99995592110281e-10,0.0175475038740475 +400,-40,250,0.0176292508276806,0.00308668910850975,-9.99995592110281e-10,0.0176295008276806 +400,-40,260,0.0177050859563976,0.00301085397979274,-9.99995592110281e-10,0.0177053459563976 +400,-40,270,0.0177754316120769,0.00294050832411346,-9.99995592110281e-10,0.0177757016120769 +400,-40,280,0.0178408590133098,0.00287508092288049,-9.99995592110281e-10,0.0178411390133098 +400,-40,290,0.0179018632932387,0.0028140766429516,-9.99995592110281e-10,0.0179021532932387 +400,-40,300,0.0179588756805635,0.00275706425562683,-9.99995592110281e-10,0.0179591756805635 +400,-40,310,0.0180122734272031,0.00270366650898724,-9.99995592110281e-10,0.0180125834272031 +400,-40,320,0.0180623879514732,0.00265355198471709,-9.99995592110281e-10,0.0180627079514732 +400,-40,330,0.0181095115580297,0.00260642837816062,-9.99995592110281e-10,0.0181098415580297 +400,-40,340,0.0181539030150587,0.00256203692113161,-9.99995592110281e-10,0.0181542430150587 +400,-40,350,0.0181957922080796,0.00252014772811073,-9.99995592110281e-10,0.0181961422080796 +400,-40,360,0.0182353840431154,0.00248055589307496,-9.99995592110281e-10,0.0182357440431154 +400,-40,370,0.0182728617361775,0.00244307820001281,-9.99995592110281e-10,0.0182732317361775 +400,-40,380,0.0183083895983036,0.00240755033788674,-9.99995592110281e-10,0.0183087695983036 +400,-40,390,0.0183421154038036,0.00237382453238676,-9.99995592110281e-10,0.0183425054038036 +400,-40,400,0.0183741724124503,0.00234176752374,-9.99995592110281e-10,0.0183745724124503 +400,-40,410,0.0184046811030038,0.00231125883318654,-9.99995592110281e-10,0.0184050911030038 +400,-40,420,0.0184337506648695,0.00228218927132084,-9.99995592110281e-10,0.0184341706648695 +400,-40,430,0.0184614802862448,0.00225445964994555,-9.99995592110281e-10,0.0184619102862448 +400,-40,440,0.0184879602703306,0.00222797966585971,-9.99995592110281e-10,0.0184884002703306 +400,-40,450,0.0185132730057244,0.00220266693046592,-9.99995592110281e-10,0.0185137230057244 +400,-40,460,0.0185374938126852,0.00217844612350515,-9.99995592110281e-10,0.0185379538126852 +400,-40,470,0.0185606916833609,0.00215524825282941,-9.99995592110281e-10,0.0185611616833609 +400,-40,480,0.018582929931124,0.00213301000506637,-9.99995592110281e-10,0.018583409931124 +400,-40,490,0.0186042667617435,0.00211167317444683,-9.99995592110281e-10,0.0186047567617435 +400,-40,500,0.0186247557771314,0.00209118415905893,-9.99995592110281e-10,0.0186252557771314 +400,-40,510,0.0186444464207485,0.00207149351544185,-9.99995592110281e-10,0.0186449564207485 +400,-40,520,0.018663384372388,0.00205255556380235,-9.99995592110281e-10,0.018663904372388 +400,-40,530,0.0186816118989107,0.00203432803727967,-9.99995592110281e-10,0.0186821418989107 +400,-40,540,0.0186991681665497,0.00201677176964067,-9.99995592110281e-10,0.0186997081665497 +400,-40,550,0.0187160895196005,0.00199985041658981,-9.99995592110281e-10,0.0187166395196005 +400,-40,560,0.0187324097296358,0.00198353020655454,-9.99995592110281e-10,0.0187329697296358 +400,-40,570,0.0187481602188118,0.00196777971737852,-9.99995592110281e-10,0.0187487302188118 +400,-40,580,0.0187633702603513,0.00195256967583906,-9.99995592110281e-10,0.0187639502603513 +400,-40,590,0.0187780671588733,0.00193787277731701,-9.99995592110281e-10,0.0187786571588733 +400,-40,600,0.0187922764128919,0.00192366352329845,-9.99995592110281e-10,0.0187928764128919 +400,-46,0,0,0.00932397763697935,-9.99994929570813e-10,0 +400,-46,10,0.00136406331747232,0.00795991431950702,-9.99994929570813e-10,0.00136407331747232 +400,-46,20,0.00258430900545987,0.00673966863151947,-9.99994929570813e-10,0.00258432900545987 +400,-46,30,0.00359124574313409,0.00573273189384525,-9.99994929570813e-10,0.00359127574313409 +400,-46,40,0.00438825463242398,0.00493572300455537,-9.99994929570813e-10,0.00438829463242398 +400,-46,50,0.00501146616190702,0.00431251147507233,-9.99994929570813e-10,0.00501151616190702 +400,-46,60,0.00550097793876769,0.00382299969821166,-9.99994929570813e-10,0.00550103793876769 +400,-46,70,0.00589017397378826,0.00343380366319109,-9.99994929570813e-10,0.00589024397378826 +400,-46,80,0.00620422984589751,0.00311974779108183,-9.99994929570813e-10,0.00620430984589751 +400,-46,90,0.00646149619409928,0.00286248144288007,-9.99994929570813e-10,0.00646158619409928 +400,-46,100,0.00667526404430334,0.002648713592676,-9.99994929570813e-10,0.00667536404430334 +400,-46,110,0.00685521861737261,0.00246875901960674,-9.99994929570813e-10,0.00685532861737261 +400,-46,120,0.00700849990597712,0.00231547773100223,-9.99994929570813e-10,0.00700861990597712 +400,-46,130,0.00714044448753053,0.00218353314944882,-9.99994929570813e-10,0.00714057448753053 +400,-46,140,0.00725509837395649,0.00206887926302285,-9.99994929570813e-10,0.00725523837395649 +400,-46,150,0.00735557228748166,0.00196840534949768,-9.99994929570813e-10,0.00735572228748166 +400,-46,160,0.00744428987817582,0.00187968775880353,-9.99994929570813e-10,0.00744444987817582 +400,-46,170,0.007523163152851,0.00180081448412835,-9.99994929570813e-10,0.007523333152851 +400,-46,180,0.00759371805281358,0.00173025958416577,-9.99994929570813e-10,0.00759389805281358 +400,-46,190,0.00765718552913271,0.00166679210784664,-9.99994929570813e-10,0.00765737552913271 +400,-46,200,0.00771456845088901,0.00160940918609034,-9.99994929570813e-10,0.00771476845088901 +400,-46,210,0.00776669137329598,0.00155728626368337,-9.99994929570813e-10,0.00776690137329598 +400,-46,220,0.00781423799703324,0.0015097396399461,-9.99994929570813e-10,0.00781445799703324 +400,-46,230,0.00785777968025947,0.00146619795671987,-9.99994929570813e-10,0.00785800968025947 +400,-46,240,0.00789779737032212,0.00142618026665723,-9.99994929570813e-10,0.00789803737032212 +400,-46,250,0.00793469864173694,0.00138927899524241,-9.99994929570813e-10,0.00793494864173694 +400,-46,260,0.00796883105602434,0.00135514658095501,-9.99994929570813e-10,0.00796909105602434 +400,-46,270,0.00800049272923021,0.00132348490774914,-9.99994929570813e-10,0.00800076272923021 +400,-46,280,0.00802994075948233,0.00129403687749702,-9.99994929570813e-10,0.00803022075948233 +400,-46,290,0.00805739799982812,0.00126657963715123,-9.99994929570813e-10,0.00805768799982812 +400,-46,300,0.00808305854074899,0.00124091909623036,-9.99994929570813e-10,0.00808335854074899 +400,-46,310,0.00810709217847271,0.00121688545850664,-9.99994929570813e-10,0.00810740217847271 +400,-46,320,0.0081296480801128,0.00119432955686655,-9.99994929570813e-10,0.0081299680801128 +400,-46,330,0.00815085780822843,0.00117311982875092,-9.99994929570813e-10,0.00815118780822843 +400,-46,340,0.00817083783104594,0.0011531398059334,-9.99994929570813e-10,0.00817117783104594 +400,-46,350,0.00818969161707549,0.00113428601990386,-9.99994929570813e-10,0.00819004161707549 +400,-46,360,0.00820751139187777,0.00111646624510158,-9.99994929570813e-10,0.00820787139187777 +400,-46,370,0.00822437961861879,0.00109959801836056,-9.99994929570813e-10,0.00822474961861879 +400,-46,380,0.00824037025157938,0.00108360738539997,-9.99994929570813e-10,0.00824075025157938 +400,-46,390,0.00825554980207236,0.00106842783490699,-9.99994929570813e-10,0.00825593980207236 +400,-46,400,0.00826997824860443,0.00105399938837492,-9.99994929570813e-10,0.00827037824860443 +400,-46,410,0.00828370981711303,0.00104026781986632,-9.99994929570813e-10,0.00828411981711303 +400,-46,420,0.00829679365234269,0.00102718398463666,-9.99994929570813e-10,0.00829721365234269 +400,-46,430,0.00830927439762297,0.00101470323935638,-9.99994929570813e-10,0.00830970439762297 +400,-46,440,0.00832119269726104,0.00100278493971831,-9.99994929570813e-10,0.00832163269726104 +400,-46,450,0.00833258563330302,0.000991392003676329,-9.99994929570813e-10,0.00833303563330302 +400,-46,460,0.00834348710642697,0.000980490530552373,-9.99994929570813e-10,0.00834394710642698 +400,-46,470,0.00835392816910974,0.000970049467869608,-9.99994929570813e-10,0.00835439816910974 +400,-46,480,0.00836393731788439,0.000960040319094952,-9.99994929570813e-10,0.00836441731788439 +400,-46,490,0.00837354075041767,0.000950436886561677,-9.99994929570813e-10,0.00837403075041767 +400,-46,500,0.00838276259223943,0.000941215044739922,-9.99994929570813e-10,0.00838326259223943 +400,-46,510,0.00839162509721429,0.000932352539765063,-9.99994929570813e-10,0.00839213509721429 +400,-46,520,0.0084001488252286,0.000923828811750751,-9.99994929570813e-10,0.0084006688252286 +400,-46,530,0.00840835280005177,0.000915624836927574,-9.99994929570813e-10,0.00840888280005177 +400,-46,540,0.00841625464990068,0.000907722987078665,-9.99994929570813e-10,0.00841679464990068 +400,-46,550,0.00842387073287445,0.000900106904104894,-9.99994929570813e-10,0.00842442073287445 +400,-46,560,0.00843121624912273,0.000892761387856613,-9.99994929570813e-10,0.00843177624912273 +400,-46,570,0.00843830534135321,0.000885672295626137,-9.99994929570813e-10,0.00843887534135321 +400,-46,580,0.00844515118506623,0.000878826451913117,-9.99994929570813e-10,0.00844573118506623 +400,-46,590,0.00845176606971904,0.000872211567260303,-9.99994929570813e-10,0.00845235606971904 +400,-46,600,0.00845816147186422,0.000865816165115126,-9.99994929570813e-10,0.00845876147186422 +400,-50,0,0,0.00539714543401956,-9.99994492503764e-10,0 +400,-50,10,0.000789582342670051,0.00460756309134951,-9.99994492503764e-10,0.000789592342670051 +400,-50,20,0.00149591645239424,0.00390122898162532,-9.99994492503764e-10,0.00149593645239424 +400,-50,30,0.00207877756893437,0.00331836786508519,-9.99994492503764e-10,0.00207880756893437 +400,-50,40,0.00254012282899201,0.00285702260502755,-9.99994492503764e-10,0.00254016282899201 +400,-50,50,0.002900866214673,0.00249627921934656,-9.99994492503764e-10,0.002900916214673 +400,-50,60,0.00318421805808629,0.00221292737593327,-9.99994492503764e-10,0.00318427805808629 +400,-50,70,0.00340950255416003,0.00198764287985952,-9.99994492503764e-10,0.00340957255416003 +400,-50,80,0.00359129248139656,0.00180585295262299,-9.99994492503764e-10,0.00359137248139656 +400,-50,90,0.00374021003038522,0.00165693540363433,-9.99994492503764e-10,0.00374030003038522 +400,-50,100,0.00386394865585053,0.00153319677816903,-9.99994492503764e-10,0.00386404865585053 +400,-50,110,0.003968114607356,0.00142903082666356,-9.99994492503764e-10,0.003968224607356 +400,-50,120,0.00405684083977761,0.00134030459424195,-9.99994492503764e-10,0.00405696083977761 +400,-50,130,0.00413321640861748,0.00126392902540207,-9.99994492503764e-10,0.00413334640861748 +400,-50,140,0.00419958333094496,0.0011975621030746,-9.99994492503764e-10,0.00419972333094496 +400,-50,150,0.00425774223530245,0.00113940319871711,-9.99994492503764e-10,0.00425789223530245 +400,-50,160,0.00430909604138979,0.00108804939262977,-9.99994492503764e-10,0.00430925604138979 +400,-50,170,0.00435475150634833,0.00104239392767123,-9.99994492503764e-10,0.00435492150634833 +400,-50,180,0.00439559191491714,0.00100155351910241,-9.99994492503764e-10,0.00439577191491714 +400,-50,190,0.00443232979797105,0.00096481563604851,-9.99994492503764e-10,0.00443251979797105 +400,-50,200,0.00446554566208031,0.000931599771939248,-9.99994492503764e-10,0.00446574566208031 +400,-50,210,0.00449571679757948,0.000901428636440076,-9.99994492503764e-10,0.00449592679757948 +400,-50,220,0.00452323896174565,0.000873906472273909,-9.99994492503764e-10,0.00452345896174565 +400,-50,230,0.00454844288285781,0.000848702551161749,-9.99994492503764e-10,0.00454867288285781 +400,-50,240,0.00457160695527525,0.000825538478744307,-9.99994492503764e-10,0.00457184695527525 +400,-50,250,0.00459296710180071,0.000804178332218845,-9.99994492503764e-10,0.00459321710180071 +400,-50,260,0.00461272450696572,0.000784420927053835,-9.99994492503764e-10,0.00461298450696572 +400,-50,270,0.00463105173399582,0.000766093700023734,-9.99994492503764e-10,0.00463132173399582 +400,-50,280,0.00464809760306631,0.000749047830953249,-9.99994492503764e-10,0.00464837760306631 +400,-50,290,0.00466399111173104,0.000733154322288519,-9.99994492503764e-10,0.00466428111173104 +400,-50,300,0.0046788446084529,0.000718300825566662,-9.99994492503764e-10,0.0046791446084529 +400,-50,310,0.00469275637906772,0.000704389054951834,-9.99994492503764e-10,0.00469306637906772 +400,-50,320,0.00470581276833492,0.00069133266568464,-9.99994492503764e-10,0.00470613276833492 +400,-50,330,0.00471808993069126,0.000679055503328301,-9.99994492503764e-10,0.00471841993069126 +400,-50,340,0.00472965528328214,0.000667490150737418,-9.99994492503764e-10,0.00472999528328214 +400,-50,350,0.00474056871842164,0.000656576715597918,-9.99994492503764e-10,0.00474091871842164 +400,-50,360,0.00475088362048961,0.000646261813529947,-9.99994492503764e-10,0.00475124362048961 +400,-50,370,0.00476064772294458,0.000636497711074979,-9.99994492503764e-10,0.00476101772294458 +400,-50,380,0.0047699038339125,0.000627241600107054,-9.99994492503764e-10,0.0047702838339125 +400,-50,390,0.00477869045318846,0.0006184549808311,-9.99994492503764e-10,0.00477908045318846 +400,-50,400,0.00478704229908003,0.000610103134939525,-9.99994492503764e-10,0.00478744229908003 +400,-50,410,0.00479499076004419,0.000602154673975373,-9.99994492503764e-10,0.00479540076004419 +400,-50,420,0.0048025642833106,0.000594581150708958,-9.99994492503764e-10,0.0048029842833106 +400,-50,430,0.00480978871048377,0.000587356723535788,-9.99994492503764e-10,0.00481021871048377 +400,-50,440,0.0048166875683508,0.000580457865668755,-9.99994492503764e-10,0.0048171275683508 +400,-50,450,0.0048232823216989,0.00057386311232066,-9.99994492503764e-10,0.0048237323216989 +400,-50,460,0.00482959259379369,0.000567552840225873,-9.99994492503764e-10,0.00483005259379369 +400,-50,470,0.00483563635923142,0.000561509074788137,-9.99994492503764e-10,0.00483610635923142 +400,-50,480,0.00484143011311102,0.000555715320908537,-9.99994492503764e-10,0.00484191011311102 +400,-50,490,0.00484698901984223,0.000550156414177324,-9.99994492503764e-10,0.00484747901984223 +400,-50,500,0.00485232704438705,0.000544818389632505,-9.99994492503764e-10,0.00485282704438705 +400,-50,510,0.00485745706830188,0.000539688365717677,-9.99994492503764e-10,0.00485796706830188 +400,-50,520,0.00486239099259089,0.000534754441428668,-9.99994492503764e-10,0.00486291099259089 +400,-50,530,0.00486713982908339,0.00053000560493617,-9.99994492503764e-10,0.00486766982908339 +400,-50,540,0.00487171378179893,0.000525431652220624,-9.99994492503764e-10,0.00487225378179893 +400,-50,550,0.00487612231955475,0.000521023114464809,-9.99994492503764e-10,0.00487667231955475 +400,-50,560,0.00488037424089384,0.000516771193125713,-9.99994492503764e-10,0.00488093424089384 +400,-50,570,0.00488447773226338,0.00051266770175618,-9.99994492503764e-10,0.00488504773226338 +400,-50,580,0.00488844042024658,0.000508705013772975,-9.99994492503764e-10,0.00488902042024658 +400,-50,590,0.00489226941854436,0.000504876015475198,-9.99994492503764e-10,0.00489285941854436 +400,-50,600,0.00489597137031113,0.000501174063708426,-9.99994492503764e-10,0.00489657137031113 +400,-60,0,0,0.00134416916587979,-9.99993385958353e-10,0 +400,-60,10,0.000196646959381597,0.0011475222064982,-9.99993385958353e-10,0.000196656959381597 +400,-60,20,0.000372560790629482,0.00097160837525031,-9.99993385958353e-10,0.000372580790629482 +400,-60,30,0.0005177234419646,0.000826445723915192,-9.99993385958353e-10,0.0005177534419646 +400,-60,40,0.000632622341943368,0.000711546823936424,-9.99993385958353e-10,0.000632662341943368 +400,-60,50,0.000722466156929531,0.000621703008950262,-9.99993385958353e-10,0.000722516156929531 +400,-60,60,0.00079303546355051,0.000551133702329282,-9.99993385958353e-10,0.00079309546355051 +400,-60,70,0.000849142988699701,0.000495026177180091,-9.99993385958353e-10,0.000849212988699701 +400,-60,80,0.000894418110121969,0.000449751055757823,-9.99993385958353e-10,0.000894498110121969 +400,-60,90,0.000931506304252746,0.000412662861627047,-9.99993385958353e-10,0.000931596304252746 +400,-60,100,0.000962323640382029,0.000381845525497763,-9.99993385958353e-10,0.000962423640382029 +400,-60,110,0.00098826636545029,0.000355902800429502,-9.99993385958353e-10,0.00098837636545029 +400,-60,120,0.00101036379960021,0.000333805366279579,-9.99993385958353e-10,0.00101048379960021 +400,-60,130,0.00102938527788279,0.000314783887997006,-9.99993385958353e-10,0.00102951527788279 +400,-60,140,0.00104591408402994,0.000298255081849848,-9.99993385958353e-10,0.00104605408402994 +400,-60,150,0.00106039866794831,0.000283770497931481,-9.99993385958353e-10,0.00106054866794831 +400,-60,160,0.00107318842941334,0.000270980736466452,-9.99993385958353e-10,0.00107334842941334 +400,-60,170,0.00108455900836131,0.000259610157518486,-9.99993385958353e-10,0.00108472900836131 +400,-60,180,0.00109473038850869,0.000249438777371102,-9.99993385958353e-10,0.00109491038850869 +400,-60,190,0.00110388002700268,0.000240289138877114,-9.99993385958353e-10,0.00110407002700268 +400,-60,200,0.00111215250009045,0.000232016665789341,-9.99993385958353e-10,0.00111235250009045 +400,-60,210,0.00111966667782262,0.000224502488057176,-9.99993385958353e-10,0.00111987667782262 +400,-60,220,0.00112652112428931,0.000217648041590483,-9.99993385958353e-10,0.00112674112428931 +400,-60,230,0.00113279820798705,0.000211370957892739,-9.99993385958353e-10,0.00113302820798705 +400,-60,240,0.00113856726355177,0.00020560190232802,-9.99993385958353e-10,0.00113880726355177 +400,-60,250,0.00114388704799879,0.000200282117881,-9.99993385958353e-10,0.00114413704799879 +400,-60,260,0.00114880766671201,0.000195361499167781,-9.99993385958353e-10,0.00114906766671201 +400,-60,270,0.00115337209688554,0.000190797068994256,-9.99993385958353e-10,0.00115364209688554 +400,-60,280,0.0011576174024624,0.000186551763417396,-9.99993385958353e-10,0.0011578974024624 +400,-60,290,0.00116157571052468,0.000182593455355117,-9.99993385958353e-10,0.00116186571052468 +400,-60,300,0.00116527500166721,0.000178894164212586,-9.99993385958353e-10,0.00116557500166721 +400,-60,310,0.00116873975416125,0.000175429411718541,-9.99993385958353e-10,0.00116904975416125 +400,-60,320,0.00117199147233065,0.000172177693549143,-9.99993385958353e-10,0.00117231147233065 +400,-60,330,0.00117504912258033,0.000169120043299463,-9.99993385958353e-10,0.00117537912258033 +400,-60,340,0.00117792949527646,0.000166239670603333,-9.99993385958353e-10,0.00117826949527646 +400,-60,350,0.00118064750671189,0.000163521659167902,-9.99993385958353e-10,0.00118099750671189 +400,-60,360,0.00118321645236628,0.000160952713513512,-9.99993385958353e-10,0.00118357645236628 +400,-60,370,0.00118564822034676,0.000158520945533029,-9.99993385958353e-10,0.00118601822034676 +400,-60,380,0.00118795347209718,0.000156215693782609,-9.99993385958353e-10,0.00118833347209718 +400,-60,390,0.00119014179606352,0.000154027369816273,-9.99993385958353e-10,0.00119053179606352 +400,-60,400,0.00119222183890522,0.000151947326974576,-9.99993385958353e-10,0.00119262183890522 +400,-60,410,0.0011942014179762,0.000149967747903597,-9.99993385958353e-10,0.0011946114179762 +400,-60,420,0.00119608761811222,0.000148081547767573,-9.99993385958353e-10,0.00119650761811222 +400,-60,430,0.00119788687521322,0.000146282290666568,-9.99993385958353e-10,0.00119831687521322 +400,-60,440,0.00119960504866955,0.000144564117210244,-9.99993385958353e-10,0.00120004504866955 +400,-60,450,0.00120124748432659,0.000142921681553199,-9.99993385958353e-10,0.00120169748432659 +400,-60,460,0.00120281906939537,0.000141350096484421,-9.99993385958353e-10,0.00120327906939537 +400,-60,470,0.0012043242804827,0.000139844885397092,-9.99993385958353e-10,0.0012047942804827 +400,-60,480,0.00120576722572382,0.000138401940155971,-9.99993385958353e-10,0.00120624722572382 +400,-60,490,0.00120715168184335,0.000137017484036446,-9.99993385958353e-10,0.00120764168184335 +400,-60,500,0.00120848112684118,0.000135688039038609,-9.99993385958353e-10,0.00120898112684118 +400,-60,510,0.00120975876889305,0.000134410396986743,-9.99993385958353e-10,0.00121026876889305 +400,-60,520,0.00121098757196629,0.000133181593913499,-9.99993385958353e-10,0.00121150757196629 +400,-60,530,0.0012121702785776,0.000131998887302188,-9.99993385958353e-10,0.0012127002785776 +400,-60,540,0.00121330943005714,0.000130859735822653,-9.99993385958353e-10,0.00121384943005714 +400,-60,550,0.00121440738463154,0.000129761781248253,-9.99993385958353e-10,0.00121495738463154 +400,-60,560,0.0012154663335944,0.000128702832285393,-9.99993385958353e-10,0.0012160263335944 +400,-60,570,0.0012164883157957,0.000127680850084096,-9.99993385958353e-10,0.0012170583157957 +400,-60,580,0.00121747523065025,0.000126693935229541,-9.99993385958353e-10,0.00121805523065025 +400,-60,590,0.00121842884983858,0.000125740316041213,-9.99993385958353e-10,0.00121901884983858 +400,-60,600,0.00121935082785072,0.000124818338029077,-9.99993385958353e-10,0.00121995082785072 +490,0,0,0,0.6698385564122,2.4382835194612e-30,0 +490,0,10,0.0979948943470982,0.571843662065102,3.65171239030557e-39,0.0979949043470982 +490,0,20,0.185657868448202,0.484180687963998,-3.65171237936754e-39,0.185657888448202 +490,0,30,0.257996635980963,0.411841920431237,-1.64070378794541e-47,0.257996665980963 +490,0,40,0.315254096759535,0.354584459652665,5.46901257187999e-48,0.315254136759535 +490,0,50,0.360025880594872,0.309812675817328,4.0953525157576e-56,0.360025930594872 +490,0,60,0.395192616801819,0.274645939610381,-8.19070485977906e-57,0.395192676801819 +490,0,70,0.423152627047402,0.246685929364798,-8.58680667843167e-65,0.423152697047402 +490,0,80,0.445714535730249,0.224124020681951,1.22668662425564e-65,0.445714615730249 +490,0,90,0.464196660634695,0.205641895777505,1.65344027914067e-73,0.464196750634695 +490,0,100,0.479553834768203,0.190284721643997,-1.83715576482612e-74,0.479553934768203 +490,0,110,0.492481848555626,0.177356707856574,-3.02657225418411e-82,0.492481958555626 +490,0,120,0.503493642135722,0.166344914276478,2.75142910770929e-83,0.503493762135722 +490,0,130,0.512972597520988,0.156865958891212,5.35690654890671e-91,0.512972727520988 +490,0,140,0.521209381945055,0.148629174467145,-4.12069691331547e-92,0.521209521945055 +490,0,150,0.52842747102818,0.14141108538402,-9.25708673056568e-100,0.52842762102818 +490,0,160,0.534800980831899,0.135037575580302,6.17139031571224e-101,0.534801140831899 +490,0,170,0.540467270746451,0.129371285665749,1.57124659632959e-108,0.540467440746451 +490,0,180,0.545535965050404,0.124302591361797,-9.24262545921235e-110,0.545536145050404 +490,0,190,0.550095495797038,0.119743060615163,-2.6300341248365e-117,0.550095685797037 +490,0,200,0.554217909531655,0.115620646880545,1.38422819652212e-118,0.554218109531655 +490,0,210,0.557962442654794,0.111876113757406,4.35350883813035e-126,0.557962652654794 +490,0,220,0.561378212516803,0.108460343895397,-2.07309892305382e-127,0.561378432516803 +490,0,230,0.564506265733098,0.105332290679102,-7.14102122713026e-135,0.564506495733098 +490,0,240,0.5673811537676,0.102457402644601,3.10479090790003e-136,0.5673813937676 +490,0,250,0.5700321569485,0.0998063994637002,1.16247828252341e-143,0.5700324069485 +490,0,260,0.57248424424464,0.0973543121675599,-4.64991150052341e-145,0.57248450424464 +490,0,270,0.574758832440745,0.0950797239714551,-1.88027319217195e-152,0.574759102440745 +490,0,280,0.57687439157669,0.0929641648355099,6.96397196286446e-154,0.57687467157669 +490,0,290,0.578846931511079,0.0909916249011213,3.02459714311403e-161,0.578847221511079 +490,0,300,0.580690395787422,0.0891481606247783,-1.04296404788728e-162,0.580690695787422 +490,0,310,0.582416982639619,0.0874215737725812,-4.84220957744239e-170,0.582417292639619 +490,0,320,0.584037408297146,0.0858011481150536,1.56200226604808e-171,0.584037728297147 +490,0,330,0.585561124270737,0.0842774321414628,7.71983781454779e-179,0.585561454270737 +490,0,340,0.586996497687775,0.0828420587244257,-2.33934340255108e-180,0.586996837687775 +490,0,350,0.588350961770447,0.0814875946417529,-1.22623759778336e-187,0.588351311770447 +490,0,360,0.589631142042632,0.0802074143695683,3.50353366395621e-189,0.589631502042632 +490,0,370,0.590842962693577,0.0789955937186236,1.94142516131204e-196,0.590843332693577 +490,0,380,0.591991736630566,0.0778468197816337,-5.24709114854839e-198,0.591992116630567 +490,0,390,0.593082242054869,0.076756314357331,-3.06475584646932e-205,0.593082632054869 +490,0,400,0.594118787848156,0.0757197685640442,7.85834189049905e-207,0.594119187848156 +490,0,410,0.595105269625054,0.0747332867871466,4.82533507399056e-214,0.595105679625054 +490,0,420,0.596045217965106,0.073793338447094,-1.17690993256546e-215,0.596045637965106 +490,0,430,0.596941840064277,0.0728967163479231,-7.57921835019235e-223,0.596942270064277 +490,0,440,0.597798055827043,0.0720405005851574,1.76260717639191e-224,0.597798495827043 +490,0,450,0.598616529243516,0.0712220271686846,1.18790256424665e-231,0.598616979243516 +490,0,460,0.599399695752963,0.0704388606592374,-2.63978062695451e-233,0.599400155752963 +490,0,470,0.600149786178651,0.0696887702335488,-1.85814031413343e-240,0.600150256178651 +490,0,480,0.600868847723752,0.0689697086884481,3.9534853880281e-242,0.600869327723752 +490,0,490,0.60155876243989,0.0682797939723104,2.90127615722786e-249,0.60155925243989 +490,0,500,0.602221263515487,0.0676172928967129,-5.92096421199582e-251,0.602221763515487 +490,0,510,0.602857949677733,0.066980606734467,-4.52246802742357e-258,0.602858459677733 +490,0,520,0.60347029795769,0.0663682584545105,8.86757216704983e-260,0.60347081795769 +490,0,530,0.604059675031119,0.0657788813810817,7.03871754724518e-267,0.604060205031119 +490,0,540,0.604627347316688,0.0652112090955126,-1.32805794548559e-268,0.604627887316688 +490,0,550,0.605174489987262,0.0646640664249388,-1.0939379689506e-275,0.605175039987262 +490,0,560,0.605702195028116,0.0641363613840841,1.98897495591316e-277,0.605702755028116 +490,0,570,0.606211478457444,0.0636270779547565,1.69791990644622e-284,0.606212048457444 +490,0,580,0.606703286808846,0.0631352696033544,-2.97880176463542e-286,0.606703866808846 +490,0,590,0.607178502962207,0.0626600534499929,-2.63212610639224e-293,0.607179092962207 +490,0,600,0.607637951397992,0.0622006050142083,4.46122253749779e-295,0.607638551397992 +490,-10,0,0,0.471071892215438,-9.99998805539803e-10,0 +490,-10,10,0.0689160692015051,0.402155823013933,-9.99998805539803e-10,0.0689160792015051 +490,-10,20,0.130566093213601,0.340505799001837,-9.99998805539803e-10,0.130566113213601 +490,-10,30,0.181439187597288,0.28963270461815,-9.99998805539803e-10,0.181439217597288 +490,-10,40,0.221706174521545,0.249365717693893,-9.99998805539803e-10,0.221706214521545 +490,-10,50,0.253192461369736,0.217879430845702,-9.99998805539803e-10,0.253192511369736 +490,-10,60,0.277923884799254,0.193148007416183,-9.99998805539803e-10,0.277923944799254 +490,-10,70,0.297587092906141,0.173484799309296,-9.99998805539803e-10,0.297587162906141 +490,-10,80,0.313454022203476,0.157617870011962,-9.99998805539803e-10,0.313454102203476 +490,-10,90,0.326451795275143,0.144620096940294,-9.99998805539803e-10,0.326451885275143 +490,-10,100,0.33725190973392,0.133819982481517,-9.99998805539803e-10,0.33725200973392 +490,-10,110,0.346343688430638,0.1247282037848,-9.99998805539803e-10,0.346343798430638 +490,-10,120,0.354087862588432,0.116984029627005,-9.99998805539803e-10,0.354087982588432 +490,-10,130,0.360754050144849,0.110317842070589,-9.99998805539803e-10,0.360754180144849 +490,-10,140,0.366546666271933,0.104525225943505,-9.99998805539803e-10,0.366546806271933 +490,-10,150,0.371622872844423,0.0994490193710143,-9.99998805539803e-10,0.371623022844423 +490,-10,160,0.376105119043228,0.0949667731722098,-9.99998805539803e-10,0.376105279043228 +490,-10,170,0.380090004485157,0.0909818877302812,-9.99998805539803e-10,0.380090174485157 +490,-10,180,0.383654623741495,0.0874172684739432,-9.99998805539803e-10,0.383654803741495 +490,-10,190,0.386861167700289,0.0842107245151486,-9.99998805539803e-10,0.386861357700289 +490,-10,200,0.389760303947182,0.0813115882682552,-9.99998805539803e-10,0.389760503947182 +490,-10,210,0.392393691181904,0.0786782010335336,-9.99998805539803e-10,0.392393901181904 +490,-10,220,0.394795871762383,0.076276020453055,-9.99998805539803e-10,0.394796091762383 +490,-10,230,0.396995712206688,0.0740761800087497,-9.99998805539803e-10,0.396995942206688 +490,-10,240,0.399017511240733,0.072054380974705,-9.99998805539803e-10,0.399017751240733 +490,-10,250,0.400881860601846,0.0701900316135919,-9.99998805539803e-10,0.400882110601846 +490,-10,260,0.402606320012868,0.0684655722025701,-9.99998805539803e-10,0.402606580012868 +490,-10,270,0.404205951081119,0.0668659411343182,-9.99998805539803e-10,0.404206221081119 +490,-10,280,0.405693743080734,0.0653781491347038,-9.99998805539803e-10,0.405694023080734 +490,-10,290,0.407080955134247,0.0639909370811904,-9.99998805539803e-10,0.407081245134247 +490,-10,300,0.408377393203653,0.0626944990117849,-9.99998805539803e-10,0.408377693203653 +490,-10,310,0.409591635841305,0.0614802563741332,-9.99998805539803e-10,0.409591945841305 +490,-10,320,0.410731219362406,0.0603406728530314,-9.99998805539803e-10,0.410731539362406 +490,-10,330,0.411802790653738,0.0592691015616998,-9.99998805539803e-10,0.411803120653738 +490,-10,340,0.412812233996655,0.0582596582187828,-9.99998805539803e-10,0.412812573996655 +490,-10,350,0.413764776892633,0.0573071153228049,-9.99998805539803e-10,0.413765126892633 +490,-10,360,0.414665078819749,0.0564068133956883,-9.99998805539803e-10,0.414665438819749 +490,-10,370,0.415517306034205,0.0555545861812325,-9.99998805539803e-10,0.415517676034205 +490,-10,380,0.416325194900926,0.054746697314512,-9.99998805539803e-10,0.416325574900926 +490,-10,390,0.417092105746502,0.053979786468936,-9.99998805539803e-10,0.417092495746502 +490,-10,400,0.417821068842963,0.0532508233724745,-9.99998805539803e-10,0.417821468842963 +490,-10,410,0.418514823827401,0.0525570683880372,-9.99998805539803e-10,0.418515233827401 +490,-10,420,0.419175853621662,0.0518960385937761,-9.99998805539803e-10,0.419176273621662 +490,-10,430,0.419806413724264,0.0512654784911732,-9.99998805539803e-10,0.419806843724264 +490,-10,440,0.420408557592589,0.050663334622849,-9.99998805539803e-10,0.420408997592589 +490,-10,450,0.420984158709209,0.0500877335062292,-9.99998805539803e-10,0.420984608709209 +490,-10,460,0.421534929825612,0.049536962389826,-9.99998805539803e-10,0.421535389825612 +490,-10,470,0.422062439794662,0.0490094524207756,-9.99998805539803e-10,0.422062909794662 +490,-10,480,0.422568128336218,0.0485037638792197,-9.99998805539803e-10,0.422568608336218 +490,-10,490,0.423053319025358,0.0480185731900796,-9.99998805539803e-10,0.423053809025358 +490,-10,500,0.423519230747353,0.0475526614680849,-9.99998805539803e-10,0.423519730747353 +490,-10,510,0.423966987826018,0.0471049043894195,-9.99998805539803e-10,0.423967497826018 +490,-10,520,0.424397629000929,0.0466742632145086,-9.99998805539803e-10,0.424398149000929 +490,-10,530,0.424812115402989,0.0462597768124483,-9.99998805539803e-10,0.424812645402989 +490,-10,540,0.425211337656115,0.0458605545593227,-9.99998805539803e-10,0.425211877656115 +490,-10,550,0.425596122214531,0.0454757700009069,-9.99998805539803e-10,0.425596672214531 +490,-10,560,0.425967237029806,0.0451046551856318,-9.99998805539803e-10,0.425967797029806 +490,-10,570,0.426325396628758,0.0447464955866795,-9.99998805539803e-10,0.426325966628758 +490,-10,580,0.426671266672345,0.0444006255430928,-9.99998805539803e-10,0.426671846672345 +490,-10,590,0.427005468056294,0.0440664241591438,-9.99998805539803e-10,0.427006058056294 +490,-10,600,0.427328580606249,0.0437433116091889,-9.99998805539803e-10,0.427329180606249 +490,-20,0,0,0.291853292127409,-9.99997784134621e-10,0 +490,-20,10,0.0426970532721597,0.249156238855249,-9.99997784134621e-10,0.0426970632721597 +490,-20,20,0.0808924174299416,0.210960874697467,-9.99997784134621e-10,0.0808924374299416 +490,-20,30,0.112410918792356,0.179442373335053,-9.99997784134621e-10,0.112410948792356 +490,-20,40,0.137358390488504,0.154494901638905,-9.99997784134621e-10,0.137358430488504 +490,-20,50,0.156865766380314,0.134987525747095,-9.99997784134621e-10,0.156865816380314 +490,-20,60,0.172188156584824,0.119665135542585,-9.99997784134621e-10,0.172188216584824 +490,-20,70,0.184370526440924,0.107482765686485,-9.99997784134621e-10,0.184370596440924 +490,-20,80,0.194200906108879,0.0976523860185296,-9.99997784134621e-10,0.194200986108879 +490,-20,90,0.202253695765784,0.0895995963616246,-9.99997784134621e-10,0.202253785765784 +490,-20,100,0.208944922757323,0.0829083693700863,-9.99997784134621e-10,0.208945022757323 +490,-20,110,0.214577747784203,0.0772755443432063,-9.99997784134621e-10,0.214577857784203 +490,-20,120,0.219375662412755,0.0724776297146539,-9.99997784134621e-10,0.219375782412755 +490,-20,130,0.223505708837578,0.0683475832898309,-9.99997784134621e-10,0.223505838837578 +490,-20,140,0.227094532782834,0.0647587593445753,-9.99997784134621e-10,0.227094672782834 +490,-20,150,0.230239504121991,0.0616137880054178,-9.99997784134621e-10,0.230239654121991 +490,-20,160,0.233016486427377,0.0588368057000324,-9.99997784134621e-10,0.233016646427377 +490,-20,170,0.235485328135397,0.0563679639920123,-9.99997784134621e-10,0.235485498135397 +490,-20,180,0.237693793302465,0.0541594988249435,-9.99997784134621e-10,0.237693973302465 +490,-20,190,0.239680412385859,0.0521728797415499,-9.99997784134621e-10,0.239680602385859 +490,-20,200,0.241476576563693,0.0503767155637162,-9.99997784134621e-10,0.241476776563693 +490,-20,210,0.243108095545403,0.0487451965820056,-9.99997784134621e-10,0.243108305545403 +490,-20,220,0.24459637010027,0.0472569220271388,-9.99997784134621e-10,0.24459659010027 +490,-20,230,0.245959284522538,0.0458940076048708,-9.99997784134621e-10,0.245959514522538 +490,-20,240,0.247211893124021,0.0446413990033876,-9.99997784134621e-10,0.247212133124021 +490,-20,250,0.248366953546237,0.0434863385811716,-9.99997784134621e-10,0.248367203546237 +490,-20,260,0.249435344941614,0.0424179471857949,-9.99997784134621e-10,0.249435604941614 +490,-20,270,0.25042639875139,0.0414268933760187,-9.99997784134621e-10,0.25042666875139 +490,-20,280,0.251348162499692,0.0405051296277165,-9.99997784134621e-10,0.251348442499692 +490,-20,290,0.25220761179265,0.039645680334759,-9.99997784134621e-10,0.25220790179265 +490,-20,300,0.253010821928614,0.0388424701987948,-9.99997784134621e-10,0.253011121928614 +490,-20,310,0.253763107762467,0.0380901843649415,-9.99997784134621e-10,0.253763417762467 +490,-20,320,0.254469138429514,0.037384153697895,-9.99997784134621e-10,0.254469458429514 +490,-20,330,0.255133032018353,0.0367202601090555,-9.99997784134621e-10,0.255133362018353 +490,-20,340,0.25575843414426,0.0360948579831488,-9.99997784134621e-10,0.25575877414426 +490,-20,350,0.256348583513556,0.0355047086138534,-9.99997784134621e-10,0.256348933513556 +490,-20,360,0.256906366912819,0.0349469252145895,-9.99997784134621e-10,0.256906726912819 +490,-20,370,0.257434365552283,0.0344189265751255,-9.99997784134621e-10,0.257434735552283 +490,-20,380,0.2579348943024,0.0339183978250092,-9.99997784134621e-10,0.2579352743024 +490,-20,390,0.25841003505851,0.0334432570688989,-9.99997784134621e-10,0.25841042505851 +490,-20,400,0.258861665230162,0.0329916268972469,-9.99997784134621e-10,0.258862065230162 +490,-20,410,0.259291482163593,0.0325618099638154,-9.99997784134621e-10,0.259291892163593 +490,-20,420,0.259701024156732,0.032152267970677,-9.99997784134621e-10,0.259701444156732 +490,-20,430,0.260091688607042,0.031761603520367,-9.99997784134621e-10,0.260092118607042 +490,-20,440,0.2604647477371,0.0313885443903088,-9.99997784134621e-10,0.2604651877371 +490,-20,450,0.260821362265824,0.0310319298615844,-9.99997784134621e-10,0.260821812265824 +490,-20,460,0.261162593330949,0.0306906987964598,-9.99997784134621e-10,0.261163053330949 +490,-20,470,0.261489412917602,0.0303638792098074,-9.99997784134621e-10,0.261489882917602 +490,-20,480,0.261802713006363,0.0300505791210458,-9.99997784134621e-10,0.261803193006363 +490,-20,490,0.262103313620144,0.0297499785072645,-9.99997784134621e-10,0.262103803620144 +490,-20,500,0.26239196992113,0.0294613222062794,-9.99997784134621e-10,0.26239246992113 +490,-20,510,0.262669378485812,0.0291839136415968,-9.99997784134621e-10,0.262669888485812 +490,-20,520,0.262936182866843,0.0289171092605663,-9.99997784134621e-10,0.262936702866843 +490,-20,530,0.263192978534303,0.0286603135931059,-9.99997784134621e-10,0.263193508534303 +490,-20,540,0.263440317275567,0.0284129748518423,-9.99997784134621e-10,0.263440857275567 +490,-20,550,0.263678711121579,0.0281745810058301,-9.99997784134621e-10,0.263679261121579 +490,-20,560,0.263908635857877,0.0279446562695316,-9.99997784134621e-10,0.263909195857877 +490,-20,570,0.264130534170616,0.0277227579567929,-9.99997784134621e-10,0.264131104170616 +490,-20,580,0.264344818471032,0.0275084736563769,-9.99997784134621e-10,0.264345398471032 +490,-20,590,0.264551873435998,0.027301418691411,-9.99997784134621e-10,0.264552463435998 +490,-20,600,0.264752058297354,0.0271012338300547,-9.99997784134621e-10,0.264752658297354 +490,-30,0,0,0.150892856809651,-9.99996691716798e-10,0 +490,-30,10,0.0220750648335242,0.128817791976127,-9.99996691716798e-10,0.0220750748335242 +490,-30,20,0.0418226838260714,0.109070172983579,-9.99996691716798e-10,0.0418227038260715 +490,-30,30,0.0581182571199899,0.0927745996896611,-9.99996691716798e-10,0.0581182871199899 +490,-30,40,0.0710165021490929,0.079876354660558,-9.99996691716798e-10,0.0710165421490929 +490,-30,50,0.0811021299510567,0.0697907268585942,-9.99996691716798e-10,0.0811021799510567 +490,-30,60,0.0890240526892161,0.0618688041204349,-9.99996691716798e-10,0.089024112689216 +490,-30,70,0.0953225342889926,0.0555703225206583,-9.99996691716798e-10,0.0953226042889926 +490,-30,80,0.100404999046573,0.0504878577630783,-9.99996691716798e-10,0.100405079046573 +490,-30,90,0.104568421113051,0.0463244356965999,-9.99996691716798e-10,0.104568511113051 +490,-30,100,0.108027893332656,0.0428649634769948,-9.99996691716798e-10,0.108027993332656 +490,-30,110,0.110940154674713,0.0399527021349374,-9.99996691716798e-10,0.110940264674713 +490,-30,120,0.11342075388178,0.0374721029278707,-9.99996691716798e-10,0.11342087388178 +490,-30,130,0.115556054461244,0.035336802348407,-9.99996691716798e-10,0.115556184461244 +490,-30,140,0.117411534294071,0.0334813225155803,-9.99996691716798e-10,0.117411674294071 +490,-30,150,0.119037535174481,0.0318553216351695,-9.99996691716798e-10,0.119037685174481 +490,-30,160,0.120473279792317,0.0304195770173342,-9.99996691716798e-10,0.120473439792317 +490,-30,170,0.121749710753977,0.0291431460556737,-9.99996691716798e-10,0.121749880753977 +490,-30,180,0.122891522846603,0.0280013339630482,-9.99996691716798e-10,0.122891702846603 +490,-30,190,0.12391863693773,0.0269742198719214,-9.99996691716798e-10,0.12391882693773 +490,-30,200,0.124847282772481,0.0260455740371704,-9.99996691716798e-10,0.124847482772481 +490,-30,210,0.125690804386696,0.0252020524229547,-9.99996691716798e-10,0.125691014386696 +490,-30,220,0.126460266323082,0.0244325904865687,-9.99996691716798e-10,0.126460486323082 +490,-30,230,0.127164915050064,0.0237279417595867,-9.99996691716798e-10,0.127165145050064 +490,-30,240,0.127812533889531,0.0230803229201198,-9.99996691716798e-10,0.127812773889531 +490,-30,250,0.128409718747805,0.0224831380618457,-9.99996691716798e-10,0.128409968747805 +490,-30,260,0.128962094322068,0.0219307624875834,-9.99996691716798e-10,0.128962354322068 +490,-30,270,0.129474485117865,0.0214183716917861,-9.99996691716798e-10,0.129474755117865 +490,-30,280,0.129951051834899,0.0209418049747515,-9.99996691716798e-10,0.129951331834899 +490,-30,290,0.130395400973989,0.0204974558356615,-9.99996691716798e-10,0.130395690973989 +490,-30,300,0.130810673562318,0.0200821832473324,-9.99996691716798e-10,0.130810973562318 +490,-30,310,0.131199617465538,0.0196932393441128,-9.99996691716798e-10,0.131199927465538 +490,-30,320,0.131564646701869,0.0193282101077821,-9.99996691716798e-10,0.131564966701869 +490,-30,330,0.131907890389502,0.0189849664201492,-9.99996691716798e-10,0.131908220389502 +490,-30,340,0.132231233370302,0.0186616234393488,-9.99996691716798e-10,0.132231573370302 +490,-30,350,0.132536350107647,0.0183565067020035,-9.99996691716798e-10,0.132536700107647 +490,-30,360,0.132824733116735,0.0180681236929155,-9.99996691716798e-10,0.132825093116735 +490,-30,370,0.133097716924866,0.0177951398847851,-9.99996691716798e-10,0.133098086924866 +490,-30,380,0.133356498357379,0.017536358452272,-9.99996691716798e-10,0.133356878357379 +490,-30,390,0.133602153787727,0.0172907030219235,-9.99996691716798e-10,0.133602543787727 +490,-30,400,0.133835653866912,0.017057202942739,-9.99996691716798e-10,0.133836053866912 +490,-30,410,0.134057876150299,0.0168349806593518,-9.99996691716798e-10,0.134058286150299 +490,-30,420,0.134269615962716,0.0166232408469353,-9.99996691716798e-10,0.134270035962716 +490,-30,430,0.134471595781177,0.0164212610284739,-9.99996691716798e-10,0.134472025781177 +490,-30,440,0.134664473365264,0.0162283834443868,-9.99996691716798e-10,0.134664913365264 +490,-30,450,0.134848848825369,0.0160440079842822,-9.99996691716798e-10,0.134849298825369 +490,-30,460,0.135025270786805,0.0158675860228455,-9.99996691716798e-10,0.135025730786805 +490,-30,470,0.135194241781554,0.0156986150280973,-9.99996691716798e-10,0.135194711781554 +490,-30,480,0.135356222977953,0.0155366338316977,-9.99996691716798e-10,0.135356702977953 +490,-30,490,0.135511638341068,0.015381218468583,-9.99996691716798e-10,0.135512128341068 +490,-30,500,0.13566087830192,0.0152319785077306,-9.99996691716798e-10,0.13566137830192 +490,-30,510,0.135804303001787,0.0150885538078641,-9.99996691716798e-10,0.135804813001787 +490,-30,520,0.135942245167762,0.014950611641889,-9.99996691716798e-10,0.135942765167762 +490,-30,530,0.136075012667477,0.0148178441421736,-9.99996691716798e-10,0.136075542667477 +490,-30,540,0.1362028907839,0.0146899660257511,-9.99996691716798e-10,0.1362034307839 +490,-30,550,0.136326144245282,0.0145667125643685,-9.99996691716798e-10,0.136326694245282 +490,-30,560,0.136445019040418,0.0144478377692329,-9.99996691716798e-10,0.136445579040418 +490,-30,570,0.136559744045184,0.0143331127644666,-9.99996691716798e-10,0.136560314045184 +490,-30,580,0.136670532482839,0.0142223243268117,-9.99996691716798e-10,0.136671112482839 +490,-30,590,0.136777583237527,0.014115273572124,-9.99996691716798e-10,0.136778173237527 +490,-30,600,0.1368810820379,0.014011774771751,-9.99996691716798e-10,0.1368816820379 +490,-40,0,0,0.0636963114858497,-9.99995592110281e-10,0 +490,-40,10,0.00931853392821807,0.0543777775576316,-9.99995592110281e-10,0.00931854392821807 +490,-40,20,0.0176545845342446,0.046041726951605,-9.99995592110281e-10,0.0176546045342446 +490,-40,30,0.0245334251521229,0.0391628863337267,-9.99995592110281e-10,0.0245334551521229 +490,-40,40,0.0299781536194947,0.0337181578663549,-9.99995592110281e-10,0.0299781936194947 +490,-40,50,0.0342355936573265,0.0294607178285231,-9.99995592110281e-10,0.0342356436573266 +490,-40,60,0.0375796701693988,0.0261166413164509,-9.99995592110281e-10,0.0375797301693988 +490,-40,70,0.0402384444437394,0.0234578670421103,-9.99995592110281e-10,0.0402385144437394 +490,-40,80,0.0423839022550595,0.0213124092307902,-9.99995592110281e-10,0.0423839822550595 +490,-40,90,0.0441414051243173,0.0195549063615324,-9.99995592110281e-10,0.0441414951243173 +490,-40,100,0.0456017500653279,0.0180945614205218,-9.99995592110281e-10,0.0456018500653279 +490,-40,110,0.0468311012055604,0.0168652102802893,-9.99995592110281e-10,0.0468312112055604 +490,-40,120,0.0478782350666695,0.0158180764191802,-9.99995592110281e-10,0.0478783550666695 +490,-40,130,0.0487796082244261,0.0149167032614236,-9.99995592110281e-10,0.0487797382244261 +490,-40,140,0.0495628608175991,0.0141334506682505,-9.99995592110281e-10,0.0495630008175991 +490,-40,150,0.0502492435977036,0.0134470678881461,-9.99995592110281e-10,0.0502493935977036 +490,-40,160,0.0508553136153661,0.0128409978704836,-9.99995592110281e-10,0.0508554736153661 +490,-40,170,0.0513941326545382,0.0123021788313115,-9.99995592110281e-10,0.0513943026545382 +490,-40,180,0.0518761251109599,0.0118201863748897,-9.99995592110281e-10,0.0518763051109599 +490,-40,190,0.0523097001685417,0.011386611317308,-9.99995592110281e-10,0.0523098901685417 +490,-40,200,0.0527017088798948,0.0109946026059549,-9.99995592110281e-10,0.0527019088798948 +490,-40,210,0.0530577841548954,0.0106385273309542,-9.99995592110281e-10,0.0530579941548954 +490,-40,220,0.0533825966623448,0.0103137148235048,-9.99995592110281e-10,0.0533828166623448 +490,-40,230,0.0536800496084348,0.0100162618774149,-9.99995592110281e-10,0.0536802796084348 +490,-40,240,0.0539534285621835,0.00974288292366614,-9.99995592110281e-10,0.0539536685621835 +490,-40,250,0.0542055178495859,0.00949079363626372,-9.99995592110281e-10,0.0542057678495859 +490,-40,260,0.0544386918207023,0.00925761966514741,-9.99995592110281e-10,0.0544389518207023 +490,-40,270,0.0546549870411762,0.00904132444467347,-9.99995592110281e-10,0.0546552570411762 +490,-40,280,0.0548561598646871,0.00884015162116258,-9.99995592110281e-10,0.0548564398646871 +490,-40,290,0.0550437327012704,0.00865257878457928,-9.99995592110281e-10,0.0550440227012704 +490,-40,300,0.0552190314708544,0.00847728001499528,-9.99995592110281e-10,0.0552193314708544 +490,-40,310,0.0553832161283246,0.00831309535752502,-9.99995592110281e-10,0.0553835261283247 +490,-40,320,0.0555373057017502,0.00815900578409947,-9.99995592110281e-10,0.0555376257017502 +490,-40,330,0.0556821989545209,0.00801411253132875,-9.99995592110281e-10,0.0556825289545209 +490,-40,340,0.0558186915338072,0.00787761995204246,-9.99995592110281e-10,0.0558190315338072 +490,-40,350,0.055947490279834,0.00774882120601562,-9.99995592110281e-10,0.0559478402798341 +490,-40,360,0.0560692252271501,0.00762708625869955,-9.99995592110281e-10,0.0560695852271501 +490,-40,370,0.0561844597189671,0.0075118517668826,-9.99995592110281e-10,0.0561848297189671 +490,-40,380,0.0562936989704507,0.00740261251539899,-9.99995592110281e-10,0.0562940789704507 +490,-40,390,0.0563973973504834,0.00729891413536628,-9.99995592110281e-10,0.0563977873504834 +490,-40,400,0.0564959645993921,0.00720034688645756,-9.99995592110281e-10,0.0564963645993921 +490,-40,410,0.0565897711590995,0.00710654032675018,-9.99995592110281e-10,0.0565901811590995 +490,-40,420,0.0566791527595993,0.00701715872625038,-9.99995592110281e-10,0.0566795727595993 +490,-40,430,0.0567644143796825,0.00693189710616719,-9.99995592110281e-10,0.0567648443796825 +490,-40,440,0.0568458336790079,0.00685047780684179,-9.99995592110281e-10,0.0568462736790079 +490,-40,450,0.0569236639818166,0.00677264750403304,-9.99995592110281e-10,0.0569241139818166 +490,-40,460,0.0569981368789849,0.00669817460686476,-9.99995592110281e-10,0.0569985968789849 +490,-40,470,0.057069464504037,0.00662684698181266,-9.99995592110281e-10,0.057069934504037 +490,-40,480,0.0571378415296886,0.00655846995616105,-9.99995592110281e-10,0.0571383215296886 +490,-40,490,0.0572034469240588,0.00649286456179087,-9.99995592110281e-10,0.0572039369240588 +490,-40,500,0.0572664454995618,0.00642986598628784,-9.99995592110281e-10,0.0572669454995618 +490,-40,510,0.0573269892824195,0.00636932220343012,-9.99995592110281e-10,0.0573274992824195 +490,-40,520,0.0573852187265215,0.00631109275932818,-9.99995592110281e-10,0.0573857387265215 +490,-40,530,0.0574412637918471,0.00625504769400256,-9.99995592110281e-10,0.0574417937918471 +490,-40,540,0.0574952449047248,0.0062010665811249,-9.99995592110281e-10,0.0574957849047248 +490,-40,550,0.0575472738147337,0.006149037671116,-9.99995592110281e-10,0.0575478238147337 +490,-40,560,0.057597454360976,0.00609885712487367,-9.99995592110281e-10,0.057598014360976 +490,-40,570,0.0576458831586893,0.0060504283271604,-9.99995592110281e-10,0.0576464531586893 +490,-40,580,0.0576926502156799,0.00600366127016977,-9.99995592110281e-10,0.0576932302156799 +490,-40,590,0.0577378394867928,0.00595847199905682,-9.99995592110281e-10,0.0577384294867928 +490,-40,600,0.0577815293735533,0.00591478211229638,-9.99995592110281e-10,0.0577821293735533 +490,-46,0,0,0.0350662057666793,-9.99994929570813e-10,0 +490,-46,10,0.00513005573710919,0.0299361500295701,-9.99994929570813e-10,0.00513006573710919 +490,-46,20,0.00971923302247396,0.0253469727442054,-9.99994929570813e-10,0.00971925302247396 +490,-46,30,0.0135061844944803,0.0215600212721991,-9.99994929570813e-10,0.0135062144944803 +490,-46,40,0.0165036260154539,0.0185625797512254,-9.99994929570813e-10,0.0165036660154539 +490,-46,50,0.0188474394156863,0.016218766350993,-9.99994929570813e-10,0.0188474894156863 +490,-46,60,0.020688426316441,0.0143777794502383,-9.99994929570813e-10,0.020688486316441 +490,-46,70,0.0221521394203292,0.0129140663463501,-9.99994929570813e-10,0.0221522094203292 +490,-46,80,0.0233332606394471,0.0117329451272322,-9.99994929570813e-10,0.0233333406394471 +490,-46,90,0.0243008042194645,0.0107654015472148,-9.99994929570813e-10,0.0243008942194645 +490,-46,100,0.0251047558926031,0.0099614498740762,-9.99994929570813e-10,0.0251048558926031 +490,-46,110,0.0257815404510382,0.0092846653156411,-9.99994929570813e-10,0.0257816504510382 +490,-46,120,0.0263580104315185,0.00870819533516087,-9.99994929570813e-10,0.0263581304315185 +490,-46,130,0.0268542359724507,0.00821196979422863,-9.99994929570813e-10,0.0268543659724507 +490,-46,140,0.0272854335717904,0.00778077219488895,-9.99994929570813e-10,0.0272855735717904 +490,-46,150,0.0276633022307503,0.00740290353592908,-9.99994929570813e-10,0.0276634522307503 +490,-46,160,0.0279969569660498,0.00706924880062954,-9.99994929570813e-10,0.0279971169660498 +490,-46,170,0.0282935885740325,0.00677261719264685,-9.99994929570813e-10,0.0282937585740325 +490,-46,180,0.0285589359114309,0.00650726985524841,-9.99994929570813e-10,0.0285591159114309 +490,-46,190,0.0287976284170062,0.00626857734967311,-9.99994929570813e-10,0.0287978184170062 +490,-46,200,0.029013437744328,0.00605276802235136,-9.99994929570813e-10,0.029013637744328 +490,-46,210,0.0292094649328784,0.00585674083380099,-9.99994929570813e-10,0.0292096749328784 +490,-46,220,0.0293882812874853,0.00567792447919399,-9.99994929570813e-10,0.0293885012874853 +490,-46,230,0.0295520356081074,0.00551417015857197,-9.99994929570813e-10,0.0295522656081074 +490,-46,240,0.0297025366719965,0.00536366909468284,-9.99994929570813e-10,0.0297027766719965 +490,-46,250,0.0298413173112113,0.00522488845546807,-9.99994929570813e-10,0.0298415673112113 +490,-46,260,0.0299696846571354,0.0050965211095439,-9.99994929570813e-10,0.0299699446571354 +490,-46,270,0.03008875988348,0.00497744588319938,-9.99994929570813e-10,0.03008902988348 +490,-46,280,0.0301995099011708,0.00486669586550857,-9.99994929570813e-10,0.0301997899011708 +490,-46,290,0.0303027728300663,0.00476343293661306,-9.99994929570813e-10,0.0303030628300663 +490,-46,300,0.0303992786179445,0.00466692714873485,-9.99994929570813e-10,0.0303995786179445 +490,-46,310,0.0304896658452153,0.00457653992146403,-9.99994929570813e-10,0.0304899758452153 +490,-46,320,0.030574495509009,0.00449171025767038,-9.99994929570813e-10,0.030574815509009 +490,-46,330,0.0306542623981324,0.00441194336854698,-9.99994929570813e-10,0.0306545923981324 +490,-46,340,0.0307294045336694,0.00433680123300996,-9.99994929570813e-10,0.0307297445336694 +490,-46,350,0.0308003110465476,0.00426589472013173,-9.99994929570813e-10,0.0308006610465476 +490,-46,360,0.0308673287844982,0.00419887698218109,-9.99994929570813e-10,0.0308676887844982 +490,-46,370,0.03093076788022,0.00413543788645936,-9.99994929570813e-10,0.03093113788022 +490,-46,380,0.0309909064656571,0.00407529930102222,-9.99994929570813e-10,0.0309912864656571 +490,-46,390,0.0310479946807684,0.00401821108591095,-9.99994929570813e-10,0.0310483846807684 +490,-46,400,0.0311022580965214,0.00396394767015796,-9.99994929570813e-10,0.0311026580965214 +490,-46,410,0.0311539006492569,0.00391230511742249,-9.99994929570813e-10,0.0311543106492569 +490,-46,420,0.0312031071656432,0.00386309860103609,-9.99994929570813e-10,0.0312035271656432 +490,-46,430,0.0312500455431426,0.00381616022353677,-9.99994929570813e-10,0.0312504755431426 +490,-46,440,0.03129486863944,0.00377133712723931,-9.99994929570813e-10,0.03129530863944 +490,-46,450,0.0313377159150437,0.00372848985163559,-9.99994929570813e-10,0.0313381659150437 +490,-46,460,0.0313787148657714,0.0036874909009079,-9.99994929570813e-10,0.0313791748657714 +490,-46,470,0.0314179822757451,0.00364822349093423,-9.99994929570813e-10,0.0314184522757451 +490,-46,480,0.0314556253165316,0.00361058045014771,-9.99994929570813e-10,0.0314561053165316 +490,-46,490,0.0314917425139756,0.00357446325270371,-9.99994929570813e-10,0.0314922325139756 +490,-46,500,0.0315264246008982,0.00353978116578118,-9.99994929570813e-10,0.0315269246008982 +490,-46,510,0.0315597552710431,0.00350645049563628,-9.99994929570813e-10,0.0315602652710431 +490,-46,520,0.0315918118473334,0.00347439391934595,-9.99994929570813e-10,0.0315923318473334 +490,-46,530,0.0316226658755663,0.00344353989111307,-9.99994929570813e-10,0.0316231958755663 +490,-46,540,0.0316523836530565,0.00341382211362288,-9.99994929570813e-10,0.0316529236530565 +490,-46,550,0.0316810267003794,0.0033851790662999,-9.99994929570813e-10,0.0316815767003794 +490,-46,560,0.0317086521832209,0.00335755358345842,-9.99994929570813e-10,0.0317092121832209 +490,-46,570,0.0317353132903719,0.00333089247630744,-9.99994929570813e-10,0.0317358832903719 +490,-46,580,0.0317610595730887,0.00330514619359059,-9.99994929570813e-10,0.0317616395730887 +490,-46,590,0.0317859372503408,0.00328026851633851,-9.99994929570813e-10,0.0317865272503408 +490,-46,600,0.0318099894838741,0.00325621628280526,-9.99994929570813e-10,0.0318105894838741 +490,-50,0,0,0.0230277679152204,-9.99994492503764e-10,0 +490,-50,10,0.00336887696639677,0.0196588909488237,-9.99994492503764e-10,0.00336888696639677 +490,-50,20,0.00638256228360321,0.0166452056316172,-9.99994492503764e-10,0.00638258228360321 +490,-50,30,0.00886943069998683,0.0141583372152336,-9.99994492503764e-10,0.00886946069998683 +490,-50,40,0.0108378326463991,0.0121899352688213,-9.99994492503764e-10,0.0108378726463991 +490,-50,50,0.0123770009093203,0.0106507670059002,-9.99994492503764e-10,0.0123770509093203 +490,-50,60,0.0135859660128624,0.00944180190235809,-9.99994492503764e-10,0.0135860260128624 +490,-50,70,0.0145471776670423,0.00848059024817815,-9.99994492503764e-10,0.0145472476670423 +490,-50,80,0.0153228129181031,0.00770495499711732,-9.99994492503764e-10,0.0153228929181031 +490,-50,90,0.0159581930090303,0.00706957490619018,-9.99994492503764e-10,0.0159582830090303 +490,-50,100,0.0164861432716641,0.00654162464355638,-9.99994492503764e-10,0.0164862432716641 +490,-50,110,0.0169305836495009,0.00609718426571952,-9.99994492503764e-10,0.0169306936495009 +490,-50,120,0.0173091480430631,0.00571861987215732,-9.99994492503764e-10,0.0173092680430631 +490,-50,130,0.0176350163923857,0.00539275152283477,-9.99994492503764e-10,0.0176351463923857 +490,-50,140,0.0179181812808045,0.00510958663441592,-9.99994492503764e-10,0.0179183212808045 +490,-50,150,0.0181663253725509,0.00486144254266956,-9.99994492503764e-10,0.0181664753725509 +490,-50,160,0.0183854344446705,0.00464233347054996,-9.99994492503764e-10,0.0183855944446705 +490,-50,170,0.0185802306501794,0.00444753726504105,-9.99994492503764e-10,0.0185804006501794 +490,-50,180,0.0187544826620221,0.00427328525319837,-9.99994492503764e-10,0.0187546626620221 +490,-50,190,0.0189112306049864,0.00411653731023406,-9.99994492503764e-10,0.0189114206049864 +490,-50,200,0.0190529513014476,0.00397481661377287,-9.99994492503764e-10,0.0190531513014476 +490,-50,210,0.0191816811855145,0.00384608672970595,-9.99994492503764e-10,0.0191818911855145 +490,-50,220,0.0192991088177121,0.00372865909750834,-9.99994492503764e-10,0.0192993288177121 +490,-50,230,0.0194066453021407,0.00362112261307973,-9.99994492503764e-10,0.0194068753021407 +490,-50,240,0.0195054784520199,0.00352228946320055,-9.99994492503764e-10,0.0195057184520199 +490,-50,250,0.0195966148690086,0.00343115304621185,-9.99994492503764e-10,0.0195968648690086 +490,-50,260,0.0196809129384805,0.00334685497673997,-9.99994492503764e-10,0.0196811729384805 +490,-50,270,0.019759108928516,0.00326865898670448,-9.99994492503764e-10,0.019759378928516 +490,-50,280,0.0198318378037459,0.00319593011147459,-9.99994492503764e-10,0.0198321178037459 +490,-50,290,0.019899649952476,0.00312811796274445,-9.99994492503764e-10,0.019899939952476 +490,-50,300,0.019963024727053,0.00306474318816742,-9.99994492503764e-10,0.019963324727053 +490,-50,310,0.0200223814794186,0.00300538643580186,-9.99994492503764e-10,0.0200226914794186 +490,-50,320,0.0200780886130379,0.00294967930218256,-9.99994492503764e-10,0.0200784086130379 +490,-50,330,0.0201304710527656,0.00289729686245484,-9.99994492503764e-10,0.0201308010527656 +490,-50,340,0.0201798164444317,0.00284795147078875,-9.99994492503764e-10,0.0201801564444317 +490,-50,350,0.0202263803279925,0.00280138758722798,-9.99994492503764e-10,0.0202267303279925 +490,-50,360,0.0202703904762816,0.0027573774389388,-9.99994492503764e-10,0.0202707504762816 +490,-50,370,0.0203120505515904,0.00271571736363007,-9.99994492503764e-10,0.0203124205515904 +490,-50,380,0.0203515432015055,0.00267622471371492,-9.99994492503764e-10,0.0203519232015055 +490,-50,390,0.0203890326914442,0.00263873522377627,-9.99994492503764e-10,0.0203894226914442 +490,-50,400,0.0204246671525137,0.00260310076270679,-9.99994492503764e-10,0.0204250671525137 +490,-50,410,0.020458580508491,0.0025691874067294,-9.99994492503764e-10,0.020458990508491 +490,-50,420,0.0204908941339458,0.00253687378127469,-9.99994492503764e-10,0.0204913141339458 +490,-50,430,0.0205217182861384,0.00250604962908202,-9.99994492503764e-10,0.0205221482861384 +490,-50,440,0.0205511533457981,0.00247661456942238,-9.99994492503764e-10,0.0205515933457981 +490,-50,450,0.0205792908958075,0.00244847701941292,-9.99994492503764e-10,0.0205797408958075 +490,-50,460,0.0206062146619089,0.00242155325331154,-9.99994492503764e-10,0.0206066746619089 +490,-50,470,0.0206320013355377,0.00239576657968275,-9.99994492503764e-10,0.0206324713355377 +490,-50,480,0.0206567212956219,0.00237104661959859,-9.99994492503764e-10,0.0206572012956219 +490,-50,490,0.0206804392434952,0.00234732867172529,-9.99994492503764e-10,0.0206809292434952 +490,-50,500,0.0207032147628593,0.0023245531523611,-9.99994492503764e-10,0.0207037147628593 +490,-50,510,0.0207251028148962,0.00230266510032426,-9.99994492503764e-10,0.0207256128148962 +490,-50,520,0.0207461541771075,0.00228161373811297,-9.99994492503764e-10,0.0207466741771075 +490,-50,530,0.020766415833191,0.0022613520820295,-9.99994492503764e-10,0.0207669458331909 +490,-50,540,0.0207859313201973,0.00224183659502319,-9.99994492503764e-10,0.0207864713201973 +490,-50,550,0.0208047410383209,0.00222302687689951,-9.99994492503764e-10,0.0208052910383209 +490,-50,560,0.0208228825279264,0.00220488538729404,-9.99994492503764e-10,0.0208234425279264 +490,-50,570,0.0208403907177751,0.00218737719744537,-9.99994492503764e-10,0.0208409607177751 +490,-50,580,0.0208572981478811,0.00217046976733935,-9.99994492503764e-10,0.0208578781478811 +490,-50,590,0.0208736351699656,0.00215413274525483,-9.99994492503764e-10,0.0208742251699656 +490,-50,600,0.0208894301280894,0.002138337787131,-9.99994492503764e-10,0.0208900301280894 +490,-60,0,0,0.00767809531553145,-9.99993385958353e-10,0 +490,-60,10,0.00112327684339723,0.00655481847213422,-9.99993385958353e-10,0.00112328684339723 +490,-60,20,0.00212812295795419,0.00554997235757726,-9.99993385958353e-10,0.00212814295795419 +490,-60,30,0.00295731373356374,0.00472078158196772,-9.99993385958353e-10,0.00295734373356374 +490,-60,40,0.00361363343504214,0.00406446188048932,-9.99993385958353e-10,0.00361367343504214 +490,-60,50,0.00412683474369083,0.00355126057184063,-9.99993385958353e-10,0.00412688474369083 +490,-60,60,0.00452993717777485,0.0031481581377566,-9.99993385958353e-10,0.00452999717777485 +490,-60,70,0.00485043175312252,0.00282766356240893,-9.99993385958353e-10,0.00485050175312252 +490,-60,80,0.00510905001823865,0.0025690452972928,-9.99993385958353e-10,0.00510913001823865 +490,-60,90,0.00532090333019188,0.00235719198533958,-9.99993385958353e-10,0.00532099333019188 +490,-60,100,0.00549693656334266,0.00218115875218879,-9.99993385958353e-10,0.00549703656334266 +490,-60,110,0.00564512528904398,0.00203297002648747,-9.99993385958353e-10,0.00564523528904398 +490,-60,120,0.00577134913790064,0.00190674617763082,-9.99993385958353e-10,0.00577146913790064 +490,-60,130,0.00588000266678911,0.00179809264874235,-9.99993385958353e-10,0.00588013266678911 +490,-60,140,0.00597441767962475,0.0017036776359067,-9.99993385958353e-10,0.00597455767962475 +490,-60,150,0.00605715578934641,0.00162093952618504,-9.99993385958353e-10,0.00605730578934641 +490,-60,160,0.00613021281972929,0.00154788249580217,-9.99993385958353e-10,0.00613037281972929 +490,-60,170,0.00619516326731534,0.00148293204821612,-9.99993385958353e-10,0.00619533326731534 +490,-60,180,0.00625326371199486,0.00142483160353659,-9.99993385958353e-10,0.00625344371199486 +490,-60,190,0.00630552781553388,0.00137256749999758,-9.99993385958353e-10,0.00630571781553388 +490,-60,200,0.00635278141907976,0.00132531389645169,-9.99993385958353e-10,0.00635298141907976 +490,-60,210,0.00639570352614034,0.00128239178939112,-9.99993385958353e-10,0.00639591352614033 +490,-60,220,0.00643485714954013,0.00124323816599132,-9.99993385958353e-10,0.00643507714954013 +490,-60,230,0.0064707127904507,0.00120738252508076,-9.99993385958353e-10,0.0064709427904507 +490,-60,240,0.00650366649868244,0.00117442881684901,-9.99993385958353e-10,0.00650390649868244 +490,-60,250,0.00653405390309487,0.00114404141243659,-9.99993385958353e-10,0.00653430390309487 +490,-60,260,0.00656216121313479,0.00111593410239667,-9.99993385958353e-10,0.00656242121313479 +490,-60,270,0.0065882339209628,0.00108986139456865,-9.99993385958353e-10,0.0065885039209628 +490,-60,280,0.00661248374136495,0.0010656115741665,-9.99993385958353e-10,0.00661276374136495 +490,-60,290,0.00663509418903916,0.00104300112649229,-9.99993385958353e-10,0.00663538418903916 +490,-60,300,0.00665622509332803,0.00102187022220342,-9.99993385958353e-10,0.00665652509332803 +490,-60,310,0.00667601627777809,0.00100207903775337,-9.99993385958353e-10,0.00667632627777809 +490,-60,320,0.00669459057830338,0.000983504737228075,-9.99993385958353e-10,0.00669491057830338 +490,-60,330,0.00671205633384557,0.000966038981685886,-9.99993385958353e-10,0.00671238633384557 +490,-60,340,0.00672850945348745,0.000949585862044011,-9.99993385958353e-10,0.00672884945348744 +490,-60,350,0.00674403514132472,0.000934060174206737,-9.99993385958353e-10,0.00674438514132472 +490,-60,360,0.00675870934312574,0.000919385972405718,-9.99993385958353e-10,0.00675906934312574 +490,-60,370,0.00677259996553648,0.000905495349994969,-9.99993385958353e-10,0.00677296996553649 +490,-60,380,0.00678576790831877,0.00089232740721268,-9.99993385958353e-10,0.00678614790831877 +490,-60,390,0.00679826794211012,0.000879827373421332,-9.99993385958353e-10,0.00679865794211012 +490,-60,400,0.00681014945792252,0.000867945857608929,-9.99993385958353e-10,0.00681054945792252 +490,-60,410,0.00682145710965076,0.000856638205880691,-9.99993385958353e-10,0.00682186710965076 +490,-60,420,0.00683223136693636,0.000845863948595091,-9.99993385958353e-10,0.00683265136693636 +490,-60,430,0.00684250899260234,0.00083558632292911,-9.99993385958353e-10,0.00684293899260234 +490,-60,440,0.00685232345636267,0.000825771859168785,-9.99993385958353e-10,0.00685276345636267 +490,-60,450,0.00686170529448582,0.000816390021045631,-9.99993385958353e-10,0.00686215529448582 +490,-60,460,0.00687068242345206,0.000807412892079398,-9.99993385958353e-10,0.00687114242345206 +490,-60,470,0.00687928041430907,0.000798814901222389,-9.99993385958353e-10,0.00687975041430907 +490,-60,480,0.00688752273333977,0.000790572582191683,-9.99993385958353e-10,0.00688800273333977 +490,-60,490,0.00689543095376003,0.000782664361771428,-9.99993385958353e-10,0.00689592095376003 +490,-60,500,0.00690302494242548,0.000775070373105972,-9.99993385958353e-10,0.00690352494242548 +490,-60,510,0.00691032302491567,0.000767772290615785,-9.99993385958353e-10,0.00691083302491567 +490,-60,520,0.00691734213185539,0.00076075318367606,-9.99993385958353e-10,0.00691786213185539 +490,-60,530,0.00692409792891016,0.000753997386621299,-9.99993385958353e-10,0.00692462792891016 +490,-60,540,0.00693060493253791,0.000747490382993543,-9.99993385958353e-10,0.00693114493253791 +490,-60,550,0.00693687661328194,0.000741218702249512,-9.99993385958353e-10,0.00693742661328194 +490,-60,560,0.006942925488139,0.000735169827392455,-9.99993385958353e-10,0.006943485488139 +490,-60,570,0.00694876320332509,0.000729332112206362,-9.99993385958353e-10,0.00694933320332509 +490,-60,580,0.00695440060858176,0.00072369470694969,-9.99993385958353e-10,0.00695498060858176 +490,-60,590,0.0069598478240131,0.000718247491518357,-9.99993385958353e-10,0.0069604378240131 +490,-60,600,0.00696511430031363,0.000712981015217828,-9.99993385958353e-10,0.00696571430031363 diff --git a/tests/test_amp2203.cpp b/tests/test_amp2203.cpp index 401e978..156ff4b 100644 --- a/tests/test_amp2203.cpp +++ b/tests/test_amp2203.cpp @@ -25,24 +25,24 @@ double probe(const amp2203::Amp2203& a, const std::string& name) { TEST_CASE("Amp2203 starts at the full-netlist DC operating point", "[amp2203][m4]") { amp2203::Amp2203 amp; amp.prepare({}); - // full-netlist op at default parameters (ngspice 47) + // full-netlist op at default parameters (ngspice 47, EL34 D-058) const std::pair ref[] = { - {"ct", 488.70842163204327}, {"nscr", 485.64928691750646}, {"bpx", 402.33599940894806}, - {"bpa", 389.3496033135904}, {"p1a", 296.402}, {"p1b", 352.433}, - {"p2a", 231.130}, {"k2b", 231.686}, {"p3a", 270.8809249953309}, - {"p3b", 262.2705821268219}, {"k3", 44.93336791716606}, {"pa", 487.6615211930245}, - {"pb", 487.5797411890199}, {"nbias", -46.36358785048281}}; + {"ct", 491.3466370439178}, {"nscr", 488.8804667528911}, {"bpx", 404.9981846270138}, + {"bpa", 391.9215063373393}, {"p1a", 298.3259948720179}, {"p1b", 354.7502349059159}, + {"p2a", 232.5771020001565}, {"k2b", 233.1404038063239}, {"p3a", 272.6112625407083}, + {"p3b", 263.9511987003812}, {"k3", 45.25019514420279}, {"pa", 490.4627514780715}, + {"pb", 490.3937077859763}, {"nbias", -46.36358785048281}}; for (const auto& [n, v] : ref) { INFO(n << ": " << probe(amp, n) << " (SPICE " << v << ")"); REQUIRE(std::fabs(probe(amp, n) / v - 1.0) < 5e-3); } - REQUIRE(std::fabs(probe(amp, "ip_tube_a") - 0.03407830267111851) < 1e-3); // ±1 mA per tube - REQUIRE(std::fabs(probe(amp, "is_tube_a") - 0.0045673744924156524) < 0.3e-3); + REQUIRE(std::fabs(probe(amp, "ip_tube_a") - 0.0287723165965592) < 1e-3); // ±1 mA per tube + REQUIRE(std::fabs(probe(amp, "is_tube_a") - 0.0032641827099544754) < 0.3e-3); - // silence in, silence out (SPEC §3.6: within 1 µV of the DC output; F's speaker node carries 42.3 µV + // silence in, silence out (SPEC §3.6: within 1 µV of the DC output; F's speaker node carries 42.6 µV // of NFB DC current through R22, and so does the engine) const double outDc = probe(amp, "out"); - REQUIRE(std::fabs(outDc - 4.2302458725838655e-05) < 1e-7); + REQUIRE(std::fabs(outDc - 4.26007352859038e-05) < 1e-7); std::vector x(8192, 0.0); amp.process(x.data(), static_cast(x.size())); for (double y : x) diff --git a/tests/test_power_amp.cpp b/tests/test_power_amp.cpp index f05a406..cd839b4 100644 --- a/tests/test_power_amp.cpp +++ b/tests/test_power_amp.cpp @@ -26,7 +26,7 @@ void setup(PowerAmp& s) { using amp2203::detail::atap; const double vr2b = 1e6 * atap(0.3) + 1.0, chain = (1e6 * (1.0 - atap(0.3)) + 1.0) + 110e3 + (1e6 * atap(0.5) + 1.0) + 22e3; s.setSourceResistance(1.0 / (1.0 / vr2b + 1.0 / chain)); - s.setSupplyVoltages(402.33599940894806, 485.64928691750646, 488.70842163204327); + s.setSupplyVoltages(404.9981846270138, 488.8804667528911, 491.3466370439178); s.reset(0.0); } } // namespace @@ -35,19 +35,19 @@ TEST_CASE("PowerAmp starts at the full-netlist DC operating point", "[stage56][m PowerAmp s; setup(s); const std::pair ref[] = { - {"g3a", 43.52260078966601}, {"k3", 44.93336791716606}, {"ng", 13.483951021319733}, - {"p3a", 270.8809249953309}, {"p3b", 262.2705821268219}, {"ngn", -46.36312745114321}, - {"nbias", -46.36358785048281}, {"s4", 481.0819124250908}, {"pa", 487.6615211930245}, - {"pb", 487.5797411890199}}; + {"g3a", 43.82947357414837}, {"k3", 45.25019514420279}, {"ng", 13.57902697311721}, + {"p3a", 272.6112625407083}, {"p3b", 263.9511987003812}, {"ngn", -46.3631274511432}, + {"nbias", -46.36358785048281}, {"s4", 485.6163911912913}, {"pa", 490.4627514780715}, + {"pb", 490.3937077859763}}; for (const auto& [n, v] : ref) { INFO(n << ": " << probe(s, n) << " (SPICE " << v << ")"); REQUIRE(std::fabs(probe(s, n) / v - 1.0) < 5e-3); } - // F's speaker node carries the NFB DC current through R22 (CIRCUIT.md §5: 42.3 µV) + // F's speaker node carries the NFB DC current through R22 (CIRCUIT.md §5: 42.6 µV) INFO("out " << s.output()); - REQUIRE(std::fabs(s.output() - 4.2302458725838655e-05) < 1e-7); - REQUIRE(std::fabs(probe(s, "ip_tube_a") - 0.03407830267111851) < 1e-3); - REQUIRE(std::fabs(probe(s, "is_tube_b") - 0.00456754684753321) < 0.3e-3); + REQUIRE(std::fabs(s.output() - 4.26007352859038e-05) < 1e-7); + REQUIRE(std::fabs(probe(s, "ip_tube_a") - 0.0287723165965592) < 1e-3); + REQUIRE(std::fabs(probe(s, "is_tube_b") - 0.0032641827099544754) < 0.3e-3); const double out = s.output(); for (int n = 0; n < 8192; ++n) diff --git a/tests/test_power_stage.cpp b/tests/test_power_stage.cpp index a3c5a7f..e7ceb66 100644 --- a/tests/test_power_stage.cpp +++ b/tests/test_power_stage.cpp @@ -13,7 +13,7 @@ using amp2203::PowerStage; namespace { constexpr double kFs = 768000.0; -constexpr double kP3a = 270.8809249953309, kP3b = 262.2705821268219; // F op (ngspice 47) +constexpr double kP3a = 272.6112625407083, kP3b = 263.9511987003812; // F op (ngspice 47) double probe(const PowerStage& s, const std::string& name) { for (const auto& p : s.probes()) @@ -27,21 +27,21 @@ double probe(const PowerStage& s, const std::string& name) { TEST_CASE("PowerStage starts at the DC operating point", "[stage6][m4]") { PowerStage s; s.prepare(kFs); - s.setSupplyVoltages(488.70842163204327, 485.64928691750646); + s.setSupplyVoltages(491.3466370439178, 488.8804667528911); s.reset(kP3a, kP3b); - const std::pair ref[] = {{"ngn", -46.36312745114321}, {"nor", -46.36312745114321}, - {"nbias", -46.36358785048281}, {"g4", -46.36312159151525}, - {"s4", 481.0819124250908}, {"pa", 487.6615211930245}, - {"pb", 487.5797411890199}, {"s6", 481.08174006997325}}; + const std::pair ref[] = {{"ngn", -46.3631274511432}, {"nor", -46.3631274511432}, + {"nbias", -46.36358785048281}, {"g4", -46.3631215915153}, + {"s4", 485.6163911912913}, {"pa", 490.4627514780715}, + {"pb", 490.3937077859763}, {"s6", 485.6161768945823}}; for (const auto& [n, v] : ref) { INFO(n << ": " << probe(s, n) << " (SPICE " << v << ")"); REQUIRE(std::fabs(probe(s, n) / v - 1.0) < 5e-3); } INFO("ip tube A " << probe(s, "ip_tube_a") << " B " << probe(s, "ip_tube_b") << " is A " << probe(s, "is_tube_a")); - REQUIRE(std::fabs(probe(s, "ip_tube_a") - 0.03407830267111851) < 1e-3); - REQUIRE(std::fabs(probe(s, "ip_tube_b") - 0.03407802821202568) < 1e-3); - REQUIRE(std::fabs(probe(s, "is_tube_a") - 0.0045673744924156524) < 0.3e-3); - REQUIRE(std::fabs(probe(s, "is_tube_b") - 0.00456754684753321) < 0.3e-3); + REQUIRE(std::fabs(probe(s, "ip_tube_a") - 0.0287723165965592) < 1e-3); + REQUIRE(std::fabs(probe(s, "ip_tube_b") - 0.0287720186576503) < 1e-3); + REQUIRE(std::fabs(probe(s, "is_tube_a") - 0.0032641827099544754) < 0.3e-3); + REQUIRE(std::fabs(probe(s, "is_tube_b") - 0.0032641827099544754) < 0.3e-3); // the centre tap supplies both plates (KCL at DC) REQUIRE(std::fabs(s.centreTapCurrent() - probe(s, "ip_a") - probe(s, "ip_b")) < 1e-9); REQUIRE(std::fabs(s.screenCurrent() - probe(s, "is_a") - probe(s, "is_b")) < 1e-12); @@ -49,7 +49,7 @@ TEST_CASE("PowerStage starts at the DC operating point", "[stage6][m4]") { const double out = s.output(); for (int n = 0; n < 8192; ++n) REQUIRE(std::fabs(s.process(kP3a, kP3b) - out) < 1e-9); // silence in, silence out (SPEC §3.6) - REQUIRE(std::fabs(probe(s, "pa") - 487.6615211930245) < 5e-3 * 487.66); + REQUIRE(std::fabs(probe(s, "pa") - 490.4627514780715) < 5e-3 * 490.46); REQUIRE(s.newtonStats().failures == 0); } From 476d21f3c10e53692bb5eedddee6400e6a96974d Mon Sep 17 00:00:00 2001 From: CatastrophicCoder Date: Thu, 15 Oct 2026 15:04:46 +0300 Subject: [PATCH 06/17] m6: junction report plot (after D-058) --- harness/reports/M0/20261015_junctions.png | Bin 0 -> 80009 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 harness/reports/M0/20261015_junctions.png diff --git a/harness/reports/M0/20261015_junctions.png b/harness/reports/M0/20261015_junctions.png new file mode 100644 index 0000000000000000000000000000000000000000..417d38770e4926c54ac51a565702b525be1a093b GIT binary patch literal 80009 zcmb@ubyQn#w>1i-g%)k06o*o*cyWi~P`nf<7K*!ju;Qh-7k7u?!J$ZThd>Ed+%A(hv9}=py~uMcv-a#of@!6h+C<#lgnj#m3U;wVSDvv!%Tq7aIo$8z;+a3l|p$ zXF+y$+y8tAo4u1c``5@r;3O!|9OSf}QBa=m{e7USCTx47prWA2ONoE-NZ-$R@`GIZ zrgu5kb;OMC@R|J6#|##)uU2qFTNXPzQ9G6S*Kwb@CAWxy8z~MC?Zg9uXnXjY4|z}h z+TjO=Zf;p6>$Z8-t0^`q~6mQ*K^fxTXw!mBWgJ_ru*~6g#37G1~2m zJP399vefGN+il+VWHp@qje6J?`M3J90fwxIZagvau&%HzaOA z0EV`<_Op^BCBDU=$;pp4H3Rfam1ANLo{ho>BpVLleng-M$k=+!if%&kt$dEe%R&_|o}E54=+_D3>bgBM4mr zTfZbCqKW0-AyqO>pN#Um+cSV+eZ`>iemAE<%^1ZuNBBDExl#Jx*KOEVi9a5AE7so> zq5;bg>5ZZY_qkl;qu%hjm@^;T_T5Y|cR23EV8~aDTT)Etf8ll1#%I@hBEwVqEylwz znveRK%w|RKm_YoI*zK|8uz&?VgZ;@YM1P*y`+OJnx!J|iA~R*3dHy>gb8ZqHV!s`E z*dpq@rCFghiTF1NbZk?ZQ?<{f-S#=o`vgU$IxL zI{BN&12Oj&{jEZlL~Q~=_4V~R*Sh%heMR*-Had%4(el3Icc(+_Ov@IwUo=w8HVJfK zn`Tj5nF!e^twBCc_o@9RdO4kEd-nW)QhBVWeede)C)U1S60Zti3?CZTDXogkSZw7@ zSpUSuL0V^hMmR<;sIOKWy+^$J*x&)-%7YJGGmlX*b`%smk%=`=z$OtpY+U=})MQgx zX>m8gw;Z(TF?1=Hg&}juYBstex7yaw=ll@4CCWI4UJ)60XA@mekm9y~M1EL_6Oq2m zknRw0LveABJi7GK3);q~4eA+57jRyGM(BMyz>wGLhZx~wx-YLC#SC6_U-n_zub%~B zWx7nti#N5c3_Tug{TNBgX!_x<%2 z)56+G&}0-T57X7Oy2`o0<^gn`jo)-I;Sb;;6blx4krF%ZOP*U_l$4aJ>g#zt799J6 zqgslKAaVnoZ$YC;HKIiIWtq)__@4-iRa9Z*-iF4n=nXAuo^ETG`1_(}E zGjsFM$qc7K#$D2wBd1KZKGvV3oL z{xmwSN$jk9*7Z?(J?^->nD>o7hqN4iL;^`e$Y-@2Vy~s8_340b&V*p<@)g&X!@25#-yHgC(JocA5r*Zy~v_%8#Gm0%86TH04Yx{{Au zX&d3452AEB4OD2^dDvk0dsZOw=PR0oSRL<@$J(DC9LCdf`;E30ys6)ArMm`v1Tn4_=wE`RAG)iZWBHr$!nSu!g` z8Kk*Xt8K%-r0oa)>NlFzn-gy9nes1&hB@Hp*0yicZr|aG(R=Ptv&$7KXOvDVP&!3~ z6R|^E6>CEp2yN{)`A5>lwDcUM-&Uk|JBNh3+C=Dc6_aF;?_{Qt32PPH?@fbzT+bWIatzP|H@vgOEx~k(MOw)kt@+H?ftXq-N zY}ag4kgN2r#&jqE$i+=j*mb8z+msRff3$o94%6K z>U9p&LMBvdCAFqd3VT$6$Gw3(nsW?=LjQPfWfWa_-k$VHuDCBa%2wV5CmZ-`!!(d; zdDM7Za|V=MBO@bB<;~54{GO*K=c-8<%Rm|+`oJzixzcuA9pe_uxgi~tPa2Sq{s|~`+{2Ar*A!w8_ZdK_Y6!VkObG-*)aaz3;i_D(H`fl1>jmG zuW@O!{DsYjtx9I2%n%dSXti4n)3T%5605<^K-A#--L6qp??GBZ+J_$S=@FNr_gBV* zytZ&|6La&+R5Cu3{^z%MM}B-7Gr>fl-(}^|qBn9Q-8TpJe&MaHt>X)fDamw(l+hSR zZI>YSvD_LzNy)$uG(&B2BG3h=q2i&s{x}ZzMOPwBOw8%a&OnT{-^S4zh?yRtZL>7n zS0B6%o3={FOox)ry~sb>TT;z2cwfId(J8ARAhT~p6?%?y2%Hz2l>4nqM8kp;mP{mR zFyFE_!9Z^*FP~Go*=QD?*sbbFee2a~IEVA*u&MxH+7`iO8V)arXB+6R1>Q0;sx3P^ zIXM6sx$MC-Dqj=h#QyaVNd}O{9aWewX4m=`M_Nf*%HD9qg?f>)hArzkmh7l~O2Z-*3pF~!_s3=UyEfv&Ke`)0ksHN?{v)pX1EC& zsQHpANh(f>Z=UXm9)d#_Lc(QMOr_UxJz`%4q|I%?(l8kl?NrGGzk5WMRk)0XhQ{^- zd;8TRB0UFG(Yv!L(H%@IEM!m^#(ckn=XN8*w zK!&r86_YTr%+)gRA^cA}QjJi5DMyH;dyLlS=H`M7PrKD(s4i01D5!5Se7T1~MBpDH z=w%#}|G4Srk{s>TrXu1Jdq3iV|MXC=KEDT~fu7r(>0n-MLd#l|(CWA(-Y+2g--wJZ zEG!f&Pwkgh##bsZXK|TDo38iA?z&6ShWSEu3rvNtrT+0uy|hy=Hn_c@M8r?7&=}P0 zHUa%6C(~(S~oAt@4C*4V5)Pzl4rj16}uKN*cyaV}v&n)ZYPFz4Zca zy{lCDqOM_zbTXVxF_oKfdJRA9Vmvl-Q}k#8GoLron$XLq$63sd7-jb6sm!A0q#4XpT(uQ z=)O9@phNaUq~lkbkF<1fNfe$$7eGq-QGQ#MRZMRIg(oVUt+{wCaBC%$>M)Tl{Q(GC zt8be8D#9mH7T=n%7k9U}ReS4O3lh)eOy`})L|_iW^2~Tx2N>!3JcF-vZE{5M1h-!= zcq2yCs1o3DJe>Iol*3vePrCbyhK}Z5!Eqp3h$sKST z6SE<+}B9l`Py1wxP0xv{uqo3CTJk10}F-ue*2Q@i! zJHvfRd&H8I%Pe9y#}_C$CzA^7B`ZoRcxsV^PyW^E^ z*u0*0-$&mCkl)=o|9Xt1MB5FO_p!eqxIrr+J!i^_ZhR za_5Mf*f-aM(K!Gf`Ed7^|Nd&tmhoSAC0dV)%(m_YfNn|ZJBHKZ5&953lKK}>`dg{f zS|NMB0F5bK>Hypdc23<*NagVd)iqLnahN=r(kz-f)A{FjMDKTFSobi`m--O1`M!M- zy4WB8%9=oJ4xLmwB{0?o<8&Yog?JkDTnN$VoTT3Kw;Vvz1{Gv%g2|SEELytfl)dH9 zI$Ioztkk$1FcF>~`CGR%7dwX2m*Xm1iNj{I9#emBT&#H^@e=D5%Tv~j7foS&CqNN+ zS6bw#9Vp~|pg7kPUkr^Z^EgPL6UyCS28ouHmP&wxL$OKlohgnSqB}^LwIHANbYzAM zlKec^BKagh8Vzu(GEqz3WpC$=M6D!|Feu23w&pBlpQuSnUR^yN^KUfSZ%4$r%GPg) zcJXQF2~T1nCJPjhbvYiBZKs3GNRL9F^;p>(eKPGRKF*Qh6fO-iZGAK0JrBIPkrDEu z354wP%GycvSg<~jAlq7rbX_3>JS00Mnn|m%bm6%$tr^G2t;XE{aQTSzG8wo@c3-Kx zXlfJs{`fmhq*PgDir4p)n_WYCJT6x*a7M}ms1+ouVC*8mp*<;|87)iU`YDTFXt!(& zwy^JNxk(=7ru@rUpRDac$2CiFrgkwRsTw|^C<=DvbM_sY^mX!uXxGZfic8#tiYx_T zKi`Rsq1FcKWdqomCCbEPG`4kuC^~0yjRMCpj$UNt;d;z3A&`7$Cn-k>?!ZaH%eXR$ z_8K(0;pd5D9u3all1!VWb*{;mm0G%G(`!_1BbnXgO-xQM%khm>_70lJlU+-*Z|}Uj zT&@gx^ntx?oqa>$DE3UoB1)guk7SgtO^I{i!|rR>3@&r!e)*`7R-Pzc6{XXpW+_3l zSiax*lx3l!wd7PjhK$Usen*+nXYtfAlcT4+dSLU5B`^DpA2RTM2q#U7u%}a&Ayl)WDRzw; zeE-y`ydrQ?Tqs~$FTe&%bNc*^%p_HtxL05iR#EIUgbbkN`Nncl>o*ESFbixyCH`(*!UV;f2Do)|6h zfLP~U8k8Nz4}hU*6P%htsROc=hcaXKwx4p(vWKpv%p~>SlM*SmJDN?hW12~Nmwq}xVo^Ha%DX0KeHI@1?oJL0ri&4V`(xE`49p@MR z>GZz>SYeE*+Y-P#&pXN?@8wubwkvId^53kMM?PoHUQv<@2;(_QHO0fxN_p5_-pT%G!`Fe($jJ#zD)0k zeMzPCqA-eP;x^wn*NiiFMYqj(7NxVUk}w1hhx3vNoa>jIAeU_xX6k1RC;?CP>b)ya zTGp<&vQ*@iRtNfaQhS^gQ=A@1Fw3YCTX>KV<%8XkUXsb%uUFFxW`X~&xVJ;vg2lX@ma%8_?mbwG?ib4K*)sy zd`G({xO4Plf0#i#bvsy{V9VNQvvr`({Clj68C;Z*ySmhd!OG~@9kY;-?j5h9^#8IZ z#R-$E;}x`2O~vk(P=Lzg0f0ENh5Fw@X-pkg>jvvDfY}w%w*V!=|Lxni-%{=FZqBVN z-rL!+0V)c^`qtK^yz>apY<6++Q!ew-9*#b8w1za?<$s^Vq-y1^NbK$zp2%4YDdq7H zd&if#8dEi#Bca1aG$N1(wcC=X`Si?8ZcPpTn8+nLblDfFnyPEp^aNn2gI|fzZh?>V z*fuOC{h@jDFWogRD!+V1|KrEp^b{X}Kb3|Gk^-7(-;v*g*Mi@}9sf!Y!KdGrMHwM9 z(Zcuu^VSsk1Apfnsa0{Hk^XH=v6Yy!9#S1F_O5Q zfU1|k!Pc*e@I-8`0McG~N+q^JGV8*xR^BZ=UJ+Wh=TEl_!w4&hh*%daKEJ6dUGO;N zsKMiL%%peQHafeJpK&!ZoijtoC((mfrhBeai5Z2|vlwM2Q!J66#(PR@GK#|pFDsA7 zq`J(%J7!Gk6XYSWX_bJ2eoKEytr;^D(m>n;HPS3_I>nbE30NJNUzQz&oJy~sngm(U%%*d zk7w%dobZV~2JKn-azS{8N)7h}RuTQ^Y>(Vr%8epN+^FJwQ2@PW;(?S>d86L|-o@_j zZo)Kergu6-UbruT@v_oCU*28G%F2p`k-Y-PzG+U{T1vZUWD8O9VEXym-Vdp(e*L`` z3W(TkW4XHk%d(*_QtYTd`j&YWy$G?=qX8m)9M4Itf2c zqO>_+mEk`>KOdBfN?u(xs+WEfaPD5yAO7|8j?sUc6FzH0=e*+z!a)2yj_vd^gQL^` zbMWCaj~1hsl*B7;n@)EbmFZtEw<<4{ZB~^p}U` z(g}M8*`8zPwzW|-HSMiL)#}Z$K7TsYXUjrGgM3`zYkSZ?67RNyq+}w--tOJ|6&z}< zP7zSbX4^lqh@z#UpBtP)m)W-dV;&BVNp7ItY#Ptf`}hF8a9d9)_PY|T-kiME=_@UE zjUcS#*4P4TR6^~-pN7AJB(vdLS7sYj5(*UF-ZC}jrHA(-o&~{su!4FmLvO^4Qur0vFl^EWTd`D z7V)fw-%j0Cz%AHA*iIuL-Cz+GW1UMF9ISNQxX9Fsyb7?ev=et!V{Wa9ZZ>!_KDiJP zw~CvH7a%@ee|@~rU@c)ut0I7YK8ILbb1NBP7O_9wnP`^{vR?LDt^K5;f8?Um9`t-G zwkG5fke4c2V}^8=x`0wpys4#<#*33?3r)ckIvbaC{E3S3=T9JB@BUmZtmg`la&Tus zUaWwKU^XP|@9%+CH&nLC$Gm&o(>jPsPV!IliDRg_8CUOY{WgdORV(Z#?Fs4ojT3d-~w%wOI zN9db~>lK(%5z&LSN0nGbM2NHq?(YD%(cbXsp`*)A0?GOQ<}&MoK7Vb$*$?F|I<51I zBGFvW_eK4roSS^5iIV3DUd=e`Bhjo}#H+Sif{#v9um~(P^mCaHA5oYS(Psk?rz!nRipyi znX2itI4<=KM&mcH*3CRy40s#;FJ{c@T(4u34>V|Ar5}pVM|p3<7DzxN`r9k2 zeqFeIboI!{4`X}-FL#O|YcUNI@dRe>?v0Ys{-^S!{jj1Uj{r5f#p@x{M*?}dp2oCp z>KT)KAQROW+_k{6ZtewKop?Lu*{*mLJdWH~2n7euLL~BfCpA%HCN`7Y~zJ9ZGF?a`1?ZPnH!TxT__Jz&!4m^fL7y zTvbMPivKBZV=rlTCP$d7{$5|a6qsi$q#j*bLnA3QL_n2BrO>T+P!>e~c1=IxOqps1 zQYm35&*+UxB;>`bPY$>MUh zPVxQdG_O7n>;B8<`%|}0lt~0@T5dJhp<9>~`1ltJ9?2Rt+G2PBIUc4{Yk&OVB?R{q zwv~oVM-ue)YORnklp_lW4klX2a&5e{gS9 zHCrjAMcOWm7D6Mu&*$cUj3Jt*w;#vp{bw8gBm63v(uhNN2+J9aW5|Z6%gZ%#sI2-d z(?MyppfCnj2(6s|dUTc}jqP;ahV(mUbfjqOXmGn4Uzi9ENy2qO*E2-o_57&hSyVO} z-U`|L)dC~;9BBeUwKic$wU~xn^FtqZy(s?e_%TWh?^T=1^86+*N}sV?ubp&zYdaZF z)@i+)!`p@9=C6ezZZ00Wv9oJ7V{5yaq_JVO8I~UAU$vZROy{Lby&UrC!)AMM^&>!H z1I^0iEb})1BLrwn&3FGdqCj|`B6p?80f{Fusq?VR)Utg)`gMySG~$|aO%MBYGjq%! z^1>j}`&s-|bK$G2KN=#Ziz_;Mm*ycgqMQT3R~SRJHylpK?R9{Ujo@1U*E z!@7n=dN3{iZx?0+n>hUM;0nMM6u6)t)#5!)9h>P-$m2E6wCo@@l-Y`k&rFrSIUY`o z6y@jBT8R$+xWs@tTtgw0dF@l7rOot>HHh(&2>X$eO#aoq`-JP$k%|Kc&swil9tLnH zX!P1duAPe0rHz4VxzcjjV;c{B!ra%_$A{uH&{j^Xa+A9i<7+t%TiPb9wY*#rM|VP! zYuwlq_Wv*N+i`mM5Tu0=Hw{dj5*pd_(Um2d(VET9E`HhmIw6(~aagvu8>^*SOnxjc z_{{oq2PJ_FuC!Waq8)mLMBW$BKIy}#RrWaVZ_Nm#7QnU!4zoAM$ta-n{(PrqUfG>**JuRbc^hHsc94KHY8R_KG6%!;494viLLL1R*2b|+&@F?e@@n^ zV}T&14vMM!xx5enNwvC4VwD~0l77m|(`jH($!p+4p)*?{TQr8@;`VxcChEN|S+kDL z_%tl+ixVZT*0F=^%vhzJk#!ynud0*D} z#bU!}eeJL)>F^cZ`LQ@lZS8(a5z;y1zS0pPGj1J)4>3Go>`9V)9bm2lpTIz$0#5W0 z5Os}!!AmlRl5?DQI9)U}-S7~&d1B79iCK6mmd}Lg3XT&JvYFY5JWT^v82dwo`0)Bi zWy+SLa{+U#6QRs$TiDpk%4=(19`hvYHc7ZP>2r!II_H zApC`eop^SWwk_v^(jB|VG3)7EId}y&eooorfd|nIy>Q(-!|Px3ci)bQq0SUBW2xzj zmK?o0+3gEz$^L3i1l-;P*>tEYL@#VqMNAqtn7Dm)!cg~cMf0elq8aIdjuT*g%l}e2 zEo32#AeP4ryERWXZ*;9Q#;_Ya(sEQ<8qo57S>9FfefPY?dVbi3ov8MZHb5j7lWN~J z|Lsu_%2%pSMJ&g70RM5%>jUwllU+8pS4Xt{6g>Fa-J#t=E^li> za01=8-(}Z5#_>mC>WvQNV`ndnfAtKZp_TV`SU}C%mFE=y&tusr1DwFhir|iB^bDAW zg`N>*Bldm>Y<88I*T;FTThswAy%uiWmEkQ9VY;65om5 z{;`U5u#WqT{47ARvKYfA=rnk$OZPv43%7%1y$XZ;%-~$6uYtN&qYRMXvm24;*j)_l znSQq~D8z1`-{?QLu!#^=6lTUctTvAAIO*-r;3N@xkUNnWK_~|hLv3F@Ry5sZS>r{!GryT*Kglko7eg9QH?Msb$3{BJYO5(!NmMS zBJ?V=+V~F%myC#s2#su)h{?B9Jl2CuSZ!iKE}o4%pOe16(rapF^%i6wqnl;%cW$TwE)?@;y*sXZ-& z+=HP?uzCrmN{uEAS!K7rZ)|^V#%2vCLMzkiUN#QGAR}8rUg*{bJ2b`6IWO_Tp9;{(zHtv9iRE)G z#dMaw7XOLV0xx!aJWnywm{Xqa`HoEXE-a-#SzmKeS`{dCLEb$%VPT_z=QAKNb_VXn z&+V+Qy4+u?Y{b*QagSGuY1t|4hkF=v51bCr$edYvC696%?_|qkBojDODjSRjC@`oJ zl#K;{(z*GyeICC%bYgMcsL$qdSM#{S$inaBiB8AO2b`Q4FK7L?GD~MW{qrvB>x!xQ z!v3LozV9_P=r-;Xol^T-j{tuYa%1_buQ5Nc;NfZM59QtPC^VjssAJdrefQ86Y}MX0 zoJA`4guUN&tgP;#+#ZmOO!Dt1Zavw^tD>W{iH?Fh{yH5U(~ho;@G0RQ`+R zpaYg;Y*@Wb3)`aY?J=UO6kkKq5I-E=sq0m+@ z%7(UObYT3)C}sXztE;OTQw!fCAMTDzN}Y~-(iom;u~d>BC<2mG7L`5wv(5 z2^$zOHqtEzuXd@a^z^VFPB$zJ8lO^#vA;)-of_|&UwLijxmM^rDc1>3#S`5xaEA;l zWC;?^#q$N&_p3hs{{2smyDP9tJT$L6u!|3pb=P`tyxxToPQ?0&-PSY_SEMJW$m>+* z?UI%Cx;?M{xtSLR&TgX29c9%QM&(?*zYtoU`cX!P)m0-WblI=tD29WClgE}6{h)~f z)BG@Ep`;DRHcqh7*(rujp-M3g{ZEX6SKn-kOMt*XvuO=7s_eo7D#t!Oqz+kZ zTjT6d2`O`DGk`!h8j1{VDI%1jdIbxkxi#(5$etd|?Ni?6*`^8J0c_c5M4Q zJ0x@nKhek})Q_oy>h2GT@aHzgk(4*>V)SK12djB>-pWvP*#-eL(xq2#80sg^PlkJo zc5gBVbYv&D|7X$BWUeN&t~`fT1kQTo_ce;jZ$DntYm)Zmehn68&+jE~=f>7014P(o zsws;mGB5!0T?rVTSaxcAZq*!TkcUz6^Vscw`8 z%&ut|>ZD__5gIJ(MJJWNGV!dHa76V(Ij=ZB=0kcN6ivEM)0D9)1bZz|CPEiyqb?wB zCQoXbFYz9KywQ;_F#rBn<1&9EUx3sqeV|WDWHI^CpokX7I*!<>ED2W0>@zaa((2UG zh=i0fO%J$GXL!!We#@IG2fRbXj=ZLCh!<4BIr&L1;yW?ohkFUdwZd_nVP$q4KGXELjbuSvNT_Vr@Vgyr>6Q+P41eW%*C);6J4aGlReQ4!8?_8tti!J!9b$8u_Cs%!C|5{#tn2a*9Dgrqa3_7Y@ zt$Wuv0hW+rUpo>U{e&Wom^(i>~djQUp94J>pdug_c?qFzP0rR$mt~J^B zT|h#j6%gwhBbWAGbkuxhbS5|z9Xu}m`-C%R&Wc!sp&w)Hvy-yTnQAPb}WY2f!0yD;VqWuIJ%jwRoTQ$A4Wmwn!_ zB=_je+=iQoTgq#ai;gmt&#HGvCurKfKg&e*i*Zmu2JSz4JnzK0Wt!;Gzp!0~>!#}@ zCH+(fp;j)Ko092;K-0++BB-MGsU<)C=t(*6jsvut>dAbh{VFbG?LfHE%+Lx#GU7^` zQ6%3CS!0cwfCD=PMyR}tLt?|@6F`l6{fjnSFGt{n!L??LW78)rIEg@X7A^=bF=mII zk!rbrGS)a}D!0`SuV=MZgXt7Nc_OV6tFXhOrx`6&thQD{@1eGvyQI{{aBVa`PyMMaPW9M4`eU{flW#GuyZ4x#2t+Qp| zZ+h?tZEZjU_%k>fpex!2dJMoQ7q>Tj>?(KLuJS6OHj@NJcSlK?0@wSv1O#;zZ8+D# z!Hbe3frcTW*s@x>mkvkJq@>Ix*kR79_~Yr9`0`{=uRf{d_qbCjX3u}QKu#>dzmu03 zS246Hiku)PCT5~+1Vo?3pNWb!3&K|t!B&R%D7P6I$8tHSjQx05UZQB?jh}oMElr(E zxEBqXAPkY1T82hvI;NfGY+19YTkSn+Bw@y1wrq+pEXEG!YU&>JUo3C<5$PcGp1#~f z`xWev_>!i~<+&3&j*Q*TmxT4?9F|IK$ELGlh9^S;wujHJj`jtH^qWxAbOt+LUsO8iI+25$AIj}O6}$%7my^zSYU%nBler%gaM?8;w%*`L|B_Vu z!T0o9prC(*O+r%>Rd2~#?$Q+$j@P6_(QjoF+K}_){s#OwHSLeR&2A>%+(OWM<1uq} zu3M$Zr%)*M>)CI_0UQqQE{|$Rq~>~!)wj?G#L;T<=#&&P>N9Sq!C?t%uc^D3k4& z0(o#Bn!BatrLW+1DAtk)xv-A+GWAyT4j8we>S^&-nC4|W(&C}CeP`Qq@B^l=SnH{i z0!SjbXv%U7XcTzV*7{PwDN~AC8=YFlcM#Of3>a+D-bcOz1wQBtfJ3=b>w;8EJhUvZ z8oyqQDw}L=xfPu^u3R>+IHR%ZQyjnC1Ooq&{^4uV7Wki$F^y%RMRAwLM;2%Gof*l& z%J$C>*u->1M7f)V#>s88)D3l7nu~r}q>0*!=xSWzm`aYldQv$QE-n!GuH1n*WD`#V z{dzlhf>>P`-8j6@NNVLNk4t7g``^7kJ*!RdiY&jVO`rn;%s=Fm)zqkvp1fw2>^B`+ z1~bEG7`ihAOK*mA>GBPF24+e_G(PKeyi_1f3KG@gfdsJs?r_xqp;7F6EFY~XZTAE- z;0dv==qpLAklZ(wj{=?1X~xNa9_Ms>;b4{To)p`i%RS!sU0#NTN;0@K6ZOR_?ZyD4 zbFHJJ*5E7h-MJ=lg~GyK-SU@0)$k&=+jZA{^4KANQ0UOBr`fe_`Xln1ZOxO$ERuC- zHxC$SzE^@R&0Z-Q?(WeqCX9btpvMzC7!}JcQA^SZR}j-1IhdF~SVau@vJo}k`kGoa z7AXDtf*;tup@}YM=PSA}xp#2!b}g^17R!?})Bt?0AxNYnB&e$Txfpz|Z#U3g@xW** zSJ~c2b|SK>P9kyYH)ip*N(}}67S%IMb$R@&xT)#!TeJ$Hj8p=O>kd-+HMTo>sp-0J5KBJds<#?yiM)lbz#tt_rB$KpDqbrO|$$|sTX53_R=2`Ts&KaxqA}!=Sp$ELjNr~0^VI?c8lkp-QR_*Y1-3N-92KUPVDPxaL z2SwJj?-O%*)v)4W zc2k?a{>>@op*O&9YNEoNRv1Du=pcD5Zn`CG4d|`|MJx^2LJ_~kZAo2iU9UU_`aZ+z zF_$&{!tHsz^S~novbVnq*h`gWc$dq)xrWJk2wI|-DAvOJ7|!|S__$kHrFF;+&=DI`?uGvJQ*pvL2B=gHEzPbtN4*^)XH z*#<1^Os%kOADHu#Y&8;I(<%_O9rst6EVh)hv^3X~WD?yz0pg$to(opn>;0GNBVhk8)#on}TH*TDs9aJg?_Y$Xn`j%{ zHgu`Uu5bDT%M;>Vf6wgQe(3DovZ8zb=5oH&9>#l_)--s$RN~D*zAr#bmT3FZ{ciFA zX!tqeRX-wKLi;kBE?_m)Q(RFY?dw}7E!O9RgW&4|RCbeV?k1JEFdeKiV&l>oGv^0|r z&fY$w+U~<6%zWp;eDg3qH$#nGCOY8c2q>emntM%VK)>E=-V5RBPPO)*4Emp zH#=4Ge{2j}>;zRc33Sg!*zI$1XVR6%j>Pj=N1Cq>r;61@G#-F8-(sc z`-(%Eg~+tmda1p-JX~-{zQ-vQQrl0`Hp)gy*eWP=RmPiun9aE5d+(UFFCm}LXP%>Z zY9N?+KHY}yQcZ7lH3tud+j95J&7Ga@EYAPg`N3`Rar$~zdA3K9g6kl~h&Ceys`5ms zoM}ER^|Rwc+}J1Be-0^GrG9HbIMVd4IFLh1m{BaG44X` zHs!vcl@_`1$rm05Jza8|%zw-yD;r9;F>wri{-V4iUV5pp=K~Qlh@DNRaiU7GQ zy0HnBl@Ye~rDlcS{M?g%c;f-Zdkw-{3W`NXE7rxTdS|bhKR9*uZV$_FbUy_wxV5z! zjrEM1OXbjfhK#803k#b7gNXfJ8B>qTDKVVI&J{|$*6t8$ub!tSk;J%TRVx&~$1Ow>IRo4t+5+Vj=S zTE$kHv5M@?P8YZO(MUX(hP(8#JD~fWZ_icT#Q(u;J>R)X#hI+}RYXg&at{Y(K5MB^TMS7-mT!xjfo*ndvcB%K%!G zC`!PNkEF4V_tv`1rKhK`=H#|#G6w@;DYTrTI-lQtd;jj+1(X*k1cCD~6%sYXcmSFO z0U9e`!{x_k6Q|pAjL)C`opiciAYb$e5IIMbc`y1*7JCfP6xmZUK_pjAmJRaOe+a?n zSFq+~C*A7myNh-wxwr+Nzn2Zo#}X=hYfJ2D)A_#2D`Wc$in!nVJNARX;|IFPGt!}Z z{8z{Bp(PJ!$F6SK(ydgNaFuxml&f2jkUHXt#ooFe={&EmQ39(z_SSLE5?Mn3}nOSBDBwMC9BuIxZz=YZS7%q z;{3xvgeq|)vC(sBgoRtjJesH%do^bYkgIRWvXE{^DRH2U` z#`9&%H-Bdh<${oyB$EfDLxBpQ)_!w4wp$Q;P5Adeqsdj?jn2-nhqzw#PuT8`FZ7-S zTVOs`Om!wbSGY@l~=%+?6wyx}syP^9GulmF~mV4LHuHi?* zPC_bL;)2gh*;;+d%@%TzAg&&>u_AZ?NSGf3bNAnn3tY?958#_dvw6I%Wb@KE4|uSj zcsQP3Evj0+x^uWWo8riEk*Fz4;~hU9MXBkF5?_iS0k*gUyhhWVUD1Q6;`ucXr|1VU z&t>5o-(=AAD1i9Q&AT_EGC)Zq6X9CdF0QUydBK+@#tA<8`{@RkVZv-X>j&HW@0HzD zj$BN<$6BMvD=r1!_|@Bg9)o(jUB6Gx2eSt-g8Je@KXk~`Z0;z_w9&f$NN`XYyS3B zKNZRhKJJAM)tJ=CTxA+x_ROVaMGgegGqjX4;^7=&e;McK%f2eki>p~GQDGXr#fIiS= zBBH+2l*Chu%%d%OOrSsyfLRIoOWtaiH-pZDiF`(o_`eHWBuVEZW>6GF-Lmn*%`~_X zKD=82o!cZ{|FN&|z`{`EM=`f|OR&%X00<*OzDt94L+AAux<1dJ2^$uO>f?)9OkQI z%L0*1TEk}GA-5XWKB47%`;~)sw$i?)zLjfx>`ERw+RG~8v%8fC?5-aj%MdHL&cm-t z_jU~s*ojjFg(3MEU0rXYN|vFNUqNsV!gAJajia|DJyK;I>v=`;CKUM;IyyS4Rgl-y zxM0`m$uO=M(UZ>1t8`+_QQD*gDv0{M+yU0ZjwI#O)c z^;IU@YWk4ku<)GpBMhdLjlM20^0KGjcJj~f)lzbO*MW_?(mj>rvpqX7}y)*6Z~ z9;eoNL*Q{adT~{q)@6*a`4m#@a#;+{oxp{0S3GUz7nVs z9OlpJsUxkX`GV<`Sv6M6|Mb=gfF*w4oE!>C;7_!lBqhoMk?AmG$+dorAp&it!ydUw^Y4 zA1&?~IQ`sV&gqc=u@2`;07<_cVbn0(@Z7K>pb?r)8%m-Bl8X)J&*&^SVcZm#r-#TD zQQ@npK#N1G-g5)J=%QC5!9!+xA-4Y)dv6_9<+`=;E?X1?MWjKb6a)lm0Z~*y1Vp-} zq@=sVz==pnD=FP6ol1vDcS(15pYbBb+H38#_V?|*zjOXLf9&hpxQIF5`M%FH#(3`g zccUJcWU~E+VQ|tz#VHj<6_=Co?5V!L%)GTxLos>D9bC6^m(Z*A9W72%30Fqdxdmn= z?Qbb=)bNs|g^V=ooj1KEJ-OAw5%`SrZqUtB!`9a87bY)luG#Wfmf^o$vb;mWk5$y# z*OKL;RdMc}ruy5~empwG^uaNcz;k1i%PWtp%xubBy~()KpM;Q-BvWr_IcixQ)`(;x z%_m`ao`k0%z!}2usF$X9&}rZbLp%3wzUK6BWlCk{sqsd>Aq#T7)4|F^JYprqi&N`t z=k0fRla(e6iNjm?lDTqrfIaZaH{>oUdQ1c6nGrLaej}@93w+`8ySf3*qC}^4w3|m( zE~?2AxgE)SezBV20V;(n#)OMw;%bf0%cM+tZyY}|YFd5_HQKpzG25I0oQ%em0%wQM zlJx~7ck+!$`uX`ewn|~{l3?Va99AvrGHFS}$Gw*CIgP%3py+jL%rowr|G^1I^VW+> zP^EAB?W@w4{HW@@96zvfpZsuFv%g;wbI@lv`K#ZCvf&0{w3>T^&DUn5=&;YqzP|oz zbaA*Cvj?txQ;UKl;KKFm%4`LQD!pLBC|#xPd$(Upz?%liS80(oQ66v8T zK-?OzxPALLT~U+=qjgms=|QCDOSMhx6$HJ9*Zu6G1Hn?5on0E|ENntHrR`URuYp72 z!#bXDNP^~Fkf~4jQ{42EXxUTP3ns9W6KGu@8y;4n(Sc$|q>Un2t=fCjuYtMu6vLOk zG21B?b%rgQPerK_+GxE>%d9-Ii)bQ!W2Qt`MxNG7l$$n0L`9W*E@)X|KJECR8J`Fa zhj4!PJF>Fx7M{dAK6*d7++F(mudE&a3t>A`z@x0tJQY8|yszWR!R6PB)~V%k<*uxb z=B&kxkZ+l77SSAw8V?ivmkQPaF5#(qMf4%6(qAg^hh;INWR%H<;c}LA zc+LloL>w@0?Hj5nR30;Hk#lA4slBCPk5B+UklRT1GI;xYKIQm_6G|AgiAXRao&{OLI3kRCs5 z+Vt1!Z)zHB4#?2TP-nna*u^_27SVZsPPe1c`mR0tF@+jWa%!+U>PaOztNa9e74b%L z|2FdZT{x?-OJ}DX*yJXoaKFuy^s~Ao{!&2yuNbThO8>%OHL=u!QYwOU<(c>h)4r% zm)8mZxgDG$^KtWCW5SDVahwe~1pi6!+W+A#_;Y8v`JcqcB?rCRXV<;*IsD>=gtT<{ zhY#3Kimsn+?d^5T%w)}0pcnt?=sP5+M#VLDUpOr-?TS|Y`Lk!wwo8%xVB}qTh9?B} zOEAWYp|VhTk2yFv3eeepF$5w%-aUL@SWaF()p}V6s^G3_HNc+jtrrxOSTFM8<4=~L zF!-#jtQcM>xKJgxb;VP+2>dWR*6}vJMZ@Hj@B&%&W%agBl@0f_*9n1s6cz8}uhvycF)zIlcvsT&M`Q)M>6Q-u(uWo6O(IO>NXv?wEW1*ZNlX@X;(t;yYv)2D5rI0TI z*(=6i>wXH}8*K0#KT0MWQ4N%qkhoZ(!xZ|YA?$Wca3s`zV`!E&7?wk45gMPj z;zG#o7C(M7;?Skfn_}wO)(D;ldWD;pC{KssI|MZWDYaol{)(!Y)4{qJo=oWGmrD<%Vjcj za9Wd%qE#F+b^?lxA}P2Z|U-=s6)^41@h-(I&boS^J8Z4%~F z0dPc0ns(`((}UK)qsbojmA?Y$BOC^Ek0n!Q3w`d0Eg^;iiD`x>iN&k9=6!Y+fkx%{ z*~_i+bl1#1kD{^y74D#{Uilf=)n++}Kz=1r(CBO1sq##Z10m;Kd|cawBM zuT|5XPw$jsi^lZ#H&)@*w4WLU4%0`tHujJI(tyzJWJK%P0=Kf-A$zVw= zvPKvT?RZfMKR6W{IlAGmoAe3p*F>m>IfmZEXz=gAD5P>nlzUl1%ialrsJZ^uy5r83 zG-o@AhDm@fblBR=$-F@Rh8$rpp!39B$DThwh!fo=)Jw{AnGfZ1>%ys%s`%5!hdkH> zIs+K4?)B?PgBM@zN)5i&``Dw}NT-(^qOM4tI-zCpH^v*v>+NN)1Q9Dd^=bb~h4H{Z zA`RQS?iou;)MqX+_#4D(q2w$%8OI``Hvs_n0JVzHbOPMlX&Ot2Nf`7lEM`;QtFd1g zs;VB9wB($&UvJ*=ODkDzJKm?0Lml+dw=#!?&Mro-wx}@4%5&k zV11@Cit?XgIo8X)wXL>z_kb{%o=a&{*^R^4p3K%>@WbN{CXE_&QXVdyg7jdO#OeKy z(_{E9p_40~cAe9-))8$zOLzRMQFTme3sijQ8cxo*_|~WO)?O;8Z})iLs{hZ~tJ@Qu z@B~z^R7F4LkR`bnb5TOYe=*JQ#TS9MEn4e3Aw^pYClOMJg4M83b*PE`@Lk8?r8Vc; z3*zb-`Gp%3v@D#`M7%Xv^Q2GK4gkhXGkL4H#tpq~1(1u|Et*3+A+`%naheGm+Us|s z7_n!VzJ0KDl_p=}CfPLnu&)*a1@SeoPV?L3UjxhQrWKku`?oFZc2AEnU|@l z;xAThO#nWHc6Kn}ahlW2PDe)v`+O<3&!KcfK*`{?VAFG_0p~T}IFnVq@=g841639u zYFSUx6?=)AM^|Q4LENTm-w%kckOdu)DY8VH{5sCb%fqL3VLko8S*6}@ zX%xy};4xJCfqJhPcmC}EZDVk&9OojG9iY)D5RDgbQA0VWZxTigWzmR)Gx@%Y^BVZN$ z0Z%D({rN{q;6J+4cULsQ*KueS2qY_2{9UU6i7NvVNun>g*ZSaqA5H!#SnE9eySPn8 z?)6wV83?F}Y@ks!+s^Kh^0?Df z@k#&<+8ot$c1(e8nW(>>!(*?z^qiPg#-U??q%)byj*@ z+c#%?z(~R5zLbPSg!RV^t6jOA)WCE>5`&`c%ufDB!GKDtUFT<)clik_p_G~QavxzA z9-$ZNSWw()TWETt;Tu_TElsf`)P&_2VK0*?FV%E_N_3F<>+$#Z)MmPKCW@UYjB7a< zD{<)+VkXFNV|{cRYmviKV~?to)11;m-2CiS#@T0P88x2&Vy*aHTbQZ%`%guPM_dxT zd4ebt7HarZYU@FIZ>iXsD>TGN%b9Q?XjVBk zZqKs|;~mqa5%f_V5#u4sJMsCK>($N=R|gv4(~tx^zJt-*)i=!W4NpTy;MTwJsMcTO zVq$hX^?v);TwPu394r6=@M~2}`jC7~O>Iot^dHjm=)}LL-OMSxg%WCre#BQI7 z;rXS`TVhU!1Y>`LK&NnhX9y?YGrS_?!}pVsTM;ZUOXt7(|`O};$&)#zlq0GW|zKBzq#zBK6w5G zIZ6WH7f(tyjqy}1m=gRiZiOn--JbMtsz)BZk6{`Vu zC3|;g6Tw5$7!1WrCreH0_5lkdZnSHR$S``)G}(WNS4cR42lqkMA-V$pYogfUa*?^w zBc{OdP)mDlT4)~`_YLu(TGkM6Wz1}pCcU_GMLg;9v>Ad)6}g-06Kua@WebSUY^Vf< z+mu(f0Zu!&TC~eO!IO5vr&QT?zHCWn2F?mb6LOFyf8S>vtnh=^MlH;{GTtm*swEAGCcVxo04i;~SW3rnK~aBoX4MF&3TC$&3U z1ng_o5k`v{1!R>%Rd2!$8dZ&@rtD&{j^JYmk_^nvSx<2<-PcIL-b^uzSqGSd#H{({ z(zPe!k$zJNNB0|9ikAQrI|AjVI{^>P)58onFE*elO60RDuXXm4zM4w%YQ$O;4;#>Wu^ z3L=-6{hst2bL~CJ@Dq#7jBz+%^nxv7pVR{1vbQt%VGA`Ht7g=^G21l9!scuwVkLNl zN;2U&R;}tj)}n+bK+G~RIqB0h4w4$2-HG_*mDiY>0M^kV(6`J_cY2IKvjF}~3>^%i zj?+jbmoL5IYos}Zp2YB?$O^V-4{%fcCXD)kf_uemLPFB9Z)=2&M%c(Gl_^exCp-V* ztE2GBQu^(h#rXSS&Bo2_F_#CN>+XG}+Tp{pMNbN>Cyjw`7Y3-@zWy<&07SZ`Wu-Z4vd3g_)MvQVkvy9|2m}1J{ z6e4C(x6HA`@r(4;s9ZgQtMC-5ODA@i9xI@n9cLLB&iC3b3TFt`r7vmmTVM3^30Eh{ zaiQ=%RX=AJEgF)fBvZ-bnY?6JQ>mVaUfU6X_qBf*RWe+96qTqM7ih|4FK?X>mtt<_ zU_ozvmmjo_Namc8Z?dJoT~QXHFHU=kpfO>{D1=9G-bt9&oz!<$wK*{D4Je2%g*;#gsNI`fhu zD!OJ>>!_W&(j7lzp)$%|1y*|MN1L=4#`}GH_1@K-FS!6)NwX8xq(w~?^)YJdzWPwU z>7*0;?P}26qeCyKU*D!v%geI~XBn*3dRxo2`1xu(lyE+Z6qQ$u7~d~Xk&Xv?M;557 zr?d%8!JAd3wm%u(q26L~ax^s9sh0TwD1 z?uE@^cd<#Jy&e6uY^K&N>u&OITkji*TPP>TIxpY#7S-nJG({%CtPNyMQi4tT!S=E>1bFi^SyPpq`r zn{p zDRppQQ{B7I-I9t$t-~a_>T>nV{epT&BIDywG(--lXXje7_+=Dpd|4~QRZfUnL1FWV z%CF$OP#}ty^POsUra)lcG#&S~4mZ4`DY88m>uWIP?(4lCLrW@aH&P&lMxpa+m zs1`rKnlr3qq{?LgSp-F#FDH*Nc1LQ;2L?N(((CHiL~*ct1?#@crL8nva%JrlU}NYI zMc2C|KY``+dD>TH(kWOuNV}b`CCcT*WTD}bZNriqDN%Zw(#w`F|h&El?&!0U#`tEXSfG%T2mLB<%`?bN+!LS zL{8>jPFn8m(MH4u&;mzH-Ls3r6Rd!5;m7`9ZA3gvkvK@K=Bgd8B1N{CtnrSX%-Bxv zmzrqq;d2(J+v+*Sy;a8#8A-uOh_EZ=aEH!tA>fwQ^Q*+u{RH%b{28wY156dL>QRp_vk51}Z}ofUimf~);Ej_F=tuu^woHA3OK zWtOk=3I@##pZz#KDPUYHsiV4_^X9H@61;VIM-uT8$^qT`V4ro zLxOuoi<24O@qc9hLVCxWvo`|k5MsWTzJ4axEU5ac%AE3nReF4!|Zc&K82i1;Ag^NKWwq?JHo~#x0bql&fu^7_fdh3z+e2V9KSK zPj|lEygv8wP=VX0<3L>EK(;g@lh2IVu*cQ6v}kBu4>wCg6vf|a6xGv{t%)U&W`VUq zuj}c|Xal=ZKLF|~khPpHtD9+NYxGM{S51oF!bn|6@&fmCdJ_~iu0iIVXl7<+jEl0c zN{-Y9;7SwE6zx8NIt_Pi^!jcGt%C0$=h*ufhA{do?cRlr$uBNm3^F|E6yV8f2i|oG z5c^_T-()gBZ{X~3O{{SuHft6u5aGPawLatp(@m-eX!uN_iPvIq8BTtfjQo#q@1Vv% zt2eDNeU(e0>oZDLSes0m{Oa1K*_a)Q7_**Ix**22)#H66!2X<9lk^nga>ZZ zLMgW$ra0@ymT$kB*Vhj>gtKm6l^1o%_|LP>iHJ5nkq1_Tk%_`uRDTef{xb9X$8zA? zBB2>IEq((#zS=yDN~*hPh%Ic1Cn^j%W;rh0+12IY<#i~eF4`ploJg&i3AeF&j(R0* zPTzD_(Y^8+z2qc{yv7UXs_P>{0pg6=#?37#c%|@5RmWgV?h(2K5{GiQ;_*AmY3fc) z1d-SetP{gAvU=6Mgl{rXhxt%jnVOr2!JO;mOF}RI28N@{0F8bI+k=EpkdF^ewK(d% z5VuDA1~NmO*Z}@DYQck}iH?qrMgiThL)|jZcNeA*aV}a7_pJj;YA}wzSc8ZYNrFU? zGgJ%*lZtk%m&3lkB6s^JF3KG_L47nM@Q|vSb_Mm;Qj;jO7YY{>idfN;#c$lW5z{?q z?x8jds1g9MC$lEU#y%Uwm<38CSx`Uep?%553$Pq8}#L9Iu9@G-?tq5|`u~1-45oabBzdlu~@W6w7x(ohRebt?LVw5bF}S^xv8QW>TIZ z*U*{oFQ{Q^mPMCmTu@g}#(SemBt*dIi)^~K5HV4GMFA>mrhDN&CzmkY6*T_!`6ch$i^nSArRcAVhy1ertOqfbUP1<~8Wl7#@-mGUvb(p*r(al1O zSX~mll=3Pyhd4A_mUZL%?T~n*4|P1^*c}>LFG-LB3yxXRyxG1-N;#?B`gA8R8a|^wysq;KtdBMFL9QCoHC3@$6y2=!zcUO6k!K2}t zA(coV-ZI`$VVQoA; z_TToKS@gs24CwfZGC~_YO8i|NI$Y76&V@@@M@DYt&E%d$Vrgnw&bg1K(P!aRGksPf z97)V#_Px9=3FAZS@NhEJ7?gD}oNO9N=_IPJbWFxwFC1N&uOM}Y&5!WRF!(?<7j-&VsNo0$)_FMD(ENA3K40VaKY1CH zSH6L`p^{1O%a603m$l^ItHxziKVFP2%JnIDf6gEvcZP>l4ogkKI$~h z2x@_Nk7Cv4yP_$dQ(O50gNcnR$*K!EA+N!#Nzt_7cJ))A&`wBuaYg!g=xyAX0{PvD zV)OkgZn|iU-`;_>tU2Gz6%rhT=`dGd(W0&BRGq4blZW7#yVMm}g%NK*bNCrTBQo5u zv*1@0(`$62Q@r#3Kxb!XbB!ZBYi!M5;IiAB-3=fyuo^s%L8+Ul2SD3_7*`S}uwkiith!rWYpAGYVFFIakj3|y+UeA3eno2X+Z z50Up)L`utGz8j(C$%!ajNaMvirqLKr;&yqNQY4}*HNcW9gwsqX+42&fb;NLcsdhIE zCcOEVWRN;wBDT_PMot9U z9v`gC$Wx}4_1Hr|G!sj=));?+j=QfD%T_k_QukLJ=HvlY^vT4p6z0K10SR?<+#O62 z*Q9cgm=9gU8pc;8S25O=IUk3Ix)Rm%C1VViJ(Y@9_pC>2YrMY@#ZQ#D4X3pC7YjAq z4(;E?5ll>)8=bnzl6+BRpZtOZlG8mnCK@{+s>uMw^~rIyxW>>l9&!ot`_r#2EhSVi z)nhACUlYuZzG@}300$^vU(+UigoQk&_qew1@_uzHKy#rWqoK7|gsM@VTdy;{K6k-? zp3WpUs1!j3Lw$03{N4iv7w0jyZo?N72mGAoJdy_Y`x*yy^!Z?V?m4HGA$?ysMz|KG z$w`S}Ap4c8dr*;LAVZ}0<5u79c8JcD1b;6@*+hXKyHRYiAJtzHeVu$X0&0I58T?s| zP<$O*kn_5Dx=NKtiPvym<~xjkDC-?{!&|KOH-AVsScfZ$YkJN8F-{z*A(&|jdrrG%FyQDKV#f) zfo^)Wwn{DIb3B%t%s|Kd#Xkn)@<+ulPPN`rT6nd(E?^_#VpKuc3()_wJkTs;ulQsX zY6#~_+|)<^Z)}qOjxz$}!Y5Du;T0*uE8-!qHVvBBw-O8u;H(tEa zIx{)`Y=8FKh{t#;#B#u?-omJL85*kiNN*TR+hjPUa$@P{44(^xT6!FrlUCN$ zIQ#2EqT?EjOOc47CC1B8QJXIB0tG#)&>ot(c0j0yjeK}iOTYz9WgNfKiWg@uL^~Fs z^xRmX2ECo6--o!Ewe77XSF6qwPv66~8pz+fV+J(EazV1AQ zocLFe>%}ZTbnf39bnEjcDj`$DGZ^31uL5_^OikTt^Jl4ETddmXBLT)-2UIO@z$LBF z(Gj((`}lDwGUsvWf{KFCYzR)l4&u$66aItI(%b!v8J8zFIi%}mxURzq*MAfIPWheF41q*g%L3Ne^!YEtt+AS9wYsea#z-X)+O47JQ`LaV>ucJZjJ zpSO1m$zw(r4W3+dS3lbfvzClB_324u-qnJfqGC)lEPD+q7Cix{x=pP=i3C9VUTT8axi;2!djU#T?hE zKIMX`Up_{U^;V`Od6(;1b!|0P?;5V;c?3UX%*;?~g(1K>Xk^A%4$F^lNrRLZWLDMe zTSH!=hVUZq)QVca!$op7A5PZx2eaxCoVqr3g(YIU*JidQF`)Uz0{%s&KF)k@4U!F! zYts>3AMzpd=%pK3_quF?IacyWV|Ze1?YU^fh3DtH$K~y(@st<}$kxnn{K%HQd=quw zaW$+r+A)_pbwGg-4|OL@fpV7- zfhU2l9YimTt<2rcUpgt*?OSjmn(Vmr}(?Y|Nyn*~hD|A0a^LNJH z=kzU|J-94px?`pdOHcDZgsw>POQU+yDr7m~6R7G(5NB9(LujGEQN+1UHK~ievOG|> z7^3ux3*^s4LQ=kZtbe2ZKCyd`Vtngf1L_$6DQw@_&PS}DY1FfqA@k1>f+3JFi~Gq; zr2#9TsUsj5AR%Fc#Hb83CN8ed`P;3^F3PgbaxOaK^Ek6TX}4!A;6%r)PIqsMSU!;GX4P@(sxP$Cz-4A6p9ZC80_4P0IKu(Bh*A1c; zZ6lBQ?F==`g5t^3vPD{Lc{ufRB)<*#+-DU=H_|25P2|dX_UfxO2&Miqte`Y590*H) zsb}`vy5k+`zXt#obfD_os8OwdS$F9a+uPz%6GF5PC*}{*eDJAX97c_r z)ZaK3Tc_3gslCvDp)_Be&aa_OZnXCk(>Q8toknMI2GCciL zA`34}UYI85p7mH!h=^XY3;1cDx_V?3xUtIEwly6U|VNal=dUoZPyrBO#g1EmG zT)%fclWa&_XVio87e#cA0^eAl7dQqt1V5kHWr_j2qpD1>u$ABc;q30eV(`y&!Q zAtfv81RZ90LIOGt4o>bk3j%rgPihjs8|vD48zb_lpbqf$<_A{st&|;+b5;RoXcZIw zYSxNPTf-XgS1~lIW%w=UeSm%uB2n+Kn!J`Fl(p&C#hWA5;`F8EyXFY%|GQc6e{u`{ zIDntncuD{w7|vefcc@62vE5u=|2MnGuQFBQkGSnX~R--ftCe9zA7~e*j4U zS%YHg{{8z;i(rDoKAG_0vX*_-O{MP#c2+I-AR!CBsS2ab-S|Q)dpP;mLM1=e|GQMli zJZB=N?l0z;jKWAZ^J9YShZIm{sDN@qtce>YcX&Lu>`=Ke6B&Ly@Rrkz1`@8LdB!1* z>zP>iozR>dd^p_FJLvYq2uJk>5?r8nM8d^s4=K3A@$wPqw=N^GnkrD}K(u@8#5{7A z-oLnR9mx%O=yPz4hM!!xK?AY$G%Z3R-|s#3gnlH5I)-Fc2C0dV4h%^^F0|nyK~$5~_)p87@4w-E)2L;|O)ejUtRC~~udVIScHWnfi5WoT z|KI^>ImDygNHH`t^wmdNNsN1_fAdyjdwUG4Yld!HoM=&B^8ZN`m4$`|Wt4D0E46KV zii%8uwb|J2YM;F_2BU$t_9q-^g=d$hsJciuijlOB~fPdep z^hrrkG05|eM!LPz?#PUOy2b2*-a^NVDvFAVp|fdER!{R2sj&B*WXQ*g4tZjoOfn1U zz3;!Rg4>03mlzn_JHtu-QfU7#9lBkW{6Xf?s7As^8Wj;Uj8L_ZZb@E5#9`3F+Z9vZ z8yJYp&X&>hc=d2Q=<)(9rBv=ui}U}cxc!yhf;Ou>uj{A3%8>QUI5AGVnp65}F-$F8 z;HYVZF*njtZs7Z!hLtC%Te68{o8N)Lf!FYT$$fFXI(d&VEHNAp{dOSH6!S~m>MkqE(- zT{w1#XG(bq>Z@~z`9+Is2db!Nh(ZgI)xpAoDENq=iToZ|M2!Y2&yZvM)-Ct)L7sav zd1PN68_TgLNnjcV$Eaei)saj@F@1*CO{rE~9Q&%-=k!h70{=X-E{4GZf9C^whh=+( ze2;%PG|u5C>`O-o)T9D`ezF#B_VOS1HoM~gP+RePKdNbce9q$gV-?LH-%R%ZRkcdf z!p#yL4mlp;QCwix7Gg{OxR*Y$r{A2=Dc+Rc>Wu8#t`SZi`MzumSifmi0%GO2uivP9 zrGY^8)n{zHS6RGy`8ouby67MDydY;0L@vs|msPi<6U4X-NO!A~%S{f9m!&t(f1KHl0?}Gj|OMg=%U)qG4H+f{+ z3vL{>9}UoV4lQs1|Do;C!yUKXy({_W5UB4-b)1OsxBi8ij`jOUX<<;K{IgdV86f>| z?<75SV6279jHQ2j-$NTEZSsAequ_r3^NZ3uzwG0zpm)0*{Qf!?+qOBKrV1k0TaLtz z`48OwqmX292xN`Bk=WURxAz_=;QAw%w`@;hx9@o-hHoJj{yc&F<2NJp4*cKl-06zp zQlj7duqQ(#lsU<8iWoxW;DrbSo}wZ~yJuHm5ptO#d z*siGqvDLAp!Jr-8bH>C~d%q8)Nqc(nJ#E(a-x_qANVvhG^S0uN3FpU z)?C*Ab7lHHP4U~i{#RbWuQ3r!fC*^hnY&*EbL&eKjI z6)1-BKo&8X91*tMeXX2lnrEMb;jJqfG^XJCZ`=oaIRxK!mES+9AT%siGA+%0E` zb$qQ~Kj}c)wcL^;_-KtX7?$#-6F#5wN(gkGr9DVBZjw4e(EE;eQ0~3|tk6toDQA?Pb>`Xu&-TIz%Zfvp3Ulas&oo!?fQVGvfgO;_{Ep5sK~n_C_6DsUN6 zt1+(ggs+>H#n~s=Da?-&)AGnEoPV0o$@%`nSwqL3`a@6DTUvGrNY?Fm-!|*N*U;@0 z_yX?4JPNMbjQM&4ik37~D=Z>G3Z_F4|q~)C7M)@u2 z?DA-D(zacu3OUw+vCO;pTlJ|m55>OUm>r3uJ&awau;0-yv`cIgK8?D#{{l`P{yOvc zpl_kBE7cvbqoSgU1j6Z>%;>{Sn^_*A#+yRXxD2sd@X)QH zO94d&IcZ1I=aeUhPi=^`Hk`_m4yN`P5BH+`T#`0;|#+8u+gCr zCU}{rJTrx~VPFiYG27Wg<}RV$u9gZCJ4_+&2fp4%D;}mAMx_C0aE5*{;o`MmE|(eX zWUABw7p?Ps1sQa6T*mBYTqQ?eKp1ag)%#ahQm+byJNTTR7s%P5f9pyD`af3sP_A(6b$EESa1)cU*Sh zTaoUwuf58(J7Xw4YlvTV_BEzx8=FEkU89f5^x{EaQ!}sN--P4$=N(j$MIi`j6BlI23gL$7( z_T?SGX(;>pNdwJP?mTXwa?V#$F3T%ihw$RG*-6csraLM~Geyy7T~ZrMUt^XzQJ1E0 z-j0uNxKiRk94+gTF64c1a|D}z+jWL~JWf|fjD*i`!rwn;zF}agksnp#s_bhg)=P)Y zl90n+Gm|S3Zaep}AjrQedX+J6Py{HaWwGYIoZAGWtH+8bCfo?l(YYEOU76|C>RO^_ zs?Hd|tf~0Oh$l>XSNim}tz?^+8Af%@rjh{yUE6f1a*qwB^gJ{AtQAMf@0oHqYQd?# zag1@*PlQ3KI6hAI{^`)@<_usIN@v5FT?lo-q>}52l2N`T&DR|pggyL`UYV|;PDcHBSmfL$k8`s1rujqJ&*>V z1#fj?*8A@FeeNRwWvse;_voUBT_+H?@zh8Ko0KG9hRLjNY>y?x9lX%AwmnwuL^5N- z@36T&mlx)6B>p$XktRH3tx~%5M$v(n|J?n@TNg48%f2n_Ie8W%1ya4mHZ4_W_poGg z3Mzd8_ukj`TthIN_lI+jDkTjyop}E-g6hu7{N`zi@oFQu- z`Mc7=5Bmd_?BxASnfYhDyllTLCVzr?`rGa7pNtOv6bW6ZZ+$v5H1x*yta+aBk2dpv zTg?3%)g%WOiTl4#xB8|-{(U?<2&67waz|yo{O?bju!G`%x;2VP3{K9i+fJB(bCa>} zRi)w4cjV_waKiqEAJo{#*zxY?8Ng>NFYP}9nlv?|{XO3zLb2bIw5mEYbooNS*!`l7 zFa&M-#L*X@vUP>dA|Ay@pWl9J-M?YqFl)5LN#e2SNGNPJ&SgGbSuqDKKT#h{W{V7X zk-@huuuP2h?gw{tFE-`{N1B zK^?6N&_E^9gHtDAqdkb9MuGNwNc}+=3Th)m!SK=e)7O%(k15n%P?u$-{oYrk^T0-( z3s-ZWs5U6aXtJ%|nE}v8Gd*odi0#VFOlKm^Guva4FB^qX#U`AbRc_7Xqv|dKKvq*S zHo0Mp73zH=3(p%Xv{E_Xvc0GJ^1`1Tdt!j=+ZPVG?C#a*sp9Q}L1brfaR;kulO;k* z@d5R5LpbmlixE|Gnbo&1(9DcT%J5aAf9OphNZ|DU7f%m=h*4lxO0IP6YTa3ITFis& zDLgFfpb|rX_x|$Ocp#+CF)ofqW73s?g+|}TT`KIzs|Ic`0Mn*j*k3~jc%>5MB3))J z-}mbsSXkjh)D>zc`d2r_#Km8H0v7e(5x&M}-%fr0srVepuS(Z^?P2<;lLv?SI{;!5 zNugh?yB_k#**Ws)NK#MYD%(C&DM6Jfk^oe-9z_VxMZR*$HEL>p{0VC|{DQwazVq5~ ztNQXYiTKf%fO|GD_4&Oq1v%_6D3JjBx$Q6ORMlBw6ecOpd+jpQq#u)@-?x;%4%q%n z$H)2Rk6`jd!TRYTR^jqwzpg&2D3^dZBV)ofCNCQgiAf!vPeI$8qdp))c0AAX&!7F) zX}^U=7h?DNi?Z)~h*veetoZt&uI@!)H5qGZsdH&}-0!TsWvuMbB0oFBgl#3SkLKr> zrH|~JZzP@<^&)dENF3Ax#XED+BE5f~4Q3$*A^I%g)Wprv#z-A6JKdQ=!WqvqXTJnG z756*})vDv}|56qDWbeK?<%o1>?YwQdW-&HfM$OmfDYh~)3Jmi3Q0F1C!Q-mYg*0jr z-Y*Vlyeecmlaq|us>iuxl`=#}A$nG!@L&+F)cfU0t1-FMGtW>*nG2UZJGnG8@Jv55 z;+ak{LRRoS;=Q*^bOM>frM}5DD7sy{jro4OmhAvw$bzrw5uC8-BfgzCiwbmQL)8pV zWQ6q1I#ORJmBqoCv*fBIV7)huEmF~_5jUE*-eb|Q(IQ>Vp1f0MFCl7K_34<(9KPnq ztHu<|6v*2#!rP17IoOFyf3rm|>r%K(iK2u}Z7tfRb|!#WamLCz>#B`n-wn#(rD zhrNR=58ge+g*Eg1pnRt^`nrmJ?m?W|LZ$=LYSNa zwaMq|27_97hBJ?>Fro5vOgi%!(VpdDGt{7iD4f)2>Rp z@@^Q)=9+7m-AefyZZQ8Rw`*~;!Up-F)q?f_pS@ilaNIqY1%wXi~fVwri6U zU#n|M>On!DO&!7uQLAqHc?qF>j2ppuEmth1%~@>;S!1mFmPNUJrsDQ$3H7tc8@lB< zf_c5T@et=GXS$a z)YMFiN0`-Eo~IE+-<#v`q{-NCW5}45L zC@R=cS{+l9F{+N8YiXs*)7iTq+ItD1XeC9)lv2btL^`uY%64@f@H6%sm(Y2Zy}ieW zTT8BKVU>5AuvLq2UK(1qZ854SDY7<8i{D$-JXw8R1>|MYJO6`t8yN?HsT_oQC2T2Kn zi-Y-C%s61|c2z*sT=E=(XS=&y!reGeXa<={6;BEs7o>mYE0s_%#gwqSsO;S^eTlYY zEN`Z?zJ@`RHvC#(BODsO&6|Nx>)$?YSW5(3)A;w=v30cUJ$QmbjcFB|;MFe)wwVE` zhV2=Hf@P^@W>ptw54wVWX+<-i6Nr5_6=aqDb0wG+AiNCvDu;d3^O^lPQ$qd!NP0a7WJ z#A1jp=#eiu0}$SDfXy#YFKaDkh0@l)+)A)LtB!NNFTfr03S8(3T<0kV`MT!v`>S}) zA}g`XJvoA2kST~3X(MPN4cib9fQMcgr|biV;~cz30QyphqkNT3=;|8|WcT3N&dl~- zAHuSvt@gMybT8=j!0r~Ip7a)4kdW`g>5v^4ULofN2N6~5<403c%*lACS0sOfEzmY0}x~+`FI#_mpC|`D**HoP6p`Tztda*5X87bUqQeK_Pxl*W<*ko9YDm zva_3^$5J-}P3m`gY!h}X%&ON&Y*#v%*TV3+06tt&Bcxn@jkfQGBEMqD%2GBLl6~fN zms&;U)0MNG>m$YlmXj8d8c;d3I3<}Z(TXtBcSu72DY;>?A z__x>wpS-ZEn00nNs^|Sm{5ewdobyUWS(uq+Fy)hbTyb)~t)>><$=sSWy^}fw4B;rp z(j$L06fQ2|JjYPpd6EIy0BOGDElc59H3?VZGf`+mVt4_zhr2Jy%a?d&t35K?n)3-wxRKfgv`&D?TcQIWhJ#3QH{ z&2RSC3p$2T#5>fTg+u}C5X)pA3A-=yl9|{n-)I1Wb!Ve>AeTq>He|WF`B3$+%*#t8 zyRhVEghn+KZxA+GfI7rs8k4&`c3q2eQA|n zop8F>YWA&xOkcvu>I==!X9Kt=XRytw94jk4+m1-V9D7PWFLUKQJ{aT}tmgN*&V`UJ_iiOUTmu_MC7FeTB)jWImkku$j%1uP9C!3n zRhVZFWZh<-x~{T&pL_jYs)*OEZb)zcmgDui)26im_Fw4J)iNbEz*!PEVA}!bpBjX7 z(cJSTk5Q#>6EUM!Swl+8N@bdX1#8BE zjY)N)a|Fs(N0!~WUI(t6I-Cp-7REUDlc~{)xsUFc5I!#TvZ{XGu6*Xjw&S#W5cPDR zH)*YPG;WHid`} z{dN_^77xMu5ALXE8&6>Cd=DZX@Y@s{JXs{fk&=;l1>{pqAVx6*8Ym9+>N;rWK*P^! z-ecBAL3)5p{rq8n|CE(Z-G;5!u8BO0_WMJM^VI0QY8C`Nk6dR74S28M@ixULhYpTM zi}{4Ot4J#ZpX>di(KD@SZzY8vC#fe%=00>xgbPda-t|M|C+~1}))Z)^w0uoWscW{I z6Q35%p4`lv>y2AYiPFH>SsCv$oW)!naG0n5I=4{L|I9>*2w9Hb3BdMt`}S=_js|9j z_pGk@`T0uYr`W&#b{Xo9xht6am?9>yjA zcrn_7UJCj_o1s9C81%y}fwLQqB+t7BKfMuR5R@I1zr&ZGu|T&qIcXoOq+0ux$FlJg zyWPgP&U%u%)de@dahxVbi`5(*MI)nps*0>MZOR><-C0YW7V)*gR{K&Ba*Mm>EYNDa zaiOHcn1u@Hi=mus#U`L+QZjfPur|?-9*ikiReGE~9rCp9m}LQ;b=6~Z&VGlP;WVOd zlXoY|SLX_FLYyaEF%$ixVZd~_uUVwcBW=LzqEYI7CtR23fM>tL|hd@WwqMC)pcKh|@10w)l zSitjP%s;@>I!;ZSIYJ2~`fugYU=>3+3K5|Kv8kmsgCD7U_dOc^rcQ(_?GmOg%&v|0e}TA8p()>nl0wdYO?3#ZV! z{!RM-hyu>6RlSohxd2t*VWa1LtLp%zFJUxGthkePN$n#)V*!YIL2-#+CMW$GunnTv z>&(a}7hzqENJ9)<2}8!3(JBK1Of(p698ArOW&sgo^R>v>nrpttS?89RK=})5XuCa* z?b8t@n=3mx5Q-r*wtSi(d?9ebuhWsfnbq-kGZ!@M0du>Y#J+r{_lf1R%d(7Z#aavQ zHQ*xvSVN;zj0(WEjC1k>a^5d{=5L!2Y*~&pX$GEp-V?y|o~+xJdm@pChp zv{KVrM2}Y8?ETUEv*7HyH%dm&Rmk4Mnoei$`TCpQko&SQI!cdBXh*?(^Z1l z=}C4W0Kz8uPIP39>5DIH<@%-N%a235iw%nR{x+m*Cc9U@m%GA^?agqQoz$tp9B|Cx zO3IH^M*X8M_Um)K&ntT}k)!$0;hk(&6tjYWe=WK~&Q#`?Rc>ya+iYKQ-xZs=`^NVd zssaVFOPH4ti?qKxKAXibiBoz2+{gFi1%d9lQee6?|O08)vq(y=V&Cb$qFtE06Tx_$tH;&cI zt+p)X^3U}Z)6v~Z&DG7!W)vPc?m}r7jq?qZ)jl&{w&a zsMqZTS4MPK+OV4bwnA0W`_f}HJ|C_*TsC5tt?PV8{(bLrRYYa{e)+t!KVdsiR%XzD zv_JRf;We^mF0R6UIcP>vse22Uwf!Xvl!|x&WicVKcaSrHmb^a5o@%yCa%8azO3qT4 z*z6u!aZ+gjmtDuw$uVrj1sMk}A^`b!*v^HTS}qU)D&CLtu7T+@LTCHnjZAP$AlcnL zzYbTDg?FjwM)h$2oaFH2;K8OJI9f_6ao_yrd1hgu)8Nvu-9dcb>n*s7jR(&UP}~@n z?mnL|eTO+>5gKtEweP0H-s~Gw=o`DX{m4hU7VtX;IPp8Wh1FoTUMj{Vz6l`N1DOa$ z=4eX(V{h!_%T%a&`aL`N*jS6jUh^>nO#m;@PAcZ*h4H_00kV75DlTxaq;Uh4d>&2{ zbUq3S>QyVo2iIk^ZvML*G+XqKTs{VX*O!v+slBI_g-F9S17r7F8U}%@UlS7a_@_~T zN>^0Nv#lzyvw2b&zU>h+_8kJrl{@dL$*^LJMsi1{GJnh4fTA$mwXNK)u(FLmSpDcu1-IKM-pNqWqik$UqzT|Ed?OefXgd_IsMVpaA+T zk&WPs-`(Q|ZSOjOI1VY!0?+b*m!YLmba}bNaawh-6vMAUep3eC(SUiz&c2qiD&fKH z{xz`2#}cl06db^%#NOdSWn`0{aWM7ytUqE$LGgNwX5tw_{B7eM44tYk^Pndr_|L;} zrw0AUbkH_K!&sSiDBso_rC6QC9dOj!D)mzdwe3|Yq?Qke}6XEctKEL@c2xn zz=tc5Obmy@#TO4?jjgSHA2IO^e39hrI-q==ovYkjg~8xmR?(n%Ps1|CI7CII;6f1b zp<}~0B)-SVOt{>s>yY`D(Ti?n(rV;gCTUDwOphME>|sBYffSvOD?X0j#7svPXhL5; zzTjYtMevV`>@Vq$^4gjsD-e&dW2ifAg4t(#u|UgZO6T)J4dd}(7@v2dj4E(}b+B92 zJgxpza_dFvB5F+^k=VzXc=ce=*S~Y5wjM;|1sUz3%TO&V{>*lwEfja)g{ zh$+Svj0SQ}hqagEi@zYV*^BE;i8EOVexT<5>n=EQ@}lS3-0Pp|!+h1b_cLg&7$ZWvEaN%ZdBPP=QT#qqn)4XpYSt7q7g z0o7woz_w|UMTV+GhjsddmyKg{&vs(LvKeRD z01UaJ*CrS>_aVuy{O|2B%27OK@ZPGn&wFN>!AP7N0Rz|uV$ZZsd~2d7VLunY zUtlf%9LaL?9ecKv?)nu%;Rd*?wHZ7L0A#99K281SOdxaB+A=9vQYq2oCy?(xF1yo8 zldT^0YEnWVP!kpZM;c1v+j>gCTftzp$P|_FlN=~Gf3m82N!MO)cI`f2wj=65{uSyQxk3&TL#QXo`#}mI&1An8_oiXNN(U+1<+uK!ZCJ&?_Bc(LLUdCJn`x15BLGhgkeD{}q(0i6FVABEOM zk?Jy;F(Xj(b)^B4t-EK-^*D~hRPfM-n{lHT^j0Pd6#4ld!X&ed(zXT$zAc00$^l!N?psc-q~afIQH#bFW4;ah~Rj4G`WhPZ%darbBl` zt(@}NK0HN<+{QQ*Kpiif&VA`^N5R}}-(rtYSKQ4ajOubb5JlvYG&HBC9I+4+v#2ee z7fMUp`Y`()@*Oy8Z_j--2LBxWty6U9hN9*_odqITiVu!f&5N8}@6U<+{j=7o1`lWI zHpAjfMVGT?b0PsmZcI$;Tf{zIZ*;o%>lz%NJ>Ph}H9wUz>#nOE{!})1Pu=QUsKt6O zmAPI$)7&QYUv4OeAE_sDrc((^*ZKRU54-nf!(LUX&4N-Z4Mc|gA}r}Yzp5hWXvX&0 z1*NpnLZACYA_uOI-pbj@iS0YP#f8`CvMuz$%eg~2|2w!7opwPoQ388+JGMdM35c8M zqZ=i2p{9|4HZ`aS*b0yqTLkdgj{x2X?&&r~L_A{_7n7v>hZnA!k4Y0dr6}1wE%VNc zCrsE3-ZWvPNL{ODFveH;3uMJ!IO*)sLlYw!KX3XWo~}FjVm*ETXwaijU3Z$MGh2tS zbTtuo@VC#RiztsvSo64`gQk&U9yGY-OEjLwfovE7ta! zOtV!yzV6Z7c3Ii3kMTa-z{k-2#EpQtfkATvqP za80Ak8_Y&{ttRaXoDlKlLofZg58~K(y0A|vN+FogIEbY6Fz}c0)Q=#JeF<}Y_rmtY zd80l^}SXOt!(`F@PkHyPz(N| zQj$#mT=e+X5?TI`9^&NOilu!th_Dhj#Z z?`^*rc+zhJ;RjA$zFsC@Q*T##*ok_F9Wi{zlXSxt2PVd1vWzpRTB~kyD`Ip-jWKg~ zaoSJt`mL|FeYBd#l>IMOop$BIk%RC8g1yuU1{M@!e^?|tjWT@=N)h2orA<|B}FB_;8tu9$JR8mm-q%Q2(QIjL2NcT z3Ky69WebKq>HH;soTqsMu6_4&kiH{x=roAJdR{g$RgU^~g0+Op4OYTTFS@TkGABBG zOK@Eq#|>Sn4!~B=Cak{{8svVTSVyO2!^07e5u0sTAlWUiTXjK{cC6eU`OY3STl_58 zpZg-(xJT&4yLqLbQpVAN)`2GHlDh9X&JBBa`)xpwSoo3Hck`i5XX|;lGu1|4QJRIt zr64T^n|ScotIS1zH)EVZeANJWN~w$_w(ioiw3;;0KKB067xehhdli*GUd`~0qm8x+ z#lwxx%W8R^#E$e&T@`0Fu7 z-?T%fLCPyFwz+GnRrAUfiw5Ua$)#Dk>1aIOJcev!JK?^$)+-!1fFWu8c^ibDVb07u zmSg*$9Im;t*EZ5?Ro;u(JMSQVZqGQ?)S%)fzUTuVU*sL0*xuPQ6=n{X^0EXOF`_&c zZd_BVg*@}y3F@_4C?<`C*;Mlqh9gh&=FbWL@psdL@lL`dDJd?O zQN9PkYhu6rC2GXBaLIVkPQTTBj(I;kMwM2X$7%ia!xJb*RD`h|(tp|^O#Xnm_j}x{ zBdueN^#lt$L!DEcDaG6{)qp}@^VGriiN2X=mEB_@h1Wct<_K-v<6qX2sQjh+WqeGV9r=ab>sjLp)-f5Y*JeWMisK{Ei zWGNF*SHpYM%9N@dDXwCOD(dukq!91~^`TaT%`)LChD(IjEz72DMerguIEJqDE??J5WVX&~EQ{iO1Z+fm;Kst})(?6&bS z%=?i7=9OYrf2cFJTPbi(m8}+*Hl|Wh^q0-(YDmBcxL5jBMOpz(3*^58XKs{B(#uMD z4zy-c6(dp_U#-9!n-#@cTfNLJ`CtxeSpS`Ip^H8#*eoU@?fH7gu*pbh~aOx6>eaC=LggaB@QdETZvtpYMg!Fus#J{^!5WS5Jp06)t zCbPOT0hwC4Q*JJU3}dsrtvka!u|bt|6DQFIZ2n_kCwiuM=u}Oarb8z-z|J z&-V9*1u`ZQRPL${kaPzvu?K9tUB|Gcr9OiI7f};p3)Bpcd@nOWud75yuY!cHh>|H9 z@-Cs`%rUQl#)?+pg?~K65-U$UOdU=%_4Bnt;>#1QG>47IQcUJhm1{P6X7>{kQPgJL zg!si0dd~4Q6hNneH6&)2#}=?7ikO*Jyxh|mdOu-h-*-JM|9znjY%jjB<~D*o-?#8- zn-w)GwL)H(E?uidMq0gCA`sQpro+yrpfxow(&aSr^xeVfAmebSq4Tum3GE^bg5~Wt z2v8ZP&N$d^H**z_a>KF*fk3-pA$}ZE27PThz%dy2dPQ5ZeAQYp#<{W@KU<4~$Bt1v zm=yyfArMCYPp6v2y%3L>ub59FDQa}mgyq|_#7_A`9aH0sX4D~d_pjK}9pRkt-QDS&8pyI~rZP7&O!2fKaGVRmhg^be z;=8b_s%j>4((pCJX@0Q8+~V-(lA*Fh#|6sFg5kwsWo<4}Bk-Qr9-Cubhy2e#u3Vi; z-}uYU;(G0|K?Bz-AzIk1D^=cj_KWZzrx8lRTB)&Uo|tWUnI1(q_`rfx*7$ z?x7fRG}G|y-(MV!lOv?nQWY-`7!pqxb18RfjH7MKVxzxx4aJunEnqVzPRhHTls(oQWocT_jEIM;nG9T-bK1O){YfCoAD0j)JvaZTCWEuxy3Ub+-PjBO zKloJNZn0^QiN*W7MQMgA7n_Lpx3>obbLM)g6ta&|t4|*|2SudpgI+j3`g}+mL-5YmE+9=d& zASQ@YPc<-L%V@JkW}B(8w*Q=@Q5JZvV^>z`a&~@xRG`F*x{n?5Rj;^2Dou}Ih~Ezr zMq@L!M^F{+PZTCY_d~3dAV^Bm)BY=e3W;uqXglwX%WbysEQ4hFafE27ku-122)Wc; zFr36L(E+S%vvWF^+U#?=00Wkf_ft=?2BT_UKbhr&{e$yA8 zsaXsf$PG5=dyA7HAw5kxoDa9B5C(A7&v$`#RaqynW0AWl2RruNMg-%6QRGk(vt?~| z>{~Q?_DbA8S9C~fS<=M8%wSzW2cf<=;omjUwyaG|OO1|wvcSwX1 z!JdAOa96sXUA$4&F|is@#|*NYSgjaM%WPW-dbo) zp;>E$UQo7KmGB^{!gNx3#^%|f*|l4b8o{KEyS*9(B^Y$h$Om#7ZpzJy?2ky__BFEb z6DGl+kX4l!=Iz@N5cVO3BTParnX<$rlQ1KazuO$ZswN=+D^7AFQ|F(?0j1)c(JMxy)aex~^7x{d| zc1_~A&pxE94E|FbdZg~B-}d)ZcmzWlYDM8XsQ~llgW)lMDe#k3T}=B?voz(UKF7y3 zcBiv)%IxvX*>*V#LsYWo`#?J{zWR=iXrFQXO0`)wIX}VeEMMed)*m3!?P*|x3MlYx zUH-Sy0MBO!uyg4L+_fTyh9p-32L>ELAHGK0HF)1fd~0kvH8s#kLUTRF{x9X!(cK0y zXR#lDM1aW-(iI7tc}Y>oqwv``cBT(`@qQG1DY-|a#f ze#^}uk;G%A9+$_f^_RALgTwanP*qEOW`Aa`m2+#v8~hTV!3J%5V-WO+zahY1@J-h-_{PQnGgU+ShuAxv?i zLE@Q(d3jGAMFsmlMYA0maOGp46&F@_G()lI&2947fY7LPbtjeANyrZaug@h&fCoAx zhWRKtm z=j=r^kXYElJLgo*`t9;1Fo$Vr8Vy3P?|rq)Rodok+K`FrLg>?Alh2>D`Eyu5X%mv5 z+|PP?-|#&IFwc0sZZ`0RKA7TX`FDD4lcZ*lGI^t&2Y2e`%zq5gawCHJRRkFE%*J2eJ zNSEBAp&bR}BOHG+79s)P*)|M|3KAeAXt{vB1;HVRRxU*y#t5 zI>54vbNzX$gcEqtMtEz9?J;9Sdsc{`yN-aJU6I2ylw`7?;%Z)IM4s>LA zFUGe(3`P$+lx)Twr3?FH7r2a0_2gSBTi%A^n7}GON3eKYEe&45~gY=&=ITxPee~>8B}!e zhXQ8e)I{Z;6sDvVzgu{D*6F5PUnycOgK0NtjR{ybrrcgtcYOJRqx~4QS~awxVj8q$ zF7{1d;Og}?w;|PtS-tx^OQ~l@ZI6h_^OF#{Z@TsmF$*KoX^PhY>C{nLLjeyApnle) ztaU6dc^m(k zd*@HhA&pppyH&`?N=9O72ST0;G&*ZnARAF4)cb(Vjam^wo3nWYsjCa4^1n`e|T3hWB`_}{x-i=nTgpgF*@Gg zJY(V8WH{`^m$F+G^%eaH3=GU=9hpm&`K>ezbaz7~*GJo&S-_pwSDIz-mWH4T<`i^~ zYg)hmQb(w$e?&wKA}tpk>!-xvX)b}*FmS6U?Vf~$%3u60p2{~I9ifbkFDK+z@nriG zJ41!OMx7G^i&gdq`roS^#(T0W!RG4GU;|rd6a6=hx(estaSKn^w@nr8#K(6{xAZa-rz_$2K)o@`Hl ze;~M2I#;W<=1_;3oZnosR=qC7EIc~;u16{Ce0qCDW8ne?SJ3O#i+Y3)0{NE>S3RjE zOTjh3*S_Yf=GaUuE|$9hU-Kdbjqdx)=QD}D++Hq^u?9)adc`>rQcIaDPnwN;`wjaW zwwroA&fO-OW+pA?IBIWBf?>e`(dJP5wv#^eI3JsKS*dCNCGIO{@GK83hH3HD_sz zsA?U1k9nP%HaxL%Yn?KCE^c@{1d+kmEU20l=amZ70}}{x>Gsk$JcnN{ zP%Z-JC$N`4Z5(O%y5B0v**OWnO+r1DO5quyJRmYnucj%_CZgJO7g~C&NTS;d)&k2{Es#$s3 zO_?j1Lf=3Wo6kO_8P!_~GAUPC8ny4SkN&09-0c|AEF~f^w{|CeRP(l-a{_%i2gxG6 z1zV-T5}CRiN5k(j-q@LFDOTJQ?yys@;KOCc;)Wa!IL`lcv)T0C>;iK-Sw!>qckawv zYjquLaYkbFXu!n60u9s9(~r6AtgepLm9wUg$=S}VJ{8TgH@3aiVpgpNuItolt34gd z{ycgnw`8g6J(I5&1D~vs-J;D=5+vvB09*=BBkLe)j@V-_g{u4u) zZ0Kc^`BqV8EJv)~;IoW3xA-*B*f4A9qT{Qx(kIWe5;XALzX}S8>N@;Uh!xemrprKo z3=2||4VDQ4><0ok{grmRoF9}WeqalK!q>fmK}Pf8K&nV6+_9T=P|dY)AfM21eLlA4 z@tesr9dD!HKNscgh1vgI{5*?P{;tuu)HF65G_`(}u&MIrw-$Ro5lZcxGH+ACnrq7Y zTniH!o3R>&+hdyNVH@GBLprS8rJC1aV9z|tmCx%;9<~f5bL#%^?`}L%olqDh%6ZhJ zqc-2Q6R7E%7V{{d<1BmBqNC=KTDLqZoY?p-9PTx6mpdRxXjqd|Ki^?&S)|nXB~2|y zKL_I1tv11&RXk{hM6XylO+S(?6IzQ0iH;qHh7Bu^sc8}`!)gpGDEZUYHzBe3{yRK1 zYhlf=sLIfg$zX4$SP!Zh9?0&5(ck*T@S+QgT&fCrCam=5Jj037w2SLh2lccOoPJXV z-P5R#f~dm#%dczo#@f`s*P)L(LnE+xusS^*O)M6+{TM0rDU;T?&t5Jyr%Sbo$$M2Y%=g!tw^dH8BH_1u+rE9{*G&4iSsh+ z@}mN*5K|2n7A{boK0$fy=v8y}&2n9a-PTI6Lf_jmdCr=AMOvylv%PZEyV;4FYD`C= z@UBbhKHt(wRgkL&dXLhW+p(?=b)6K4$Nf|O{2U)*sXNnm4)q)+K^RhCH;$ZV4QtX? zS0NvnrvJ(VhkSZ2!6TWU(3VZ2rez4~tRli&fxy^SaeGr<;5JWvYg0I(fWn z6bFS@2balM7Bo-{9~N#g6A+fr|D&PlCu9{;TVzB89^@JsHML}g)i^LhSH)vg#>mNu z4F(1#=OfS3n3MB_rMn#3VB)QEjHjdTtCeL36%z_ZS?Zn-1*&h@cgDK~QRbu&G*Ohfc=;o0g@D=L|ZI)KHBYP6d zjnN(zSqs{`p+!#(Z)QmBoKw&%UxX_P=UGZL+HJIMJw;iwZ#iXhZ2YtP%lA!r-)OJF zGyU>dy&SAXx&HR!VN@}Z8hIgmi7xu1G*=0cqiXPyRFU4-nNskWBtDW=sm4x!hLG*& zIh3xypr0ZUqJdnxy=lC(p}7(IjiR`(^Q!$10td-&*w9~#v0H8or4gRVDnJwt(Q4mW z8{sA`Z6VG5F*Di9-$tKkd{!3*k^S1^c15qf9k_mqn(RL8VREEu-=$#lk8&Fc(Y4B7dvr6L*?2o~-83A?WEoSCmnK%};B%$Em1{fQpVj zYp!^HjZY$|NuC6q-d3C6f)dpac3kt?tF3id8IQ{h$~My3wN-KCE-q05#LcQJQYN%j z!|iX){!ZrBw|#yS&ZQwq&e4MEV6pHvoIg_1RQBJjmNdVa6K-H1YFIxAkxqIPKMS{F zY;yfgNQE62V4{{vw~!Q4*iH4bmaFUcGjlpSb;(um(xLA*>y`5H&JP1tcv+|t^ZmB^ z-Br$p)z#HnNB;VxiYmFI@}IvGRIb^MG2Cr7PY(`4M@B-t*#IbYiSt-90C-{o9I$yP z*2%@AgxuWzfV5p|iz(#zb1iNE|Lys`aWh);PMa-o`PNrf)a{sLYmDiII6YqUqw|R9pwDHlv;V4d zd9a$Ys0eZByZ@AVkUpc0=Siy!bNb$D#zT~)*@C3J^f!0oLNsXNz|-@}&W^Te*o1Ds zD-T!6Mkgt?N)HS6*_W}~rUnK(%T{!5&m%mx9bPFs9WSp)sH6c<+H1y3@0DH+VN-az zlaXQH7GbULu9rtRbuUQOwrZD-%dm*1tNjFUzZj+}JT(@Q$_*cWQ%x2tUpX0n>% zO~s8dZye>6HeR(?=3WMMkJ~gCM(tW#=I7a{8ol$>PZfWTIV+US%*zGZWX~P%d7kNL zhvdAFLGEFaRp-FI1yjIMGx+;T{RUC^r&*@mmRZjKm^WA4wi7b)1N#QXgYj&og!2jG z5h57u$1aR!9I?5Gtzwc#lHrQ=fn8&r1s$GwVY~U5>btjb!gyY=etsYk56)~EmVh>d zSA9#G2EUi-H11~cT(5$eUzKjJ9F`L-tVnegF}SxEYB{9=B(9gyURi?1N-@ zQ3aPy03QN8JOUccY44nOvUBrlH8xqjsOIfen$0x={ABKr-))>e-VjlobV2IUlE+TJ z=2Q=~<~JY3y1c%xx4ej5=$g4#5F>g@YaGARnx7a1pA_dn71q~!E4grp$k(=8Q`uYx zrZ-b@n3|EVcHj4nd9N=KIIqs13}#JajBsRSQDM5=d^JS@zQcv+4L3JVI!u<%CyUGt zmE5GHq?RCsyPvhbbXRPJ&8KNP8?(U4yP(fuJi02lVZYj845j4NPb(C}c{)U_B_N$n z;j{n9PY#NSVq*rA1)}6V-Kf7NNRm*Ztg^7wp%S5$u8%@|f_sr=DRs|L=E-48&MQ$C zw~SN51Mwy$-p?!HkCcrl+Jc0F(?*mmKthGhJ$IIDGQ{|ERcgubs#-KgwUP%8;;Chk z5T`{?FjJ`{??1U@DguTRqQli92fq6ey)l_XZ06sFW;1;1xDYMzg%x=fne1kS-FhR1 zy+=?le8{}*hDCu@^7fMC^~^WGt)F6^dlxTIAQb&npBd6zF!MKI?I(|w;GOMxgy;7B zo7^eC!pZC3QtO>z_q?BqX&*^GVEy|s9=8Jwsj2L^BDi~WTFg*>;HxX;iO|p*lsCiB zBsJS`z5=);otMo5qWP^lxUQbqWu>?ECiMpp}(@%n$v?=W&c5{h{soVX!8!0x34Zc6ye$QXvSm&=pK3_l`v`K{?+ua1;Hn3 zsO7au6M+wLBpuE13=7ai?a|n$bajIE!Tg4m3yHurXH6grAXIp@*u+cTwcwSsdF`v} zt9p@3S@+A3L~;Z$xbHV8 zX9YS*Ib(aQ>2 zlOdQ0BOmiGsHxIlx#TiUb`pS?pyX4l*FDi(;2(2qCJ}F4I-unh`jr8h5E|Lf7g(%+ z>x3;iBsv#(>yq?AcOu}D?dm9j^M0R1XS~5)-GK(9m@mqUoYxDt-l+_c7Sml4qm9du!AKR_wO%~ z3)-GtlzA?rRuFd0TpuXXKfqj!+WG$5+Z!x0^1#QK<9H@-E04RFm{WvTtFtIJT!&q1 zz6Y{SGg!_px09@f%0&Fj?(G# zy1CFv43wrq7^o+)=t5d@q#~Ps<;+POIfU_?P~N0aJ5L@PkGdQh*O!otkri+%1MGeeF}1vDxX@Qey5#2 z=Ku!VMLlCE&Q0VhD1erlIcOq-~>23gx#D5jSGh#F6SaVN!$oUaiDIY zVO=~T$9rBJb*)HykW-P7O%%k232krpgL)gLH+&@krBiRBf#0F;3t^fH&U7$eWWP1g zs0*Ziywym2Yk>p$2VJ__%Z9u*il{H4i2m=@xv)4q7;k~l!a7!N%5WVKb<4I~1div+ zNjylCWn8y!$(kzKj9Y#R1;J|oAxo+1N^lfc#fNTZPn(Gzq9p`D$bquuyO zoS7M=KMwiu^)f!s6;tw)1v_NzuuWr?I^CJ6<`p5`=JF7Ulx;3fLncdJ=Zu5t%q$7sm2vxT`tPuCx}qb zWcIB`mk2>cD27g)b4y!oUs?La^Z zgys%akxk6g`2-)c@%{-OxDO};-+Z3IBY^Tk!$fsXJ;$)ojvrj6k#E08vrEXgXo#<8 zP7N*|EwXv21WUjUAJQkL_Sw8b{IB-sUFmKgX!hGMcJ z>R(cd$(kQfS!jP5)+Y+*Gm9Rimr{xz$~Uz4Tl?$_n4!wHUl| z@=Z!4C2PR!&s8aZCsL`SW10LE`6y=gQ_Knczm>lf8!@rog}1u zI8`y6o1nIvDUvLgQ`U2uAn;48iEwu#Qxy&RAQvF_*@au$#9^LEX@+tJ(x|Q|f%atB zP?==7>EDfWHNq-W0GUm5cP=rVq(S<2+Vs)VD@%|-{!nJsBwD^-kORW3AfN#-?g4Z+ z>H(>N>m|q1Gr_RjC|V*!v}#5HfqfC%OL` zKYgx2r1(8;yvJLID{($nI+Zdc8)c!ESBhvq9Z7FBX$NKkm-%rq{E zY5PdOLwl}7%6Y2cJ!S5<7wQe-0jZm#3O5JAN=}iPk1sTTugCVuLme}-5!ut=tyq+T zX})nDLjG{n$#*NitYDVtSoq0`?q5oR&`$qS~)C&VFo1?(dVtQ1u_A?PkQ7K zQ|x4);yZpI9)Uz-Q&GhrYjy`+1~*ldb+IM;Ln+kBmz7hY(?U7YW_~z4r%aR zfHo;CdXOV;NHZwV9cJ!kp4hH*`kXa?yst1sW{Nk@HSiVJ(!(xgeR}65DjNFmig1F4 zX0Wm|CLgDROJC7{woMr`u6S3yQ(g7kfNl%P#s({;YY^A`v$#*UzoS>wr7$GU}Vd{?8tLqcyF2Dum4 zjB(j%+Gd#m^sdy9*W{{sQsP@PU9?yh0|zzMjEB5R!jws0auofCwpC8cR7>)!boYD2 zTj=}it)SXxAEPD&2c@P+R7}J7du33JjD>S&jDIxrK48AJ=*xy=y8MZNmRiD5zLW+{ zFheb>_jf;aWjO;qBTZG$_$;{O#;M@hXhmIYsv(3&e^8F66H|)>Os<3~D)2)_GnAsX zFl+&6P|(nZp_usy!XvS^7Wwb<+~#O7yxzEPLQ%-K=QMI6!#24c!G4++9(|#IA7xak z^?@*~WZ3&Gu-1~>TQ7s=xD|X7pEU%9$OAFZ7p*h{K~AiA+MV*+fG9}xh~}Q;4#Ic| zu3+5Uvtcy0F0T1gFi3&3;okPNT3Ukq7bz^_$Zy69YHvE|3o9%7vY+CYgQOivbvR^G zETi{JJ_1Hi&s2u8s&ud8C){u1CK!8$Yq=Rb&&ZcEWkPMOklRYahq?O@@u);O1KLzP zm>-WO%+mbzb?R|1CGPTOX2|m$Le*v?X1AjvH9|!g|=rZg#GlYL{NR3IvP_%~}@n?QW2y*D{mcC>AStkrZf>$s>iq{}OVp=Yz zS5{=-X)k-uO*rEz8;Xpy;+IVWH&PbLg3xurutkG2F*2e|aWHA_Kv#tb!wP>Xp$yG3 z;@4R#qxRKZUdq`lDtJ$AF)O30Xc>_QsYMJ@9cFjRpB>B{wdETW=}^iR#!~3Jau{$c zQ-@B64_y!!|E3^tV+FyCr9pVMbZ5Y^zdOyE z>vA6QL`C4wQEr%Jss{#zeR4Y5jC|WFQHkcSD){Vcs?mfgSS~%X*Pz+(HAQJUiV^|& z2UZze>+u;U$81$m(2JN5L*f2ZcX^|{Gaz9nBeN7cy!l7{ZxYNjmJj5?r;zDNoA-9- z8}{cPB|8=ux44=u!|uGlCuE*VZI7~C6zd23Fs)3_kmnh zBOEO4(-$$wZi$KGuqLCA&+jZ`Z;o)-(+xU7=j*#-jc@0XQ-$>bahRtEm=h@}pIvc| z^@02@0Q-bbdHobQrCFR`U;UePR?!ZR7#Rletu<-8@C@CEd=x#{dG6iV>0Kk@-c{NVNOj)_DA>bFZ~>La(eEPgIF0Ps`B-RS}Oes>}@ZI`g{Kxm+dVC=muNFtDe5l0xyOR9u^e->q zbW(=F2nn2wk-RgVoF}I1P(Hs#&{YuYOh1e`=Ed)%)|&77nbmFLo`03=P+WKY+413U zH6L=7h!EUMHR<+gZoaTo_Uh6p@gI16n#MW_wZbs1n$2)UX4|WKxscrLzXm)f#5>`X z5)#ae`zU0QiB!W|yndHG+vtx-G(M9vd`n{@z@XEI%Vm(TWaO{dvM5TvTQ78;{lSFr(;yN0bFZF1+hcIb$o;Y`mVO_>x=pEri<73^LUl` zKqwuo&A@iz%@`wBL&uci(>K!MPT|m?62qIw<4MEJVQXP=qh`E2x=DBYnX+nIk{P}@%RvU|`L65AvKVkktk&)$L!QyaW=ykq;51zLY zQyeek1E;E5!#{Zd81FYDztaq<*y7FWh}{{Rm+ey<-Cn_rgX%c-4Yu=)=i&CO|5{8e zx)H+Ha#baD#ur)t?bY-p$QopN|9dO$=OLwK*UQpM;l==1Noxg23&kK^08ZD$t)n7(Kpe>)5yNpdUKN#t)cj z4Kfl-v5)#k6i#ArS9@mt-w~rN9D)&<>dg->jyQPPdj8R2b6j^r@2AxuyBnt35*%Wc zF+F0%#3Fl-WK>JK;yG<CIW;<#|H|qZw8i=WZ)jocAyr2|BBr}G20e$;a0vHQEhOs!oLc} z|E0=!9LN*;T~qfHCCc>9O(h!5|JC-^aZ!EW{;-XRfPhMaAfX~94oHilNK1D}%Fx~L zQB=C6nL(wbd#It2?q=xjj-mPO0rh_GeV+UJ-urr<-}%RvoH^(0v-dtL-s`>Add66< zgArdgH;xX`BK@oaB6WG~w5K3j*K$2*(SaH4NdntLm&%vo6_SmO4Gv4Dw?Q`k}qX%(=QLhlBG1Pydi+Y}p**;4_*b#6`6E}@VAF9)+B>%G|qE(eF68WJ-8uZ*Px zU9)Opc_Mb$HHoet<$-!jAy5n5%%&GjO_xa2{3d#+zIwanErQRZ3>-ycovE{zO%iCDfI`t2$SDMrw z6;emn*hco+-!&t5iAf6`U=hYTeAiT|3{go-G3Sf*hhRO~XfBsXAXZ2X7#29@emM{<#DxEIYL;T2sOI$8}~B>WUN#7Y(w74_ix1;y3Y+Q8E8oF!!% zu}6}7R)_2m+nYNz#r(YE(HuvedAbkUt#Qsrc`u_vQ0K&r^##i_YSPmat|qrJpH$N! zOPd4zd5irS3=@?^CrzAeSY!X>xZ%(S`$htfW5z_~(KWnJtCJ~SF>a*WCngn=!lrA0 z2%j_kgWf^6o*a5}{p*k0!v*^+EstV9^Ga1*F6YrQ5NAr=LHpf!5jXI*MX;1nc1vud zCT?L*NA1yWA~8+bH;T1WcxI9%|9#7md6viy#^||0sk09#wr7`j!vp_qwh8HzldYRA zq@)d}+j7(H`}91ZrX8(WEKb~~D}}u1F3r+$Kz>~R74hJ7Dv*e2+v!uRGfQ<=*)@U7 zSeS~lWYl(0Vd2dCRXdc)BOmgJ+Ui~|QCA07-`}$s^BjoHA#IP{xk>0j7{#Cb&06__ z8DCyZ^ezQ!EwP&1`pmBUbeQ71kt!3&FVDlN=wR%~p5C~*1G+P#m^)|t-X3!6EvNPc zo91vD^G=;eoEt%>gN6;KlQ^H$9WGWIwtX5KuY#&6u`4P5&|6WRc0Z)_aX%sbnVz4~ zZNGf|c)HQ6Y*lsd*RK?PhR{ZRBYN6Yb3o8_v8rNp*zGsmQ0X#!7G!@x$<_YOD!Ci= zYplRoY-=E(Xyz%qvHJ0GYWgHN1O~qPWrzT>?xgf_Hg(p)0^6J)VT(XK(~G0Mw+Qz0 z*_4=C^7V=_dr=GNr#%IAaPuq(B)GXB9L=gh_P6H)@Vb-kZ%?Ll*u0NvGk*N**8>y+ zH_^EN`}^KUk-k1s={-vXeD9E{WNTc|+qu@(@5V`ng{Nl|$GCRNv586~D_@dRzW~V~ zRQo#wv6Rl7@Ml}tpXOhv!-NC1JB%zlzmcdv$oRFK0UAfAZOoM4j&AKZ$dv zI!T6IyGiQj(-=B2R+v>IR^58%&I5q)0CH*k`xTzA$0xj-OJVAVAPt~Z#gNwSz-F)S z3hMC)!;f7(iD42K_8pwzid8p2asSk7loq_LOQq;z>!0oYom&OB~+odW;pqeI;hX8(vK_(2Z|*_uk&>@OYqEaO2fd-*<-*CuKlO1c@j>_shz` z+DUJAT*Im%y!B7W1$X79rgtn%a+L9nOposlA@p|wQUU`M6Bm=-y(Dlx*y2%%2b0F$ z=9p7I!lM#?B^#1at14C?SzP?wj77@Eqc4cz389;}H%J!1KY4lWzIMZ{c|fG(j8SMr zWcs5*i3p0DjDnLV;vZ5^v=!K6Q~?q>rGGTIAVYIh|3DmwM zr>gdeXIi&DXpby}QfcxW(tkSm^29n;PdoW7lBbLjp%*D%u$BJf2C``JRyk_cH<^_~ zTOPewE{wc-W+&M_PmM@JjPg4Tq<&U1(5Ly~U8$--&dOpZBFIz!%PcDYC4+Gznl^EOOW8^j1*zOwc1XOV}qbJ-e=%?OmUNu0Lk`~7H zQrb%`UWG+GJvN|T6UH3VcZ9}|Xtp*A-Q49&EAfdb>eBV|vRUop(n4o9UL51@_0wO@ znNA9xCtOV~p>>>!sEORIyGGHr8Q@uaCZfPTG*%~Zr_tnFdbPK79IO!jc~G#eZntG6 zQz~4EB>dKwR~!eE(K6VJ$C9;fYMbVH@u$2m-ywKe3HROrwfg)c_kNmc#*N@0G_2TGZDsg)~f=Jkuyy)8bRgap&RT!y&6tmT}aC+{q4 z_EB`D?U%bAX1lpI!|`@jhKNDy!p|I!HId3?Zh*NgX$Gpjk(rE?+=<~d{aE3?L*fP+ zT?%SC&fG!n&&KS55~?d-^9e9V@Zp=AqViSf;Th{-)mR_UV2Qll-yP48F?MA!!BH~V z{zExja5?cMsKpMd0By~+dup1Gt?GG&g6>7nnAZ`2RJSw^m?9H3oRZjY=++h$dB(+P2C2Z*FN*nLxiVEp>921k*t{5 z4IaDY>lp|$)5D^oXGef}-Rg$O&VDPYD624X@Lb4026aV+k+KLLC{`O z_x6uf`!!XzpyU;`%zCe=oZ=tW;TT; zg>y&`3ra6@BMLR;mIpKG=gRq~z2gH`0vx-Bd7QVt@z04G?{k`Q+;aY3cYm|2a8M)3KXWzt$^#nILJY@f46uh zcp4~U?^=_=d8QshDi{s%PjYst*`kKZYxtn26tcZ8YoldF$DlHr&4O%io605Sh36}q z&8(hGe47pT2N0$)(Gge|3Dt3oA~0nq2N2F6My^m`<%mgosEOeR?T6QQc5FpU&L344 z+rPtyL6(RM%e=H?-K##f;;dITVD;>E3!9QTn2(iHf?g6e+3#w4oUw}vO$H}(D-Qwx zpwO5%C5sjRrrw!kp@p{KUN(DMg*Leuq`M6gnK|Zm?Qjl8j5x$69<)QQP z(r^?q0!U`oiX%d4!Q=dH1c+mU!-|m$w*=d;J}zTcYvACLo!+X2ZAb$-%3*CF=Q7US z$Jxe1pqDf*J3D&-&(pJE$i#F(^Bp$*7%gY)m1v6}kh*If+Pm0w8eZSQ)t3sgzO*(z zuAPvaoc6AE8DiY`ScD=Pqq4jj=s&uAl$V~%3vYd)DjE%4JFea%?pfCr#=}R_dl}pV zU<5culR(Pmuq$fB!Kt}h8Po%aTRpw4v{T&F+eph*quF{szfx7{<#}x7TMm%ZmT*IP z^Eu&yGshOZ5YJWFf+O!7>3ae)byhc9A)cTY5yv{~S;D{-qalXT(>)oqow*eoD&{1rBq`+7y zU8D5w=g+ulvPZi^=JVajf${jFXR|ULp1EL;>ty?Lb>>K`;uz;n(hVg>Z$6s!aJ-&` z)M6yY9(f}!{?gKt9b{S#RG8(P{T|+q z6JTU<6)opBvw@x?Lz}&6N}!B>Ifi=r_i98!Xn`*gOI_D=qQhD{nk}*U_V)FqiA6mb zXFTMqEX}fP>p3aN7kewK+#3jyKq_1iH=+i;usOdM+ds|n)@NhPbwCTCB9QmF0k~OEx}KpKc}F(I#F`c{GWmD{`t?*;aY|LHqH4*h58K2oB&@ zhwAcLY%IkUEUdKsrY13yQ6wo5qoPvsd`}7y=sr#9`sQrdKkRfth{X%X&tp)h4v1;( z9A&V5pynS6x8IjTdmkkvBxr9;{(2)JAuJ)`r)m$fEw)!jhB`gz&Mt>?9c{Z68Se2z zPtbm2IY;wWU|XQn#`&$L-`pg7dL7u;MZgxd9CJmd%>4TG3mDtQWMjZ@#fX&{NwLUJ z!IUDY`LJgk0oYk$@7hzQSDzITB`P)+*x!Fqc$?tXh% zAP5H7H5;Ru=-=bk%&PzSrHPsG!Ue7cQDGr@nRtw`Ka{(-=MW1j=eIqhIQwp7O1nAI z88a8H!=km2&g@Ubo`CDE2+KI^pqw!q6{pA2w&~$8m_~BmKh|yBSk|-h=*iz=zjYQD z?rDza?g69-vV6;yk8_qCGj#EBe%AvVNV>AT{B1EYG5I;DTA`W3OFw^V!O_3twtwOJ z(sHVjeB-EZE(e6`)JM=z1wtwKuL*_LLi4eJouz(V^y)~Ypt}HrG~7=zhI0Z~^-A;; z!1%ZQyWkm7u7K$7yORiF%wEC&fCeTiyHOXN@axwvlDoeH3zZqum~XZX=9?%U zQ9Y=4w65PAJ~3z*_pACdj^*}zCqtnm5Nv5#pT5gQ!^1-b-*ZuMZZ4Z?WlY*=2e~*7DxrJ zAy+sf^Bnf(J)p%(?bk9dnFU8idSM#016!@?pNp5rr=~mx^9*aESSpUJkf02FYIJGX zS3U7V!0ode2zNa_Mng?D)Xa*1A(qqg+GOd+sa@7T$aTLtlbG^j^F^H`a*7`c&KsD#4r>BP^bR#hNP?BZQ5)2T?t3J_2XSt!Lh2<%>{>+8;Dry!z zmTGy_&H^=jmKA)KugeDxk1c!AwZZjf3;zS>q(Ezk5E%M%p}e!AfgMzlvCl}G16k_T z+>xJgN;QA-Xc;fKsah@ni+8pA!QRLyW$_)76A0_Q!^5GSeUK1;w4`;)vtWmj$KQlJ z$R0;f_3BGl8nqt-wJQ|gInbx_IGkrqZSvgXf=~I@=)diZFm5b1$9J6ksavWG ze>RC0HycRIPUfElCjZo`V^?%Vql~K4FcXi~hdUxl_wt?+`65`W^J|SVP=RG}++n7C z{L)rdR>NHDnn(wBD$o|ESI)te3)CVU1-;vz#avkd-9_$zoO2(AG(`YPlz0HT$Sa5w zA-zNR=s=8hzlMFv_fBYpLm&zJi?Hx!H|gE{TAm(N@jkAC-?Z>QZ1G6O)rd2Kc!gl* z0sLviYs0mF?*!9ltw5wz^Qi6HL;H>-1G>7V#3U@;Q2TqUS!?S?UCBju4F&7{ho#H# zqGHUuJc53yw=1nY1a3yrMjg3=IYt60P^R`OR!G|Bd3P^u%*O{J78gF-OftOm6%{R% z=g5-g`6m=Q|M1~MufV{pZYr1QhTzs!K{`5N$sN%zuw`mrK1n09(%FCaM$a|}m`DE2 z0zEBk0};b^ur9~>o_t2E6hEn?E(rrXAkFM$U zN;RIhp?G}>auB6pc#l2_`$DlxOC-C$nf1y3Tv}W2sKXR4-%gJlbP#kL%dub6L>?@r zna1jz3lE~nmy?#FfoH|hvMu^wsCO>i*jrjQ&J|y+pZH+!iAQ;hg5susbj3ekXZ_IpzHK1ZEY-cCoIzgDm2LXYw$($g!h! zZ+4xlA*-R@(^;_A|FYS%w^1_1sFQ2YPZ{WZwx8e4q8Gs6S#P)>I1YRlz6C^trqjdS z<-zza3S#19u?7I(%y5b_p37Hj9Sb>B%ZuM%hwFkAAb7a1EnWFll0Pi_B$y zS~i`ppyi0pc#$-C9ZbI~K@^%B;kUw^ID96@gjZ+lgt$^SkiLGe_8d;@Bk!t>)Nnh# z8)q(y$WkxPZOa`PP*&K~h|5m{C@(mEg!I!oLAjc`V7rcRy##(PtuQUr4Q?>zI#$x)lK}qN)@=3Nj9(_v&1W!pTy)6fnl0?6B!y3 zV$m(hH9>v4hvnnr69k6`02}^}pCIVOvp3;MP4U})q7CFqKBaj7O-NDYZa9_dB6uj% z<+TFiex2okoKzd$d-t9*cQ4pPLX7Xuw#IngVN!f{5OhAVR9VLFm0|}sBp|22deMGL z4y;Tog>mMZ&!8Owq=e{sP0c*-*YYBrjGF(H#t_guw}^;5K$9cfP)6z3 zKz9d$U;(fWXr4aBbfip-uAT3UX9w1d2;+ydd1}zr7&~=J=SE!f+{Ax(oU`*R&)Rm! zdh8)-%c_ znE4*O{dpG)+p)CXBQDQ!Av+a}D< zcT2r5&q+Q7vv<=|TY5!*yk^6MH^2d{H`sw)1x3_8`do5x-cwUz^dzgo#Av|rlhPO0 z=T}0lDD=dGpSse79a!k{_!y`k96#(4K=D zS_)S&@wL(4J4b%83~(Sor8NsMyt{w@tSwtjS9`54bsrz?0s=H|ng0x&?;p*y`W69> z-XpZTYhY|H1u$2kf5yFetJ_J^qhgdAINgs2D{8^>&sdO{aq|g#NndAKu}q0R)jMVU z`BVY;rDs$maIPV*Wm!#Qgs+f~m?>1Lgopb-PSAa!(*blqgsiz0zar!uuh?Yklj_6J zHn4E;!H+dTeY10+=SfP=brn9x^I7)KWJOCDv#E((#DoB2u%x}F8DL0jt`7& zx2EXpb4~`Flo;!c9o5HSU%!5$dHLn1(R|1EX8_7y2bztRl{KphVUR~^UcS%3AQ}BB zN4I_wbOSTB;XPlp-JjA9)Z1$vTCMKLHC@b|7AD^5=<4RY@1%v8=O|lDHxS%$U{%Sz z62oQw`t92w(;)z^;!p!ZnWpm!1X$^lKn_)Z!Y1mm6A%z!Iby<0xR)1&F0@*HxoylJ zx1Q@>$~|n27p3bx2=+jxjoqD{47o{uQ`FNt>T4sV#LeN%d8UjP_nESgABjP=qX;dx z;u}RkLUCX`Cm<&67RJs&jp+wdI(0PFtS?&KOHSqB%EaqMm8I;KmX?bUF0Ot=3)v@W z7*9c)9VQQmYs@0{{1rEEUdy=H?JT9VrA2)}cIKZoE;*lMa`M5sy=&(qyv9Vbs5b=q^vcA|CK?U=dID>Tv+wkGy1 zL?TCSy>6!B$fSWdX^?+cAjpw1^b}dR#DAOAcYWo%xur^0vueJU^x^T7f^n`|0zS@l z3_zh!x;j-Kn6@~_q?9R~ECn-J0*TX$`DjGQbEMtdk;pj^oCdw^ls#r-e^A}J)iFIs zrwdXGdytB0rk!WW_y7I4Lub3@mye4cNk^-;@mZc?@cB_E$sEJd@YuuMAjSY51n;c( zeYc9~FZ{f`r5gWYRED}$yddyl@6^ra)MXYJ-lAz+wqSTl=09?{lRw6q2di&wY}`1i zEX~a&1lZ5B1v_c}o!f1K6;3WZX&_ryiaE4W4P~We)kwbwtm4i*L+Jud9%&9Te}5{u zOFOe~l1;4V+Q7bHUbu;mFCs7BBN`X}M#PKvOwQybM zCCD%MimKJ>&`bEU#evmG#(=%!kpA6hMi31s1?cz*1DN#^vkqJ3QXS?HpU@x^(Yl4s z&)fjXf_VKyVj*rB>=8@sKIZMaDz^U9cc517T9(&uB$t0v)xv$PvB7?HtRz7-|XFWU>zl*o{{-wR_>}(!bnm-652J&rQ z$5{3tK9;7B;cw>~5gD|@U7PC9VG^stJ?QH=Qir4d`Wzld2ml*y5s^$S>N#EwTfI+PSv+YxP^wWL43QI;)Gc){nPViL5w8Ff2=59n{+?k|k zP+^&Ox(EsxvZ+YyEms=yb(+>rU0VBa8EXSq;orVZbU;q|o@V zMc6*oX#WIAFvKPrEdoLfF*i$$K`2e>BCm(pnKa$B@uu-6A?H$TWj)hC8#k!PG2C^G zE}zPrcm3=%5?(C1VAx9IMvJ z0T3>g?;kA{QId-eTinU|QL!$vOPwhdaL&TR+%oaC4aEl*8jYSKL#%E zTEtHJs-7vRzu3UkZfzUFNBBp7v2qp+$?rj3-#sPA;6Olu-2a1wZ|cyL(?s6ltx_Br zJ~I`lJpT@(l!A4TYk@O{TUo+{!2}4U!e^1X2o|)apGpI z|6?EtH_eo>DrJFmhCS|mL--x6GcGk|YQ+jW%t!_;6QT_njRVezf0+GXk~yz2(ue{u z^IqCGE1VST?~OQ#2pR4*35vD4BThN~(+P~)0qGM!?VON-_2c7B_WJ$)1icv9{;l`D zjJ(PxQ1iSY&)VnD+sIH-Ugn)lZ!=7Bw9BH5I}C;g{Z1`ra8UOp$>Hu4$kp1ObPpYt9X_LOKg{Xfd^b+y1zE= z@QG*qv3b16daJT7gZWIKtq|YGyX*VeF!j#g>q5aK081&6?yA}o#JWVmS^5}e<3qc~ ze^$-k=@Z8wx1avgC7^U*=Ddo=;<0!WYr})a@j)ofpQY|e-ztR%UU0pT`dDG_Xnc-O zjrs35qVH&5ubeJglBq-og+ART-3evtt zxJxx)v351_m(BAA{T|9CeKYRQbl4pj-{;{!Rm zrf@~fm}zP4lY8G|IH5g9xfS6wS$yriqEKR>>_-cXiQx{D*huuKa|e|CBx1Exir=Yg1@Iegk&yhH z)a9wYAuYM6*nk6aw{;1Vf*yXVnBPjWyrfd&?SIFr)|A~5Ab?` zk)$S;Q6EU{-nF9XvhhmYN_2-PT+O`f4nQ7Ab#!!k*mU|XXiB9b0j&C#k@MLzlElPB z++77(*&l$!ky*N0JzQ+P^c4fZU7DDfSfr_Jgogt=o%4Z_;NbsX_FqBSzu10iZWXGf ztveo>^)Tbr+R-0n4P6HBp7&e`Yz{rQlM=TF$@mJVIRG~QlPFufeHK8>7t4=#)l5JP z{oT8F^MiTGHzMixGBw0p0RaNkoaiErk@yX^T{-^0V z_KxH*3;?;R7(p&Py$g~!eSXVAy)j0hnTIxg058kPSk&Is9J%oYO5_G2N`oKGNX1&l z#>VIueuu84LG=Dvg|)5!1gLcVB{%hn5@RECu`Ri|$Y7bXeS9HDi4r5b~N(vaMe;SWIn(C~HOT>7g`lZE3uwLxeOdQ!MOmd%^I;f6ro z`FlfsA|eJ_b~>3>*5R@s!~DMxfK8K)DrM%9J1iPgkw1k#g)a^AM+*hNlvokCL*Pb` zUHP#+RA5de;}1IFMNth}iKHEBWX!troDk(U=Q%fGYms-->bvmZaIzqJLlZvUQOI=bHb;Uv)YzcHy~ zF8^R>H~SH-mG4Z@l-h(mxOqkq#fV|gm`>AcAf{*4Y>mkX%Mz&hd)dU~rAZ3_>+~Ku zmyT{N%9{UChtsz~N=!kRle=4`bN!CNZ%a>Dih!CT(6>Y@VU~DR#mh>rSP5?Q_mZbv zxX4Du#bb>odrilrzpvC?>lyoC=VZGfS#z*2=8w@)Aev(DreCgv_?Mfr?v!_+YW7#r zZ*?ATq;i0I=I6T^mC&P>)p&*GvEk%fxu)*)h4K@ zgW>l)U}CC?WY=YLSRdyUqd)&99WMty-Y5r3J_isX@5rkq$HvB98xpM?i5J0l+38i< z156*wI#R>&DlBRn(dgfJB8Q`%cOeFl%`90=W$2Ii`gI&-ob^kRYvdC^05q9PH=CH) z9XIu20l-YcWu{J^6n?(6d|@Kt4nr8~5cC`Hd@4o|%YZucsvXXsvmTXP))p z4(7u}GFSTm!a~CDl<$;by406(9Tyi9+go}}&1n*;dM>?$r>|3yIv5wIE~5%?UdI!N zhd-8qrShNbO{K0BDi|0r(B8jK?!rk+`{L?y>%+&7X>M)2_F1cCJMexowRUTL%LUMAnpPE+y;ztliB%tNqK1W$Faee@p#bDTy zGBN}oJv@4AK7^Eo6cYazeCpLjx?91Q z{eU3>f?@N+#d&jAM>n5-&tWfC6N~SB4#M-PsZ9uzh9FR#LBQ?E0k%5^RAMq9U#de5OCfj^&;I%J>B`>z{$RK(03#l-u+#wxfkv`Z$(441mEuu3P7@R? zV~Q-9*2DpV#a&9d0DU%+4!}7GHDkiR5bZ41^}Ft7is=lswQ*cme&2r`HuL^T(WG;i zyedlP4-pe30>7>)M-jsc!j{qEfqCdos&b~kNX^Fzt&C<~fHidu?yvR2pS3StTH|-# z9iQ}Nt&1{*drQH1QV5s97$yUFS1Wr`ItH<*<}dD6d9AT3?z7 zwI8;7Gz9q_3+Lho(4-Myr~ZW|$HKy0+>tA#)nlynFmaI;Pshn3>xG8nXS`adCEHP% z1VM3vPC^=UOWJ1(*H6R-oR)a&=Jp0 zkG48T*E3;cI{>bqOijzIZVF>kz~6Yn$y3}1bVn*n)0q1y|H<0viS+S2iT`T@UmT;S zWSC;Hpstex_+lf8S?*Qs{*;Md$Iw85vQVlLR#d#ZRsCyv;+qTCwDUXM%Ep2u$(S#I z<#Dw+f>jCMjM{mb-N4)T7_eh8i3HhzFpE6eYzBrnBXDzP0Vl0>T@fQT;GmgWWUB$3 zh*&LG4;#b~du(4N?H;g2lts(M1Bm=v9fTOPyYcezc>x^lxZ08+J_5n577m3*C?E}% z*sldh3+#U?AQ+y$gwbbVtUU<20k@Tc{`IA-ic~^x1BP3OPQ(Kfu@9j`%mr?O|Y#bb8EAoe?4<0;tI|e%tss^;TUfhs^!C&CZ z-Du-od&WNkHv!^s(WTj=JSjS_!F&+T@7!aq87JV1;`1M^Bj|TC27U(l{)leJ3d;C2 zh~{O`*RKgw_nOkCn*nj!*(YUFGoWO*8KO6k{f>mk=4YtfG9?}r-%qI3O-i2p#x)Vt2*1d8RIl{{L!rjL7rlnWAH--h4q63J)zVu zSsJB^BW#%T3`~Gu!I_20C`+~!CTtp^Zsnb!_X0(vHsrChHa6z%u5n1WpKUSm0@Ao2 z%dUG(;Ap+(HERia*cyM-6|E7*xT$xTk_@i~#3l2g+4YGUlOymIHEz! zb9>;^uJgbb7?`%(2HhBBt9nqVM}yoO)>ZZwYc z_<0Fa@{S$!l7=pQWUvAROa6-vh5a$7Bexa$9b#_yE0T9tAO0^q2woN_b`E z^X5=#0Tsi2?zvdqsArZsz5(x^L_Ovjb%@um^CJyUO-+@P%1b^3gMEjMi)(5#0xZbK zfR~V&w+wigS+CN1Rly!pbxHsF^|o(TmU&wDV(YYXM~^)XJA3C7^HC&EGYGbrE{v2G zt{j74%KPH+k2of4YvqS#&8Np>r`+tn;L@4IR?H8Xn2fVmqm46VD(nlGwaV2^#|9vP zD_O9}`zoMf*U-Q~^$Q*)6d--}4o)M}D6KB7D7X)QaE+#O&=zt=BAfU1@JD9Mr`Y_P>Q{2&)>9BLRDJK z2Zx6uUd#G^b4wWoEM3OmxaYD>t#Cvag1$a~6E<^j zOx92W=>Hk7%J!POl~QIOCQ62g$nw|%PD{a475Tug31Ta;b>+OWlQ1|u6H5KY5E_Cd zt3y-azBv*Ua?=Vg_+<-VOTdB;HMCmpMy8 z&SfTFp;2&{7&P#55>JK8dDrA?c=%-8=}|JXbb>*6&ztvw6&g2@{9ZOKoyz3ADt+=X zt4VK$!hy3VZTsck>3kwCk-Lp*1Y;lH&p5`eFUlW1fyp;mkX2hNY%7Ez#F#cq2_A1N zCN!0bLR?ee@)Z&KONZfjGqkY0H#?OW5;eNjmhg4J{_1t?Ci-@|@u25wZdnO0DN{by zmE*@I=TJ4xd=X7TjZqo}(2Q}U7(Cc3vsfw6x@2xVBxY2tM}P4iH=}gAW5;lT))}BR z2bI6(_?}7fU~+OYlHSZ}CF1*w#Fe75t8_h9DUyCpG|lObI;IDV2^{UfkSXgtVM1NL zHcBPTbN~JFLg04MV3*ykuJS~B`sp4UxYxlxts|{!2x}K2Mhf)VB$=;R#F?A-KSdr#ByktG!Ciq;_Oo1t0nvI?!PKKRPY$QFuq zpB^&UP|$zd-Q7K~5eqDVP(rOxs%{TsFHDs;odo8Dd7{orZNPrl?)3MNpCdF%E9h2S zoR_AaW0YvRvA}~d%7>C+V^7`e)jj&%&^2SM=o(}9!{VgtDzo1Gx50}f0Ooz_L1Ml_ ziX>{Vk;h6Bew{S;ha0@%vkEHb?a+42uiI46Ms~LY!UfuheVU zbA8H!vUfFKXn1(YfTiaOo7p@;Znep+DE?e&WV_QP1Ix!osOIWwI78j-_53D*(OLXJVbmY>0hok z-g04Hm`9Xp1D*3CRsD^E0O^`kgW#Km*q11LmHPCsn9dZrdVS%iR3^KuQ$Gm0 z7f6(|ZVu7!)9Mb1G0Jus?*nOT9+-Z29*W#8rPe$gA<8;l1=+Lw4J|GCwl|QjhjzAF z4CscwE)z#>rYbZLjT=33(kUppt}UeB(u((08ZuJ3mR|2~p`qk4{aWs2RaT^RphEt3 zSNLA12=y-z+>SrlXnK2h6MvA*B510C4GXATV;h)!U>Hn$b6ugVq3IScAT%hvEDPEa)izvtS1drf3j9141bS1AVV|z` zeF6~#8<05axeZ#Qd*8R0gLKxc?)}i4bF?-0Ob2sc6~ugPchqV8#5;br%huoyEB1n$ zhxCwyMc%ns>-BLDe1L2qY0(XUCnEn@5p+(uXolQ)-TN>h`7b;>EeuCLIH$&WHTeGt zu>G&Vu77d2{(x^@v3~=d!9;(e!GCTlwLJiO)Ppx&N28Ut^eRAh2gWN0wI}q{80WTu zm29#e6%s;NumYSPDB6<8e$|Ax4!8tWk1@b%H?La+z$fT{>+uf;g8?GAw&VND@BLf3 zLxgvIuim+HM;T#4${-PW0VZXrrlhHf2ME{GhCn?p3$y`d1IFl&wL=-P#k3yPi-Q$X_}N)|lT#a+;Ev0s6x2 zyLVBk?9|UJE`SuFt4Y#v0a(;7Zxtf&u3xVNeln&P8t^DD0B>Hts^n`Bt42wFn?NA7 zU_di#1qF!9c=`MPLOO2su($CnJs#pDB_&-{1|i3cEtQmTe#^;Po@OaKi4+v`p%XA2 zF)0JIG&DjA&EZqw;o+PE5l503T7Qn&(nG_ zhODeY+LBU1rk1{Hs($}i8(g=^Fv0WylRs`cgm~8&LJyLLSl6dRrTYf^G1wJw53gV{ z(SQ@T^0dK_f{wZ1VF}cg6H>1g%76Z5WX0|Q> zc%*n40K3999V!K)C|6|pQK+O+H^>4|ph!^t7{S>L)F+W*rh3XHD{SpwxLm{EP+!E! zEmhFKx7P-SPHGPlNPH+cwuw@@a%bvx;~bdxG)#WSqkF_4R}JH6DrTta!VclEBHxC6t=MYgbpRGcZ*HLAiE>y7kTm2OJ0L}Ba>Rbj)Q-IIvatZh zV#T`N6|U9>DAF=&?=T>S3_1BT3vF0HHJx_Y^AWNOYNEC)K>lmAiklC0c6K7ZslD;G zHy#QcvX)2#bl+Y_R-uBg18N|>)f`lFMqC})5#>n)@Ks}#0;?VQp*ai zWbZ%_>Fhg0GT@=4moidxdq(40;vQ34&$h_WFUZcQiyb9ypJ38aQi42*cZ`Xi_Qez* zNy>_`3he`cLEhO8@IVn~_;|ywgvGooL4+h?hf@c7Fq;?QfP6eX4SEenLB>arj(Lwv z5sMw)J)j)0hzKP^YS~w1iS_yRZ&(JEgoG~If!3PKtgqDjGwvwV0Nr zh<_=eR=rE1;&}IHe@o%Q5s>~VsdJ`6JOQDIaoIBU)IAU;Dn6${5QjeM?y8E;9}B0c z(33EF$bAB~fCYf(P>A4f%3{U(B)I@^qTsf=0_q(=vjrDY)IVxH99ikhAV+|NDN+uD z{JltK$qJh!2GhF4D;hkyrPCqeizZwydlrz!9J)8=I2cR#QE`OlWeO=j@UE|PEoaB0 zz!$A4fzlW6P%4!yyi)t4xUDQf(#qO2$v7(l+S6sGl5{XlXik|b-bE7^`mK<@{xK`7 zQd~-z)Co(JY6+`opx+ihNVh6=x)VWo2td=`%cU+!oTRf7m)wj4XLh@Q}zkKwJOWbm7^IO9wJtQEJ z^f&n^Ipli>Fn?_nu7YF)Ev4SE6&lLiMmBB5)~koflK@&kXrf|p=E1_N`kt*nDkoHd z#vY5XM^RDn$xnJ(+N?iBE3XFcfi&*(fXn|=DPa)re;d~M-)g%5-A%8|?Yp=7jBXm- S2!ve#hv+LQ;mjA>AO8>j2*+pu literal 0 HcmV?d00001 From 03c141f67201be0bdcde98d70a37b55283403f42 Mon Sep 17 00:00:00 2001 From: CatastrophicCoder Date: Thu, 15 Oct 2026 19:31:01 +0300 Subject: [PATCH 07/17] m6: re-verification after D-058 (M4 acceptance, HOT, b56 / b5open / b6, half 2x, knob jump, null test, CPU); README sanity figures --- docs/CIRCUIT.md | 2 +- docs/PROGRESS.md | 6 + harness/reports/M4/20261015_b56_DEFAULT.md | 226 ++++++++++++++++++ .../M4/20261015_b56_DEFAULT/harmonics.png | Bin 0 -> 25475 bytes .../M4/20261015_b56_DEFAULT/magnitude.png | Bin 0 -> 40007 bytes .../M4/20261015_b56_DEFAULT/waveform.png | Bin 0 -> 76135 bytes harness/reports/M4/20261015_b5open_DEFAULT.md | 164 +++++++++++++ .../M4/20261015_b5open_DEFAULT/harmonics.png | Bin 0 -> 25603 bytes .../M4/20261015_b5open_DEFAULT/waveform.png | Bin 0 -> 77016 bytes harness/reports/M4/20261015_b6_DEFAULT.md | 199 +++++++++++++++ .../M4/20261015_b6_DEFAULT/harmonics.png | Bin 0 -> 25484 bytes .../M4/20261015_b6_DEFAULT/waveform.png | Bin 0 -> 66912 bytes .../reports/M4/20261015_full_acceptance.md | 197 +++++++++++++++ harness/reports/M5/20261015_b56_knob_jump.md | 4 +- ...261015_full_acceptance_fs384000_j4exact.md | 174 +++++++------- ...15_full_acceptance_fs384000_j4exact_hot.md | 32 +-- harness/reports/M6/20261015_plugin_cpu.md | 58 ++--- .../M6/20261015_plugin_null_2x_half.md | 68 +++--- .../M6/20261015_x2_rates_d058_half2x.md | 48 ++++ reference/README.md | 22 +- 20 files changed, 1021 insertions(+), 179 deletions(-) create mode 100644 harness/reports/M4/20261015_b56_DEFAULT.md create mode 100644 harness/reports/M4/20261015_b56_DEFAULT/harmonics.png create mode 100644 harness/reports/M4/20261015_b56_DEFAULT/magnitude.png create mode 100644 harness/reports/M4/20261015_b56_DEFAULT/waveform.png create mode 100644 harness/reports/M4/20261015_b5open_DEFAULT.md create mode 100644 harness/reports/M4/20261015_b5open_DEFAULT/harmonics.png create mode 100644 harness/reports/M4/20261015_b5open_DEFAULT/waveform.png create mode 100644 harness/reports/M4/20261015_b6_DEFAULT.md create mode 100644 harness/reports/M4/20261015_b6_DEFAULT/harmonics.png create mode 100644 harness/reports/M4/20261015_b6_DEFAULT/waveform.png create mode 100644 harness/reports/M4/20261015_full_acceptance.md create mode 100644 harness/reports/M6/20261015_x2_rates_d058_half2x.md diff --git a/docs/CIRCUIT.md b/docs/CIRCUIT.md index c03309c..76259fc 100644 --- a/docs/CIRCUIT.md +++ b/docs/CIRCUIT.md @@ -254,6 +254,6 @@ Regenerate with `python3 reference/spice/spice_tools.py` after any netlist chang | A2 | OT values | Hammond 1750U replacement datasheet, primary inductance fitted (§3, D-023) | Power, LF/HF response, feedback | | A3 | Choke 5 H / 115 Ω | Hammond 194F replacement datasheet; L specified at 120 mA DC, the amp runs it at ≈ 27 mA (D-024) | Screen node dynamics, supply DC | | A4 | Bias −60 V at C20, RV1 4 kΩ | Assumed | Idle current, crossover | -| A5 | Koren generic tube parameters | Generic | Overall voltages and distortion | +| A5 | Tube parameters | 12AX7: Koren generic; EL34: fitted to the Ei-RC data sheet curves (D-058) | Overall voltages and distortion | Any change to these must be made in the netlist first, re-verified, and logged in `DECISIONS.md`. diff --git a/docs/PROGRESS.md b/docs/PROGRESS.md index 4a76c81..5571fce 100644 --- a/docs/PROGRESS.md +++ b/docs/PROGRESS.md @@ -788,6 +788,12 @@ Notes: unchanged); engine `devices::Pentode` defaults; regenerate tests/data el34 sweeps (`harness.device_sweeps`), CIRCUIT.md §5, README sanity figures; re-verify: b56 block-exact, M4 acceptance at 768 kHz and at 384 kHz exact J4 + HOT, X2 at half 2x (plugin config), B56 knob jump; SPICE references re-rendered (netlist hash changes). +- D-058 done: re-verified against the new references: M4 full acceptance (768 kHz) 107 PASS (CRUNCH / DRIVE DI −61.1 … + −63.0 dB), 384 kHz exact J4 107 PASS, HOT 21 PASS (DI −42.2 … −43.3 dB); b56 106 PASS, b5open 88 PASS, b6 95 PASS / 2 FAIL + (the known 5 kHz 20 V discretisation FAILs, D-043; SWP-lo reference rendered at RELTOL 1e-7 after "timestep too small" + at 1e-8, noted in the report); half 2x plugin config vs SPICE HOT −23.1 dB, unseen −19.6 dB; B56 knob jump −64.0 dB; + null test 26 / 26; plugin CPU static 31.6 % (every knob 10), automation 22.2 … 24.4 %. SPICE sanity: NFB 5.1 / 4.7 / + 4.6 dB (was 6.6 / 6.2 / 6.0), clean 87 / 112 / 126 W at 25 / 30 / 40 mV (was 101 / 133 / 151 W). ## Questions for the owner _(Claude Code: add questions here and also ask them in the session.)_ diff --git a/harness/reports/M4/20261015_b56_DEFAULT.md b/harness/reports/M4/20261015_b56_DEFAULT.md new file mode 100644 index 0000000..7b980d7 --- /dev/null +++ b/harness/reports/M4/20261015_b56_DEFAULT.md @@ -0,0 +1,226 @@ +# M4 report: b56 / DEFAULT + +- Block: B56 PowerAmp (phase inverter + power stage + OT in one tree, D-041); SPICE with B7 +- Preset: DEFAULT — Default knobs; standard signal set at the block levels +- Knobs: preampVolume=0.6, treble=0.5, middle=0.5, bass=0.5, master=0.3, presence=0.5 +- Date: 2026-10-15 +- Engine commit: `476d21f (dirty)` +- Testbench: `harness/testbenches/b56.cir` sha256 `33af0649f0b082da`; netlist sha256 `7bea8385e4adb04e`; tubes.lib sha256 `5767afe208240bfa` +- ngspice 47, fs = 768000 Hz, SPICE reltol 1e-08 + +## Summary + +PASS 106 · FAIL 0 · INFO 27 (INFO = measured, not scored in M4) + +| Check | Item | Measured | Tolerance | Status | +|---|---|---|---|---| +| dc_rel_error | v(bpx) | 6.639e-13 | ≤ 0.005 | PASS | +| dc_rel_error | v(ct) | 3.933e-15 | ≤ 0.005 | PASS | +| dc_rel_error | v(g3a) | 2.529e-05 | ≤ 0.005 | PASS | +| dc_rel_error | v(g3b) | 2.529e-05 | ≤ 0.005 | PASS | +| dc_rel_error | v(g4) | 4.919e-07 | ≤ 0.005 | PASS | +| dc_rel_error | v(g5) | 4.919e-07 | ≤ 0.005 | PASS | +| dc_rel_error | v(g6) | 4.919e-07 | ≤ 0.005 | PASS | +| dc_rel_error | v(g7) | 4.919e-07 | ≤ 0.005 | PASS | +| dc_rel_error | v(k3) | 2.526e-05 | ≤ 0.005 | PASS | +| dc_rel_error | v(nbias) | 4.636e-08 | ≤ 0.005 | PASS | +| dc_rel_error | v(nf) | 2.526e-05 | ≤ 0.005 | PASS | +| dc_rel_error | v(ng) | 2.526e-05 | ≤ 0.005 | PASS | +| dc_rel_error | v(ngn) | 4.863e-07 | ≤ 0.005 | PASS | +| dc_rel_error | v(nor) | 4.863e-07 | ≤ 0.005 | PASS | +| dc_rel_error | v(nscr) | 1.07e-14 | ≤ 0.005 | PASS | +| dc_rel_error | v(out) | 6.591e-07 | ≤ 0.005 | PASS | +| dc_rel_error | v(p3a) | 1.223e-05 | ≤ 0.005 | PASS | +| dc_rel_error | v(p3b) | 1.353e-05 | ≤ 0.005 | PASS | +| dc_rel_error | v(pa) | 3.49e-08 | ≤ 0.005 | PASS | +| dc_rel_error | v(pa1) | 3.469e-11 | ≤ 0.005 | PASS | +| dc_rel_error | v(pb) | 3.756e-08 | ≤ 0.005 | PASS | +| dc_rel_error | v(pb1) | 2.844e-11 | ≤ 0.005 | PASS | +| dc_rel_error | v(s4) | 1.558e-08 | ≤ 0.005 | PASS | +| dc_rel_error | v(s6) | 1.559e-08 | ≤ 0.005 | PASS | +| dc_rel_error | v(sl) | 1.084e-06 | ≤ 0.005 | PASS | +| dc_rel_error | v(y) | 1.221e-07 | ≤ 0.005 | PASS | +| nonlinear_esr_db | SIN-100Hz-0.1V | -87.37 dB | ≤ -20 | PASS | +| harmonics_2_5_db | SIN-100Hz-0.1V | 0.002212 dB | ≤ 0.5 | PASS | +| thd_pp | SIN-100Hz-0.1V | 1.094e-05 pp | — | INFO | +| total_power_rel | SIN-100Hz-0.1V | 8.518e-05 | ≤ 0.05 | INFO | +| newton_failures | SIN-100Hz-0.1V | 0 | ≤ 0 | PASS | +| newton_median_iterations | SIN-100Hz-0.1V | 1 | ≤ 3 | PASS | +| newton_max_iterations | SIN-100Hz-0.1V | 2 | ≤ 32 | PASS | +| nonlinear_esr_db | SIN-1000Hz-0.1V | -81.58 dB | ≤ -20 | PASS | +| harmonics_2_5_db | SIN-1000Hz-0.1V | 0.002075 dB | ≤ 0.5 | PASS | +| thd_pp | SIN-1000Hz-0.1V | 1.08e-05 pp | — | INFO | +| total_power_rel | SIN-1000Hz-0.1V | 0.0001002 | ≤ 0.05 | INFO | +| newton_failures | SIN-1000Hz-0.1V | 0 | ≤ 0 | PASS | +| newton_median_iterations | SIN-1000Hz-0.1V | 2 | ≤ 3 | PASS | +| newton_max_iterations | SIN-1000Hz-0.1V | 2 | ≤ 32 | PASS | +| nonlinear_esr_db | SIN-5000Hz-0.1V | -68.59 dB | ≤ -20 | PASS | +| harmonics_2_5_db | SIN-5000Hz-0.1V | 0.00327 dB | ≤ 0.5 | PASS | +| thd_pp | SIN-5000Hz-0.1V | 2.189e-05 pp | — | INFO | +| total_power_rel | SIN-5000Hz-0.1V | 0.0003846 | ≤ 0.05 | INFO | +| newton_failures | SIN-5000Hz-0.1V | 0 | ≤ 0 | PASS | +| newton_median_iterations | SIN-5000Hz-0.1V | 2 | ≤ 3 | PASS | +| newton_max_iterations | SIN-5000Hz-0.1V | 2 | ≤ 32 | PASS | +| nonlinear_esr_db | SIN-100Hz-1V | -86.86 dB | ≤ -20 | PASS | +| harmonics_2_5_db | SIN-100Hz-1V | 0.002249 dB | ≤ 0.5 | PASS | +| thd_pp | SIN-100Hz-1V | 7.58e-05 pp | — | INFO | +| total_power_rel | SIN-100Hz-1V | 9.044e-05 | ≤ 0.05 | INFO | +| newton_failures | SIN-100Hz-1V | 0 | ≤ 0 | PASS | +| newton_median_iterations | SIN-100Hz-1V | 1 | ≤ 3 | PASS | +| newton_max_iterations | SIN-100Hz-1V | 2 | ≤ 32 | PASS | +| nonlinear_esr_db | SIN-1000Hz-1V | -81.27 dB | ≤ -20 | PASS | +| harmonics_2_5_db | SIN-1000Hz-1V | 0.002148 dB | ≤ 0.5 | PASS | +| thd_pp | SIN-1000Hz-1V | 6.705e-05 pp | — | INFO | +| total_power_rel | SIN-1000Hz-1V | 0.0001081 | ≤ 0.05 | INFO | +| newton_failures | SIN-1000Hz-1V | 0 | ≤ 0 | PASS | +| newton_median_iterations | SIN-1000Hz-1V | 2 | ≤ 3 | PASS | +| newton_max_iterations | SIN-1000Hz-1V | 2 | ≤ 32 | PASS | +| nonlinear_esr_db | SIN-5000Hz-1V | -68.25 dB | ≤ -20 | PASS | +| harmonics_2_5_db | SIN-5000Hz-1V | 0.01228 dB | ≤ 0.5 | PASS | +| thd_pp | SIN-5000Hz-1V | 0.0001581 pp | — | INFO | +| total_power_rel | SIN-5000Hz-1V | 0.00042 | ≤ 0.05 | INFO | +| newton_failures | SIN-5000Hz-1V | 0 | ≤ 0 | PASS | +| newton_median_iterations | SIN-5000Hz-1V | 2 | ≤ 3 | PASS | +| newton_max_iterations | SIN-5000Hz-1V | 3 | ≤ 32 | PASS | +| nonlinear_esr_db | SIN-100Hz-5V | -90.98 dB | ≤ -20 | PASS | +| harmonics_2_5_db | SIN-100Hz-5V | 0.00839 dB | ≤ 0.5 | PASS | +| thd_pp | SIN-100Hz-5V | 0.000788 pp | — | INFO | +| total_power_rel | SIN-100Hz-5V | 2.589e-05 | ≤ 0.05 | INFO | +| newton_failures | SIN-100Hz-5V | 0 | ≤ 0 | PASS | +| newton_median_iterations | SIN-100Hz-5V | 2 | ≤ 3 | PASS | +| newton_max_iterations | SIN-100Hz-5V | 3 | ≤ 32 | PASS | +| nonlinear_esr_db | SIN-1000Hz-5V | -78.94 dB | ≤ -20 | PASS | +| harmonics_2_5_db | SIN-1000Hz-5V | 0.00431 dB | ≤ 0.5 | PASS | +| thd_pp | SIN-1000Hz-5V | 0.0006853 pp | — | INFO | +| total_power_rel | SIN-1000Hz-5V | 1.741e-05 | ≤ 0.05 | INFO | +| newton_failures | SIN-1000Hz-5V | 0 | ≤ 0 | PASS | +| newton_median_iterations | SIN-1000Hz-5V | 2 | ≤ 3 | PASS | +| newton_max_iterations | SIN-1000Hz-5V | 5 | ≤ 32 | PASS | +| nonlinear_esr_db | SIN-5000Hz-5V | -65.3 dB | ≤ -20 | PASS | +| harmonics_2_5_db | SIN-5000Hz-5V | 0.04574 dB | ≤ 0.5 | PASS | +| thd_pp | SIN-5000Hz-5V | 0.0005468 pp | — | INFO | +| total_power_rel | SIN-5000Hz-5V | 3.519e-05 | ≤ 0.05 | INFO | +| newton_failures | SIN-5000Hz-5V | 0 | ≤ 0 | PASS | +| newton_median_iterations | SIN-5000Hz-5V | 3 | ≤ 3 | PASS | +| newton_max_iterations | SIN-5000Hz-5V | 6 | ≤ 32 | PASS | +| nonlinear_esr_db_overdrive | SIN-100Hz-20V | -81.58 dB | ≤ -20 | PASS | +| harmonics_2_5_db | SIN-100Hz-20V | 0.009901 dB | ≤ 0.5 | PASS | +| thd_pp | SIN-100Hz-20V | 0.001575 pp | — | INFO | +| total_power_rel | SIN-100Hz-20V | 4.799e-05 | ≤ 0.05 | INFO | +| newton_failures | SIN-100Hz-20V | 0 | ≤ 0 | PASS | +| newton_median_iterations | SIN-100Hz-20V | 1 | ≤ 3 | PASS | +| newton_max_iterations | SIN-100Hz-20V | 5 | ≤ 32 | PASS | +| nonlinear_esr_db_overdrive | SIN-1000Hz-20V | -72.55 dB | ≤ -20 | PASS | +| harmonics_2_5_db | SIN-1000Hz-20V | 0.01873 dB | ≤ 0.5 | PASS | +| thd_pp | SIN-1000Hz-20V | 0.001125 pp | — | INFO | +| total_power_rel | SIN-1000Hz-20V | 3.314e-05 | ≤ 0.05 | INFO | +| newton_failures | SIN-1000Hz-20V | 0 | ≤ 0 | PASS | +| newton_median_iterations | SIN-1000Hz-20V | 2 | ≤ 3 | PASS | +| newton_max_iterations | SIN-1000Hz-20V | 5 | ≤ 32 | PASS | +| nonlinear_esr_db_overdrive | SIN-5000Hz-20V | -48.4 dB | ≤ -20 | PASS | +| harmonics_2_5_db | SIN-5000Hz-20V | 0.06446 dB | ≤ 0.5 | PASS | +| thd_pp | SIN-5000Hz-20V | 0.03904 pp | — | INFO | +| total_power_rel | SIN-5000Hz-20V | 0.000511 | ≤ 0.05 | INFO | +| newton_failures | SIN-5000Hz-20V | 0 | ≤ 0 | PASS | +| newton_median_iterations | SIN-5000Hz-20V | 3 | ≤ 3 | PASS | +| newton_max_iterations | SIN-5000Hz-20V | 9 | ≤ 32 | PASS | +| nonlinear_esr_db | SWP-lo-0.1V | -65.7 dB | ≤ -20 | PASS | +| linear_mag_db_20_10k | SWP-lo-0.1V | 0.01172 dB | ≤ 0.1 | INFO | +| linear_mag_db_10k_20k | SWP-lo-0.1V | 0.01193 dB | ≤ 0.3 | INFO | +| method_mag_db_spice_tran_vs_ac | SWP-lo-0.1V | 0.03085 dB | — | INFO | +| newton_failures | SWP-lo-0.1V | 0 | ≤ 0 | PASS | +| newton_median_iterations | SWP-lo-0.1V | 1 | ≤ 3 | PASS | +| newton_max_iterations | SWP-lo-0.1V | 3 | ≤ 32 | PASS | +| nonlinear_esr_db | SWP-hi-1V | -64.68 dB | ≤ -20 | PASS | +| newton_failures | SWP-hi-1V | 0 | ≤ 0 | PASS | +| newton_median_iterations | SWP-hi-1V | 2 | ≤ 3 | PASS | +| newton_max_iterations | SWP-hi-1V | 4 | ≤ 32 | PASS | +| nonlinear_esr_db | TT-0.5V | -85.94 dB | ≤ -20 | PASS | +| newton_failures | TT-0.5V | 0 | ≤ 0 | PASS | +| newton_median_iterations | TT-0.5V | 2 | ≤ 3 | PASS | +| newton_max_iterations | TT-0.5V | 2 | ≤ 32 | PASS | +| nonlinear_esr_db | BURST-5V | -78.9 dB | ≤ -20 | PASS | +| newton_failures | BURST-5V | 0 | ≤ 0 | PASS | +| newton_median_iterations | BURST-5V | 2 | ≤ 3 | PASS | +| newton_max_iterations | BURST-5V | 5 | ≤ 32 | PASS | +| nonlinear_esr_db | STEP-1V | -80.95 dB | ≤ -20 | PASS | +| newton_failures | STEP-1V | 0 | ≤ 0 | PASS | +| newton_median_iterations | STEP-1V | 1 | ≤ 3 | PASS | +| newton_max_iterations | STEP-1V | 3 | ≤ 32 | PASS | + +## Signals + +| Signal | Peak F [V] | ESR [dB] | Best lag | ESR at lag [dB] | THD F / E [%] | Power F / E [W] | ns/sample | Newton fail / median / max it | +|---|---|---|---|---|---|---|---|---| +| SIN-100Hz-0.1V | 1.298 | -87.37 | 0 | -87.37 | 0.0564 / 0.0564 | 0.04303 / 0.04303 | 790.4 | 0 / 1 / 2 | +| SIN-1000Hz-0.1V | 1.362 | -81.58 | 0 | -81.58 | 0.0624 / 0.0625 | 0.05449 / 0.05449 | 1086.9 | 0 / 2 / 2 | +| SIN-5000Hz-0.1V | 1.329 | -68.59 | 0 | -68.59 | 0.069 / 0.069 | 0.05433 / 0.05435 | 1205.9 | 0 / 2 / 2 | +| SIN-100Hz-1V | 13.71 | -86.86 | 0 | -86.86 | 1.58 / 1.58 | 4.566 / 4.567 | 775.5 | 0 / 1 / 2 | +| SIN-1000Hz-1V | 14.56 | -81.27 | 0 | -81.27 | 1.89 / 1.89 | 5.876 / 5.877 | 1194.9 | 0 / 2 / 2 | +| SIN-5000Hz-1V | 14.25 | -68.25 | 0 | -68.25 | 2.08 / 2.08 | 5.866 / 5.868 | 1196.2 | 0 / 2 / 3 | +| SIN-100Hz-5V | 65.1 | -90.98 | 0 | -90.98 | 5.85 / 5.85 | 113.5 / 113.5 | 1053.3 | 0 / 2 / 3 | +| SIN-1000Hz-5V | 65.17 | -78.94 | 0 | -78.94 | 8.18 / 8.18 | 120 / 120 | 1329.4 | 0 / 2 / 5 | +| SIN-5000Hz-5V | 65.28 | -65.30 | 0 | -65.30 | 9.16 / 9.16 | 119.1 / 119.1 | 2237.6 | 0 / 3 / 6 | +| SIN-100Hz-20V | 67.03 | -81.58 | 0 | -81.58 | 35.9 / 35.9 | 136.9 / 136.9 | 997.3 | 0 / 1 / 5 | +| SIN-1000Hz-20V | 65.75 | -72.55 | 0 | -72.55 | 42.6 / 42.6 | 144 / 144 | 1577.0 | 0 / 2 / 5 | +| SIN-5000Hz-20V | 65.53 | -48.40 | 0 | -48.40 | 35.5 / 35.5 | 139.6 / 139.5 | 2359.4 | 0 / 3 / 9 | +| SWP-lo-0.1V | 1.324 | -65.70 | 0 | -65.70 | — | — | 978.5 | 0 / 1 / 3 | +| SWP-hi-1V | 14.04 | -64.68 | 0 | -64.68 | — | — | 1121.5 | 0 / 2 / 4 | +| TT-0.5V | 13.23 | -85.94 | 0 | -85.94 | — | — | 994.8 | 0 / 2 / 2 | +| BURST-5V | 65.14 | -78.90 | 0 | -78.90 | — | — | 1229.9 | 0 / 2 / 5 | +| STEP-1V | 18.54 | -80.95 | 0 | -80.95 | — | — | 784.7 | 0 / 1 / 3 | + +## DC operating point + +| Node | SPICE [V] | Engine [V] | Rel. error | +|---|---|---|---| +| bpa | 391.9215 | — | — | +| bpx | 404.9982 | 404.9982 | 6.639e-13 | +| c20 | -60.0000 | — | — | +| ct | 491.3466 | 491.3466 | 3.933e-15 | +| g3a | 43.8295 | 43.8284 | 2.529e-05 | +| g3b | 43.8295 | 43.8284 | 2.529e-05 | +| g4 | -46.3631 | -46.3631 | 4.919e-07 | +| g5 | -46.3631 | -46.3631 | 4.919e-07 | +| g6 | -46.3631 | -46.3631 | 4.919e-07 | +| g7 | -46.3631 | -46.3631 | 4.919e-07 | +| k3 | 45.2502 | 45.2491 | 2.526e-05 | +| nbias | -46.3636 | -46.3636 | 4.636e-08 | +| nch | 491.3466 | — | — | +| nf | 43.8285 | 43.8274 | 2.526e-05 | +| ng | 13.5790 | 13.5787 | 2.526e-05 | +| ngn | -46.3631 | -46.3631 | 4.863e-07 | +| nor | -46.3631 | -46.3631 | 4.863e-07 | +| npr | 0.0000 | — | — | +| nrv | -3.6364 | — | — | +| nscr | 488.8805 | 488.8805 | 1.07e-14 | +| out | 0.0000 | 0.0000 | 6.591e-07 | +| p3a | 272.6113 | 272.6146 | 1.223e-05 | +| p3b | 263.9512 | 263.9548 | 1.353e-05 | +| pa | 490.4628 | 490.4628 | 3.49e-08 | +| pa1 | 491.3466 | 491.3466 | 3.469e-11 | +| pb | 490.3937 | 490.3937 | 3.756e-08 | +| pb1 | 491.3466 | 491.3466 | 2.844e-11 | +| raw | 505.0000 | — | — | +| s4 | 485.6164 | 485.6164 | 1.558e-08 | +| s5 | 485.6164 | — | — | +| s6 | 485.6162 | 485.6162 | 1.559e-08 | +| s7 | 485.6162 | — | — | +| sl | 0.0000 | 0.0000 | 1.084e-06 | +| y | 0.0000 | 0.0000 | 1.221e-07 | + +Engine values are the probe values after the first sample (zero input) following `reset()`. Nodes the engine does not probe yet show —. + +## Figures + +### Waveform overlay and error (most demanding signal) + +![Waveform overlay and error (most demanding signal)](20261015_b56_DEFAULT/waveform.png) + +### Harmonics + +![Harmonics](20261015_b56_DEFAULT/harmonics.png) + +### Magnitude response + +![Magnitude response](20261015_b56_DEFAULT/magnitude.png) diff --git a/harness/reports/M4/20261015_b56_DEFAULT/harmonics.png b/harness/reports/M4/20261015_b56_DEFAULT/harmonics.png new file mode 100644 index 0000000000000000000000000000000000000000..0a01ef54115abbb5d13470641cbba5346d32d23b GIT binary patch literal 25475 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 ODApGC=6PH8g#Q<3B*L2j literal 0 HcmV?d00001 diff --git a/harness/reports/M4/20261015_b56_DEFAULT/magnitude.png b/harness/reports/M4/20261015_b56_DEFAULT/magnitude.png new file mode 100644 index 0000000000000000000000000000000000000000..9b73b5808cb1e5335d6e519926417c76efc959ae GIT binary patch literal 40007 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 F=HJGlwkQAq literal 0 HcmV?d00001 diff --git a/harness/reports/M4/20261015_b56_DEFAULT/waveform.png b/harness/reports/M4/20261015_b56_DEFAULT/waveform.png new file mode 100644 index 0000000000000000000000000000000000000000..7acc635a92620c3449797fe9164b4ab472c6b8ad GIT binary patch literal 76135 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 DSumOJ literal 0 HcmV?d00001 diff --git a/harness/reports/M4/20261015_b5open_DEFAULT.md b/harness/reports/M4/20261015_b5open_DEFAULT.md new file mode 100644 index 0000000..3188d30 --- /dev/null +++ b/harness/reports/M4/20261015_b5open_DEFAULT.md @@ -0,0 +1,164 @@ +# M4 report: b5open / DEFAULT + +- Block: B5-open phase inverter, R22 driven by recorded speaker voltage +- Preset: DEFAULT — Default knobs; standard signal set at the block levels +- Knobs: preampVolume=0.6, treble=0.5, middle=0.5, bass=0.5, master=0.3, presence=0.5 +- Date: 2026-10-15 +- Engine commit: `476d21f (dirty)` +- Testbench: `harness/testbenches/b5open.cir` sha256 `b4224b865df6ebae`; netlist sha256 `7bea8385e4adb04e`; tubes.lib sha256 `5767afe208240bfa` +- ngspice 47, fs = 768000 Hz, SPICE reltol 1e-08 + +## Summary + +PASS 88 · FAIL 0 · INFO 12 (INFO = measured, not scored in M4) + +| Check | Item | Measured | Tolerance | Status | +|---|---|---|---|---| +| dc_rel_error | v(g3a) | 2.529e-05 | ≤ 0.005 | PASS | +| dc_rel_error | v(g3b) | 2.529e-05 | ≤ 0.005 | PASS | +| dc_rel_error | v(k3) | 2.526e-05 | ≤ 0.005 | PASS | +| dc_rel_error | v(nf) | 2.526e-05 | ≤ 0.005 | PASS | +| dc_rel_error | v(ng) | 2.526e-05 | ≤ 0.005 | PASS | +| dc_rel_error | v(p3a) | 1.223e-05 | ≤ 0.005 | PASS | +| dc_rel_error | v(p3b) | 1.353e-05 | ≤ 0.005 | PASS | +| dc_rel_error | v(y) | 4.441e-12 | ≤ 0.005 | PASS | +| nonlinear_esr_db | SIN-100Hz-0.1V | -84.13 dB | ≤ -20 | PASS | +| harmonics_2_5_db | SIN-100Hz-0.1V | 0.0005039 dB | ≤ 0.5 | PASS | +| thd_pp | SIN-100Hz-0.1V | 1.176e-06 pp | — | INFO | +| newton_failures | SIN-100Hz-0.1V | 0 | ≤ 0 | PASS | +| newton_median_iterations | SIN-100Hz-0.1V | 1 | ≤ 3 | PASS | +| newton_max_iterations | SIN-100Hz-0.1V | 2 | ≤ 12 | PASS | +| nonlinear_esr_db | SIN-1000Hz-0.1V | -80.59 dB | ≤ -20 | PASS | +| harmonics_2_5_db | SIN-1000Hz-0.1V | 0.0009675 dB | ≤ 0.5 | PASS | +| thd_pp | SIN-1000Hz-0.1V | 2.017e-07 pp | — | INFO | +| newton_failures | SIN-1000Hz-0.1V | 0 | ≤ 0 | PASS | +| newton_median_iterations | SIN-1000Hz-0.1V | 1 | ≤ 3 | PASS | +| newton_max_iterations | SIN-1000Hz-0.1V | 2 | ≤ 12 | PASS | +| nonlinear_esr_db | SIN-5000Hz-0.1V | -68.55 dB | ≤ -20 | PASS | +| harmonics_2_5_db | SIN-5000Hz-0.1V | 0.09361 dB | ≤ 0.5 | PASS | +| thd_pp | SIN-5000Hz-0.1V | 0.0001017 pp | — | INFO | +| newton_failures | SIN-5000Hz-0.1V | 0 | ≤ 0 | PASS | +| newton_median_iterations | SIN-5000Hz-0.1V | 2 | ≤ 3 | PASS | +| newton_max_iterations | SIN-5000Hz-0.1V | 2 | ≤ 12 | PASS | +| nonlinear_esr_db | SIN-100Hz-1V | -84.11 dB | ≤ -20 | PASS | +| harmonics_2_5_db | SIN-100Hz-1V | 0.000521 dB | ≤ 0.5 | PASS | +| thd_pp | SIN-100Hz-1V | 8.059e-06 pp | — | INFO | +| newton_failures | SIN-100Hz-1V | 0 | ≤ 0 | PASS | +| newton_median_iterations | SIN-100Hz-1V | 1 | ≤ 3 | PASS | +| newton_max_iterations | SIN-100Hz-1V | 2 | ≤ 12 | PASS | +| nonlinear_esr_db | SIN-1000Hz-1V | -80.57 dB | ≤ -20 | PASS | +| harmonics_2_5_db | SIN-1000Hz-1V | 0.001835 dB | ≤ 0.5 | PASS | +| thd_pp | SIN-1000Hz-1V | 5.855e-05 pp | — | INFO | +| newton_failures | SIN-1000Hz-1V | 0 | ≤ 0 | PASS | +| newton_median_iterations | SIN-1000Hz-1V | 2 | ≤ 3 | PASS | +| newton_max_iterations | SIN-1000Hz-1V | 2 | ≤ 12 | PASS | +| nonlinear_esr_db | SIN-5000Hz-1V | -68.52 dB | ≤ -20 | PASS | +| harmonics_2_5_db | SIN-5000Hz-1V | 0.02713 dB | ≤ 0.5 | PASS | +| thd_pp | SIN-5000Hz-1V | 0.001738 pp | — | INFO | +| newton_failures | SIN-5000Hz-1V | 0 | ≤ 0 | PASS | +| newton_median_iterations | SIN-5000Hz-1V | 2 | ≤ 3 | PASS | +| newton_max_iterations | SIN-5000Hz-1V | 2 | ≤ 12 | PASS | +| nonlinear_esr_db | SIN-100Hz-5V | -83.46 dB | ≤ -20 | PASS | +| harmonics_2_5_db | SIN-100Hz-5V | 0.001436 dB | ≤ 0.5 | PASS | +| thd_pp | SIN-100Hz-5V | 1.737e-05 pp | — | INFO | +| newton_failures | SIN-100Hz-5V | 0 | ≤ 0 | PASS | +| newton_median_iterations | SIN-100Hz-5V | 1 | ≤ 3 | PASS | +| newton_max_iterations | SIN-100Hz-5V | 2 | ≤ 12 | PASS | +| nonlinear_esr_db | SIN-1000Hz-5V | -79.92 dB | ≤ -20 | PASS | +| harmonics_2_5_db | SIN-1000Hz-5V | 0.03055 dB | ≤ 0.5 | PASS | +| thd_pp | SIN-1000Hz-5V | 0.0008429 pp | — | INFO | +| newton_failures | SIN-1000Hz-5V | 0 | ≤ 0 | PASS | +| newton_median_iterations | SIN-1000Hz-5V | 2 | ≤ 3 | PASS | +| newton_max_iterations | SIN-1000Hz-5V | 2 | ≤ 12 | PASS | +| nonlinear_esr_db | SIN-5000Hz-5V | -67.23 dB | ≤ -20 | PASS | +| harmonics_2_5_db | SIN-5000Hz-5V | 0.04569 dB | ≤ 0.5 | PASS | +| thd_pp | SIN-5000Hz-5V | 0.01865 pp | — | INFO | +| newton_failures | SIN-5000Hz-5V | 0 | ≤ 0 | PASS | +| newton_median_iterations | SIN-5000Hz-5V | 2 | ≤ 3 | PASS | +| newton_max_iterations | SIN-5000Hz-5V | 3 | ≤ 12 | PASS | +| nonlinear_esr_db_overdrive | SIN-100Hz-20V | -75.07 dB | ≤ -20 | PASS | +| harmonics_2_5_db | SIN-100Hz-20V | 0.003758 dB | ≤ 0.5 | PASS | +| thd_pp | SIN-100Hz-20V | 0.002551 pp | — | INFO | +| newton_failures | SIN-100Hz-20V | 0 | ≤ 0 | PASS | +| newton_median_iterations | SIN-100Hz-20V | 1 | ≤ 3 | PASS | +| newton_max_iterations | SIN-100Hz-20V | 2 | ≤ 12 | PASS | +| nonlinear_esr_db_overdrive | SIN-1000Hz-20V | -74.15 dB | ≤ -20 | PASS | +| harmonics_2_5_db | SIN-1000Hz-20V | 0.00795 dB | ≤ 0.5 | PASS | +| thd_pp | SIN-1000Hz-20V | 0.002113 pp | — | INFO | +| newton_failures | SIN-1000Hz-20V | 0 | ≤ 0 | PASS | +| newton_median_iterations | SIN-1000Hz-20V | 2 | ≤ 3 | PASS | +| newton_max_iterations | SIN-1000Hz-20V | 3 | ≤ 12 | PASS | +| nonlinear_esr_db_overdrive | SIN-5000Hz-20V | -65.08 dB | ≤ -20 | PASS | +| harmonics_2_5_db | SIN-5000Hz-20V | 0.0819 dB | ≤ 0.5 | PASS | +| thd_pp | SIN-5000Hz-20V | 0.0003368 pp | — | INFO | +| newton_failures | SIN-5000Hz-20V | 0 | ≤ 0 | PASS | +| newton_median_iterations | SIN-5000Hz-20V | 2 | ≤ 3 | PASS | +| newton_max_iterations | SIN-5000Hz-20V | 4 | ≤ 12 | PASS | +| nonlinear_esr_db | SWP-lo-0.1V | -65.03 dB | ≤ -20 | PASS | +| newton_failures | SWP-lo-0.1V | 0 | ≤ 0 | PASS | +| newton_median_iterations | SWP-lo-0.1V | 1 | ≤ 3 | PASS | +| newton_max_iterations | SWP-lo-0.1V | 3 | ≤ 12 | PASS | +| nonlinear_esr_db | SWP-hi-1V | -64.98 dB | ≤ -20 | PASS | +| newton_failures | SWP-hi-1V | 0 | ≤ 0 | PASS | +| newton_median_iterations | SWP-hi-1V | 1 | ≤ 3 | PASS | +| newton_max_iterations | SWP-hi-1V | 3 | ≤ 12 | PASS | +| nonlinear_esr_db | TT-0.5V | -83.68 dB | ≤ -20 | PASS | +| newton_failures | TT-0.5V | 0 | ≤ 0 | PASS | +| newton_median_iterations | TT-0.5V | 1 | ≤ 3 | PASS | +| newton_max_iterations | TT-0.5V | 2 | ≤ 12 | PASS | +| nonlinear_esr_db | BURST-5V | -80.14 dB | ≤ -20 | PASS | +| newton_failures | BURST-5V | 0 | ≤ 0 | PASS | +| newton_median_iterations | BURST-5V | 1 | ≤ 3 | PASS | +| newton_max_iterations | BURST-5V | 2 | ≤ 12 | PASS | +| nonlinear_esr_db | STEP-1V | -80.09 dB | ≤ -20 | PASS | +| newton_failures | STEP-1V | 0 | ≤ 0 | PASS | +| newton_median_iterations | STEP-1V | 1 | ≤ 3 | PASS | +| newton_max_iterations | STEP-1V | 2 | ≤ 12 | PASS | + +## Signals + +| Signal | Peak F [V] | ESR [dB] | Best lag | ESR at lag [dB] | THD F / E [%] | Power F / E [W] | ns/sample | Newton fail / median / max it | +|---|---|---|---|---|---|---|---|---| +| SIN-100Hz-0.1V | 1.556 | -84.13 | 0 | -84.13 | 0.0457 / 0.0457 | — | 287.2 | 0 / 1 / 2 | +| SIN-1000Hz-0.1V | 1.536 | -80.59 | 0 | -80.59 | 0.0488 / 0.0488 | — | 281.6 | 0 / 1 / 2 | +| SIN-5000Hz-0.1V | 1.547 | -68.55 | 0 | -68.55 | 0.0519 / 0.052 | — | 407.3 | 0 / 2 / 2 | +| SIN-100Hz-1V | 15.01 | -84.11 | 0 | -84.11 | 1.25 / 1.25 | — | 282.5 | 0 / 1 / 2 | +| SIN-1000Hz-1V | 15.43 | -80.57 | 0 | -80.57 | 1.5 / 1.5 | — | 387.8 | 0 / 2 / 2 | +| SIN-5000Hz-1V | 15.57 | -68.52 | 0 | -68.52 | 1.59 / 1.59 | — | 421.3 | 0 / 2 / 2 | +| SIN-100Hz-5V | 79.46 | -83.46 | 0 | -83.46 | 4.33 / 4.33 | — | 292.5 | 0 / 1 / 2 | +| SIN-1000Hz-5V | 92.77 | -79.92 | 0 | -79.92 | 5.04 / 5.04 | — | 462.4 | 0 / 2 / 2 | +| SIN-5000Hz-5V | 92.86 | -67.23 | 0 | -67.23 | 5.29 / 5.31 | — | 479.5 | 0 / 2 / 3 | +| SIN-100Hz-20V | 132.2 | -75.07 | 0 | -75.07 | 47.2 / 47.2 | — | 388.8 | 0 / 1 / 2 | +| SIN-1000Hz-20V | 140.7 | -74.15 | 0 | -74.15 | 50.4 / 50.4 | — | 453.6 | 0 / 2 / 3 | +| SIN-5000Hz-20V | 142.7 | -65.08 | 0 | -65.08 | 50.2 / 50.2 | — | 615.5 | 0 / 2 / 4 | +| SWP-lo-0.1V | 2.48 | -65.03 | 0 | -65.03 | — | — | 316.4 | 0 / 1 / 3 | +| SWP-hi-1V | 24.65 | -64.98 | 0 | -64.98 | — | — | 342.7 | 0 / 1 / 3 | +| TT-0.5V | 14.08 | -83.68 | 0 | -83.68 | — | — | 281.5 | 0 / 1 / 2 | +| BURST-5V | 97.88 | -80.14 | 0 | -80.14 | — | — | 371.1 | 0 / 1 / 2 | +| STEP-1V | 17.72 | -80.09 | 0 | -80.09 | — | — | 282.8 | 0 / 1 / 2 | + +## DC operating point + +| Node | SPICE [V] | Engine [V] | Rel. error | +|---|---|---|---| +| g3a | 43.8295 | 43.8284 | 2.529e-05 | +| g3b | 43.8295 | 43.8284 | 2.529e-05 | +| k3 | 45.2502 | 45.2491 | 2.526e-05 | +| nf | 43.8285 | 43.8274 | 2.526e-05 | +| ng | 13.5790 | 13.5787 | 2.526e-05 | +| npr | 0.0000 | — | — | +| p3a | 272.6113 | 272.6146 | 1.223e-05 | +| p3b | 263.9512 | 263.9548 | 1.353e-05 | +| y | 0.0000 | -0.0000 | 4.441e-12 | + +Engine values are the probe values after the first sample (zero input) following `reset()`. Nodes the engine does not probe yet show —. + +## Figures + +### Waveform overlay and error (most demanding signal) + +![Waveform overlay and error (most demanding signal)](20261015_b5open_DEFAULT/waveform.png) + +### Harmonics + +![Harmonics](20261015_b5open_DEFAULT/harmonics.png) diff --git a/harness/reports/M4/20261015_b5open_DEFAULT/harmonics.png b/harness/reports/M4/20261015_b5open_DEFAULT/harmonics.png new file mode 100644 index 0000000000000000000000000000000000000000..32dec5d48fce45dff8859e73115357c5f82752ee GIT binary patch literal 25603 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 JIdkpazX4~!a!UXJ literal 0 HcmV?d00001 diff --git a/harness/reports/M4/20261015_b6_DEFAULT.md b/harness/reports/M4/20261015_b6_DEFAULT.md new file mode 100644 index 0000000..2e5f68b --- /dev/null +++ b/harness/reports/M4/20261015_b6_DEFAULT.md @@ -0,0 +1,199 @@ +# M4 report: b6 / DEFAULT + +- Block: B6 PowerStage, driven by recorded PI outputs +- Preset: DEFAULT — Default knobs; standard signal set at the block levels +- Knobs: preampVolume=0.6, treble=0.5, middle=0.5, bass=0.5, master=0.3, presence=0.5 +- Date: 2026-10-15 +- Engine commit: `476d21f (dirty)` +- Testbench: `harness/testbenches/b6.cir` sha256 `124605426f35e6fd`; netlist sha256 `7bea8385e4adb04e`; tubes.lib sha256 `5767afe208240bfa` +- ngspice 47, fs = 768000 Hz, SPICE reltol 1e-08 + +## Summary + +PASS 95 · FAIL 2 · INFO 24 (INFO = measured, not scored in M4) + +| Check | Item | Measured | Tolerance | Status | +|---|---|---|---|---| +| dc_rel_error | v(g4) | 4.919e-07 | ≤ 0.005 | PASS | +| dc_rel_error | v(g5) | 4.919e-07 | ≤ 0.005 | PASS | +| dc_rel_error | v(g6) | 4.919e-07 | ≤ 0.005 | PASS | +| dc_rel_error | v(g7) | 4.919e-07 | ≤ 0.005 | PASS | +| dc_rel_error | v(nbias) | 4.636e-08 | ≤ 0.005 | PASS | +| dc_rel_error | v(ngn) | 4.863e-07 | ≤ 0.005 | PASS | +| dc_rel_error | v(nor) | 4.863e-07 | ≤ 0.005 | PASS | +| dc_rel_error | v(out) | 9.519e-10 | ≤ 0.005 | PASS | +| dc_rel_error | v(p3a) | 1.332e-09 | ≤ 0.005 | PASS | +| dc_rel_error | v(p3b) | 7.708e-10 | ≤ 0.005 | PASS | +| dc_rel_error | v(pa) | 3.492e-08 | ≤ 0.005 | PASS | +| dc_rel_error | v(pa1) | 4.64e-11 | ≤ 0.005 | PASS | +| dc_rel_error | v(pb) | 3.764e-08 | ≤ 0.005 | PASS | +| dc_rel_error | v(pb1) | 4.642e-11 | ≤ 0.005 | PASS | +| dc_rel_error | v(s4) | 1.509e-08 | ≤ 0.005 | PASS | +| dc_rel_error | v(s6) | 1.51e-08 | ≤ 0.005 | PASS | +| dc_rel_error | v(sl) | 1.905e-11 | ≤ 0.005 | PASS | +| nonlinear_esr_db | SIN-100Hz-0.1V | -97.25 dB | ≤ -20 | PASS | +| harmonics_2_5_db | SIN-100Hz-0.1V | 0.0004626 dB | ≤ 0.5 | PASS | +| thd_pp | SIN-100Hz-0.1V | 1.925e-06 pp | — | INFO | +| total_power_rel | SIN-100Hz-0.1V | 1.643e-05 | ≤ 0.05 | INFO | +| newton_failures | SIN-100Hz-0.1V | 0 | ≤ 0 | PASS | +| newton_median_iterations | SIN-100Hz-0.1V | 1 | ≤ 3 | PASS | +| newton_max_iterations | SIN-100Hz-0.1V | 2 | ≤ 12 | PASS | +| nonlinear_esr_db | SIN-1000Hz-0.1V | -81.01 dB | ≤ -20 | PASS | +| harmonics_2_5_db | SIN-1000Hz-0.1V | 0.0007302 dB | ≤ 0.5 | PASS | +| thd_pp | SIN-1000Hz-0.1V | 2.326e-06 pp | — | INFO | +| total_power_rel | SIN-1000Hz-0.1V | 3.365e-05 | ≤ 0.05 | INFO | +| newton_failures | SIN-1000Hz-0.1V | 0 | ≤ 0 | PASS | +| newton_median_iterations | SIN-1000Hz-0.1V | 2 | ≤ 3 | PASS | +| newton_max_iterations | SIN-1000Hz-0.1V | 2 | ≤ 12 | PASS | +| nonlinear_esr_db | SIN-5000Hz-0.1V | -66.84 dB | ≤ -20 | PASS | +| harmonics_2_5_db | SIN-5000Hz-0.1V | 0.005712 dB | ≤ 0.5 | PASS | +| thd_pp | SIN-5000Hz-0.1V | 3.845e-05 pp | — | INFO | +| total_power_rel | SIN-5000Hz-0.1V | 0.0004467 | ≤ 0.05 | INFO | +| newton_failures | SIN-5000Hz-0.1V | 0 | ≤ 0 | PASS | +| newton_median_iterations | SIN-5000Hz-0.1V | 2 | ≤ 3 | PASS | +| newton_max_iterations | SIN-5000Hz-0.1V | 2 | ≤ 12 | PASS | +| nonlinear_esr_db | SIN-100Hz-1V | -96.55 dB | ≤ -20 | PASS | +| harmonics_2_5_db | SIN-100Hz-1V | 0.0005171 dB | ≤ 0.5 | PASS | +| thd_pp | SIN-100Hz-1V | 4.251e-05 pp | — | INFO | +| total_power_rel | SIN-100Hz-1V | 1.93e-05 | ≤ 0.05 | INFO | +| newton_failures | SIN-100Hz-1V | 0 | ≤ 0 | PASS | +| newton_median_iterations | SIN-100Hz-1V | 1 | ≤ 3 | PASS | +| newton_max_iterations | SIN-100Hz-1V | 2 | ≤ 12 | PASS | +| nonlinear_esr_db | SIN-1000Hz-1V | -80.61 dB | ≤ -20 | PASS | +| harmonics_2_5_db | SIN-1000Hz-1V | 0.0003471 dB | ≤ 0.5 | PASS | +| thd_pp | SIN-1000Hz-1V | 2.724e-05 pp | — | INFO | +| total_power_rel | SIN-1000Hz-1V | 3.995e-05 | ≤ 0.05 | INFO | +| newton_failures | SIN-1000Hz-1V | 0 | ≤ 0 | PASS | +| newton_median_iterations | SIN-1000Hz-1V | 2 | ≤ 3 | PASS | +| newton_max_iterations | SIN-1000Hz-1V | 2 | ≤ 12 | PASS | +| nonlinear_esr_db | SIN-5000Hz-1V | -66.18 dB | ≤ -20 | PASS | +| harmonics_2_5_db | SIN-5000Hz-1V | 0.01894 dB | ≤ 0.5 | PASS | +| thd_pp | SIN-5000Hz-1V | 0.00049 pp | — | INFO | +| total_power_rel | SIN-5000Hz-1V | 0.000524 | ≤ 0.05 | INFO | +| newton_failures | SIN-5000Hz-1V | 0 | ≤ 0 | PASS | +| newton_median_iterations | SIN-5000Hz-1V | 2 | ≤ 3 | PASS | +| newton_max_iterations | SIN-5000Hz-1V | 3 | ≤ 12 | PASS | +| nonlinear_esr_db | SIN-100Hz-5V | -92.83 dB | ≤ -20 | PASS | +| harmonics_2_5_db | SIN-100Hz-5V | 0.0005535 dB | ≤ 0.5 | PASS | +| thd_pp | SIN-100Hz-5V | 0.0001694 pp | — | INFO | +| total_power_rel | SIN-100Hz-5V | 6.42e-06 | ≤ 0.05 | INFO | +| newton_failures | SIN-100Hz-5V | 0 | ≤ 0 | PASS | +| newton_median_iterations | SIN-100Hz-5V | 2 | ≤ 3 | PASS | +| newton_max_iterations | SIN-100Hz-5V | 3 | ≤ 12 | PASS | +| nonlinear_esr_db | SIN-1000Hz-5V | -75.08 dB | ≤ -20 | PASS | +| harmonics_2_5_db | SIN-1000Hz-5V | 0.001867 dB | ≤ 0.5 | PASS | +| thd_pp | SIN-1000Hz-5V | 0.0005724 pp | — | INFO | +| total_power_rel | SIN-1000Hz-5V | 9.42e-06 | ≤ 0.05 | INFO | +| newton_failures | SIN-1000Hz-5V | 0 | ≤ 0 | PASS | +| newton_median_iterations | SIN-1000Hz-5V | 2 | ≤ 3 | PASS | +| newton_max_iterations | SIN-1000Hz-5V | 5 | ≤ 12 | PASS | +| nonlinear_esr_db | SIN-5000Hz-5V | -61.11 dB | ≤ -20 | PASS | +| harmonics_2_5_db | SIN-5000Hz-5V | 0.01248 dB | ≤ 0.5 | PASS | +| thd_pp | SIN-5000Hz-5V | 0.002327 pp | — | INFO | +| total_power_rel | SIN-5000Hz-5V | 3.77e-05 | ≤ 0.05 | INFO | +| newton_failures | SIN-5000Hz-5V | 0 | ≤ 0 | PASS | +| newton_median_iterations | SIN-5000Hz-5V | 3 | ≤ 3 | PASS | +| newton_max_iterations | SIN-5000Hz-5V | 5 | ≤ 12 | PASS | +| nonlinear_esr_db_overdrive | SIN-100Hz-20V | -89.38 dB | ≤ -20 | PASS | +| harmonics_2_5_db | SIN-100Hz-20V | 0.0001692 dB | ≤ 0.5 | PASS | +| thd_pp | SIN-100Hz-20V | 0.0002596 pp | — | INFO | +| total_power_rel | SIN-100Hz-20V | 9.19e-08 | ≤ 0.05 | INFO | +| newton_failures | SIN-100Hz-20V | 0 | ≤ 0 | PASS | +| newton_median_iterations | SIN-100Hz-20V | 1 | ≤ 3 | PASS | +| newton_max_iterations | SIN-100Hz-20V | 5 | ≤ 12 | PASS | +| nonlinear_esr_db_overdrive | SIN-1000Hz-20V | -70.68 dB | ≤ -20 | PASS | +| harmonics_2_5_db | SIN-1000Hz-20V | 0.003575 dB | ≤ 0.5 | PASS | +| thd_pp | SIN-1000Hz-20V | 0.001789 pp | — | INFO | +| total_power_rel | SIN-1000Hz-20V | 2.615e-07 | ≤ 0.05 | INFO | +| newton_failures | SIN-1000Hz-20V | 0 | ≤ 0 | PASS | +| newton_median_iterations | SIN-1000Hz-20V | 3 | ≤ 3 | PASS | +| newton_max_iterations | SIN-1000Hz-20V | 6 | ≤ 12 | PASS | +| nonlinear_esr_db_overdrive | SIN-5000Hz-20V | -40.9 dB | ≤ -20 | PASS | +| harmonics_2_5_db | SIN-5000Hz-20V | 0.8185 dB | ≤ 0.5 | FAIL | +| thd_pp | SIN-5000Hz-20V | 0.03399 pp | — | INFO | +| total_power_rel | SIN-5000Hz-20V | 0.005427 | ≤ 0.05 | INFO | +| newton_failures | SIN-5000Hz-20V | 0 | ≤ 0 | PASS | +| newton_median_iterations | SIN-5000Hz-20V | 4 | ≤ 3 | FAIL | +| newton_max_iterations | SIN-5000Hz-20V | 10 | ≤ 12 | PASS | +| nonlinear_esr_db | SWP-lo-0.1V | -65.2 dB | ≤ -20 | PASS | +| newton_failures | SWP-lo-0.1V | 0 | ≤ 0 | PASS | +| newton_median_iterations | SWP-lo-0.1V | 1 | ≤ 3 | PASS | +| newton_max_iterations | SWP-lo-0.1V | 3 | ≤ 12 | PASS | +| nonlinear_esr_db | SWP-hi-1V | -63.92 dB | ≤ -20 | PASS | +| newton_failures | SWP-hi-1V | 0 | ≤ 0 | PASS | +| newton_median_iterations | SWP-hi-1V | 2 | ≤ 3 | PASS | +| newton_max_iterations | SWP-hi-1V | 3 | ≤ 12 | PASS | +| nonlinear_esr_db | TT-0.5V | -90.96 dB | ≤ -20 | PASS | +| newton_failures | TT-0.5V | 0 | ≤ 0 | PASS | +| newton_median_iterations | TT-0.5V | 1 | ≤ 3 | PASS | +| newton_max_iterations | TT-0.5V | 2 | ≤ 12 | PASS | +| nonlinear_esr_db | BURST-5V | -75.06 dB | ≤ -20 | PASS | +| newton_failures | BURST-5V | 0 | ≤ 0 | PASS | +| newton_median_iterations | BURST-5V | 2 | ≤ 3 | PASS | +| newton_max_iterations | BURST-5V | 5 | ≤ 12 | PASS | +| nonlinear_esr_db | STEP-1V | -81.81 dB | ≤ -20 | PASS | +| newton_failures | STEP-1V | 0 | ≤ 0 | PASS | +| newton_median_iterations | STEP-1V | 1 | ≤ 3 | PASS | +| newton_max_iterations | STEP-1V | 3 | ≤ 12 | PASS | + +## Signals + +| Signal | Peak F [V] | ESR [dB] | Best lag | ESR at lag [dB] | THD F / E [%] | Power F / E [W] | ns/sample | Newton fail / median / max it | +|---|---|---|---|---|---|---|---|---| +| SIN-100Hz-0.1V | 1.175 | -97.25 | 0 | -97.25 | 0.128 / 0.128 | 0.03513 / 0.03513 | 405.5 | 0 / 1 / 2 | +| SIN-1000Hz-0.1V | 1.217 | -81.01 | 0 | -81.01 | 0.145 / 0.145 | 0.04381 / 0.04381 | 538.5 | 0 / 2 / 2 | +| SIN-5000Hz-0.1V | 1.182 | -66.84 | 0 | -66.84 | 0.163 / 0.163 | 0.04319 / 0.04321 | 599.7 | 0 / 2 / 2 | +| SIN-100Hz-1V | 12.04 | -96.55 | 0 | -96.55 | 1.59 / 1.59 | 3.62 / 3.62 | 396.9 | 0 / 1 / 2 | +| SIN-1000Hz-1V | 12.55 | -80.61 | 0 | -80.61 | 1.83 / 1.83 | 4.552 / 4.552 | 598.5 | 0 / 2 / 2 | +| SIN-5000Hz-1V | 12.6 | -66.18 | 0 | -66.18 | 2.06 / 2.06 | 4.484 / 4.486 | 593.9 | 0 / 2 / 3 | +| SIN-100Hz-5V | 64.51 | -92.83 | 0 | -92.83 | 5.86 / 5.86 | 105.6 / 105.6 | 504.1 | 0 / 2 / 3 | +| SIN-1000Hz-5V | 65.07 | -75.08 | 0 | -75.08 | 7.28 / 7.28 | 112.3 / 112.3 | 631.1 | 0 / 2 / 5 | +| SIN-5000Hz-5V | 65.19 | -61.11 | 0 | -61.11 | 8.59 / 8.59 | 112 / 112 | 807.6 | 0 / 3 / 5 | +| SIN-100Hz-20V | 66.34 | -89.38 | 0 | -89.38 | 37.2 / 37.2 | 118.6 / 118.6 | 492.2 | 0 / 1 / 5 | +| SIN-1000Hz-20V | 65.86 | -70.68 | 0 | -70.68 | 43.1 / 43.1 | 132.9 / 132.9 | 751.5 | 0 / 3 / 6 | +| SIN-5000Hz-20V | 65.72 | -40.90 | 0 | -40.90 | 38 / 38 | 130.8 / 130.1 | 1181.5 | 0 / 4 / 10 | +| SWP-lo-0.1V | 1.187 | -65.20 | 0 | -65.20 | — | — | 484.1 | 0 / 1 / 3 | +| SWP-hi-1V | 12.39 | -63.92 | 0 | -63.92 | — | — | 541.2 | 0 / 2 / 3 | +| TT-0.5V | 11.76 | -90.96 | 0 | -90.96 | — | — | 490.3 | 0 / 1 / 2 | +| BURST-5V | 65.05 | -75.06 | 0 | -75.06 | — | — | 589.8 | 0 / 2 / 5 | +| STEP-1V | 15.96 | -81.81 | 0 | -81.81 | — | — | 400.6 | 0 / 1 / 3 | + +## DC operating point + +| Node | SPICE [V] | Engine [V] | Rel. error | +|---|---|---|---| +| c20 | -60.0000 | — | — | +| g4 | -46.3631 | -46.3631 | 4.919e-07 | +| g5 | -46.3631 | -46.3631 | 4.919e-07 | +| g6 | -46.3631 | -46.3631 | 4.919e-07 | +| g7 | -46.3631 | -46.3631 | 4.919e-07 | +| nbias | -46.3636 | -46.3636 | 4.636e-08 | +| ngn | -46.3631 | -46.3631 | 4.863e-07 | +| nor | -46.3631 | -46.3631 | 4.863e-07 | +| nrv | -3.6364 | — | — | +| out | 0.0000 | -0.0000 | 9.519e-10 | +| p3a | 272.6113 | 272.6113 | 1.332e-09 | +| p3b | 263.9512 | 263.9512 | 7.708e-10 | +| pa | 490.4628 | 490.4628 | 3.492e-08 | +| pa1 | 491.3466 | 491.3466 | 4.64e-11 | +| pb | 490.3937 | 490.3937 | 3.764e-08 | +| pb1 | 491.3466 | 491.3466 | 4.642e-11 | +| s4 | 485.6164 | 485.6164 | 1.509e-08 | +| s5 | 485.6164 | — | — | +| s6 | 485.6162 | 485.6162 | 1.51e-08 | +| s7 | 485.6162 | — | — | +| sl | 0.0000 | 0.0000 | 1.905e-11 | + +Engine values are the probe values after the first sample (zero input) following `reset()`. Nodes the engine does not probe yet show —. + +## Figures + +### Waveform overlay and error (most demanding signal) + +![Waveform overlay and error (most demanding signal)](20261015_b6_DEFAULT/waveform.png) + +### Harmonics + +![Harmonics](20261015_b6_DEFAULT/harmonics.png) + +> Note (2026-10-15, after D-058): the SPICE reference for SWP-lo-0.1V stopped with "timestep too small" at RELTOL 1e-8 (t = 1.507 s, recorded nScr source) and was rendered at RELTOL 1e-7, as the M3 cascade does for P56. The two FAILs (5 kHz 20 V) are the known B6 discretisation FAILs (D-043; three before D-058). diff --git a/harness/reports/M4/20261015_b6_DEFAULT/harmonics.png b/harness/reports/M4/20261015_b6_DEFAULT/harmonics.png new file mode 100644 index 0000000000000000000000000000000000000000..2703008d8b4d2f79dac7a939a9dafb30fa3cec65 GIT binary patch literal 25484 zcmcG$1yogA+cpda9u!nCK|rKLq*Gd@VFN1Ct#ret+X4}#JEcKNkZwf69v&k(ek|?fUmeWU)Y|wY!3>OVsb6_N zyz{Lib!#{>VT*rjOW~leuZFHte{Ek#F+rXo^afw3%+x~p^e#WeXb-7j}H7uGX7QyK0HcTNN-e`dYoZDONN2OCf;Ysm{&wl5oc4GOgceVDY zgq-gsxc`!g<}wa&jumuTYCPEAn`{iG{WbdW8GHLkrBi#AweM-llU(xFk!-rBoyr9r z7lMW=of@3omWHcu9{yfaOl=4;r#5R(5H=d1INd0p0LcQuU5xGkz3 zldD;p9LHC$I1lO`HBF+&X0(eAn}CP> zuZgBKt#Z4N8%hkT7s$N?HDjX(XT+(^Dxyh_vDBfRUd6SIGD6G)1ImU3L)=PBIh3EFl#}ikj z@7)VJe^UkZYqHtc>ZVH0%Z;j^iy1@cc46cGmU!+_%m-sdw1q)a2%PW+jiS)%^R66q zC0@(^^V$15s|{CMYg%G>Zgx2ES^T({;JIt+vb~a|xkZQR} zj#Qb+tr4%tx$f*(RD9Hu;@;+B>z;te?)qQ7*&i>r;+bKRU!=-}ejVQ<#FM^^%(Sy- z*6*sbjRss5rTQu4y6QYyhmY1}TPmJ^QZx1S%@qb}+n=9~uMHNP_qN!(sUBUlOU~~- z)sm@IVc%q5`_ja1VZN)O(s40lZMwao%*W5sA4Bcq=!>WgFbk_!y=TFCc7p1rN{tPv z@07DC_|a3`YZsZ-z85$yYM>A2^J^We4iEMM;0ebxG=*MwdVN)NxM~wd#A%`}exN+S ztot25t8NX25hYA`yRJNK!IsS&t#ZyT_a1@kiU|vsc`c%7VX{pX)Z|$Xlmx)4yfr;k zj?Qqgg6EhNVLSQlf)qSJilz{Hbe`On?bv6(HW#a*ib?04$w*4SbJrc)LK)=A8+@;N z&Xl=r<)Le;-L?dHt%n!NoR)RYFNf8yj`_32OddONLW+NRb-baqibbR7FE07gAy?fE zVcWF5`#EYHQWjnBl$)8ksyw23En{5r;Nj^f+`OOsynbY4#CCP;%jI@trB8kfZw`iP z!`_**^~Lk1YF->|$$B-$PzXvxLI2hl|4XqhFafU^4F?6CmD1CDORHPs9^iZC>Q~n* z_;@wGL{I~%?uZ{+_8unq8vl5&Uue`yE)y?MoYfR0;^DfcYnz+@mh6&a%xY5KU%Mll zr1Y{;y=v*G=tmKe*Te{#V)^o$zB#Y8@=e0+vLD*^TAW?{6~wI0sb1-r>%NYWN{aA+ z2i8eE)~o9k4wE6apDOD?8s|VtzAg-5*tBr1n=DB<_cTC7FHH8Gz?xX<`C({%5i z-1nS1G)nIt-dNiT6g>!%N*l<~7TDcfylMM!E;*U!!Ge8^5tX`w-6PI?3I89G_C)3v zeYIgE z!y7^RiMN#Ag`>qIG)%X%o{;1|NxEdypC)mXpfg>bYe-D1l2)y#`Kcp4M(>GZG{#@l zU!-R&Qh=u2>u}%rDH*wm$xuac*8JO#$2_V`N6Epk{=nB4lRMkN}6;}m5`4OnB7Z4cK>@8I?R(>)0*$pcrD(^xM@4Q`w!~9g- z@^bAV@4!3Sn3+wJNSf-*UOmMSI+?gNQ{hw9YQ47=A67Umv!=;KM)c~qwH{L(b{;3* z*`3dStQ^FrU18smp?FnERLuX4Ys>}b=J1=UQPXx)Ev5$=+KKSY3^(SwNvP^G6cbOE zs^yyBlNd-c!6Y->yEME?N=bg(Z93iwg_mdEn^(~9l&k;iS2J7e_z#^?712w6r1YFG zV({@^`gvb&CC0QDFE1V6-CiAU zondv%ui1T#4KDawwsg4!9zQ z%fr=%>oXYrbT-|Z!DI5=m7f)SRf{|E?mB-Yo$MEGNPcpr_4|8c9W{KC)}HrA7Bye69&1>g+8(4a-UL;3+L-poAqRU zyi6=@dRvkU%^h`4)AdQNHs`vLAp^5^MVCS6Ore7=&-?R~uJ`lrP_?RI7O077`ucq1 z@|3exGJpD~$el`HvOKr9Im>s-`P+Qs` zqPe%zwJ`_3*V@_dghwp}I{xgy1aY5|dj$VtPm?u#k+0so&E%#_pRhhkpdL& zbmGj1NQgz$9H`gFzV8OQKD={Y&N-SmSY9=cw$0@19WI4WkF|s5GTHMUT`BtRpx*rY zb&0=DojJRdZ&-K5c>$(3Jxwn&Sy2`yK~h|#McIJ_!QAt74C_a<*j9K<-WESzSa1+o zeMVBCcrFPjeA6RE5gXYy`+uNPQF9ZD*K(4zvpbOhF15kwX0Ug!UdS- zj^!N-r&|B|i-?FQ)Pqzrh9&u9w9DGm3zs&Y(YMESa`R|5=6m_HZHpLQ^ax{EB??IH z-)k%;@No=$MMzBH@q4u)eJ{w|>AZin_dCbzSH!JR_gq`bI*3lTrhaGD+!gt1KP;6r z^o{`)rB`A3;?j42vyoz-K*uK?R;uL8evI>synCJRly8PQBoEmYH7+NK`KD@DI%3{A z9L4jd)V4z|p8VK7*Q6|MB5vvAOZKjJvhdGSdeF1ZzDNzoOp$mbx;=XIhHg#OtN@q& z%)L|qfx4Q$1BUdPSqz}ys9-1FM=Crmj zjWrF{A$~Mdkj>{$plJUvz0o9|v~}~ll~KQ;JS=)6O#AbT>u(khW_YVsKAlSc`bL>e zTK5#*?VQhBWnb~|gaVjUaxy(MY1|LuorXEut$)1#$iE0kH2_&$vw5Yi8*}_js(A~H z4>Rv&{*6n9*qe2r`MC@MPO2A*ys64670#sm33c_B&0Ck&pY^_C^2>we=%_`ECUimy z)jTb~9sxmzx%2N>9G3=7sRAhldAr=jd`}ZQX}kQIux$$!^*XSbCL|)VU+DYLz@NC3 zq9E$ATSUubU9~D%)?8!-@ZM3#efxWh+wW~#u3QQKi*3D{o%W)OD!CeyS_%b^zEEJg zODqTeD!mRcG-+yotzDE7u+bSVU1)ujs`)x^x&d_?J2yNivFM8n+;EnT<}`dhpq-~x z&bU=66-X6ab7{By)nbk2I+t;)DqJ>WDIuQs%OL$Dc(<8nygF!azRddaFt?xX;^J6x z{S-W(2PM`cR&%a1jC?UotI%FzlYF#IH^rTcDT|t)uxgrf{V>fvliRMJLB_I6?j|1s zmlI1OUKINxU?F87Q$oeTS+$o$jz%-X=xJHN#nir|ySJ3mQAtys_YJu}h*!#)_`EE6 zb1|}5Qlr2}w&(RZ%0BUVEfbXhBQF!5S3O(>CKsPxjCrG=dTQ}o3Xhb%w9#UJ3K_A$ z`NERi0K1euYs{8-sW#V@h0ag&0?B>s8qzAIf?fx|Nwozy<;7{4XWd5MX%w4HIqyK3 zlILUfIO9;=Z?(zFfr;m<+9z68b6pvIvQ|K~9NhiLPr>Ob<>_0=`zo76;ZX~fX%Et5 z(^Y~TBRfa{DZFG6eG~I}w;M+&3C~LC;;8ArIVK55_}byl^wrKw4{ zt>Wnv6SQO_Sr_9X81K_$JVuiS_gg? zb>w|;x#MC?xq6Y>0zg{%EvlQE$8moV2zS!Fvo@V3?nfE|$EvZ^8|N=UN4sKWLksA6 zs=Vhs zx1;t!4i=!r@L#R>@M#{H{$R?th^q~)zM+$$`d;&*SZwE%j@#?&E8~MV2L|OAb4}3w zTDEZw!u@f)e76!sdn~C`6%s{QE-*a|di(aR8e6^bQ3k;N!5@s$u%dbpPddo<-x~RC^-Z zwQJXY4Wiql@m^i@#En5sGfb#=P~xW$`3Db=x<;oSCx=ke{7+~e$Y=hKh$sIKA4L5} z%{j}@`Tt6(VLOg;T=;RVc7HQ=u*O61lM9uIJL5p9btLf>-bQFiH$0#aJ#6x4ME&e7*D(cVIOoCFO$3LiYw&izTd22CLp)C3O^0mc*(n#QkUuQRQ zLe+8z^-%^aAbc(^Svd!MSrKRtV>K37yqbahyrAzl_N;qJcVG9M z!Crk;B%GA=x`M^453YAH$r6*$7wv#9BE3!lRH9lJR?aM?3|>C$(LwAx7MNbp24a@@ zM1QY5L-#{7HC&r&?I<$sbROcx9(1<0N}!&u1p3$`PASL5enYB!%~FNaR6>j}b`c0; zH0}Ff90_`WuItv4%kA-J(K~F>PovC_G9qIl%5hrwIm2@B0YJj_nop_ zx?-Z$QtkGbf19@-IkyQ`wfeK%I@0B@xXkC4(%nxMUoBb0eggFYeWQ2NkAlZ3!q&|Z zEC}a;uiNg`K7T|?@&6AZBl1!I^9yc_Q_pU`hXpC**Hv*{YSa;bNlOi6q?UL=RghVz zz4kXEK@|LgQcMskf0(0opPbi%5eit?`fO(nnT;A^cep#Q;;Ns3QTqifTGD(NZdC@T>tKNf z^2qVD50yLgX?#8J|_$`qGf*(qQ>xAJUQ|46eH7@y?ujg&up3 zE(jYxoBHU>E4%fX`{&L>w-4#cR%Pp|0&ysi+iFk^1i{BgZX#NByXc{ofYZ`K!6L41 zh;Zh-&mM0GluH!xFn|t-JlWZfH2)?}GLA>jL4lL;AtIwmSRb&imAQS}n?k_8ad4#6 zI=8_F1?`4jg6BEVT+J z=P`?-mPi)&oA~(b1cTdn_117G$db)*{OHf2_Cuok>!HVvACGQ0I5_wPSh5+Oz5zVv zwjGr`Ez_q=`+Hk_(QNNL_BKO!%vGX=TneR1Nw8q%x7A~D&JIR@8jWZl zP{&?f4`gRLmHGUFDulH+9C;lm-&5L9V8u_2U{b)=S zt^K{xt82G0r_7~YS#44xqt%hecl5;RFt}Eqlj$aBB`W{wn=R_hP?V}@0U@Lb1i`q{ z%qbic6G_ld-Vj47-jcaDjrDL<2wVaJZwQ%RQwa<7H@kv-4H${;+m5}kii&@{V*_R^ zul8U!n@&Eai+>-4p!DXTc!f@CIfJi%%5jef_Ex!?NOVq0P8&{GQmhk=Js*A;vOks=zw_?DwCD1mzbsD)~W?8L9_g%I_JQdhGSoIh707({aMgdgJIQW5J?T_T8We zCUyIH8;90=H(srkR^s_SzHtEPmATK-)I+FLzR);`12uUEP8gpmHMjP zN)b*q2%@M<<}?o@hufwFtl(njjyG5MQfz+hmHw)1ERzF$zJ;Y?t~cM> z3VRKBR%fE@XTE>zI*8&&r!RnE15)>ext)hu4_vAQPh*eqRy~e_QyN+I=SoO5f$dUW zc@ft}R-7++$cNDRRbIl?n3e6o5H#2ZFpXc6rEfu}O-eBDFUo?_FmNs#2Le~xyqhMQ zBhzHVnT(`IG7?;wP+w($sSQ@k;;v}!H)LzUO* zT zW1Nl)YA#dJ#x3^XL%3}A85@3ldVEQT9{c&;PR3E7R7)^8Kb3CbxZ4k86~{l#fusia59 zfXIATSQnJ@f5xlwC<9bLo;$%X?JC_ce@ zFh#@cXFFa9dO^F)(JXEI?eVMWIz2p2ssS8698JLw1)HStdy?2BOwmHHc-SR$dAxth zkh80U6Ii}%b8BMdXMLgDmemJ&>)L(COcy@Oeki}(!LT}Hq3xme!-Hw1zFo1d`iZf` zJq?kI?CRxqX-M;6kPZgp#Lt}kca)%$Ri-I4(MXt?a>ZudsqQ&e$%viw(yQnZDe zo7-x2;?GE3(Y^@YBwJZ(TXB#F+1#RNo7JfO9NKp|W-*u_ZM3?!hF0jbyk$QV)Wli94K6m^ zG6SrF2r6OMC{wr11&-t9d+W2~{~$ARcFZ*wx2+`>r=>xTC#P=eC2v)N?}PDff#jU*`C|u%gKL?NXs>Dk5G)pygHEkbl&F z5qMS9>c}~`nK00B@FC!3#`zl$#KCN@H)+)bpZCw>TT%0A0>ajs$-@Lo@V@}KihrsjB|9dM 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 Rx6ewY{d-Lfvi8`8{sAcAno9rx literal 0 HcmV?d00001 diff --git a/harness/reports/M4/20261015_b6_DEFAULT/waveform.png b/harness/reports/M4/20261015_b6_DEFAULT/waveform.png new file mode 100644 index 0000000000000000000000000000000000000000..323cac649a533874580a97bfae2a170a8e10c23c GIT binary patch literal 66912 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 literal 0 HcmV?d00001 diff --git a/harness/reports/M4/20261015_full_acceptance.md b/harness/reports/M4/20261015_full_acceptance.md new file mode 100644 index 0000000..81240c6 --- /dev/null +++ b/harness/reports/M4/20261015_full_acceptance.md @@ -0,0 +1,197 @@ +# M4 acceptance: full amplifier vs the full netlist + +- Date: 2026-10-15, engine commit `476d21f (dirty)`, ngspice 47, fs = 768000 Hz, SPICE reltol 1e-08 +- Netlist sha256 `7bea8385e4adb04e`, tubes.lib sha256 `5767afe208240bfa` +- Engine: `ampwav --block full` (volts at the jack and across the 16 Ω load), the checks of SPEC §7 M4. + +## Summary + +PASS 107 · FAIL 0 + +| Section | Check | Item | Measured | Tolerance | Status | +|---|---|---|---|---|---| +| dc | dc_rel_error | v(ct) | 4.176e-07 | ≤ 0.005 | PASS | +| dc | dc_rel_error | v(nscr) | 4.492e-07 | ≤ 0.005 | PASS | +| dc | dc_rel_error | v(bpx) | 3.649e-06 | ≤ 0.005 | PASS | +| dc | dc_rel_error | v(bpa) | 5.679e-06 | ≤ 0.005 | PASS | +| dc | dc_rel_error | v(nbias) | 4.636e-08 | ≤ 0.005 | PASS | +| dc | dc_rel_error | v(p1a) | 1.994e-05 | ≤ 0.005 | PASS | +| dc | dc_rel_error | v(k1a) | 3.976e-05 | ≤ 0.005 | PASS | +| dc | dc_rel_error | v(p1b) | 1.686e-05 | ≤ 0.005 | PASS | +| dc | dc_rel_error | v(k1b) | 0.0001011 | ≤ 0.005 | PASS | +| dc | dc_rel_error | v(p2a) | 2.195e-05 | ≤ 0.005 | PASS | +| dc | dc_rel_error | v(k2a) | 2.104e-05 | ≤ 0.005 | PASS | +| dc | dc_rel_error | v(k2b) | 2.14e-05 | ≤ 0.005 | PASS | +| dc | dc_rel_error | v(p3a) | 1.576e-05 | ≤ 0.005 | PASS | +| dc | dc_rel_error | v(p3b) | 1.707e-05 | ≤ 0.005 | PASS | +| dc | dc_rel_error | v(k3) | 2.137e-05 | ≤ 0.005 | PASS | +| dc | dc_rel_error | v(nf) | 2.137e-05 | ≤ 0.005 | PASS | +| dc | dc_rel_error | v(ng) | 2.137e-05 | ≤ 0.005 | PASS | +| dc | el34_plate_ma | ip_tube_a | 8.688e-06 mA | ≤ 1 | PASS | +| dc | el34_plate_ma | ip_tube_b | 8.695e-06 mA | ≤ 1 | PASS | +| dc | el34_screen_ma | is_tube_a | 1.951e-07 mA | ≤ 0.3 | PASS | +| dc | el34_screen_ma | is_tube_b | 1.918e-07 mA | ≤ 0.3 | PASS | +| dc | ct_rel | v(ct) | 4.176e-07 | ≤ 0.01 | PASS | +| dc | nbias_v | v(nbias) | 2.15e-06 V | ≤ 0.2 | PASS | +| nfb | nfb_gain_db | closed 100 Hz | 0.001911 dB | ≤ 0.5 | PASS | +| nfb | newton_failures | closed 100 Hz | 0 | ≤ 0 | PASS | +| nfb | newton_unrescued | closed 100 Hz | 0 | — | INFO | +| nfb | newton_median_iterations | closed 100 Hz | 1 | ≤ 3 | PASS | +| nfb | newton_max_iterations | closed 100 Hz | 2 | ≤ 32 | PASS | +| nfb | nfb_gain_db | closed 1000 Hz | 0.005214 dB | ≤ 0.5 | PASS | +| nfb | newton_failures | closed 1000 Hz | 0 | ≤ 0 | PASS | +| nfb | newton_unrescued | closed 1000 Hz | 0 | — | INFO | +| nfb | newton_median_iterations | closed 1000 Hz | 1 | ≤ 3 | PASS | +| nfb | newton_max_iterations | closed 1000 Hz | 2 | ≤ 32 | PASS | +| nfb | nfb_gain_db | closed 5000 Hz | 0.02216 dB | ≤ 0.5 | PASS | +| nfb | newton_failures | closed 5000 Hz | 0 | ≤ 0 | PASS | +| nfb | newton_unrescued | closed 5000 Hz | 0 | — | INFO | +| nfb | newton_median_iterations | closed 5000 Hz | 2 | ≤ 3 | PASS | +| nfb | newton_max_iterations | closed 5000 Hz | 2 | ≤ 32 | PASS | +| nfb | nfb_gain_db | open 100 Hz | 0.002302 dB | ≤ 0.5 | PASS | +| nfb | newton_failures | open 100 Hz | 0 | ≤ 0 | PASS | +| nfb | newton_unrescued | open 100 Hz | 0 | — | INFO | +| nfb | newton_median_iterations | open 100 Hz | 1 | ≤ 3 | PASS | +| nfb | newton_max_iterations | open 100 Hz | 2 | ≤ 32 | PASS | +| nfb | nfb_gain_db | open 1000 Hz | 0.007793 dB | ≤ 0.5 | PASS | +| nfb | newton_failures | open 1000 Hz | 0 | ≤ 0 | PASS | +| nfb | newton_unrescued | open 1000 Hz | 0 | — | INFO | +| nfb | newton_median_iterations | open 1000 Hz | 1 | ≤ 3 | PASS | +| nfb | newton_max_iterations | open 1000 Hz | 2 | ≤ 32 | PASS | +| nfb | nfb_gain_db | open 5000 Hz | 0.06395 dB | ≤ 0.5 | PASS | +| nfb | newton_failures | open 5000 Hz | 0 | ≤ 0 | PASS | +| nfb | newton_unrescued | open 5000 Hz | 0 | — | INFO | +| nfb | newton_median_iterations | open 5000 Hz | 2 | ≤ 3 | PASS | +| nfb | newton_max_iterations | open 5000 Hz | 2 | ≤ 32 | PASS | +| clean | total_esr_db | CLEAN SIN-1000Hz-0.025V | -30.47 dB | ≤ -20 | PASS | +| clean | total_harmonics_2_9_db | CLEAN SIN-1000Hz-0.025V | 0.9549 dB | ≤ 1.5 | PASS | +| clean | newton_failures | CLEAN SIN-1000Hz-0.025V | 0 | ≤ 0 | PASS | +| clean | newton_unrescued | CLEAN SIN-1000Hz-0.025V | 0 | — | INFO | +| clean | newton_median_iterations | CLEAN SIN-1000Hz-0.025V | 2 | ≤ 3 | PASS | +| clean | newton_max_iterations | CLEAN SIN-1000Hz-0.025V | 5 | ≤ 32 | PASS | +| clean | total_power_rel | CLEAN SIN-1000Hz-0.025V | 0.03228 | ≤ 0.05 | PASS | +| clean | total_thd_pp | CLEAN SIN-1000Hz-0.025V | 0.2167 pp | ≤ 0.5 | PASS | +| stability | stability_out_v | max |out| | 4.306e-05 V | ≤ 0.001 | PASS | +| stability | stability_growth | RMS last 10 s − first 10 s | -4.239e-12 V | ≤ 1e-06 | PASS | +| stability | newton_failures | 60 s silence | 0 | ≤ 0 | PASS | +| stability | newton_unrescued | 60 s silence | 0 | — | INFO | +| stability | newton_median_iterations | 60 s silence | 1 | ≤ 3 | PASS | +| stability | newton_max_iterations | 60 s silence | 1 | ≤ 32 | PASS | +| overdrive | total_esr_db | OVERDRIVE SIN-220Hz-0.3V | -67.99 dB | ≤ -20 | PASS | +| overdrive | total_harmonics_2_9_db | OVERDRIVE SIN-220Hz-0.3V | 0.008136 dB | ≤ 1.5 | PASS | +| overdrive | sag_min_v | OVERDRIVE SIN-220Hz-0.3V | 0.004019 V | ≤ 2 | PASS | +| overdrive | newton_failures | OVERDRIVE SIN-220Hz-0.3V | 0 | ≤ 0 | PASS | +| overdrive | newton_unrescued | OVERDRIVE SIN-220Hz-0.3V | 0 | — | INFO | +| overdrive | newton_median_iterations | OVERDRIVE SIN-220Hz-0.3V | 1 | ≤ 3 | PASS | +| overdrive | newton_max_iterations | OVERDRIVE SIN-220Hz-0.3V | 5 | ≤ 32 | PASS | +| crunch_drive | total_esr_db | CRUNCH SIN-220Hz-0.3V | -70.3 dB | ≤ -20 | PASS | +| crunch_drive | total_harmonics_2_9_db | CRUNCH SIN-220Hz-0.3V | 0.00776 dB | ≤ 1.5 | PASS | +| crunch_drive | newton_failures | CRUNCH SIN-220Hz-0.3V | 0 | ≤ 0 | PASS | +| crunch_drive | newton_unrescued | CRUNCH SIN-220Hz-0.3V | 0 | — | INFO | +| crunch_drive | newton_median_iterations | CRUNCH SIN-220Hz-0.3V | 2 | ≤ 3 | PASS | +| crunch_drive | newton_max_iterations | CRUNCH SIN-220Hz-0.3V | 5 | ≤ 32 | PASS | +| crunch_drive | total_esr_db | CRUNCH DI-GTR L | -61.77 dB | ≤ -20 | PASS | +| crunch_drive | newton_failures | CRUNCH DI-GTR L | 0 | ≤ 0 | PASS | +| crunch_drive | newton_unrescued | CRUNCH DI-GTR L | 0 | — | INFO | +| crunch_drive | newton_median_iterations | CRUNCH DI-GTR L | 2 | ≤ 3 | PASS | +| crunch_drive | newton_max_iterations | CRUNCH DI-GTR L | 7 | ≤ 32 | PASS | +| crunch_drive | total_esr_db | CRUNCH DI-GTR LL | -62.21 dB | ≤ -20 | PASS | +| crunch_drive | newton_failures | CRUNCH DI-GTR LL | 0 | ≤ 0 | PASS | +| crunch_drive | newton_unrescued | CRUNCH DI-GTR LL | 0 | — | INFO | +| crunch_drive | newton_median_iterations | CRUNCH DI-GTR LL | 2 | ≤ 3 | PASS | +| crunch_drive | newton_max_iterations | CRUNCH DI-GTR LL | 7 | ≤ 32 | PASS | +| crunch_drive | total_esr_db | CRUNCH DI-GTR R | -62.96 dB | ≤ -20 | PASS | +| crunch_drive | newton_failures | CRUNCH DI-GTR R | 0 | ≤ 0 | PASS | +| crunch_drive | newton_unrescued | CRUNCH DI-GTR R | 0 | — | INFO | +| crunch_drive | newton_median_iterations | CRUNCH DI-GTR R | 2 | ≤ 3 | PASS | +| crunch_drive | newton_max_iterations | CRUNCH DI-GTR R | 7 | ≤ 32 | PASS | +| crunch_drive | total_esr_db | CRUNCH DI-GTR RR | -61.89 dB | ≤ -20 | PASS | +| crunch_drive | newton_failures | CRUNCH DI-GTR RR | 0 | ≤ 0 | PASS | +| crunch_drive | newton_unrescued | CRUNCH DI-GTR RR | 0 | — | INFO | +| crunch_drive | newton_median_iterations | CRUNCH DI-GTR RR | 2 | ≤ 3 | PASS | +| crunch_drive | newton_max_iterations | CRUNCH DI-GTR RR | 9 | ≤ 32 | PASS | +| crunch_drive | total_esr_db | DRIVE SIN-220Hz-0.3V | -63.85 dB | ≤ -20 | PASS | +| crunch_drive | total_harmonics_2_9_db | DRIVE SIN-220Hz-0.3V | 0.03414 dB | ≤ 1.5 | PASS | +| crunch_drive | newton_failures | DRIVE SIN-220Hz-0.3V | 0 | ≤ 0 | PASS | +| crunch_drive | newton_unrescued | DRIVE SIN-220Hz-0.3V | 0 | — | INFO | +| crunch_drive | newton_median_iterations | DRIVE SIN-220Hz-0.3V | 1 | ≤ 3 | PASS | +| crunch_drive | newton_max_iterations | DRIVE SIN-220Hz-0.3V | 5 | ≤ 32 | PASS | +| crunch_drive | total_esr_db | DRIVE DI-GTR L | -61.06 dB | ≤ -20 | PASS | +| crunch_drive | newton_failures | DRIVE DI-GTR L | 0 | ≤ 0 | PASS | +| crunch_drive | newton_unrescued | DRIVE DI-GTR L | 0 | — | INFO | +| crunch_drive | newton_median_iterations | DRIVE DI-GTR L | 2 | ≤ 3 | PASS | +| crunch_drive | newton_max_iterations | DRIVE DI-GTR L | 7 | ≤ 32 | PASS | +| crunch_drive | total_esr_db | DRIVE DI-GTR LL | -62.19 dB | ≤ -20 | PASS | +| crunch_drive | newton_failures | DRIVE DI-GTR LL | 0 | ≤ 0 | PASS | +| crunch_drive | newton_unrescued | DRIVE DI-GTR LL | 0 | — | INFO | +| crunch_drive | newton_median_iterations | DRIVE DI-GTR LL | 2 | ≤ 3 | PASS | +| crunch_drive | newton_max_iterations | DRIVE DI-GTR LL | 7 | ≤ 32 | PASS | +| crunch_drive | total_esr_db | DRIVE DI-GTR R | -61.74 dB | ≤ -20 | PASS | +| crunch_drive | newton_failures | DRIVE DI-GTR R | 0 | ≤ 0 | PASS | +| crunch_drive | newton_unrescued | DRIVE DI-GTR R | 0 | — | INFO | +| crunch_drive | newton_median_iterations | DRIVE DI-GTR R | 2 | ≤ 3 | PASS | +| crunch_drive | newton_max_iterations | DRIVE DI-GTR R | 7 | ≤ 32 | PASS | +| crunch_drive | total_esr_db | DRIVE DI-GTR RR | -61.07 dB | ≤ -20 | PASS | +| crunch_drive | newton_failures | DRIVE DI-GTR RR | 0 | ≤ 0 | PASS | +| crunch_drive | newton_unrescued | DRIVE DI-GTR RR | 0 | — | INFO | +| crunch_drive | newton_median_iterations | DRIVE DI-GTR RR | 2 | ≤ 3 | PASS | +| crunch_drive | newton_max_iterations | DRIVE DI-GTR RR | 7 | ≤ 32 | PASS | + +## DC operating point + +| Node / current | SPICE | Engine | +|---|---|---| +| ct | 491.3466 V | 491.3468 V | +| nscr | 488.8805 V | 488.8807 V | +| bpx | 404.9982 V | 404.9997 V | +| bpa | 391.9215 V | 391.9237 V | +| nbias | -46.3636 V | -46.3636 V | +| p1a | 298.3260 V | 298.3319 V | +| k1a | 2.5271 V | 2.5270 V | +| p1b | 354.7502 V | 354.7562 V | +| k1b | 3.7171 V | 3.7167 V | +| p2a | 232.5771 V | 232.5822 V | +| k2a | 1.4139 V | 1.4138 V | +| k2b | 233.1404 V | 233.1454 V | +| p3a | 272.6113 V | 272.6156 V | +| p3b | 263.9512 V | 263.9557 V | +| k3 | 45.2502 V | 45.2492 V | +| nf | 43.8285 V | 43.8275 V | +| ng | 13.5790 V | 13.5787 V | +| ip_tube_a | 28.7718 mA | 28.7718 mA | +| ip_tube_b | 28.7715 mA | 28.7715 mA | +| is_tube_a | 3.2641 mA | 3.2641 mA | +| is_tube_b | 3.2643 mA | 3.2643 mA | + +## NFB (gain in → out, dB) + +| f | SPICE closed | engine closed | SPICE open | engine open | NFB SPICE | NFB engine | +|---|---|---|---|---|---|---| +| 100 Hz | 41.90 | 41.90 | 46.99 | 46.99 | 5.10 | 5.10 | +| 1000 Hz | 53.94 | 53.94 | 58.66 | 58.67 | 4.72 | 4.72 | +| 5000 Hz | 66.41 | 66.44 | 71.04 | 71.10 | 4.62 | 4.67 | + +## Signals + +| Preset | Signal | ESR | best lag | harm. 2–9 | THD F / E | Power F / E | min v(ct) F / E | +|---|---|---|---|---|---|---|---| +| CLEAN | SIN-1000Hz-0.025V | -30.5 dB | 2 | 0.95 dB | 4.69 / 4.91 % | 86.4 / 83.6 W | — | +| OVERDRIVE | SIN-220Hz-0.3V | -68.0 dB | 0 | 0.01 dB | 22.83 / 22.83 % | 27.6 / 27.6 W | 473.08 / 473.07 V | +| CRUNCH | SIN-220Hz-0.3V | -70.3 dB | 0 | 0.01 dB | 14.46 / 14.46 % | 26.9 / 26.9 W | — | +| CRUNCH | DI-GTR L | -61.8 dB | 0 | — | — | — | — | +| CRUNCH | DI-GTR LL | -62.2 dB | 0 | — | — | — | — | +| CRUNCH | DI-GTR R | -63.0 dB | 0 | — | — | — | — | +| CRUNCH | DI-GTR RR | -61.9 dB | 0 | — | — | — | — | +| DRIVE | SIN-220Hz-0.3V | -63.9 dB | 0 | 0.03 dB | 25.48 / 25.48 % | 29.6 / 29.6 W | — | +| DRIVE | DI-GTR L | -61.1 dB | 0 | — | — | — | — | +| DRIVE | DI-GTR LL | -62.2 dB | 0 | — | — | — | — | +| DRIVE | DI-GTR R | -61.7 dB | 0 | — | — | — | — | +| DRIVE | DI-GTR RR | -61.1 dB | 0 | — | — | — | — | + +## Stability + +60 s silence at Preamp / Master / Presence 1.0: max |out| 4.31e-05 V, RMS first / last 10 s 4.26e-05 / 4.26e-05 V. + +## Delayed-NFB break + +Not applicable: since D-041 the global NFB (R22) is part of the B56 tree and has no delay (SPEC §7 M4 asked for a 1- vs 2-sample comparison of the delayed design). diff --git a/harness/reports/M5/20261015_b56_knob_jump.md b/harness/reports/M5/20261015_b56_knob_jump.md index 6e01933..be3f865 100644 --- a/harness/reports/M5/20261015_b56_knob_jump.md +++ b/harness/reports/M5/20261015_b56_knob_jump.md @@ -1,9 +1,9 @@ # M5 report: B56 knob-jump test -- Date: 2026-10-15, engine commit `831e393 (dirty)`, ngspice 47, fs = 768000 Hz, SPICE reltol 1e-08 +- Date: 2026-10-15, engine commit `476d21f (dirty)`, ngspice 47, fs = 768000 Hz, SPICE reltol 1e-08 - Knob targets 0 → 1 in 10 ms from t = 20 ms during a 1000 Hz, 1 V tone on the J4 DC level (DC 0.0000 V); other knobs at their defaults. Engine: smoothing 20 ms, matrix update every 32 samples. SPICE: pot resistances follow the same smoothed trajectory continuously. - Window: the ramp and the 20 ms after it. Pass (D-025): no NaN/Inf, ESR ≤ -20 dB. | Case | Finite | ESR | Status | Peak error / ref peak | Error energy > 5 kHz vs tone | |---|---|---|---|---|---| -| presence | yes | -63.2 dB | PASS | 1.64e-03 | -70.3 dB | +| presence | yes | -64.0 dB | PASS | 1.49e-03 | -71.0 dB | diff --git a/harness/reports/M6/20261015_full_acceptance_fs384000_j4exact.md b/harness/reports/M6/20261015_full_acceptance_fs384000_j4exact.md index fe090e5..475e2c7 100644 --- a/harness/reports/M6/20261015_full_acceptance_fs384000_j4exact.md +++ b/harness/reports/M6/20261015_full_acceptance_fs384000_j4exact.md @@ -1,7 +1,7 @@ # M4 acceptance: full amplifier vs the full netlist -- Date: 2026-10-15, engine commit `831e393 (dirty)`, ngspice 47, fs = 384000 Hz, J4 exact, SPICE reltol 1e-08 -- Netlist sha256 `7bea8385e4adb04e`, tubes.lib sha256 `9ec33154be8127d7` +- Date: 2026-10-15, engine commit `476d21f (dirty)`, ngspice 47, fs = 384000 Hz, J4 exact, SPICE reltol 1e-08 +- Netlist sha256 `7bea8385e4adb04e`, tubes.lib sha256 `5767afe208240bfa` - Engine: `ampwav --block full` (volts at the jack and across the 16 Ω load), the checks of SPEC §7 M4. ## Summary @@ -10,187 +10,187 @@ PASS 107 · FAIL 0 | Section | Check | Item | Measured | Tolerance | Status | |---|---|---|---|---|---| -| dc | dc_rel_error | v(ct) | 4.141e-07 | ≤ 0.005 | PASS | -| dc | dc_rel_error | v(nscr) | 4.454e-07 | ≤ 0.005 | PASS | -| dc | dc_rel_error | v(bpx) | 3.65e-06 | ≤ 0.005 | PASS | -| dc | dc_rel_error | v(bpa) | 5.682e-06 | ≤ 0.005 | PASS | +| dc | dc_rel_error | v(ct) | 4.176e-07 | ≤ 0.005 | PASS | +| dc | dc_rel_error | v(nscr) | 4.492e-07 | ≤ 0.005 | PASS | +| dc | dc_rel_error | v(bpx) | 3.649e-06 | ≤ 0.005 | PASS | +| dc | dc_rel_error | v(bpa) | 5.679e-06 | ≤ 0.005 | PASS | | dc | dc_rel_error | v(nbias) | 4.636e-08 | ≤ 0.005 | PASS | -| dc | dc_rel_error | v(p1a) | 1.996e-05 | ≤ 0.005 | PASS | -| dc | dc_rel_error | v(k1a) | 3.983e-05 | ≤ 0.005 | PASS | -| dc | dc_rel_error | v(p1b) | 1.688e-05 | ≤ 0.005 | PASS | -| dc | dc_rel_error | v(k1b) | 0.0001012 | ≤ 0.005 | PASS | -| dc | dc_rel_error | v(p2a) | 2.198e-05 | ≤ 0.005 | PASS | -| dc | dc_rel_error | v(k2a) | 2.11e-05 | ≤ 0.005 | PASS | -| dc | dc_rel_error | v(k2b) | 2.143e-05 | ≤ 0.005 | PASS | -| dc | dc_rel_error | v(p3a) | 1.578e-05 | ≤ 0.005 | PASS | -| dc | dc_rel_error | v(p3b) | 1.709e-05 | ≤ 0.005 | PASS | -| dc | dc_rel_error | v(k3) | 2.143e-05 | ≤ 0.005 | PASS | -| dc | dc_rel_error | v(nf) | 2.143e-05 | ≤ 0.005 | PASS | -| dc | dc_rel_error | v(ng) | 2.143e-05 | ≤ 0.005 | PASS | -| dc | el34_plate_ma | ip_tube_a | 1.194e-05 mA | ≤ 1 | PASS | -| dc | el34_plate_ma | ip_tube_b | 1.195e-05 mA | ≤ 1 | PASS | -| dc | el34_screen_ma | is_tube_a | 1.046e-06 mA | ≤ 0.3 | PASS | -| dc | el34_screen_ma | is_tube_b | 1.044e-06 mA | ≤ 0.3 | PASS | -| dc | ct_rel | v(ct) | 4.141e-07 | ≤ 0.01 | PASS | +| dc | dc_rel_error | v(p1a) | 1.994e-05 | ≤ 0.005 | PASS | +| dc | dc_rel_error | v(k1a) | 3.976e-05 | ≤ 0.005 | PASS | +| dc | dc_rel_error | v(p1b) | 1.686e-05 | ≤ 0.005 | PASS | +| dc | dc_rel_error | v(k1b) | 0.0001011 | ≤ 0.005 | PASS | +| dc | dc_rel_error | v(p2a) | 2.195e-05 | ≤ 0.005 | PASS | +| dc | dc_rel_error | v(k2a) | 2.104e-05 | ≤ 0.005 | PASS | +| dc | dc_rel_error | v(k2b) | 2.14e-05 | ≤ 0.005 | PASS | +| dc | dc_rel_error | v(p3a) | 1.576e-05 | ≤ 0.005 | PASS | +| dc | dc_rel_error | v(p3b) | 1.707e-05 | ≤ 0.005 | PASS | +| dc | dc_rel_error | v(k3) | 2.137e-05 | ≤ 0.005 | PASS | +| dc | dc_rel_error | v(nf) | 2.137e-05 | ≤ 0.005 | PASS | +| dc | dc_rel_error | v(ng) | 2.137e-05 | ≤ 0.005 | PASS | +| dc | el34_plate_ma | ip_tube_a | 8.687e-06 mA | ≤ 1 | PASS | +| dc | el34_plate_ma | ip_tube_b | 8.695e-06 mA | ≤ 1 | PASS | +| dc | el34_screen_ma | is_tube_a | 1.95e-07 mA | ≤ 0.3 | PASS | +| dc | el34_screen_ma | is_tube_b | 1.917e-07 mA | ≤ 0.3 | PASS | +| dc | ct_rel | v(ct) | 4.176e-07 | ≤ 0.01 | PASS | | dc | nbias_v | v(nbias) | 2.15e-06 V | ≤ 0.2 | PASS | -| nfb | nfb_gain_db | closed 100 Hz | 0.001954 dB | ≤ 0.5 | PASS | +| nfb | nfb_gain_db | closed 100 Hz | 0.00205 dB | ≤ 0.5 | PASS | | nfb | newton_failures | closed 100 Hz | 0 | ≤ 0 | PASS | | nfb | newton_unrescued | closed 100 Hz | 0 | — | INFO | | nfb | newton_median_iterations | closed 100 Hz | 1 | ≤ 3 | PASS | | nfb | newton_max_iterations | closed 100 Hz | 2 | ≤ 32 | PASS | -| nfb | nfb_gain_db | closed 1000 Hz | 0.004996 dB | ≤ 0.5 | PASS | +| nfb | nfb_gain_db | closed 1000 Hz | 0.005595 dB | ≤ 0.5 | PASS | | nfb | newton_failures | closed 1000 Hz | 0 | ≤ 0 | PASS | | nfb | newton_unrescued | closed 1000 Hz | 0 | — | INFO | | nfb | newton_median_iterations | closed 1000 Hz | 1 | ≤ 3 | PASS | | nfb | newton_max_iterations | closed 1000 Hz | 2 | ≤ 32 | PASS | -| nfb | nfb_gain_db | closed 5000 Hz | 0.01361 dB | ≤ 0.5 | PASS | +| nfb | nfb_gain_db | closed 5000 Hz | 0.02332 dB | ≤ 0.5 | PASS | | nfb | newton_failures | closed 5000 Hz | 0 | ≤ 0 | PASS | | nfb | newton_unrescued | closed 5000 Hz | 0 | — | INFO | | nfb | newton_median_iterations | closed 5000 Hz | 2 | ≤ 3 | PASS | | nfb | newton_max_iterations | closed 5000 Hz | 2 | ≤ 32 | PASS | -| nfb | nfb_gain_db | open 100 Hz | 0.002342 dB | ≤ 0.5 | PASS | +| nfb | nfb_gain_db | open 100 Hz | 0.002521 dB | ≤ 0.5 | PASS | | nfb | newton_failures | open 100 Hz | 0 | ≤ 0 | PASS | | nfb | newton_unrescued | open 100 Hz | 0 | — | INFO | | nfb | newton_median_iterations | open 100 Hz | 1 | ≤ 3 | PASS | | nfb | newton_max_iterations | open 100 Hz | 2 | ≤ 32 | PASS | -| nfb | nfb_gain_db | open 1000 Hz | 0.0057 dB | ≤ 0.5 | PASS | +| nfb | nfb_gain_db | open 1000 Hz | 0.008322 dB | ≤ 0.5 | PASS | | nfb | newton_failures | open 1000 Hz | 0 | ≤ 0 | PASS | | nfb | newton_unrescued | open 1000 Hz | 0 | — | INFO | | nfb | newton_median_iterations | open 1000 Hz | 1 | ≤ 3 | PASS | | nfb | newton_max_iterations | open 1000 Hz | 2 | ≤ 32 | PASS | -| nfb | nfb_gain_db | open 5000 Hz | 0.02095 dB | ≤ 0.5 | PASS | +| nfb | nfb_gain_db | open 5000 Hz | 0.06546 dB | ≤ 0.5 | PASS | | nfb | newton_failures | open 5000 Hz | 0 | ≤ 0 | PASS | | nfb | newton_unrescued | open 5000 Hz | 0 | — | INFO | | nfb | newton_median_iterations | open 5000 Hz | 2 | ≤ 3 | PASS | | nfb | newton_max_iterations | open 5000 Hz | 2 | ≤ 32 | PASS | -| clean | total_esr_db | CLEAN SIN-1000Hz-0.025V | -60.06 dB | ≤ -20 | PASS | -| clean | total_harmonics_2_9_db | CLEAN SIN-1000Hz-0.025V | 0.02042 dB | ≤ 1.5 | PASS | +| clean | total_esr_db | CLEAN SIN-1000Hz-0.025V | -59.8 dB | ≤ -20 | PASS | +| clean | total_harmonics_2_9_db | CLEAN SIN-1000Hz-0.025V | 0.01986 dB | ≤ 1.5 | PASS | | clean | newton_failures | CLEAN SIN-1000Hz-0.025V | 0 | ≤ 0 | PASS | | clean | newton_unrescued | CLEAN SIN-1000Hz-0.025V | 0 | — | INFO | | clean | newton_median_iterations | CLEAN SIN-1000Hz-0.025V | 2 | ≤ 3 | PASS | -| clean | newton_max_iterations | CLEAN SIN-1000Hz-0.025V | 6 | ≤ 32 | PASS | -| clean | total_power_rel | CLEAN SIN-1000Hz-0.025V | 0.001105 | ≤ 0.05 | PASS | -| clean | total_thd_pp | CLEAN SIN-1000Hz-0.025V | 0.0006695 pp | ≤ 0.5 | PASS | -| stability | stability_out_v | max |out| | 4.389e-05 V | ≤ 0.001 | PASS | -| stability | stability_growth | RMS last 10 s − first 10 s | 5.497e-12 V | ≤ 1e-06 | PASS | +| clean | newton_max_iterations | CLEAN SIN-1000Hz-0.025V | 5 | ≤ 32 | PASS | +| clean | total_power_rel | CLEAN SIN-1000Hz-0.025V | 0.001173 | ≤ 0.05 | PASS | +| clean | total_thd_pp | CLEAN SIN-1000Hz-0.025V | 0.001491 pp | ≤ 0.5 | PASS | +| stability | stability_out_v | max |out| | 4.369e-05 V | ≤ 0.001 | PASS | +| stability | stability_growth | RMS last 10 s − first 10 s | 2.205e-12 V | ≤ 1e-06 | PASS | | stability | newton_failures | 60 s silence | 0 | ≤ 0 | PASS | | stability | newton_unrescued | 60 s silence | 0 | — | INFO | | stability | newton_median_iterations | 60 s silence | 1 | ≤ 3 | PASS | | stability | newton_max_iterations | 60 s silence | 1 | ≤ 32 | PASS | -| overdrive | total_esr_db | OVERDRIVE SIN-220Hz-0.3V | -67.66 dB | ≤ -20 | PASS | -| overdrive | total_harmonics_2_9_db | OVERDRIVE SIN-220Hz-0.3V | 0.008332 dB | ≤ 1.5 | PASS | -| overdrive | sag_min_v | OVERDRIVE SIN-220Hz-0.3V | 0.004485 V | ≤ 2 | PASS | +| overdrive | total_esr_db | OVERDRIVE SIN-220Hz-0.3V | -67.58 dB | ≤ -20 | PASS | +| overdrive | total_harmonics_2_9_db | OVERDRIVE SIN-220Hz-0.3V | 0.008397 dB | ≤ 1.5 | PASS | +| overdrive | sag_min_v | OVERDRIVE SIN-220Hz-0.3V | 0.004531 V | ≤ 2 | PASS | | overdrive | newton_failures | OVERDRIVE SIN-220Hz-0.3V | 0 | ≤ 0 | PASS | | overdrive | newton_unrescued | OVERDRIVE SIN-220Hz-0.3V | 0 | — | INFO | | overdrive | newton_median_iterations | OVERDRIVE SIN-220Hz-0.3V | 2 | ≤ 3 | PASS | | overdrive | newton_max_iterations | OVERDRIVE SIN-220Hz-0.3V | 6 | ≤ 32 | PASS | -| crunch_drive | total_esr_db | CRUNCH SIN-220Hz-0.3V | -69.99 dB | ≤ -20 | PASS | -| crunch_drive | total_harmonics_2_9_db | CRUNCH SIN-220Hz-0.3V | 0.01118 dB | ≤ 1.5 | PASS | +| crunch_drive | total_esr_db | CRUNCH SIN-220Hz-0.3V | -69.77 dB | ≤ -20 | PASS | +| crunch_drive | total_harmonics_2_9_db | CRUNCH SIN-220Hz-0.3V | 0.007809 dB | ≤ 1.5 | PASS | | crunch_drive | newton_failures | CRUNCH SIN-220Hz-0.3V | 0 | ≤ 0 | PASS | | crunch_drive | newton_unrescued | CRUNCH SIN-220Hz-0.3V | 0 | — | INFO | | crunch_drive | newton_median_iterations | CRUNCH SIN-220Hz-0.3V | 2 | ≤ 3 | PASS | | crunch_drive | newton_max_iterations | CRUNCH SIN-220Hz-0.3V | 5 | ≤ 32 | PASS | -| crunch_drive | total_esr_db | CRUNCH DI-GTR L | -61.26 dB | ≤ -20 | PASS | +| crunch_drive | total_esr_db | CRUNCH DI-GTR L | -61.22 dB | ≤ -20 | PASS | | crunch_drive | newton_failures | CRUNCH DI-GTR L | 0 | ≤ 0 | PASS | | crunch_drive | newton_unrescued | CRUNCH DI-GTR L | 0 | — | INFO | | crunch_drive | newton_median_iterations | CRUNCH DI-GTR L | 2 | ≤ 3 | PASS | | crunch_drive | newton_max_iterations | CRUNCH DI-GTR L | 8 | ≤ 32 | PASS | -| crunch_drive | total_esr_db | CRUNCH DI-GTR LL | -61.57 dB | ≤ -20 | PASS | +| crunch_drive | total_esr_db | CRUNCH DI-GTR LL | -61.54 dB | ≤ -20 | PASS | | crunch_drive | newton_failures | CRUNCH DI-GTR LL | 0 | ≤ 0 | PASS | | crunch_drive | newton_unrescued | CRUNCH DI-GTR LL | 0 | — | INFO | | crunch_drive | newton_median_iterations | CRUNCH DI-GTR LL | 2 | ≤ 3 | PASS | | crunch_drive | newton_max_iterations | CRUNCH DI-GTR LL | 8 | ≤ 32 | PASS | -| crunch_drive | total_esr_db | CRUNCH DI-GTR R | -62.34 dB | ≤ -20 | PASS | +| crunch_drive | total_esr_db | CRUNCH DI-GTR R | -62.32 dB | ≤ -20 | PASS | | crunch_drive | newton_failures | CRUNCH DI-GTR R | 0 | ≤ 0 | PASS | | crunch_drive | newton_unrescued | CRUNCH DI-GTR R | 0 | — | INFO | | crunch_drive | newton_median_iterations | CRUNCH DI-GTR R | 2 | ≤ 3 | PASS | | crunch_drive | newton_max_iterations | CRUNCH DI-GTR R | 8 | ≤ 32 | PASS | -| crunch_drive | total_esr_db | CRUNCH DI-GTR RR | -61.11 dB | ≤ -20 | PASS | +| crunch_drive | total_esr_db | CRUNCH DI-GTR RR | -61.12 dB | ≤ -20 | PASS | | crunch_drive | newton_failures | CRUNCH DI-GTR RR | 0 | ≤ 0 | PASS | | crunch_drive | newton_unrescued | CRUNCH DI-GTR RR | 0 | — | INFO | | crunch_drive | newton_median_iterations | CRUNCH DI-GTR RR | 2 | ≤ 3 | PASS | | crunch_drive | newton_max_iterations | CRUNCH DI-GTR RR | 11 | ≤ 32 | PASS | -| crunch_drive | total_esr_db | DRIVE SIN-220Hz-0.3V | -63.6 dB | ≤ -20 | PASS | -| crunch_drive | total_harmonics_2_9_db | DRIVE SIN-220Hz-0.3V | 0.03526 dB | ≤ 1.5 | PASS | +| crunch_drive | total_esr_db | DRIVE SIN-220Hz-0.3V | -63.62 dB | ≤ -20 | PASS | +| crunch_drive | total_harmonics_2_9_db | DRIVE SIN-220Hz-0.3V | 0.03438 dB | ≤ 1.5 | PASS | | crunch_drive | newton_failures | DRIVE SIN-220Hz-0.3V | 0 | ≤ 0 | PASS | | crunch_drive | newton_unrescued | DRIVE SIN-220Hz-0.3V | 0 | — | INFO | | crunch_drive | newton_median_iterations | DRIVE SIN-220Hz-0.3V | 2 | ≤ 3 | PASS | | crunch_drive | newton_max_iterations | DRIVE SIN-220Hz-0.3V | 6 | ≤ 32 | PASS | -| crunch_drive | total_esr_db | DRIVE DI-GTR L | -60.62 dB | ≤ -20 | PASS | +| crunch_drive | total_esr_db | DRIVE DI-GTR L | -60.75 dB | ≤ -20 | PASS | | crunch_drive | newton_failures | DRIVE DI-GTR L | 0 | ≤ 0 | PASS | | crunch_drive | newton_unrescued | DRIVE DI-GTR L | 0 | — | INFO | | crunch_drive | newton_median_iterations | DRIVE DI-GTR L | 2 | ≤ 3 | PASS | | crunch_drive | newton_max_iterations | DRIVE DI-GTR L | 9 | ≤ 32 | PASS | -| crunch_drive | total_esr_db | DRIVE DI-GTR LL | -61.56 dB | ≤ -20 | PASS | +| crunch_drive | total_esr_db | DRIVE DI-GTR LL | -61.69 dB | ≤ -20 | PASS | | crunch_drive | newton_failures | DRIVE DI-GTR LL | 0 | ≤ 0 | PASS | | crunch_drive | newton_unrescued | DRIVE DI-GTR LL | 0 | — | INFO | | crunch_drive | newton_median_iterations | DRIVE DI-GTR LL | 2 | ≤ 3 | PASS | | crunch_drive | newton_max_iterations | DRIVE DI-GTR LL | 9 | ≤ 32 | PASS | -| crunch_drive | total_esr_db | DRIVE DI-GTR R | -61.32 dB | ≤ -20 | PASS | +| crunch_drive | total_esr_db | DRIVE DI-GTR R | -61.45 dB | ≤ -20 | PASS | | crunch_drive | newton_failures | DRIVE DI-GTR R | 0 | ≤ 0 | PASS | | crunch_drive | newton_unrescued | DRIVE DI-GTR R | 0 | — | INFO | | crunch_drive | newton_median_iterations | DRIVE DI-GTR R | 2 | ≤ 3 | PASS | -| crunch_drive | newton_max_iterations | DRIVE DI-GTR R | 9 | ≤ 32 | PASS | -| crunch_drive | total_esr_db | DRIVE DI-GTR RR | -60.57 dB | ≤ -20 | PASS | +| crunch_drive | newton_max_iterations | DRIVE DI-GTR R | 8 | ≤ 32 | PASS | +| crunch_drive | total_esr_db | DRIVE DI-GTR RR | -60.73 dB | ≤ -20 | PASS | | crunch_drive | newton_failures | DRIVE DI-GTR RR | 0 | ≤ 0 | PASS | | crunch_drive | newton_unrescued | DRIVE DI-GTR RR | 0 | — | INFO | | crunch_drive | newton_median_iterations | DRIVE DI-GTR RR | 2 | ≤ 3 | PASS | -| crunch_drive | newton_max_iterations | DRIVE DI-GTR RR | 9 | ≤ 32 | PASS | +| crunch_drive | newton_max_iterations | DRIVE DI-GTR RR | 10 | ≤ 32 | PASS | ## DC operating point | Node / current | SPICE | Engine | |---|---|---| -| ct | 488.7084 V | 488.7086 V | -| nscr | 485.6493 V | 485.6495 V | -| bpx | 402.3360 V | 402.3375 V | -| bpa | 389.3496 V | 389.3518 V | +| ct | 491.3466 V | 491.3468 V | +| nscr | 488.8805 V | 488.8807 V | +| bpx | 404.9982 V | 404.9997 V | +| bpa | 391.9215 V | 391.9237 V | | nbias | -46.3636 V | -46.3636 V | -| p1a | 296.4025 V | 296.4084 V | -| k1a | 2.5096 V | 2.5095 V | -| p1b | 352.4328 V | 352.4387 V | -| k1b | 3.6917 V | 3.6913 V | -| p2a | 231.1295 V | 231.1346 V | -| k2a | 1.4039 V | 1.4039 V | -| k2b | 231.6858 V | 231.6908 V | -| p3a | 270.8809 V | 270.8852 V | -| p3b | 262.2706 V | 262.2751 V | -| k3 | 44.9334 V | 44.9324 V | -| nf | 43.5216 V | 43.5207 V | -| ng | 13.4840 V | 13.4837 V | -| ip_tube_a | 34.0783 mA | 34.0783 mA | -| ip_tube_b | 34.0780 mA | 34.0780 mA | -| is_tube_a | 4.5674 mA | 4.5674 mA | -| is_tube_b | 4.5675 mA | 4.5675 mA | +| p1a | 298.3260 V | 298.3319 V | +| k1a | 2.5271 V | 2.5270 V | +| p1b | 354.7502 V | 354.7562 V | +| k1b | 3.7171 V | 3.7167 V | +| p2a | 232.5771 V | 232.5822 V | +| k2a | 1.4139 V | 1.4138 V | +| k2b | 233.1404 V | 233.1454 V | +| p3a | 272.6113 V | 272.6156 V | +| p3b | 263.9512 V | 263.9557 V | +| k3 | 45.2502 V | 45.2492 V | +| nf | 43.8285 V | 43.8275 V | +| ng | 13.5790 V | 13.5787 V | +| ip_tube_a | 28.7718 mA | 28.7718 mA | +| ip_tube_b | 28.7715 mA | 28.7715 mA | +| is_tube_a | 3.2641 mA | 3.2641 mA | +| is_tube_b | 3.2643 mA | 3.2643 mA | ## NFB (gain in → out, dB) | f | SPICE closed | engine closed | SPICE open | engine open | NFB SPICE | NFB engine | |---|---|---|---|---|---|---| -| 100 Hz | 43.44 | 43.45 | 50.07 | 50.07 | 6.63 | 6.63 | -| 1000 Hz | 55.58 | 55.59 | 61.74 | 61.74 | 6.16 | 6.16 | -| 5000 Hz | 68.07 | 68.09 | 74.12 | 74.14 | 6.04 | 6.05 | +| 100 Hz | 41.90 | 41.90 | 46.99 | 46.99 | 5.10 | 5.10 | +| 1000 Hz | 53.94 | 53.94 | 58.66 | 58.67 | 4.72 | 4.72 | +| 5000 Hz | 66.41 | 66.44 | 71.04 | 71.10 | 4.62 | 4.67 | ## Signals | Preset | Signal | ESR | best lag | harm. 2–9 | THD F / E | Power F / E | min v(ct) F / E | |---|---|---|---|---|---|---|---| -| CLEAN | SIN-1000Hz-0.025V | -60.1 dB | 0 | 0.02 dB | 3.47 / 3.47 % | 100.2 / 100.3 W | — | -| OVERDRIVE | SIN-220Hz-0.3V | -67.7 dB | 0 | 0.01 dB | 23.35 / 23.35 % | 33.8 / 33.8 W | 469.82 / 469.81 V | -| CRUNCH | SIN-220Hz-0.3V | -70.0 dB | 0 | 0.01 dB | 15.04 / 15.04 % | 32.9 / 32.9 W | — | -| CRUNCH | DI-GTR L | -61.3 dB | 0 | — | — | — | — | -| CRUNCH | DI-GTR LL | -61.6 dB | 0 | — | — | — | — | +| CLEAN | SIN-1000Hz-0.025V | -59.8 dB | 0 | 0.02 dB | 4.69 / 4.69 % | 86.4 / 86.5 W | — | +| OVERDRIVE | SIN-220Hz-0.3V | -67.6 dB | 0 | 0.01 dB | 22.83 / 22.83 % | 27.6 / 27.6 W | 473.08 / 473.07 V | +| CRUNCH | SIN-220Hz-0.3V | -69.8 dB | 0 | 0.01 dB | 14.46 / 14.46 % | 26.9 / 26.9 W | — | +| CRUNCH | DI-GTR L | -61.2 dB | 0 | — | — | — | — | +| CRUNCH | DI-GTR LL | -61.5 dB | 0 | — | — | — | — | | CRUNCH | DI-GTR R | -62.3 dB | 0 | — | — | — | — | | CRUNCH | DI-GTR RR | -61.1 dB | 0 | — | — | — | — | -| DRIVE | SIN-220Hz-0.3V | -63.6 dB | 0 | 0.04 dB | 25.98 / 25.99 % | 36.2 / 36.2 W | — | -| DRIVE | DI-GTR L | -60.6 dB | 0 | — | — | — | — | -| DRIVE | DI-GTR LL | -61.6 dB | 0 | — | — | — | — | -| DRIVE | DI-GTR R | -61.3 dB | 0 | — | — | — | — | -| DRIVE | DI-GTR RR | -60.6 dB | 0 | — | — | — | — | +| DRIVE | SIN-220Hz-0.3V | -63.6 dB | 0 | 0.03 dB | 25.48 / 25.48 % | 29.6 / 29.6 W | — | +| DRIVE | DI-GTR L | -60.7 dB | 0 | — | — | — | — | +| DRIVE | DI-GTR LL | -61.7 dB | 0 | — | — | — | — | +| DRIVE | DI-GTR R | -61.5 dB | 0 | — | — | — | — | +| DRIVE | DI-GTR RR | -60.7 dB | 0 | — | — | — | — | ## Stability -60 s silence at Preamp / Master / Presence 1.0: max |out| 4.39e-05 V, RMS first / last 10 s 4.23e-05 / 4.23e-05 V. +60 s silence at Preamp / Master / Presence 1.0: max |out| 4.37e-05 V, RMS first / last 10 s 4.26e-05 / 4.26e-05 V. ## Delayed-NFB break diff --git a/harness/reports/M6/20261015_full_acceptance_fs384000_j4exact_hot.md b/harness/reports/M6/20261015_full_acceptance_fs384000_j4exact_hot.md index 7fb0450..dd1b0a6 100644 --- a/harness/reports/M6/20261015_full_acceptance_fs384000_j4exact_hot.md +++ b/harness/reports/M6/20261015_full_acceptance_fs384000_j4exact_hot.md @@ -1,7 +1,7 @@ # M4 acceptance: full amplifier vs the full netlist -- Date: 2026-10-15, engine commit `831e393 (dirty)`, ngspice 47, fs = 384000 Hz, J4 exact, SPICE reltol 1e-08 -- Netlist sha256 `7bea8385e4adb04e`, tubes.lib sha256 `9ec33154be8127d7` +- Date: 2026-10-15, engine commit `476d21f (dirty)`, ngspice 47, fs = 384000 Hz, J4 exact, SPICE reltol 1e-08 +- Netlist sha256 `7bea8385e4adb04e`, tubes.lib sha256 `5767afe208240bfa` - Engine: `ampwav --block full` (volts at the jack and across the 16 Ω load), the checks of SPEC §7 M4. ## Summary @@ -10,28 +10,28 @@ PASS 21 · FAIL 0 | Section | Check | Item | Measured | Tolerance | Status | |---|---|---|---|---|---| -| hot | total_esr_db | HOT SIN-220Hz-0.3V | -58.9 dB | ≤ -20 | PASS | -| hot | total_harmonics_2_9_db | HOT SIN-220Hz-0.3V | 0.01274 dB | ≤ 1.5 | PASS | +| hot | total_esr_db | HOT SIN-220Hz-0.3V | -58.95 dB | ≤ -20 | PASS | +| hot | total_harmonics_2_9_db | HOT SIN-220Hz-0.3V | 0.01735 dB | ≤ 1.5 | PASS | | hot | newton_failures | HOT SIN-220Hz-0.3V | 0 | ≤ 0 | PASS | | hot | newton_unrescued | HOT SIN-220Hz-0.3V | 0 | — | INFO | | hot | newton_median_iterations | HOT SIN-220Hz-0.3V | 2 | ≤ 3 | PASS | | hot | newton_max_iterations | HOT SIN-220Hz-0.3V | 7 | ≤ 32 | PASS | -| hot | total_esr_db | HOT DI-GTR L | -41.54 dB | ≤ -20 | PASS | +| hot | total_esr_db | HOT DI-GTR L | -42.16 dB | ≤ -20 | PASS | | hot | newton_failures | HOT DI-GTR L | 0 | ≤ 0 | PASS | | hot | newton_unrescued | HOT DI-GTR L | 0 | — | INFO | | hot | newton_median_iterations | HOT DI-GTR L | 2 | ≤ 3 | PASS | -| hot | newton_max_iterations | HOT DI-GTR L | 17 | ≤ 32 | PASS | -| hot | total_esr_db | HOT DI-GTR LL | -42.12 dB | ≤ -20 | PASS | +| hot | newton_max_iterations | HOT DI-GTR L | 16 | ≤ 32 | PASS | +| hot | total_esr_db | HOT DI-GTR LL | -42.63 dB | ≤ -20 | PASS | | hot | newton_failures | HOT DI-GTR LL | 0 | ≤ 0 | PASS | | hot | newton_unrescued | HOT DI-GTR LL | 0 | — | INFO | | hot | newton_median_iterations | HOT DI-GTR LL | 2 | ≤ 3 | PASS | -| hot | newton_max_iterations | HOT DI-GTR LL | 18 | ≤ 32 | PASS | -| hot | total_esr_db | HOT DI-GTR R | -42.59 dB | ≤ -20 | PASS | +| hot | newton_max_iterations | HOT DI-GTR LL | 17 | ≤ 32 | PASS | +| hot | total_esr_db | HOT DI-GTR R | -43.31 dB | ≤ -20 | PASS | | hot | newton_failures | HOT DI-GTR R | 0 | ≤ 0 | PASS | | hot | newton_unrescued | HOT DI-GTR R | 0 | — | INFO | | hot | newton_median_iterations | HOT DI-GTR R | 2 | ≤ 3 | PASS | -| hot | newton_max_iterations | HOT DI-GTR R | 19 | ≤ 32 | PASS | -| hot | total_esr_db | HOT DI-GTR RR | -41.83 dB | ≤ -20 | PASS | +| hot | newton_max_iterations | HOT DI-GTR R | 17 | ≤ 32 | PASS | +| hot | total_esr_db | HOT DI-GTR RR | -42.63 dB | ≤ -20 | PASS | | hot | newton_failures | HOT DI-GTR RR | 0 | ≤ 0 | PASS | | hot | newton_unrescued | HOT DI-GTR RR | 0 | — | INFO | | hot | newton_median_iterations | HOT DI-GTR RR | 2 | ≤ 3 | PASS | @@ -41,11 +41,11 @@ PASS 21 · FAIL 0 | Preset | Signal | ESR | best lag | harm. 2–9 | THD F / E | Power F / E | min v(ct) F / E | |---|---|---|---|---|---|---|---| -| HOT | SIN-220Hz-0.3V | -58.9 dB | 0 | 0.01 dB | 46.17 / 46.17 % | 183.4 / 183.4 W | — | -| HOT | DI-GTR L | -41.5 dB | 0 | — | — | — | — | -| HOT | DI-GTR LL | -42.1 dB | 0 | — | — | — | — | -| HOT | DI-GTR R | -42.6 dB | 0 | — | — | — | — | -| HOT | DI-GTR RR | -41.8 dB | 0 | — | — | — | — | +| HOT | SIN-220Hz-0.3V | -59.0 dB | 0 | 0.02 dB | 46.42 / 46.42 % | 157.6 / 157.6 W | — | +| HOT | DI-GTR L | -42.2 dB | 0 | — | — | — | — | +| HOT | DI-GTR LL | -42.6 dB | 0 | — | — | — | — | +| HOT | DI-GTR R | -43.3 dB | 0 | — | — | — | — | +| HOT | DI-GTR RR | -42.6 dB | 0 | — | — | — | — | ## Delayed-NFB break diff --git a/harness/reports/M6/20261015_plugin_cpu.md b/harness/reports/M6/20261015_plugin_cpu.md index 7009e67..3fadb20 100644 --- a/harness/reports/M6/20261015_plugin_cpu.md +++ b/harness/reports/M6/20261015_plugin_cpu.md @@ -1,39 +1,39 @@ # M6 plugin CPU under knob automation -- Date 2026-10-15, commit `831e393 (dirty)`; `amp2203_render plugin` at the plugin defaults (2x, Power Amp Rate Half, exact J4, Newton tol 1e-4 V, half-steps on; D-054 – D-056), FIR oversampling, 20 s of DI GTR L at 48000 Hz; processBlock time only. +- Date 2026-10-15, commit `476d21f (dirty)`; `amp2203_render plugin` at the plugin defaults (2x, Power Amp Rate Half, exact J4, Newton tol 1e-4 V, half-steps on; D-054 – D-056), FIR oversampling, 20 s of DI GTR L at 48000 Hz; processBlock time only. - Automation between host blocks: lfo = 10 Hz triangle 0 → 10 → 0, jump = 0 ↔ 10 every 50 ms; "all" moves the six knobs together. One render at a time. | Base | Knob(s) | Modulation | Host block | CPU (% of one core) | Newton failures (rescued) | |---|---|---|---|---|---| -| default | — | static | 512 | 19.6 | 0 (0) | -| every knob 10 | — | static | 512 | 32.5 | 0 (0) | -| default | preampVolume | lfo | 512 | 19.1 | 0 (0) | -| default | preampVolume | jump | 512 | 18.7 | 0 (0) | -| default | treble | lfo | 512 | 19.6 | 0 (0) | +| default | — | static | 512 | 19.1 | 0 (0) | +| every knob 10 | — | static | 512 | 31.6 | 0 (0) | +| default | preampVolume | lfo | 512 | 19.0 | 0 (0) | +| default | preampVolume | jump | 512 | 18.6 | 0 (0) | +| default | treble | lfo | 512 | 20.0 | 0 (0) | | default | treble | jump | 512 | 19.7 | 0 (0) | | default | middle | lfo | 512 | 19.5 | 0 (0) | -| default | middle | jump | 512 | 20.2 | 0 (0) | -| default | bass | lfo | 512 | 19.8 | 0 (0) | -| default | bass | jump | 512 | 19.6 | 0 (0) | -| default | master | lfo | 512 | 21.6 | 0 (0) | -| default | master | jump | 512 | 22.6 | 0 (0) | +| default | middle | jump | 512 | 19.6 | 0 (0) | +| default | bass | lfo | 512 | 19.5 | 0 (0) | +| default | bass | jump | 512 | 19.5 | 0 (0) | +| default | master | lfo | 512 | 21.5 | 0 (0) | +| default | master | jump | 512 | 22.7 | 0 (0) | | default | presence | lfo | 512 | 19.9 | 0 (0) | -| default | presence | jump | 512 | 19.9 | 0 (0) | -| default | all | lfo | 512 | 23.0 | 0 (0) | -| default | all | jump | 512 | 24.6 | 0 (0) | -| every knob 10 | preampVolume | lfo | 512 | 32.0 | 0 (0) | -| every knob 10 | preampVolume | jump | 512 | 31.8 | 0 (0) | -| every knob 10 | treble | lfo | 512 | 32.1 | 0 (0) | -| every knob 10 | treble | jump | 512 | 32.2 | 0 (0) | -| every knob 10 | middle | lfo | 512 | 32.3 | 0 (0) | -| every knob 10 | middle | jump | 512 | 32.1 | 0 (0) | +| default | presence | jump | 512 | 19.8 | 0 (0) | +| default | all | lfo | 512 | 22.2 | 0 (0) | +| default | all | jump | 512 | 23.9 | 0 (0) | +| every knob 10 | preampVolume | lfo | 512 | 31.4 | 0 (0) | +| every knob 10 | preampVolume | jump | 512 | 31.7 | 0 (0) | +| every knob 10 | treble | lfo | 512 | 31.4 | 0 (0) | +| every knob 10 | treble | jump | 512 | 30.9 | 0 (0) | +| every knob 10 | middle | lfo | 512 | 31.4 | 0 (0) | +| every knob 10 | middle | jump | 512 | 31.5 | 0 (0) | | every knob 10 | bass | lfo | 512 | 33.4 | 0 (0) | -| every knob 10 | bass | jump | 512 | 33.5 | 0 (0) | -| every knob 10 | master | lfo | 512 | 27.5 | 0 (0) | -| every knob 10 | master | jump | 512 | 27.2 | 0 (0) | -| every knob 10 | presence | lfo | 512 | 32.3 | 0 (0) | -| every knob 10 | presence | jump | 512 | 32.6 | 0 (0) | -| every knob 10 | all | lfo | 512 | 22.8 | 0 (0) | -| every knob 10 | all | jump | 512 | 25.3 | 0 (0) | -| default | all | jump | 64 | 24.7 | 0 (0) | -| every knob 10 | all | jump | 64 | 24.6 | 0 (0) | +| every knob 10 | bass | jump | 512 | 32.6 | 0 (0) | +| every knob 10 | master | lfo | 512 | 26.3 | 0 (0) | +| every knob 10 | master | jump | 512 | 26.4 | 0 (0) | +| every knob 10 | presence | lfo | 512 | 32.2 | 0 (0) | +| every knob 10 | presence | jump | 512 | 32.5 | 0 (0) | +| every knob 10 | all | lfo | 512 | 22.6 | 0 (0) | +| every knob 10 | all | jump | 512 | 24.4 | 0 (0) | +| default | all | jump | 64 | 24.1 | 0 (0) | +| every knob 10 | all | jump | 64 | 24.3 | 0 (0) | diff --git a/harness/reports/M6/20261015_plugin_null_2x_half.md b/harness/reports/M6/20261015_plugin_null_2x_half.md index 17cbb90..ccb3db0 100644 --- a/harness/reports/M6/20261015_plugin_null_2x_half.md +++ b/harness/reports/M6/20261015_plugin_null_2x_half.md @@ -1,6 +1,6 @@ # M5 wrapper null test: plugin vs ampwav at 96 kHz with the same resampling -- Date: 2026-10-15, commit `831e393 (dirty)`; host rate 48000 Hz, 2x, Power Amp Rate half, exact J4 +- Date: 2026-10-15, commit `476d21f (dirty)`; host rate 48000 Hz, 2x, Power Amp Rate half, exact J4 - Plugin: `amp2203_render plugin` (the Amp2203Processor offline). Reference: the processor's oversampler up stage, `ampwav --block full --units fs --j4 exact` at 96000 Hz, the down stage. Default knobs and levels. - Tolerance (SPEC §7 M5): ESR ≤ -60 dB. @@ -8,55 +8,55 @@ PASS 26 · FAIL 0 | Filter | Signal | Peak out [FS] | ESR | Status | Render log | |---|---|---|---|---|---| -| fir | SIN-100Hz--40dBFS | 0.111 | -138.5 dB | PASS | processBlock 0.028 s for 0.200 s of audio: 14.0 % of one core, real-time factor 7.16 +| fir | SIN-100Hz--40dBFS | 0.094 | -138.5 dB | PASS | processBlock 0.031 s for 0.200 s of audio: 15.6 % of one core, real-time factor 6.42 latency 58 samples, Newton failures 0 (rescued 0), max iterations 3 | -| fir | SIN-100Hz--20dBFS | 0.719 | -138.5 dB | PASS | processBlock 0.031 s for 0.200 s of audio: 15.3 % of one core, real-time factor 6.53 +| fir | SIN-100Hz--20dBFS | 0.667 | -138.5 dB | PASS | processBlock 0.031 s for 0.200 s of audio: 15.4 % of one core, real-time factor 6.48 latency 58 samples, Newton failures 0 (rescued 0), max iterations 4 | -| fir | SIN-100Hz--6dBFS | 0.825 | -138.5 dB | PASS | processBlock 0.032 s for 0.200 s of audio: 15.8 % of one core, real-time factor 6.33 +| fir | SIN-100Hz--6dBFS | 0.773 | -138.5 dB | PASS | processBlock 0.036 s for 0.200 s of audio: 18.2 % of one core, real-time factor 5.51 latency 58 samples, Newton failures 0 (rescued 0), max iterations 9 | -| fir | SIN-1000Hz--40dBFS | 0.335 | -138.5 dB | PASS | processBlock 0.045 s for 0.200 s of audio: 22.6 % of one core, real-time factor 4.43 +| fir | SIN-1000Hz--40dBFS | 0.289 | -138.5 dB | PASS | processBlock 0.048 s for 0.200 s of audio: 24.0 % of one core, real-time factor 4.17 latency 58 samples, Newton failures 0 (rescued 0), max iterations 6 | -| fir | SIN-1000Hz--20dBFS | 0.655 | -138.5 dB | PASS | processBlock 0.048 s for 0.200 s of audio: 24.2 % of one core, real-time factor 4.14 +| fir | SIN-1000Hz--20dBFS | 0.602 | -138.5 dB | PASS | processBlock 0.051 s for 0.200 s of audio: 25.6 % of one core, real-time factor 3.90 latency 58 samples, Newton failures 0 (rescued 0), max iterations 9 | -| fir | SIN-1000Hz--6dBFS | 0.708 | -138.5 dB | PASS | processBlock 0.055 s for 0.200 s of audio: 27.3 % of one core, real-time factor 3.67 +| fir | SIN-1000Hz--6dBFS | 0.659 | -138.5 dB | PASS | processBlock 0.056 s for 0.200 s of audio: 28.1 % of one core, real-time factor 3.56 latency 58 samples, Newton failures 0 (rescued 0), max iterations 12 | -| fir | SIN-5000Hz--40dBFS | 0.703 | -138.5 dB | PASS | processBlock 0.067 s for 0.200 s of audio: 33.3 % of one core, real-time factor 3.00 -latency 58 samples, Newton failures 0 (rescued 0), max iterations 18 | -| fir | SIN-5000Hz--20dBFS | 0.706 | -138.5 dB | PASS | processBlock 0.077 s for 0.200 s of audio: 38.7 % of one core, real-time factor 2.59 +| fir | SIN-5000Hz--40dBFS | 0.627 | -138.5 dB | PASS | processBlock 0.067 s for 0.200 s of audio: 33.7 % of one core, real-time factor 2.97 latency 58 samples, Newton failures 0 (rescued 0), max iterations 19 | -| fir | SIN-5000Hz--6dBFS | 0.744 | -138.5 dB | PASS | processBlock 0.143 s for 0.200 s of audio: 71.7 % of one core, real-time factor 1.39 -latency 58 samples, Newton failures 449 (rescued 191), max iterations 32 | -| fir | DI-GTR L | 0.741 | -138.5 dB | PASS | processBlock 0.877 s for 5.000 s of audio: 17.5 % of one core, real-time factor 5.70 -latency 58 samples, Newton failures 0 (rescued 0), max iterations 17 | -| fir | DI-GTR LL | 0.756 | -138.5 dB | PASS | processBlock 0.858 s for 5.000 s of audio: 17.2 % of one core, real-time factor 5.83 +| fir | SIN-5000Hz--20dBFS | 0.646 | -138.5 dB | PASS | processBlock 0.074 s for 0.200 s of audio: 36.9 % of one core, real-time factor 2.71 +latency 58 samples, Newton failures 0 (rescued 0), max iterations 19 | +| fir | SIN-5000Hz--6dBFS | 0.666 | -138.5 dB | PASS | processBlock 0.191 s for 0.200 s of audio: 95.5 % of one core, real-time factor 1.05 +latency 58 samples, Newton failures 879 (rescued 77), max iterations 32 | +| fir | DI-GTR L | 0.686 | -138.5 dB | PASS | processBlock 0.873 s for 5.000 s of audio: 17.5 % of one core, real-time factor 5.73 +latency 58 samples, Newton failures 0 (rescued 0), max iterations 20 | +| fir | DI-GTR LL | 0.650 | -138.5 dB | PASS | processBlock 0.851 s for 5.000 s of audio: 17.0 % of one core, real-time factor 5.88 latency 58 samples, Newton failures 0 (rescued 0), max iterations 17 | -| fir | DI-GTR R | 0.783 | -138.5 dB | PASS | processBlock 0.860 s for 5.000 s of audio: 17.2 % of one core, real-time factor 5.81 +| fir | DI-GTR R | 0.748 | -138.5 dB | PASS | processBlock 0.855 s for 5.000 s of audio: 17.1 % of one core, real-time factor 5.84 latency 58 samples, Newton failures 0 (rescued 0), max iterations 20 | -| fir | DI-GTR RR | 0.758 | -138.5 dB | PASS | processBlock 0.882 s for 5.000 s of audio: 17.6 % of one core, real-time factor 5.67 +| fir | DI-GTR RR | 0.708 | -138.5 dB | PASS | processBlock 0.872 s for 5.000 s of audio: 17.4 % of one core, real-time factor 5.73 latency 58 samples, Newton failures 0 (rescued 0), max iterations 18 | -| iir | SIN-100Hz--40dBFS | 0.111 | -138.5 dB | PASS | processBlock 0.028 s for 0.200 s of audio: 13.9 % of one core, real-time factor 7.21 +| iir | SIN-100Hz--40dBFS | 0.094 | -138.5 dB | PASS | processBlock 0.028 s for 0.200 s of audio: 13.8 % of one core, real-time factor 7.25 latency 13 samples, Newton failures 0 (rescued 0), max iterations 2 | -| iir | SIN-100Hz--20dBFS | 0.719 | -138.5 dB | PASS | processBlock 0.031 s for 0.200 s of audio: 15.3 % of one core, real-time factor 6.54 +| iir | SIN-100Hz--20dBFS | 0.667 | -138.5 dB | PASS | processBlock 0.031 s for 0.200 s of audio: 15.4 % of one core, real-time factor 6.51 latency 13 samples, Newton failures 0 (rescued 0), max iterations 6 | -| iir | SIN-100Hz--6dBFS | 0.826 | -138.5 dB | PASS | processBlock 0.031 s for 0.200 s of audio: 15.5 % of one core, real-time factor 6.46 +| iir | SIN-100Hz--6dBFS | 0.773 | -138.5 dB | PASS | processBlock 0.032 s for 0.200 s of audio: 16.0 % of one core, real-time factor 6.25 latency 13 samples, Newton failures 0 (rescued 0), max iterations 6 | -| iir | SIN-1000Hz--40dBFS | 0.358 | -138.5 dB | PASS | processBlock 0.045 s for 0.200 s of audio: 22.3 % of one core, real-time factor 4.48 +| iir | SIN-1000Hz--40dBFS | 0.315 | -138.5 dB | PASS | processBlock 0.045 s for 0.200 s of audio: 22.3 % of one core, real-time factor 4.48 latency 13 samples, Newton failures 0 (rescued 0), max iterations 7 | -| iir | SIN-1000Hz--20dBFS | 0.729 | -138.5 dB | PASS | processBlock 0.047 s for 0.200 s of audio: 23.6 % of one core, real-time factor 4.23 +| iir | SIN-1000Hz--20dBFS | 0.672 | -138.5 dB | PASS | processBlock 0.048 s for 0.200 s of audio: 23.9 % of one core, real-time factor 4.18 latency 13 samples, Newton failures 0 (rescued 0), max iterations 9 | -| iir | SIN-1000Hz--6dBFS | 0.766 | -138.5 dB | PASS | processBlock 0.054 s for 0.200 s of audio: 26.9 % of one core, real-time factor 3.72 +| iir | SIN-1000Hz--6dBFS | 0.725 | -138.5 dB | PASS | processBlock 0.053 s for 0.200 s of audio: 26.7 % of one core, real-time factor 3.74 latency 13 samples, Newton failures 0 (rescued 0), max iterations 22 | -| iir | SIN-5000Hz--40dBFS | 0.682 | -138.5 dB | PASS | processBlock 0.067 s for 0.200 s of audio: 33.4 % of one core, real-time factor 3.00 +| iir | SIN-5000Hz--40dBFS | 0.666 | -138.5 dB | PASS | processBlock 0.067 s for 0.200 s of audio: 33.5 % of one core, real-time factor 2.99 latency 13 samples, Newton failures 0 (rescued 0), max iterations 16 | -| iir | SIN-5000Hz--20dBFS | 0.788 | -138.5 dB | PASS | processBlock 0.080 s for 0.200 s of audio: 40.2 % of one core, real-time factor 2.49 +| iir | SIN-5000Hz--20dBFS | 0.702 | -138.5 dB | PASS | processBlock 0.076 s for 0.200 s of audio: 38.2 % of one core, real-time factor 2.62 +latency 13 samples, Newton failures 0 (rescued 0), max iterations 22 | +| iir | SIN-5000Hz--6dBFS | 0.710 | -138.5 dB | PASS | processBlock 0.106 s for 0.200 s of audio: 52.9 % of one core, real-time factor 1.89 +latency 13 samples, Newton failures 253 (rescued 185), max iterations 32 | +| iir | DI-GTR L | 0.741 | -138.5 dB | PASS | processBlock 0.870 s for 5.000 s of audio: 17.4 % of one core, real-time factor 5.75 +latency 13 samples, Newton failures 0 (rescued 0), max iterations 18 | +| iir | DI-GTR LL | 0.683 | -138.5 dB | PASS | processBlock 0.843 s for 5.000 s of audio: 16.9 % of one core, real-time factor 5.93 latency 13 samples, Newton failures 0 (rescued 0), max iterations 22 | -| iir | SIN-5000Hz--6dBFS | 0.803 | -138.5 dB | PASS | processBlock 0.108 s for 0.200 s of audio: 54.0 % of one core, real-time factor 1.85 -latency 13 samples, Newton failures 163 (rescued 86), max iterations 32 | -| iir | DI-GTR L | 0.796 | -138.5 dB | PASS | processBlock 0.869 s for 5.000 s of audio: 17.4 % of one core, real-time factor 5.76 +| iir | DI-GTR R | 0.775 | -138.5 dB | PASS | processBlock 0.844 s for 5.000 s of audio: 16.9 % of one core, real-time factor 5.93 latency 13 samples, Newton failures 0 (rescued 0), max iterations 18 | -| iir | DI-GTR LL | 0.750 | -138.5 dB | PASS | processBlock 0.843 s for 5.000 s of audio: 16.9 % of one core, real-time factor 5.93 -latency 13 samples, Newton failures 0 (rescued 0), max iterations 23 | -| iir | DI-GTR R | 0.837 | -138.5 dB | PASS | processBlock 0.846 s for 5.000 s of audio: 16.9 % of one core, real-time factor 5.91 -latency 13 samples, Newton failures 0 (rescued 0), max iterations 17 | -| iir | DI-GTR RR | 0.843 | -138.5 dB | PASS | processBlock 0.864 s for 5.000 s of audio: 17.3 % of one core, real-time factor 5.78 -latency 13 samples, Newton failures 0 (rescued 0), max iterations 20 | +| iir | DI-GTR RR | 0.740 | -138.5 dB | PASS | processBlock 0.861 s for 5.000 s of audio: 17.2 % of one core, real-time factor 5.81 +latency 13 samples, Newton failures 0 (rescued 0), max iterations 21 | diff --git a/harness/reports/M6/20261015_x2_rates_d058_half2x.md b/harness/reports/M6/20261015_x2_rates_d058_half2x.md new file mode 100644 index 0000000..955121e --- /dev/null +++ b/harness/reports/M6/20261015_x2_rates_d058_half2x.md @@ -0,0 +1,48 @@ +# M6 A1: full engine (exact J4) at lower internal rates, plugin model check + +- Date 2026-10-15; options: divisor 2, tol 0.0001; rates 48 kHz × [2]. +- Plugin model check (D-051): ESR ≤ -20 dB vs SPICE (cached 384000 Hz references, 48 kHz band, first 5 s of every DI track, first 0.1 s excluded). Unseen settings: the 16 X4 validation settings, 10 s, vs the engine at 16x (first 1 s excluded). Cost: ampwav --stats on 10 s of DI GTR L, one run at a time; oversampling filters not included. + +## Summary + +| Rate | vs SPICE worst (CRUNCH / DRIVE / HOT) | Check | Unseen settings vs 16x (worst / median) | Newton failures (not rescued) / runs, max iterations | Cost default / HOT (% of one core) | +|---|---|---|---|---|---| +| 2x (96 kHz) | -38.4 / -37.6 / -23.1 dB | PASS | -19.6 / -30.7 dB | 12 (1) / 28, 32 | 19.7 / 28.2 | + +## vs SPICE per clip + +| Clip | 2x | +|---|---| +| CRUNCH GTR L | -38.8 dB | +| CRUNCH GTR LL | -38.4 dB | +| CRUNCH GTR R | -39.9 dB | +| CRUNCH GTR RR | -39.2 dB | +| DRIVE GTR L | -37.6 dB | +| DRIVE GTR LL | -38.8 dB | +| DRIVE GTR R | -38.9 dB | +| DRIVE GTR RR | -37.8 dB | +| HOT GTR L | -23.1 dB | +| HOT GTR LL | -23.9 dB | +| HOT GTR R | -24.4 dB | +| HOT GTR RR | -23.2 dB | + +## Aliasing (power outside the harmonics of f0, relative to the total; 16x for reference) + +Each cell: non-harmonic power, then Newton failures (not rescued) in that 2 s run. Non-converged samples add non-harmonic power, so a cell with many failures measures solver error as well as aliasing. + +| Preset | f0 | amplitude (FS) | 16x | 2x | +|---|---|---|---|---| +| CRUNCH | 5000 Hz | 0.1 | -26.2 dB, 0 (0) | -14.6 dB, 0 (0) | +| CRUNCH | 5000 Hz | 0.4 | -25.9 dB, 0 (0) | -12.0 dB, 1983 (1982) | +| CRUNCH | 9000 Hz | 0.1 | -40.4 dB, 0 (0) | -9.0 dB, 0 (0) | +| CRUNCH | 9000 Hz | 0.4 | -38.8 dB, 0 (0) | -4.9 dB, 24712 (22802) | +| HOT | 5000 Hz | 0.1 | -29.8 dB, 1877 (0) | -11.0 dB, 0 (0) | +| HOT | 5000 Hz | 0.4 | -29.6 dB, 2052 (0) | -10.3 dB, 731 (728) | +| HOT | 9000 Hz | 0.1 | -37.3 dB, 1584 (0) | -10.3 dB, 0 (0) | +| HOT | 9000 Hz | 0.4 | -35.9 dB, 478 (0) | -7.4 dB, 18595 (15195) | + +## Cost + +| Rate | ns per engine sample (default / HOT) | % of one core at 48 kHz | +|---|---|---| +| 2x | 2053 / 2942 | 19.7 / 28.2 | diff --git a/reference/README.md b/reference/README.md index 06ae829..40f4cf5 100644 --- a/reference/README.md +++ b/reference/README.md @@ -6,7 +6,7 @@ Transcribed from the Marshall drawings "2203 STD Preamp" (issue 4) and "2203 STD ## Files - `spice/jcm800_2203.cir` — full amp: preamp, tone stack, master, long-tail-pair PI with NFB and presence, 4x EL34, output transformer, HT supply chain, bias network. -- `spice/tubes.lib` — Koren 12AX7 and EL34 models. The EL34 screen current is a modification (see below). +- `spice/tubes.lib` — Koren 12AX7 and EL34 models (EL34 parameters fitted to the data sheet, D-058). The EL34 screen current is a modification (see below). - `spice/spice_tools.py` — helpers: `op`, `ac`, `tran`, `thd_power`. Run it directly to print the DC operating point. - `plots/tonestack_sweeps.png` — tone stack response (V2b cathode → Treble wiper) for each control. @@ -30,7 +30,7 @@ C5 1 nF across Preamp Volume top-to-wiper; "50+50 µF" cans modelled as 50 µF p 16 Ω tap; Low input not modelled. ## Assumed values (not on the schematic) -HT source 505 V behind 100 Ω; bias −60 V at the C20 node with RV1 = 4 kΩ; generic Koren tube parameters; resistive +HT source 505 V behind 100 Ω; bias −60 V at the C20 node with RV1 = 4 kΩ; Koren 12AX7 parameters (generic); EL34 parameters fitted to the Ei-RC data sheet curves (D-058); resistive 16 Ω load; ideal guitar source. ## Output transformer (Hammond 1750U datasheet) @@ -45,17 +45,19 @@ D-023. runs it at ≈ 27 mA; the inductance at that current is not specified and stays 5 H. ## Sanity results -- DC: B+ 489 V, screens 486 V, PI supply 402 V, preamp supply 389 V; EL34 34.1 mA plate + 4.57 mA screen - per tube (≈ 16.6 W plate dissipation, ≈ 66 % of 25 W). -- Global NFB ≈ 6 dB: 6.6 / 6.2 / 6.0 dB at 100 Hz / 1 kHz / 5 kHz (verified negative by removing R22). -- Clean power (Preamp 2, Master 10, 1 kHz; input 25 / 30 / 40 mV peak): ≈ 101 W at 3.2 % THD, - ≈ 133 W at 3.5 %, ≈ 151 W at 9.6 % (assumed OT and choke before D-023/D-024: 101 W / 130 W / 145 W at - 2.8 / 3.8 / 9.6 %). -- Overdrive (Preamp 8, Master 3, 300 mV @ 220 Hz): V2a is the main clipping stage; B+ sags ≈ 20 V. +(EL34 parameters fitted to the data sheet, D-058; Koren's EL34 set gave B+ 489 V, 34.1 + 4.57 mA per tube, NFB 6.6 / +6.2 / 6.0 dB and 101 / 133 / 151 W.) +- DC: B+ 491 V, screens 489 V, PI supply 405 V, preamp supply 392 V; EL34 28.8 mA plate + 3.26 mA screen per tube + (≈ 14.1 W plate dissipation, ≈ 56 % of 25 W) with the assumed bias network (A4). +- Global NFB ≈ 4.8 dB: 5.1 / 4.7 / 4.6 dB at 100 Hz / 1 kHz / 5 kHz (R22 → 1 TΩ). +- Clean power (Preamp 2, Master 10, 1 kHz; input 25 / 30 / 40 mV peak): ≈ 87 W at 4.5 % THD, ≈ 112 W at 5.0 %, + ≈ 126 W at 10.3 %. +- Closed-loop output impedance ≈ 20–23 Ω (100 Hz – 5 kHz; 16 Ω vs open load). +- Overdrive (Preamp 8, Master 3, 300 mV @ 220 Hz): V2a is the main clipping stage. - Speed: ≈ 27x slower than real time for the full amp. ## Known limitations No rectifier/ripple or mains-transformer dynamics, no OT core saturation or hysteresis, no reactive -speaker load, generic tube models. The Koren pentode screen equation gives ~0 screen current at this +speaker load, generic 12AX7 model. The Koren pentode screen equation gives ~0 screen current at this bias, so `tubes.lib` computes screen current from the same E1 term as the plate current, plus diversion of plate current to the screen when the plate swings low. From 99759d1d8cb6b9f557c370f6798cf66659ff553a Mon Sep 17 00:00:00 2001 From: CatastrophicCoder Date: Thu, 15 Oct 2026 19:50:06 +0300 Subject: [PATCH 08/17] m6: plugin with the fitted EL34 reinstalled; pluginval (VST3, AU) and auval pass --- docs/PROGRESS.md | 1 + harness/reports/M6/20261015_auval.log | 8 ++++---- harness/reports/M6/20261015_pluginval_au.log | 2 +- harness/reports/M6/20261015_pluginval_vst3.log | 2 +- 4 files changed, 7 insertions(+), 6 deletions(-) diff --git a/docs/PROGRESS.md b/docs/PROGRESS.md index 5571fce..7bbcb83 100644 --- a/docs/PROGRESS.md +++ b/docs/PROGRESS.md @@ -794,6 +794,7 @@ Notes: at 1e-8, noted in the report); half 2x plugin config vs SPICE HOT −23.1 dB, unseen −19.6 dB; B56 knob jump −64.0 dB; null test 26 / 26; plugin CPU static 31.6 % (every knob 10), automation 22.2 … 24.4 %. SPICE sanity: NFB 5.1 / 4.7 / 4.6 dB (was 6.6 / 6.2 / 6.0), clean 87 / 112 / 126 W at 25 / 30 / 40 mV (was 101 / 133 / 151 W). +- Plugin with the fitted EL34 reinstalled (VST3, AU); pluginval strictness 5 SUCCESS for both, auval PASS. ## Questions for the owner _(Claude Code: add questions here and also ask them in the session.)_ diff --git a/harness/reports/M6/20261015_auval.log b/harness/reports/M6/20261015_auval.log index e5c0f8f..ee709a3 100644 --- a/harness/reports/M6/20261015_auval.log +++ b/harness/reports/M6/20261015_auval.log @@ -15,12 +15,12 @@ Component Version: 0.0.1 (0x1) -------------------------------------------------- TESTING OPEN TIMES: COLD: -Time to open AudioUnit: 9.826 ms +Time to open AudioUnit: 9.150 ms WARM: -Time to open AudioUnit: 5.473 ms +Time to open AudioUnit: 5.317 ms This AudioUnit is a version 2 implementation. FIRST TIME: -Time for initialization: 8.287 ms +Time for initialization: 8.202 ms * * PASS -------------------------------------------------- @@ -65,7 +65,7 @@ VERIFYING SPECIAL PROPERTIES: VERIFYING CUSTOM UI Cocoa Views Available: 1 - JUCE_AUCocoaViewClass_6cb728253cf62f2b + JUCE_AUCocoaViewClass_39e4bceb0e95b4f4 PASS HAS FACTORY PRESETS diff --git a/harness/reports/M6/20261015_pluginval_au.log b/harness/reports/M6/20261015_pluginval_au.log index f92c0a8..203d160 100644 --- a/harness/reports/M6/20261015_pluginval_au.log +++ b/harness/reports/M6/20261015_pluginval_au.log @@ -1,5 +1,5 @@ Started validating: /Users/kimmo/Library/Audio/Plug-Ins/Components/Amp2203.component -Random seed: 0x3eea322 +Random seed: 0x7981680 Validation started Strictness level: 5 ----------------------------------------------------------------- diff --git a/harness/reports/M6/20261015_pluginval_vst3.log b/harness/reports/M6/20261015_pluginval_vst3.log index 0edd0b9..664e72b 100644 --- a/harness/reports/M6/20261015_pluginval_vst3.log +++ b/harness/reports/M6/20261015_pluginval_vst3.log @@ -1,5 +1,5 @@ Started validating: /Users/kimmo/Library/Audio/Plug-Ins/VST3/Amp2203.vst3 -Random seed: 0x12ee3a2 +Random seed: 0x49ce6eb Validation started Strictness level: 5 ----------------------------------------------------------------- From c55912d736473af7b97404114576c01dea7e37bb Mon Sep 17 00:00:00 2001 From: CatastrophicCoder Date: Thu, 15 Oct 2026 22:43:06 +0300 Subject: [PATCH 09/17] m6: speaker-load study (4x12-style impedance vs 16 ohm resistor, SPICE) --- docs/PROGRESS.md | 7 +++++ .../reports/M6/20261015_speaker_load_study.md | 28 +++++++++++++++++++ 2 files changed, 35 insertions(+) create mode 100644 harness/reports/M6/20261015_speaker_load_study.md diff --git a/docs/PROGRESS.md b/docs/PROGRESS.md index 7bbcb83..4c525d5 100644 --- a/docs/PROGRESS.md +++ b/docs/PROGRESS.md @@ -795,6 +795,13 @@ Notes: null test 26 / 26; plugin CPU static 31.6 % (every knob 10), automation 22.2 … 24.4 %. SPICE sanity: NFB 5.1 / 4.7 / 4.6 dB (was 6.6 / 6.2 / 6.0), clean 87 / 112 / 126 W at 25 / 30 / 40 mV (was 101 / 133 / 151 W). - Plugin with the fitted EL34 reinstalled (VST3, AU); pluginval strictness 5 SUCCESS for both, auval PASS. +- Owner listening after D-058: decent with Preamp 10, Interface Level +24 dBu, Bass 0, Treble 7, Middle 1, Presence 7, + Master 3; "bass / mid heavy"; Master above 3 adds nothing to the driven sound. Audient iD4 MkII, DI gain ¼ up (DI lineup + 12 dBu = 0 dBFS, 40 dB DI gain range: the correct Interface Level is below +12 dBu, so +24 drives the model ≈ 20 dB + above the real guitar). Engine at Preamp 10: 0.8 / 4.4 / 21.4 % THD at y for 10 / 20 / 100 mV, plateau 26–28 %. +- Speaker-load study (`harness/reports/M6/20261015_speaker_load_study.md`): with three 4x12-style impedances instead of + 16 Ω the speaker voltage gains +3 … +4.7 dB at 100 Hz and +1.8 … +4.7 dB at 5 kHz (+2.7 … +5.1 at 8 kHz), −0.3 … −0.9 dB + at 400 Hz – 1 kHz; driven tones at the owner's settings: centroid +11 … +21 %, 5–10 kHz energy +1.7 … +3.5 dB. ## Questions for the owner _(Claude Code: add questions here and also ask them in the session.)_ diff --git a/harness/reports/M6/20261015_speaker_load_study.md b/harness/reports/M6/20261015_speaker_load_study.md new file mode 100644 index 0000000..c80577d --- /dev/null +++ b/harness/reports/M6/20261015_speaker_load_study.md @@ -0,0 +1,28 @@ +# M6 speaker-load study: 4x12-style impedance vs the 16 Ω resistor (SPICE copies, reference unchanged) + +- Full netlist with the D-058 EL34; `Rload out 0 16` replaced by Re 13 Ω + (Le ‖ R_le) + a parallel RLC resonance at 100 Hz + (Q 2). No published Thiele–Small data for the Celestion G12T-75 was found, so three representative variants bracket a + nominal 16 Ω 4x12 (|Z| at 50 / 100 / 400 / 1k / 5k / 10k Hz): + low 17 / 35 / 14 / 14 / 23 / 32 Ω (Le 0.5 mH ‖ 30 Ω, Res 22 Ω); typical 20 / 50 / 14 / 15 / 35 / 48 Ω (1.0 mH ‖ 45 Ω, + 37 Ω); high 26 / 70 / 15 / 16 / 46 / 62 Ω (1.5 mH ‖ 60 Ω, 57 Ω). +- "Your settings" (owner, Logic): Preamp 10, Treble 7, Middle 1, Bass 0, Presence 7, Master 3. Speaker voltage is the + plugin's output (the cab IR follows it). + +## Small-signal response at the speaker, difference to 16 Ω + +| Variant | 50 Hz | 100 Hz | 200 Hz | 400 Hz | 1 kHz | 2 kHz | 3 kHz | 5 kHz | 8 kHz | +|---|---|---|---|---|---|---|---|---|---| +| low (default knobs) | +0.6 | +3.0 | +0.3 | −0.8 | −0.9 | −0.1 | +0.6 | +1.8 | +2.7 dB | +| typical (default knobs) | +1.9 | +4.0 | +1.3 | −0.6 | −0.4 | +1.2 | +2.4 | +3.5 | +4.0 dB | +| high (default knobs) | +3.2 | +4.7 | +2.4 | −0.3 | +0.1 | +2.3 | +3.4 | +4.3 | +4.7 dB | +| typical (your settings) | +1.8 | +4.0 | +1.4 | −0.6 | −0.5 | +1.3 | +2.5 | +3.7 | +4.4 dB | + +## Driven tones (0.3 V, your settings): spectral centroid and band energy vs 16 Ω + +| Tone | 16 Ω centroid | speaker loads centroid | 5–10 kHz energy | 2–5 kHz energy | < 300 Hz energy | +|---|---|---|---|---|---| +| 110 Hz | 1427 Hz | 1590 … 1624 Hz | +1.7 … +3.5 dB | 0.0 … +2.3 dB | +2.7 … +4.3 dB | +| 220 Hz | 3308 Hz | 3878 … 3971 Hz | +1.7 … +3.4 dB | +0.7 … +2.9 dB | +0.1 … +2.0 dB | +| 330 Hz | 4864 Hz | 5817 … 5888 Hz | +1.7 … +3.4 dB | +0.8 … +3.0 dB | ≈ 0 dB | + +Output level rises 0 … +3.5 dB with the speaker loads; the harmonic ratios H2–H6 change by up to ±4 dB (110 Hz). From 3cb4124f618941c01905c295d98509f70b01d4f5 Mon Sep 17 00:00:00 2001 From: CatastrophicCoder Date: Thu, 15 Oct 2026 22:47:48 +0300 Subject: [PATCH 10/17] m6: speaker load (representative 4x12 impedance) in the reference and the engine (D-059) --- docs/CIRCUIT.md | 8 ++++++-- docs/DECISIONS.md | 14 ++++++++++++++ docs/PROGRESS.md | 4 ++++ docs/SPEC.md | 6 +++--- engine/include/amp2203/PowerAmp.h | 17 +++++++++++------ engine/include/amp2203/PowerStage.h | 15 +++++++++++---- engine/src/PowerAmp.cpp | 25 ++++++++++++++++++++++--- engine/src/PowerStage.cpp | 15 +++++++++++++-- engine/src/stage56/Stage56Network.h | 15 +++++++++++++-- engine/src/stage6/Stage6Network.h | 20 +++++++++++++++----- harness/blocks.py | 2 +- harness/m4_acceptance.py | 1 + harness/testbench_gen.py | 2 +- harness/testbenches/b12.cir | 2 +- harness/testbenches/b123.cir | 2 +- harness/testbenches/b1234.cir | 2 +- harness/testbenches/b3.cir | 2 +- harness/testbenches/b34.cir | 2 +- harness/testbenches/b4.cir | 2 +- harness/testbenches/b56.cir | 9 +++++++-- harness/testbenches/b56j5.cir | 9 +++++++-- harness/testbenches/b5open.cir | 4 ++-- harness/testbenches/b6.cir | 9 +++++++-- harness/testbenches/full.cir | 11 +++++++++-- reference/README.md | 7 ++++--- reference/spice/jcm800_2203.cir | 9 ++++++++- tests/test_amp2203.cpp | 4 ++-- tests/test_power_amp.cpp | 4 ++-- 28 files changed, 169 insertions(+), 53 deletions(-) diff --git a/docs/CIRCUIT.md b/docs/CIRCUIT.md index 76259fc..890a1c1 100644 --- a/docs/CIRCUIT.md +++ b/docs/CIRCUIT.md @@ -109,7 +109,8 @@ verification. In the engine B5 and B6 form one block B56 with no junction at the | R35,R37 / R36,R38 | 1 kΩ 5 W each | screens – nScr | (pair equivalent 500 Ω) | | V4–V7 | EL34 | cathodes to gnd | Fixed bias; V4‖V5 plate pA, V6‖V7 plate pB | | OT | see §3 | pA – ct – pB, secondary out – gnd | | -| Rload | 16 Ω | out – gnd | | +| Rspk_e / Lspk_e ‖ Rspk_le | 13 Ω / 1.0 mH ‖ 45 Ω | out – spk1 – spk2 | Speaker load (D-059): voice coil R, inductance with eddy loss | +| Rspk_m ‖ Lspk_m ‖ Cspk_m | 37 Ω ‖ 29.4437 mH ‖ 86.0297 µF | spk2 – gnd | Motional resonance 100 Hz, Q 2; \|Z\| 20 / 50 / 14 / 15 / 35 / 48 Ω at 50 / 100 / 400 / 1k / 5k / 10k Hz | Bias Thevenin check: Vth = −60 V · 51 kΩ / 66 kΩ = −46.364 V; Rth = 15 kΩ ‖ 51 kΩ = 11.59 kΩ. @@ -234,6 +235,9 @@ fitted to the Ei-RC data sheet curves (D-058; with Koren's set the EL34s idled a | EL34 screen, per tube | 3.26 mA | | Total HT current (Vht) | 136.5 mA | +The speaker load (D-059) leaves these values unchanged to the digits shown (the speaker node carries 42.4 µV of NFB DC, +was 42.6 µV with the 16 Ω resistor). + Regenerate with `python3 reference/spice/spice_tools.py` after any netlist change. --- @@ -246,7 +250,7 @@ Regenerate with `python3 reference/spice/spice_tools.py` after any netlist chang | O2 | Middle pot wiring | As drawn: C12 to wiper, Bass bottom to top lug | ≤ 1.4 dB, only at low Middle settings | | O3 | C5 1 nF | VR1 top to wiper | Brightness vs Preamp Volume setting | | O4 | "50+50 µF" filter cans | 50 µF per node | Sag and ripple time constants | -| O5 | NFB tap | 16 Ω output with 16 Ω load | Feedback amount if taken from another tap | +| O5 | NFB tap | 16 Ω output with the speaker load (D-059) | Feedback amount if taken from another tap | | O6 | Low input | Not modelled | Feature only | | O7 | OT half-primary orientation | Blue–White (15.36 Ω) on the pA side (V4/V5) | ±0.6 Ω winding asymmetry, about ±40 mV DC per side | | O8 | C2 100 pF V1a plate–cathode (drawing 2203 STD Preamp iss. 4) | Not in the netlist (found 2026-10-15) | −0.3 dB at 5 kHz, −0.7 … −0.9 dB at 10 kHz into V1b (SPICE study) | diff --git a/docs/DECISIONS.md b/docs/DECISIONS.md index da3a119..a6eafb5 100644 --- a/docs/DECISIONS.md +++ b/docs/DECISIONS.md @@ -1002,3 +1002,17 @@ Consequences: DC (CIRCUIT.md §5): EL34 idle 28.77 mA plate / 3.26 mA screen per re-measured (359.535 Ω). Every SPICE reference that contains the power amp is re-rendered (netlist hash); the verification reports from before this entry describe the Koren EL34. Expected from the study: output impedance ≈ 20–23 Ω (was 14–16), less power (clean 87 vs 101 W at 25 mV, clipped ≈ 156–163 vs 182–194 W). + +## D-059 Speaker load: representative nominal 16 Ω 4x12 impedance instead of the 16 Ω resistor (reference model change) +Date: 2026-10-15 · Status: accepted (owner: "put the typical speaker load into the reference and engine") +Context: owner listening ("dark", needs Treble / Presence 7); speaker-load study (`harness/reports/M6/20261015_speaker_load_study.md`): +with the D-058 EL34 the closed-loop output impedance is ≈ 20–23 Ω, so a speaker's rising impedance raises the speaker +voltage +3 … +4.7 dB at 100 Hz and +1.8 … +4.7 dB at 5 kHz relative to a resistor. No published Thiele–Small data for the +Celestion G12T-75 was found. +Decision: `Rload out 0 16` → Rspk_e 13 Ω + (Lspk_e 1.0 mH ‖ Rspk_le 45 Ω) + (Rspk_m 37 Ω ‖ Lspk_m 29.4437 mH ‖ Cspk_m +86.0297 µF; 100 Hz, Q 2), the study's "typical" variant. Engine: B56 (`PowerAmp`) and B6 (`PowerStage`) get nodes spk1 / spk2 +and six elements; the inductors are one-winding `CoupledInductors` (shorts at DC, trapezoidal, half-step rescaling in B56), +the capacitor a `DcCapacitor`. The plugin output stays the speaker voltage / 60 V. Power metrics keep V²/16 Ω as a nominal +figure. The parameters are representative, not measured. +Consequences: DC unchanged except v(out) 42.4 µV (was 42.6). Every SPICE reference that contains the power amp is +re-rendered; reports before this entry describe the 16 Ω resistor. diff --git a/docs/PROGRESS.md b/docs/PROGRESS.md index 4c525d5..6abd7f8 100644 --- a/docs/PROGRESS.md +++ b/docs/PROGRESS.md @@ -802,6 +802,10 @@ Notes: - Speaker-load study (`harness/reports/M6/20261015_speaker_load_study.md`): with three 4x12-style impedances instead of 16 Ω the speaker voltage gains +3 … +4.7 dB at 100 Hz and +1.8 … +4.7 dB at 5 kHz (+2.7 … +5.1 at 8 kHz), −0.3 … −0.9 dB at 400 Hz – 1 kHz; driven tones at the owner's settings: centroid +11 … +21 %, 5–10 kHz energy +1.7 … +3.5 dB. +- Owner 2026-10-15: put the "typical" speaker load into the reference and the engine (D-059). Plan: netlist Rload → + Re 13 Ω + (Le 1.0 mH ‖ 45 Ω) + (Res 37 Ω ‖ Lm ‖ Cm at 100 Hz, Q 2); engine B56 (`PowerAmp`) and B6 (`PowerStage`): two + nodes, six elements (inductors as one-winding CoupledInductors, the capacitor a DcCapacitor; DC states, half-step + rescaling); testbench_gen / blocks / CLEAN power label; C++ DC fixtures, CIRCUIT.md §5, README; re-verify as after D-058. ## Questions for the owner _(Claude Code: add questions here and also ask them in the session.)_ diff --git a/docs/SPEC.md b/docs/SPEC.md index 5dc97e3..a579ab6 100644 --- a/docs/SPEC.md +++ b/docs/SPEC.md @@ -22,7 +22,7 @@ is verified against SPICE before it is considered done. - High input, V1a, Preamp Volume network (incl. bright caps), V1b, V2a, V2b cathode follower. - Tone stack (Treble, Middle, Bass) and Master Volume. - Long-tail-pair phase inverter with global negative feedback and Presence. -- 4x EL34 push-pull output stage, output transformer (linear model), 16 Ω resistive load. +- 4x EL34 push-pull output stage, output transformer (linear model), nominal 16 Ω speaker load (representative 4x12 impedance, D-059; was a 16 Ω resistor). - HT supply sag (reservoir, choke, RC dropper chain) and the bias network. - JUCE plugin (AU, VST3, Standalone) with parameters, smoothing, oversampling and latency reporting. - Offline CLI tool and verification harness against SPICE. @@ -145,7 +145,7 @@ DECISIONS D-033), `PhaseInverter`, `PowerStage` (verified sub-blocks of `PowerAm Default interface level +12 dBu at 0 dBFS (4.361 V peak), the de facto amp-sim convention (NAM expects 12 dBu; Neural DSP calibrates at 12.2 dBu; common interfaces' instrument inputs at minimum gain sit around +12 to +12.5 dBu). Users with a different interface enter their own value (see 6.3). -- Output mapping: `sample = v_speaker / outputVoltsPerFullScale` (16 Ω load). Default 60 V peak +- Output mapping: `sample = v_speaker / outputVoltsPerFullScale` (voltage across the speaker load, D-059). Default 60 V peak (about 112 W sine) = 0 dBFS. The plugin applies an additional output level control. - Use `double` throughout the WDF and solvers. Convert to `float` only at the API boundary. @@ -212,7 +212,7 @@ exceeds tolerance, upgrade it in this order: (a) add the reactive part of the so | (B4) | `ToneStackMaster` | B4 alone behind J3 (R_th3), output `v_oc(y)` (verification of the tone stack, M1) | none (R-type) | `v_oc(y)`, `R_th4` | | B56 | `PowerAmp` | B5 and B6 in one tree (no J5; R22 inside the tree, NFB without delay; D-041) | Joint 10-port (two triodes, two pentode pairs × 3 ports) | `v(out)` speaker voltage, supply currents | | (B5) | `PhaseInverter` | J4 source, C9, R17, R16, R19, C15, R20, R23, C17, VR6 Presence, R22 (NFB, delayed), V3a, V3b, R18, R21 | Joint 4-port (two triodes) | `v_oc(p3a)`, `v_oc(p3b)`, `R_thA`, `R_thB` | -| (B6) | `PowerStage` | J5 sources, C14, C16, C18, R24, R25, bias network (Thevenin + C19), grid stoppers, 2 EL34 equivalents, screen resistors, output transformer, 16 Ω load | Joint 6-port (two pentodes x 3 ports) | `v(out)` speaker voltage, supply currents | +| (B6) | `PowerStage` | J5 sources, C14, C16, C18, R24, R25, bias network (Thevenin + C19), grid stoppers, 2 EL34 equivalents, screen resistors, output transformer, speaker load (D-059) | Joint 6-port (two pentodes x 3 ports) | `v(out)` speaker voltage, supply currents | | B7 | `Supply` | Source resistance, C23, choke, C22, R29, C21b, R8, C21a | none (small linear state-space) | `v(ct)`, `v(nScr)`, `v(bpX)`, `v(bpA)` | Notes per block (details in `CIRCUIT.md` / `WDF_DESIGN.md`): diff --git a/engine/include/amp2203/PowerAmp.h b/engine/include/amp2203/PowerAmp.h index 4063801..eea9ac4 100644 --- a/engine/include/amp2203/PowerAmp.h +++ b/engine/include/amp2203/PowerAmp.h @@ -30,7 +30,7 @@ class PowerAmp { using PI = PhaseInverter; using PS = PowerStage; static constexpr int kParamUpdateInterval = 128; // samples between matrix updates while a knob moves (D-057; was 32) - static constexpr int kNodes = 21, kElements = 42, kRootPorts = 11; // 10 tube ports + the preamp at y + static constexpr int kNodes = 23, kElements = 47, kRootPorts = 11; // 10 tube ports + the preamp at y static constexpr double kDefaultHalfStepTrigger = 100.0; // V; D-043 (0 = off) PowerAmp(); @@ -97,9 +97,9 @@ class PowerAmp { void applyKnobs() noexcept; void halfStep(double vIn) noexcept; auto reactive() noexcept { - return std::array{&c9_, &c15_, &c17_, &cgk3a_, &cgp3a_, &cpk3a_, &cgk3b_, + return std::array{&c9_, &c15_, &c17_, &cgk3a_, &cgp3a_, &cpk3a_, &cgk3b_, &cgp3b_, &cpk3b_, &c14_, &c16_, &c18_, &c19_, &cgkA_, - &cgpA_, &cpkA_, &cgkB_, &cgpB_, &cpkB_}; + &cgpA_, &cpkA_, &cgkB_, &cgpB_, &cpkB_, &cspkM_}; } void rescaleReactive(double ratio) noexcept; Wave conductances(bool dc) const noexcept; @@ -128,14 +128,18 @@ class PowerAmp { chowdsp::wdft::ResistiveVoltageSourceT rsA_{PS::R35 / 2}, rsB_{PS::R35 / 2}; detail::DcCapacitor cgkA_{2 * PS::Cgk}, cgpA_{2 * PS::Cgp}, cpkA_{2 * PS::Cpk}, cgkB_{2 * PS::Cgk}, cgpB_{2 * PS::Cgp}, cpkB_{2 * PS::Cpk}; - chowdsp::wdft::ResistorT rwp1_{PS::Rwp1}, rwp2_{PS::Rwp2}, rws_{PS::Rws}, rload_{PS::Rload}; + chowdsp::wdft::ResistorT rwp1_{PS::Rwp1}, rwp2_{PS::Rwp2}, rws_{PS::Rws}; detail::CoupledInductors<3> ot_{{PS::lpt / 4, PS::lpt / 4, PS::lpt / (PS::Zpp / PS::Zs)}, PS::kot}; + // speaker load (D-059): the inductors as one-winding CoupledInductors (no coupling) + chowdsp::wdft::ResistorT rspkE_{PS::RspkE}, rspkLe_{PS::RspkLe}, rspkM_{PS::RspkM}; + detail::DcCapacitor cspkM_{PS::CspkM}; + detail::CoupledInductors<1> lspkE_{{PS::LspkE}, 0.0}, lspkM_{{PS::LspkM}, 0.0}; auto elements() noexcept { return std::tie(j4_, c9_, r17_, r16_, r19_, c15_, r20_, r23_, c17vr6_, r22_, src18_, src21_, cgk3a_, cgp3a_, cpk3a_, cgk3b_, cgp3b_, cpk3b_, c14_, c16_, c18_, r24_, r25_, c19_, bias_, rgA_, rgB_, rsA_, rsB_, cgkA_, cgpA_, cpkA_, cgkB_, cgpB_, cpkB_, rwp1_, ot_.w[0], ot_.w[1], rwp2_, ot_.w[2], rws_, - rload_); + rspkE_, lspkE_.w[0], rspkLe_, rspkM_, lspkM_.w[0], cspkM_); } detail::RootNetworkState root_; @@ -145,7 +149,8 @@ class PowerAmp { double portVTh_ = 0.0, portG_ = 0.0, vThPrev_ = 0.0; // preamp port at y (M6 X1) long halfSteps_ = 0; double xPrev_ = 0.0; // the previous sample's J4 source voltage (half-step midpoint) - std::array bLast_{}; // reflected waves of the reactive elements before this sample's reflected() + std::array bLast_{}; // reflected waves of the reactive elements (capacitors, OT, speaker inductors) + // before this sample's reflected() detail::KnobSmoother presence_; int sinceUpdate_ = 0; long updates_ = 0; diff --git a/engine/include/amp2203/PowerStage.h b/engine/include/amp2203/PowerStage.h index 984a16c..ab78be0 100644 --- a/engine/include/amp2203/PowerStage.h +++ b/engine/include/amp2203/PowerStage.h @@ -28,7 +28,7 @@ class PowerStage { static constexpr double kSupplyCt = 488.708422, kSupplyScreen = 485.649287; // CIRCUIT.md §5 /// J5 Thevenin resistances (harness/junctions.py j5a / j5b, provisional; CIRCUIT.md §4). static constexpr double kRthA = 58067.6, kRthB = 56937.4; - static constexpr int kNodes = 15, kElements = 26, kRootPorts = 6; + static constexpr int kNodes = 17, kElements = 31, kRootPorts = 6; // Component values, CIRCUIT.md §1 B6, §3 and tubes.lib (SI units). static constexpr double C14 = 0.022e-6, C16 = 0.022e-6, C18 = 47e-12, C19 = 10e-6, R24 = 220e3, R25 = 220e3; @@ -38,7 +38,9 @@ class PowerStage { static constexpr double kBiasResistance = R27 * (R26 + RV1) / (R27 + R26 + RV1); static constexpr double R31 = 5.6e3, R35 = 1e3; // one tube's stopper / screen R static constexpr double Cgk = 15e-12, Cgp = 1e-12, Cpk = 8e-12; // one EL34 (tubes.lib) - static constexpr double Rwp1 = 15.36, Rwp2 = 16.56, Rws = 0.320, Rload = 16.0; + static constexpr double Rwp1 = 15.36, Rwp2 = 16.56, Rws = 0.320; + // speaker load (D-059): Re + (Le ‖ R_le) + (R_m ‖ L_m ‖ C_m), the netlist's Rspk_* / Lspk_* / Cspk_m + static constexpr double RspkE = 13.0, LspkE = 1.0e-3, RspkLe = 45.0, RspkM = 37.0, LspkM = 0.0294437, CspkM = 8.60297e-05; static constexpr double lpt = 25.61, kot = 0.9997925, Zpp = 1700.0, Zs = 16.0; // OT (D-023) PowerStage(); @@ -86,12 +88,17 @@ class PowerStage { chowdsp::wdft::ResistorT rgA_{R31 / 2}, rgB_{R31 / 2}; chowdsp::wdft::ResistiveVoltageSourceT rsA_{R35 / 2}, rsB_{R35 / 2}; detail::DcCapacitor cgkA_{2 * Cgk}, cgpA_{2 * Cgp}, cpkA_{2 * Cpk}, cgkB_{2 * Cgk}, cgpB_{2 * Cgp}, cpkB_{2 * Cpk}; - chowdsp::wdft::ResistorT rwp1_{Rwp1}, rwp2_{Rwp2}, rws_{Rws}, rload_{Rload}; + chowdsp::wdft::ResistorT rwp1_{Rwp1}, rwp2_{Rwp2}, rws_{Rws}; detail::CoupledInductors<3> ot_{{lpt / 4, lpt / 4, lpt / (Zpp / Zs)}, kot}; + // speaker load (D-059): the inductors as one-winding CoupledInductors (no coupling) + chowdsp::wdft::ResistorT rspkE_{RspkE}, rspkLe_{RspkLe}, rspkM_{RspkM}; + detail::DcCapacitor cspkM_{CspkM}; + detail::CoupledInductors<1> lspkE_{{LspkE}, 0.0}, lspkM_{{LspkM}, 0.0}; auto elements() noexcept { return std::tie(j5a_, j5b_, c14_, c16_, c18_, r24_, r25_, c19_, bias_, rgA_, rgB_, rsA_, rsB_, cgkA_, cgpA_, cpkA_, - cgkB_, cgpB_, cpkB_, rwp1_, ot_.w[0], ot_.w[1], rwp2_, ot_.w[2], rws_, rload_); + cgkB_, cgpB_, cpkB_, rwp1_, ot_.w[0], ot_.w[1], rwp2_, ot_.w[2], rws_, rspkE_, lspkE_.w[0], + rspkLe_, rspkM_, lspkM_.w[0], cspkM_); } detail::RootNetworkState root_; diff --git a/engine/src/PowerAmp.cpp b/engine/src/PowerAmp.cpp index cffd422..eac719a 100644 --- a/engine/src/PowerAmp.cpp +++ b/engine/src/PowerAmp.cpp @@ -34,9 +34,11 @@ PowerAmp::PowerAmp() { void PowerAmp::prepare(double sampleRate, double smoothingMs) { for (auto* c : {&c9_, &c15_, &c17_, &cgk3a_, &cgp3a_, &cpk3a_, &cgk3b_, &cgp3b_, &cpk3b_, &c14_, &c16_, &c18_, - &c19_, &cgkA_, &cgpA_, &cpkA_, &cgkB_, &cgpB_, &cpkB_}) + &c19_, &cgkA_, &cgpA_, &cpkA_, &cgkB_, &cgpB_, &cpkB_, &cspkM_}) c->prepare(sampleRate); ot_.prepare(sampleRate); + lspkE_.prepare(sampleRate); + lspkM_.prepare(sampleRate); presence_.prepare(sampleRate, smoothingMs); applyKnobs(); } @@ -93,9 +95,14 @@ PowerAmp::Wave PowerAmp::conductances(bool dc) const noexcept { G[eRwp1] = rwp1_.wdf.G; G[eRwp2] = rwp2_.wdf.G; G[eRws] = rws_.wdf.G; - G[eRload] = rload_.wdf.G; + G[eRspkE] = rspkE_.wdf.G; + G[eRspkLe] = rspkLe_.wdf.G; + G[eRspkM] = rspkM_.wdf.G; + G[eCspkM] = dc ? 0.0 : cspkM_.wdf.G; for (int w = 0; w < 3; ++w) G[kWindings[w]] = dc ? kWindingDcConductance : ot_.conductance(w, w); + G[eLspkE] = dc ? kWindingDcConductance : lspkE_.conductance(0, 0); // speaker inductors: shorts at DC + G[eLspkM] = dc ? kWindingDcConductance : lspkM_.conductance(0, 0); return G; } @@ -112,6 +119,8 @@ void PowerAmp::rescaleReactive(double ratio) noexcept { for (auto* c : reactive()) c->rescale(ratio, true); ot_.rescaleState(ratio); + lspkE_.rescaleState(ratio); + lspkM_.rescaleState(ratio); } void PowerAmp::applyKnobs() noexcept { @@ -131,6 +140,8 @@ void PowerAmp::applyKnobs() noexcept { G = conductances(false); for (int w = 0; w < 3; ++w) G[kWindings[w]] = step * ot_.conductance(w, w); + G[eLspkE] = step * lspkE_.conductance(0, 0); + G[eLspkM] = step * lspkM_.conductance(0, 0); for (auto* c : reactive()) c->rescale(1.0 / step, false); } @@ -152,6 +163,8 @@ void PowerAmp::halfStep(double vIn) noexcept { c->wdf.b = bLast_[k++]; for (auto& w : ot_.w) w.wdf.b = bLast_[k++]; + lspkE_.w[0].wdf.b = bLast_[k++]; + lspkM_.w[0].wdf.b = bLast_[k++]; } rescaleReactive(0.5); auto& h = half_; @@ -231,10 +244,14 @@ void PowerAmp::reset(double vInDc) { for (auto [c, e] : {std::pair{&cgk3a_, eCgk3a}, {&cgp3a_, eCgp3a}, {&cpk3a_, eCpk3a}, {&cgk3b_, eCgk3b}, {&cgp3b_, eCgp3b}, {&cpk3b_, eCpk3b}, {&c14_, eC14}, {&c16_, eC16}, {&c18_, eC18}, {&c19_, eC19}, {&cgkA_, eCgkA}, {&cgpA_, eCgpA}, {&cpkA_, eCpkA}, {&cgkB_, eCgkB}, - {&cgpB_, eCgpB}, {&cpkB_, eCpkB}}) + {&cgpB_, eCgpB}, {&cpkB_, eCpkB}, {&cspkM_, eCspkM}}) c->setDcVoltage(across(e)); const auto& v = root_.node; ot_.setDcCurrents({(v[pA] - v[pA1]) / PS::Rwp1, (v[pB1] - v[pB]) / PS::Rwp2, v[sl] / PS::Rws}); + // speaker load at DC: both inductors short, so the Re current flows through Le and Lm (D-059) + const double iSpk = (v[out] - v[spk1]) / PS::RspkE; + lspkE_.setDcCurrents({iSpk}); + lspkM_.setDcCurrents({iSpk}); xPrev_ = vInDc; vThPrev_ = portVTh_; updateOutputs(vInDc); @@ -261,6 +278,8 @@ double PowerAmp::process(double vIn) noexcept { bLast_[k++] = c->wdf.b; for (const auto& w : ot_.w) bLast_[k++] = w.wdf.b; + bLast_[k++] = lspkE_.w[0].wdf.b; + bLast_[k++] = lspkM_.w[0].wdf.b; } Wave wave; stage::reflected(elements(), wave); diff --git a/engine/src/PowerStage.cpp b/engine/src/PowerStage.cpp index 5fde7ae..e961a90 100644 --- a/engine/src/PowerStage.cpp +++ b/engine/src/PowerStage.cpp @@ -27,9 +27,11 @@ PowerStage::PowerStage() { } void PowerStage::prepare(double sampleRate) { - for (auto* c : {&c14_, &c16_, &c18_, &c19_, &cgkA_, &cgpA_, &cpkA_, &cgkB_, &cgpB_, &cpkB_}) + for (auto* c : {&c14_, &c16_, &c18_, &c19_, &cgkA_, &cgpA_, &cpkA_, &cgkB_, &cgpB_, &cpkB_, &cspkM_}) c->prepare(sampleRate); ot_.prepare(sampleRate); + lspkE_.prepare(sampleRate); + lspkM_.prepare(sampleRate); updateMatrices(); } @@ -72,7 +74,12 @@ PowerStage::Wave PowerStage::conductances(bool dc) const noexcept { G[eRwp1] = rwp1_.wdf.G; G[eRwp2] = rwp2_.wdf.G; G[eRws] = rws_.wdf.G; - G[eRload] = rload_.wdf.G; + G[eRspkE] = rspkE_.wdf.G; + G[eRspkLe] = rspkLe_.wdf.G; + G[eRspkM] = rspkM_.wdf.G; + G[eCspkM] = dc ? 0.0 : cspkM_.wdf.G; + G[eLspkE] = dc ? kWindingDcConductance : lspkE_.conductance(0, 0); // speaker inductors: shorts at DC (D-059) + G[eLspkM] = dc ? kWindingDcConductance : lspkM_.conductance(0, 0); for (int w = 0; w < 3; ++w) G[kWindings[w]] = dc ? kWindingDcConductance : ot_.conductance(w, w); return G; @@ -123,9 +130,13 @@ void PowerStage::reset(double vocA, double vocB) { cgkB_.setDcVoltage(across(eCgkB)); cgpB_.setDcVoltage(across(eCgpB)); cpkB_.setDcVoltage(across(eCpkB)); + cspkM_.setDcVoltage(across(eCspkM)); // winding currents into each + terminal from the series resistances (not from the 1 MS DC "short") const auto& v = root_.node; ot_.setDcCurrents({(v[pA] - v[pA1]) / Rwp1, (v[pB1] - v[pB]) / Rwp2, v[sl] / Rws}); + const double iSpk = (v[out] - v[spk1]) / RspkE; // speaker load at DC: Le and Lm short (D-059) + lspkE_.setDcCurrents({iSpk}); + lspkM_.setDcCurrents({iSpk}); updateOutputs(vocA, vocB); } diff --git a/engine/src/stage56/Stage56Network.h b/engine/src/stage56/Stage56Network.h index 05c1450..7fc5297 100644 --- a/engine/src/stage56/Stage56Network.h +++ b/engine/src/stage56/Stage56Network.h @@ -11,6 +11,7 @@ namespace amp2203::stage56 { enum Node : int { y, g3a, nF, k3, g3b, nG, p3a, p3b, // phase inverter nGn, nOr, nbias, gA, gB, sA, sB, pA, pA1, pB1, pB, out, sl, // power stage + spk1, spk2, // speaker load (D-059) kNumNodes }; @@ -41,7 +42,12 @@ enum Element : int { eRwp2, // pB1 – pB eLs, // out – sl eRws, // sl – gnd - eRload, // out – gnd + eRspkE, // speaker Re: out – spk1 (D-059) + eLspkE, // voice-coil inductance: spk1 – spk2 + eRspkLe, // its eddy-loss resistance: spk1 – spk2 + eRspkM, // motional resonance R: spk2 – gnd + eLspkM, // motional resonance L: spk2 – gnd + eCspkM, // motional resonance C: spk2 – gnd kNumElements }; @@ -90,7 +96,12 @@ inline constexpr mna::PortNetwork kElements{{{ {pB1, pB}, {out, sl}, {sl, mna::kGround}, - {out, mna::kGround}, + {out, spk1}, + {spk1, spk2}, + {spk1, spk2}, + {spk2, mna::kGround}, + {spk2, mna::kGround}, + {spk2, mna::kGround}, }}}; inline constexpr mna::PortNetwork kRoot{{{ diff --git a/engine/src/stage6/Stage6Network.h b/engine/src/stage6/Stage6Network.h index 2579458..982621a 100644 --- a/engine/src/stage6/Stage6Network.h +++ b/engine/src/stage6/Stage6Network.h @@ -9,7 +9,7 @@ namespace amp2203::stage6 { /// transformer and the 16 Ω load. The OT centre tap ct and the screen supply nScr are ideal supplies: /// ports that end on ct are stored against ground with the supply offset (stage/RootNetwork.h); the /// screen resistors are resistive sources. -enum Node : int { p3a, p3b, nGn, nOr, nbias, gA, gB, sA, sB, pA, pA1, pB1, pB, out, sl, kNumNodes }; +enum Node : int { p3a, p3b, nGn, nOr, nbias, gA, gB, sA, sB, pA, pA1, pB1, pB, out, sl, spk1, spk2, kNumNodes }; enum Element : int { eJ5a, eJ5b, // J5 sources v_oc(p3a), v_oc(p3b) behind R_thA / R_thB (p3x – gnd) @@ -27,7 +27,12 @@ enum Element : int { eRwp2, // pB1 – pB eLs, // OT secondary out – sl eRws, // sl – gnd - eRload, // out – gnd + eRspkE, // speaker Re: out – spk1 (D-059) + eLspkE, // voice-coil inductance: spk1 – spk2 + eRspkLe, // its eddy-loss resistance: spk1 – spk2 + eRspkM, // motional resonance R: spk2 – gnd + eLspkM, // motional resonance L: spk2 – gnd + eCspkM, // motional resonance C: spk2 – gnd kNumElements }; @@ -59,7 +64,12 @@ inline constexpr mna::PortNetwork kElements{{{ {pB1, pB}, {out, sl}, {sl, mna::kGround}, - {out, mna::kGround}, + {out, spk1}, + {spk1, spk2}, + {spk1, spk2}, + {spk2, mna::kGround}, + {spk2, mna::kGround}, + {spk2, mna::kGround}, }}}; inline constexpr mna::PortNetwork kRoot{{{ @@ -72,7 +82,7 @@ inline constexpr mna::PortNetwork kRoot{{{ }}}; /// Sign of v(ct) in each element port's offset: (supply at node+) − (supply at node−). -inline constexpr int kElementCtSign[kNumElements] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -1, +1, 0, 0, 0, 0}; +inline constexpr int kElementCtSign[kNumElements] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -1, +1, 0, 0, 0, 0, 0, 0, 0, 0, 0}; } // namespace amp2203::stage6 diff --git a/harness/blocks.py b/harness/blocks.py index 2155187..023cb39 100644 --- a/harness/blocks.py +++ b/harness/blocks.py @@ -23,7 +23,7 @@ class Block: dc_nodes: tuple | None = None # nodes in the DC tables; None = every testbench node that F has levels: dict = field(default_factory=dict) # VERIFICATION §4, volts peak at the input source engine_block: str = '' # ampwav --block id - output_load: float = 0.0 # ohms, for power metrics (0 = none) + output_load: float = 0.0 # ohms, for power metrics (0 = none); 16 = nominal V²/16 Ω with the speaker load (D-059) recorded: tuple = () # Vrec_ sources: need recordings from another run (M4) linear: bool = False # scored with the linear-block tolerances (VERIFICATION §7) engine_supplies: tuple = () # nodes of the block's own SPICE run fed to the engine as --supply (b56) diff --git a/harness/m4_acceptance.py b/harness/m4_acceptance.py index da0bb67..1e54539 100644 --- a/harness/m4_acceptance.py +++ b/harness/m4_acceptance.py @@ -155,6 +155,7 @@ def _sine_compare(rep, section, pid, sig, f_res, e_res, sag=False): row['harm'], h_ref, h = _harm_2_9(f_res['out'][:n], e_res['out'][:n], f0) rep.add(section, 'total_harmonics_2_9_db', f'{pid} {sig.id}', row['harm'], ' dB') row['thd'] = (metrics.thd_percent(h_ref), metrics.thd_percent(h)) + # nominal power V²/16 Ω (the load is the D-059 speaker impedance): the same formula for F and the engine row['power'] = (metrics.mean_power(f_res['out'], 16.0), metrics.mean_power(e_res['out'], 16.0)) if sag: row['sag'] = (float(np.min(f_res['ct'])), float(np.min(e_res['ct']))) diff --git a/harness/testbench_gen.py b/harness/testbench_gen.py index 8848308..1611397 100644 --- a/harness/testbench_gen.py +++ b/harness/testbench_gen.py @@ -33,7 +33,7 @@ 'B4': 'C10 R15 C11 C12 RVR3a RVR3b RVR5 RVR4a RVR4b RVR2a RVR2b', 'B5': 'C9 R17 R16 R19 C15 R20 R23 C17 RVR6 R22 X3a X3b R18 R21', 'B6': ('C14 C16 C18 R24 R25 C19 Vc20 R27 R26 RRV1 R31 R33 R32 R34 R35 R37 R36 R38 X4 X5 X6 X7 ' - 'Lp1 Lp2 Ls Rwp1 Rwp2 Rws K1 K2 K3 Rload'), + 'Lp1 Lp2 Ls Rwp1 Rwp2 Rws K1 K2 K3 Rspk_e Lspk_e Rspk_le Rspk_m Lspk_m Cspk_m'), # speaker load D-059 'B7': 'Vht Rsrc C23 Lch Rch C22 R29 C21b R8 C21a', } diff --git a/harness/testbenches/b12.cir b/harness/testbenches/b12.cir index fa53757..fb30271 100644 --- a/harness/testbenches/b12.cir +++ b/harness/testbenches/b12.cir @@ -1,5 +1,5 @@ * harness testbench "b12" -- GENERATED by harness/testbench_gen.py, do not edit -* source: reference/spice/jcm800_2203.cir (sha256 7bea8385e4adb04e) +* source: reference/spice/jcm800_2203.cir (sha256 83f01b6fd8b64a06) * B12 StageV1aV1b (V1a and V1b, joint root). Input: guitar source at node in. * Output: p1b (open). Supply bpA: constant from F op. .include tubes.lib diff --git a/harness/testbenches/b123.cir b/harness/testbenches/b123.cir index 3b665e6..a8d8721 100644 --- a/harness/testbenches/b123.cir +++ b/harness/testbenches/b123.cir @@ -1,5 +1,5 @@ * harness testbench "b123" -- GENERATED by harness/testbench_gen.py, do not edit -* source: reference/spice/jcm800_2203.cir (sha256 7bea8385e4adb04e) +* source: reference/spice/jcm800_2203.cir (sha256 83f01b6fd8b64a06) * Junction reference for J2: B12 and B3 joined directly (no J-Thevenin source), for the SPICE * partition-error study of J2 (harness/partition.py). Input: guitar source at node in. * Output: k2b (open). Supplies bpA, bpX: constant from F op. diff --git a/harness/testbenches/b1234.cir b/harness/testbenches/b1234.cir index b5e2824..34f2361 100644 --- a/harness/testbenches/b1234.cir +++ b/harness/testbenches/b1234.cir @@ -1,5 +1,5 @@ * harness testbench "b1234" -- GENERATED by harness/testbench_gen.py, do not edit -* source: reference/spice/jcm800_2203.cir (sha256 7bea8385e4adb04e) +* source: reference/spice/jcm800_2203.cir (sha256 83f01b6fd8b64a06) * B1234 Preamp: B12, B3 and B4 in one tree with an 8-port root (no J2 / J3; DECISIONS D-038). * Input: guitar source at node in. Output: y (open, master wiper). Supplies bpA, bpX: constant * from F op (the cascade study drives them with F's recorded waveforms). diff --git a/harness/testbenches/b3.cir b/harness/testbenches/b3.cir index 34cf861..1041315 100644 --- a/harness/testbenches/b3.cir +++ b/harness/testbenches/b3.cir @@ -1,5 +1,5 @@ * harness testbench "b3" -- GENERATED by harness/testbench_gen.py, do not edit -* source: reference/spice/jcm800_2203.cir (sha256 7bea8385e4adb04e) +* source: reference/spice/jcm800_2203.cir (sha256 83f01b6fd8b64a06) * B3 StageV2aV2b. Input: J2 Thevenin source (v_oc(p1b), R_th2) into node p1b. * Output: k2b (open). Supply bpX: constant from F op. .include tubes.lib diff --git a/harness/testbenches/b34.cir b/harness/testbenches/b34.cir index eb244a1..09bb7f3 100644 --- a/harness/testbenches/b34.cir +++ b/harness/testbenches/b34.cir @@ -1,5 +1,5 @@ * harness testbench "b34" -- GENERATED by harness/testbench_gen.py, do not edit -* source: reference/spice/jcm800_2203.cir (sha256 7bea8385e4adb04e) +* source: reference/spice/jcm800_2203.cir (sha256 83f01b6fd8b64a06) * B34 StageV2aV2bToneStack: B3 and B4 joined in one tree (no J3; DECISIONS D-033). * Input: J2 Thevenin source (v_oc(p1b), R_th2) into node p1b. Output: y (open, master wiper). * Supply bpX: constant from F op. diff --git a/harness/testbenches/b4.cir b/harness/testbenches/b4.cir index f4f6ba1..c381998 100644 --- a/harness/testbenches/b4.cir +++ b/harness/testbenches/b4.cir @@ -1,5 +1,5 @@ * harness testbench "b4" -- GENERATED by harness/testbench_gen.py, do not edit -* source: reference/spice/jcm800_2203.cir (sha256 7bea8385e4adb04e) +* source: reference/spice/jcm800_2203.cir (sha256 83f01b6fd8b64a06) * B4 ToneStackMaster. Input: J3 Thevenin source (v_oc(k2b), R_th3) into node k2b. * Output: y (open, master wiper). .include tubes.lib diff --git a/harness/testbenches/b56.cir b/harness/testbenches/b56.cir index 8cd1db8..a30b8bb 100644 --- a/harness/testbenches/b56.cir +++ b/harness/testbenches/b56.cir @@ -1,5 +1,5 @@ * harness testbench "b56" -- GENERATED by harness/testbench_gen.py, do not edit -* source: reference/spice/jcm800_2203.cir (sha256 7bea8385e4adb04e) +* source: reference/spice/jcm800_2203.cir (sha256 83f01b6fd8b64a06) * B56+B7: phase inverter, power stage and supply with instantaneous NFB (VERIFICATION §1). * Input: J4 Thevenin source (v_oc(y), R_th4) into node y; R_th4 = DC formula (WDF_DESIGN §6). * Preamp loads on bpA / bpX: constant current sinks from F op (recorded waveforms in M4). @@ -58,7 +58,12 @@ Rws sl 0 0.320 K1 Lp1 Lp2 {kot} K2 Lp1 Ls {kot} K3 Lp2 Ls {kot} -Rload out 0 16 +Rspk_e out spk1 13 +Lspk_e spk1 spk2 1.0m +Rspk_le spk1 spk2 45 +Rspk_m spk2 0 37 +Lspk_m spk2 0 0.0294437 +Cspk_m spk2 0 8.60297e-05 *** B7 (from the reference netlist) Vht raw 0 DC {vnl} diff --git a/harness/testbenches/b56j5.cir b/harness/testbenches/b56j5.cir index 8765f20..4fade9a 100644 --- a/harness/testbenches/b56j5.cir +++ b/harness/testbenches/b56j5.cir @@ -1,5 +1,5 @@ * harness testbench "b56j5" -- GENERATED by harness/testbench_gen.py, do not edit -* source: reference/spice/jcm800_2203.cir (sha256 7bea8385e4adb04e) +* source: reference/spice/jcm800_2203.cir (sha256 83f01b6fd8b64a06) * J5 partition reference: B56+B7 as b56 (closed loop, instantaneous NFB), but C14 / C16 are fed * by J5 Thevenin sources (VCVS copies of the unloaded PI plates p3a / p3b behind R_thA / R_thB) * instead of the plates themselves (harness/partition_j5.py). @@ -61,7 +61,12 @@ Rws sl 0 0.320 K1 Lp1 Lp2 {kot} K2 Lp1 Ls {kot} K3 Lp2 Ls {kot} -Rload out 0 16 +Rspk_e out spk1 13 +Lspk_e spk1 spk2 1.0m +Rspk_le spk1 spk2 45 +Rspk_m spk2 0 37 +Lspk_m spk2 0 0.0294437 +Cspk_m spk2 0 8.60297e-05 *** B7 (from the reference netlist) Vht raw 0 DC {vnl} diff --git a/harness/testbenches/b5open.cir b/harness/testbenches/b5open.cir index 2a890ff..c8791ee 100644 --- a/harness/testbenches/b5open.cir +++ b/harness/testbenches/b5open.cir @@ -1,5 +1,5 @@ * harness testbench "b5open" -- GENERATED by harness/testbench_gen.py, do not edit -* source: reference/spice/jcm800_2203.cir (sha256 7bea8385e4adb04e) +* source: reference/spice/jcm800_2203.cir (sha256 83f01b6fd8b64a06) * B5-open: phase inverter with R22 driven by the recorded speaker voltage (ideal source). * Input: J4 Thevenin source into node y. Outputs: p3a, p3b (open). * Recorded sources (from a B56 run): out, bpX. DC values from F op. @@ -32,5 +32,5 @@ Vin j4s 0 DC 0 AC 1 Rth_j4 j4s y {rth_j4} *** recorded (inserted by the harness) -Vrec_out out 0 DC 4.26007353e-05 +Vrec_out out 0 DC 4.24088407e-05 Vrec_bpx bpX 0 DC 404.998185 diff --git a/harness/testbenches/b6.cir b/harness/testbenches/b6.cir index f15512a..9aaefbe 100644 --- a/harness/testbenches/b6.cir +++ b/harness/testbenches/b6.cir @@ -1,5 +1,5 @@ * harness testbench "b6" -- GENERATED by harness/testbench_gen.py, do not edit -* source: reference/spice/jcm800_2203.cir (sha256 7bea8385e4adb04e) +* source: reference/spice/jcm800_2203.cir (sha256 83f01b6fd8b64a06) * B6 PowerStage driven by the recorded PI open-circuit outputs through R_thA / R_thB. * No Vin: both inputs are recorded sources (from a B56 / B5-open run). Output: out. * Recorded supply rails (from a B56 run): ct, nScr. DC values from F op. @@ -44,7 +44,12 @@ Rws sl 0 0.320 K1 Lp1 Lp2 {kot} K2 Lp1 Ls {kot} K3 Lp2 Ls {kot} -Rload out 0 16 +Rspk_e out spk1 13 +Lspk_e spk1 spk2 1.0m +Rspk_le spk1 spk2 45 +Rspk_m spk2 0 37 +Lspk_m spk2 0 0.0294437 +Cspk_m spk2 0 8.60297e-05 *** J5a (inserted by the harness) Vrec_p3a j5a 0 DC 272.611263 diff --git a/harness/testbenches/full.cir b/harness/testbenches/full.cir index be95e6d..9b3ceb9 100644 --- a/harness/testbenches/full.cir +++ b/harness/testbenches/full.cir @@ -1,5 +1,5 @@ * harness testbench "full" -- GENERATED by harness/testbench_gen.py, do not edit -* source: reference/spice/jcm800_2203.cir (sha256 7bea8385e4adb04e) +* source: reference/spice/jcm800_2203.cir (sha256 83f01b6fd8b64a06) * Reference F: identical to the reference netlist. * Input: Vin in 0 (replaced by a filesource for transient runs). * Reference model. Knob params are rotations 0..1. See ASSUMPTIONS in README. @@ -113,7 +113,14 @@ Rws sl 0 0.320 K1 Lp1 Lp2 {kot} K2 Lp1 Ls {kot} K3 Lp2 Ls {kot} -Rload out 0 16 +* Speaker load (D-059): nominal 16 ohm 4x12, representative electrical equivalent (no published G12T-75 T/S data): +* Re 13 ohm, voice coil Le 1.0 mH || 45 ohm (eddy loss), motional resonance 100 Hz (37 ohm || Lm || Cm, Q 2) +Rspk_e out spk1 13 +Lspk_e spk1 spk2 1.0m +Rspk_le spk1 spk2 45 +Rspk_m spk2 0 37 +Lspk_m spk2 0 0.0294437 +Cspk_m spk2 0 8.60297e-05 *** HT supply (rectifier + mains TX approximated as DC source behind rsrc) Vht raw 0 DC {vnl} diff --git a/reference/README.md b/reference/README.md index 40f4cf5..3ec2d02 100644 --- a/reference/README.md +++ b/reference/README.md @@ -31,7 +31,7 @@ C5 1 nF across Preamp Volume top-to-wiper; "50+50 µF" cans modelled as 50 µF p ## Assumed values (not on the schematic) HT source 505 V behind 100 Ω; bias −60 V at the C20 node with RV1 = 4 kΩ; Koren 12AX7 parameters (generic); EL34 parameters fitted to the Ei-RC data sheet curves (D-058); resistive -16 Ω load; ideal guitar source. +ideal guitar source. The load is a representative nominal 16 Ω 4x12 speaker impedance (D-059; was a 16 Ω resistor). ## Output transformer (Hammond 1750U datasheet) OT 1.7 kΩ : 16 Ω (nominal ratio), DCR 15.36 / 16.56 Ω per half-primary (Blue–White on the pA side) and @@ -57,7 +57,8 @@ runs it at ≈ 27 mA; the inductance at that current is not specified and stays - Speed: ≈ 27x slower than real time for the full amp. ## Known limitations -No rectifier/ripple or mains-transformer dynamics, no OT core saturation or hysteresis, no reactive -speaker load, generic 12AX7 model. The Koren pentode screen equation gives ~0 screen current at this +No rectifier/ripple or mains-transformer dynamics, no OT core saturation or hysteresis, generic 12AX7 model, a +representative (not measured) speaker impedance with no cone breakup or acoustic output (the cab IR follows the +speaker voltage). The Koren pentode screen equation gives ~0 screen current at this bias, so `tubes.lib` computes screen current from the same E1 term as the plate current, plus diversion of plate current to the screen when the plate swings low. diff --git a/reference/spice/jcm800_2203.cir b/reference/spice/jcm800_2203.cir index 048696f..b743393 100644 --- a/reference/spice/jcm800_2203.cir +++ b/reference/spice/jcm800_2203.cir @@ -110,7 +110,14 @@ Rws sl 0 0.320 K1 Lp1 Lp2 {kot} K2 Lp1 Ls {kot} K3 Lp2 Ls {kot} -Rload out 0 16 +* Speaker load (D-059): nominal 16 ohm 4x12, representative electrical equivalent (no published G12T-75 T/S data): +* Re 13 ohm, voice coil Le 1.0 mH || 45 ohm (eddy loss), motional resonance 100 Hz (37 ohm || Lm || Cm, Q 2) +Rspk_e out spk1 13 +Lspk_e spk1 spk2 1.0m +Rspk_le spk1 spk2 45 +Rspk_m spk2 0 37 +Lspk_m spk2 0 0.0294437 +Cspk_m spk2 0 8.60297e-05 *** HT supply (rectifier + mains TX approximated as DC source behind rsrc) Vht raw 0 DC {vnl} diff --git a/tests/test_amp2203.cpp b/tests/test_amp2203.cpp index 156ff4b..90802aa 100644 --- a/tests/test_amp2203.cpp +++ b/tests/test_amp2203.cpp @@ -39,10 +39,10 @@ TEST_CASE("Amp2203 starts at the full-netlist DC operating point", "[amp2203][m4 REQUIRE(std::fabs(probe(amp, "ip_tube_a") - 0.0287723165965592) < 1e-3); // ±1 mA per tube REQUIRE(std::fabs(probe(amp, "is_tube_a") - 0.0032641827099544754) < 0.3e-3); - // silence in, silence out (SPEC §3.6: within 1 µV of the DC output; F's speaker node carries 42.6 µV + // silence in, silence out (SPEC §3.6: within 1 µV of the DC output; F's speaker node carries 42.4 µV // of NFB DC current through R22, and so does the engine) const double outDc = probe(amp, "out"); - REQUIRE(std::fabs(outDc - 4.26007352859038e-05) < 1e-7); + REQUIRE(std::fabs(outDc - 4.240884065521802e-05) < 1e-7); std::vector x(8192, 0.0); amp.process(x.data(), static_cast(x.size())); for (double y : x) diff --git a/tests/test_power_amp.cpp b/tests/test_power_amp.cpp index cd839b4..c81bf73 100644 --- a/tests/test_power_amp.cpp +++ b/tests/test_power_amp.cpp @@ -43,9 +43,9 @@ TEST_CASE("PowerAmp starts at the full-netlist DC operating point", "[stage56][m INFO(n << ": " << probe(s, n) << " (SPICE " << v << ")"); REQUIRE(std::fabs(probe(s, n) / v - 1.0) < 5e-3); } - // F's speaker node carries the NFB DC current through R22 (CIRCUIT.md §5: 42.6 µV) + // F's speaker node carries the NFB DC current through R22 (CIRCUIT.md §5: 42.4 µV) INFO("out " << s.output()); - REQUIRE(std::fabs(s.output() - 4.26007352859038e-05) < 1e-7); + REQUIRE(std::fabs(s.output() - 4.240884065521802e-05) < 1e-7); REQUIRE(std::fabs(probe(s, "ip_tube_a") - 0.0287723165965592) < 1e-3); REQUIRE(std::fabs(probe(s, "is_tube_b") - 0.0032641827099544754) < 0.3e-3); From 507f856440979f84202960759cc02c5793f96681 Mon Sep 17 00:00:00 2001 From: CatastrophicCoder Date: Fri, 16 Oct 2026 03:26:12 +0300 Subject: [PATCH 11/17] =?UTF-8?q?m6:=20verification=20after=20D-059=20(spe?= =?UTF-8?q?aker=20load):=20acceptance=20PASS,=20HOT=20Newton=20FAILs,=20pl?= =?UTF-8?q?ugin=20config=20at=20HOT=20=E2=88=9218.8=20dB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/PROGRESS.md | 10 + harness/reports/M4/20261015_b5open_DEFAULT.md | 128 ++++++------ .../M4/20261015_b5open_DEFAULT/harmonics.png | Bin 25603 -> 25658 bytes .../M4/20261015_b5open_DEFAULT/waveform.png | Bin 77016 -> 73929 bytes .../reports/M4/20261016_full_acceptance.md | 197 ++++++++++++++++++ harness/reports/M5/20261016_b56_knob_jump.md | 9 + ...261016_full_acceptance_fs384000_j4exact.md | 197 ++++++++++++++++++ ...16_full_acceptance_fs384000_j4exact_hot.md | 52 +++++ harness/reports/M6/20261016_plugin_cpu.md | 39 ++++ .../M6/20261016_plugin_null_2x_half.md | 62 ++++++ .../M6/20261016_x2_rates_d059_full2x.md | 48 +++++ .../M6/20261016_x2_rates_d059_half2x.md | 48 +++++ .../M6/20261016_x2_rates_d059_half2x_trig0.md | 48 +++++ 13 files changed, 775 insertions(+), 63 deletions(-) create mode 100644 harness/reports/M4/20261016_full_acceptance.md create mode 100644 harness/reports/M5/20261016_b56_knob_jump.md create mode 100644 harness/reports/M6/20261016_full_acceptance_fs384000_j4exact.md create mode 100644 harness/reports/M6/20261016_full_acceptance_fs384000_j4exact_hot.md create mode 100644 harness/reports/M6/20261016_plugin_cpu.md create mode 100644 harness/reports/M6/20261016_plugin_null_2x_half.md create mode 100644 harness/reports/M6/20261016_x2_rates_d059_full2x.md create mode 100644 harness/reports/M6/20261016_x2_rates_d059_half2x.md create mode 100644 harness/reports/M6/20261016_x2_rates_d059_half2x_trig0.md diff --git a/docs/PROGRESS.md b/docs/PROGRESS.md index 6abd7f8..c64916b 100644 --- a/docs/PROGRESS.md +++ b/docs/PROGRESS.md @@ -806,6 +806,16 @@ Notes: Re 13 Ω + (Le 1.0 mH ‖ 45 Ω) + (Res 37 Ω ‖ Lm ‖ Cm at 100 Hz, Q 2); engine B56 (`PowerAmp`) and B6 (`PowerStage`): two nodes, six elements (inductors as one-winding CoupledInductors, the capacitor a DcCapacitor; DC states, half-step rescaling); testbench_gen / blocks / CLEAN power label; C++ DC fixtures, CIRCUIT.md §5, README; re-verify as after D-058. +- D-059 verification (new references): M4 full acceptance (768 kHz) 107 PASS (CRUNCH / DRIVE DI −60.3 … −62.1 dB); 384 kHz + exact J4 107 PASS; HOT 17 PASS / 4 FAIL: DI ESR −33.5 … −35.7 dB (was −42.2 … −43.3) and 37–56 first-solve Newton failures + per DI clip in the power amp, all rescued (newton_failures ≤ 0 FAIL); b5open 88 PASS; b56 and b6 not scored: their SPICE + references stop with "timestep too small" at RELTOL 1e-8 (long sweeps, t ≈ 1.5–1.8 s). Presence knob jump −62.9 dB; + null test 26 / 26; plugin CPU static 33.2 % (every knob 10), automation ≈ 23–24 %. + Plugin model check (half 2x, 1e-4 V): HOT −18.8 dB vs SPICE (FAIL ≤ −20; was −23.1), unseen −16.5 dB; half-steps off + −19.2 dB (FAIL); full-rate power amp at 2x −24.1 dB (PASS), unseen −20.8 dB, engine 26.8 / 40.8 % (default / HOT). + Power-amp Newton at HOT (DI L): failures 49 / 420 at 8x / 16x (43 unrescued at 16x); maxIter 64 or a looser tolerance + do not change them; half-steps off: 3 / 68; half-steps every sample: 64 / 466. Cause (half-step handling of the speaker + inductors vs a stiffer discretised load) not yet established. ## Questions for the owner _(Claude Code: add questions here and also ask them in the session.)_ diff --git a/harness/reports/M4/20261015_b5open_DEFAULT.md b/harness/reports/M4/20261015_b5open_DEFAULT.md index 3188d30..c1fd1b8 100644 --- a/harness/reports/M4/20261015_b5open_DEFAULT.md +++ b/harness/reports/M4/20261015_b5open_DEFAULT.md @@ -4,10 +4,12 @@ - Preset: DEFAULT — Default knobs; standard signal set at the block levels - Knobs: preampVolume=0.6, treble=0.5, middle=0.5, bass=0.5, master=0.3, presence=0.5 - Date: 2026-10-15 -- Engine commit: `476d21f (dirty)` -- Testbench: `harness/testbenches/b5open.cir` sha256 `b4224b865df6ebae`; netlist sha256 `7bea8385e4adb04e`; tubes.lib sha256 `5767afe208240bfa` +- Engine commit: `3cb4124 (dirty)` +- Testbench: `harness/testbenches/b5open.cir` sha256 `44543f92cde2a435`; netlist sha256 `83f01b6fd8b64a06`; tubes.lib sha256 `5767afe208240bfa` - ngspice 47, fs = 768000 Hz, SPICE reltol 1e-08 +> SWP-lo-0.1V b56: source run rendered at RELTOL 1e-07 (timestep too small at 1e-08) + ## Summary PASS 88 · FAIL 0 · INFO 12 (INFO = measured, not scored in M4) @@ -21,96 +23,96 @@ PASS 88 · FAIL 0 · INFO 12 (INFO = measured, not scored in M4) | dc_rel_error | v(ng) | 2.526e-05 | ≤ 0.005 | PASS | | dc_rel_error | v(p3a) | 1.223e-05 | ≤ 0.005 | PASS | | dc_rel_error | v(p3b) | 1.353e-05 | ≤ 0.005 | PASS | -| dc_rel_error | v(y) | 4.441e-12 | ≤ 0.005 | PASS | -| nonlinear_esr_db | SIN-100Hz-0.1V | -84.13 dB | ≤ -20 | PASS | -| harmonics_2_5_db | SIN-100Hz-0.1V | 0.0005039 dB | ≤ 0.5 | PASS | -| thd_pp | SIN-100Hz-0.1V | 1.176e-06 pp | — | INFO | +| dc_rel_error | v(y) | 3.553e-12 | ≤ 0.005 | PASS | +| nonlinear_esr_db | SIN-100Hz-0.1V | -84.14 dB | ≤ -20 | PASS | +| harmonics_2_5_db | SIN-100Hz-0.1V | 0.0004405 dB | ≤ 0.5 | PASS | +| thd_pp | SIN-100Hz-0.1V | 3.15e-07 pp | — | INFO | | newton_failures | SIN-100Hz-0.1V | 0 | ≤ 0 | PASS | | newton_median_iterations | SIN-100Hz-0.1V | 1 | ≤ 3 | PASS | -| newton_max_iterations | SIN-100Hz-0.1V | 2 | ≤ 12 | PASS | -| nonlinear_esr_db | SIN-1000Hz-0.1V | -80.59 dB | ≤ -20 | PASS | -| harmonics_2_5_db | SIN-1000Hz-0.1V | 0.0009675 dB | ≤ 0.5 | PASS | -| thd_pp | SIN-1000Hz-0.1V | 2.017e-07 pp | — | INFO | +| newton_max_iterations | SIN-100Hz-0.1V | 1 | ≤ 12 | PASS | +| nonlinear_esr_db | SIN-1000Hz-0.1V | -80.61 dB | ≤ -20 | PASS | +| harmonics_2_5_db | SIN-1000Hz-0.1V | 0.0009776 dB | ≤ 0.5 | PASS | +| thd_pp | SIN-1000Hz-0.1V | 7.277e-07 pp | — | INFO | | newton_failures | SIN-1000Hz-0.1V | 0 | ≤ 0 | PASS | | newton_median_iterations | SIN-1000Hz-0.1V | 1 | ≤ 3 | PASS | | newton_max_iterations | SIN-1000Hz-0.1V | 2 | ≤ 12 | PASS | -| nonlinear_esr_db | SIN-5000Hz-0.1V | -68.55 dB | ≤ -20 | PASS | -| harmonics_2_5_db | SIN-5000Hz-0.1V | 0.09361 dB | ≤ 0.5 | PASS | -| thd_pp | SIN-5000Hz-0.1V | 0.0001017 pp | — | INFO | +| nonlinear_esr_db | SIN-5000Hz-0.1V | -68.37 dB | ≤ -20 | PASS | +| harmonics_2_5_db | SIN-5000Hz-0.1V | 0.01189 dB | ≤ 0.5 | PASS | +| thd_pp | SIN-5000Hz-0.1V | 3.277e-05 pp | — | INFO | | newton_failures | SIN-5000Hz-0.1V | 0 | ≤ 0 | PASS | | newton_median_iterations | SIN-5000Hz-0.1V | 2 | ≤ 3 | PASS | | newton_max_iterations | SIN-5000Hz-0.1V | 2 | ≤ 12 | PASS | -| nonlinear_esr_db | SIN-100Hz-1V | -84.11 dB | ≤ -20 | PASS | -| harmonics_2_5_db | SIN-100Hz-1V | 0.000521 dB | ≤ 0.5 | PASS | -| thd_pp | SIN-100Hz-1V | 8.059e-06 pp | — | INFO | +| nonlinear_esr_db | SIN-100Hz-1V | -84.13 dB | ≤ -20 | PASS | +| harmonics_2_5_db | SIN-100Hz-1V | 0.0004838 dB | ≤ 0.5 | PASS | +| thd_pp | SIN-100Hz-1V | 3.29e-06 pp | — | INFO | | newton_failures | SIN-100Hz-1V | 0 | ≤ 0 | PASS | | newton_median_iterations | SIN-100Hz-1V | 1 | ≤ 3 | PASS | | newton_max_iterations | SIN-100Hz-1V | 2 | ≤ 12 | PASS | -| nonlinear_esr_db | SIN-1000Hz-1V | -80.57 dB | ≤ -20 | PASS | -| harmonics_2_5_db | SIN-1000Hz-1V | 0.001835 dB | ≤ 0.5 | PASS | -| thd_pp | SIN-1000Hz-1V | 5.855e-05 pp | — | INFO | +| nonlinear_esr_db | SIN-1000Hz-1V | -80.59 dB | ≤ -20 | PASS | +| harmonics_2_5_db | SIN-1000Hz-1V | 0.001843 dB | ≤ 0.5 | PASS | +| thd_pp | SIN-1000Hz-1V | 8.536e-05 pp | — | INFO | | newton_failures | SIN-1000Hz-1V | 0 | ≤ 0 | PASS | | newton_median_iterations | SIN-1000Hz-1V | 2 | ≤ 3 | PASS | | newton_max_iterations | SIN-1000Hz-1V | 2 | ≤ 12 | PASS | -| nonlinear_esr_db | SIN-5000Hz-1V | -68.52 dB | ≤ -20 | PASS | -| harmonics_2_5_db | SIN-5000Hz-1V | 0.02713 dB | ≤ 0.5 | PASS | -| thd_pp | SIN-5000Hz-1V | 0.001738 pp | — | INFO | +| nonlinear_esr_db | SIN-5000Hz-1V | -68.4 dB | ≤ -20 | PASS | +| harmonics_2_5_db | SIN-5000Hz-1V | 0.03292 dB | ≤ 0.5 | PASS | +| thd_pp | SIN-5000Hz-1V | 0.001451 pp | — | INFO | | newton_failures | SIN-5000Hz-1V | 0 | ≤ 0 | PASS | | newton_median_iterations | SIN-5000Hz-1V | 2 | ≤ 3 | PASS | | newton_max_iterations | SIN-5000Hz-1V | 2 | ≤ 12 | PASS | -| nonlinear_esr_db | SIN-100Hz-5V | -83.46 dB | ≤ -20 | PASS | -| harmonics_2_5_db | SIN-100Hz-5V | 0.001436 dB | ≤ 0.5 | PASS | -| thd_pp | SIN-100Hz-5V | 1.737e-05 pp | — | INFO | +| nonlinear_esr_db | SIN-100Hz-5V | -83.88 dB | ≤ -20 | PASS | +| harmonics_2_5_db | SIN-100Hz-5V | 0.000628 dB | ≤ 0.5 | PASS | +| thd_pp | SIN-100Hz-5V | 3.143e-05 pp | — | INFO | | newton_failures | SIN-100Hz-5V | 0 | ≤ 0 | PASS | | newton_median_iterations | SIN-100Hz-5V | 1 | ≤ 3 | PASS | | newton_max_iterations | SIN-100Hz-5V | 2 | ≤ 12 | PASS | -| nonlinear_esr_db | SIN-1000Hz-5V | -79.92 dB | ≤ -20 | PASS | -| harmonics_2_5_db | SIN-1000Hz-5V | 0.03055 dB | ≤ 0.5 | PASS | -| thd_pp | SIN-1000Hz-5V | 0.0008429 pp | — | INFO | +| nonlinear_esr_db | SIN-1000Hz-5V | -79.54 dB | ≤ -20 | PASS | +| harmonics_2_5_db | SIN-1000Hz-5V | 0.01625 dB | ≤ 0.5 | PASS | +| thd_pp | SIN-1000Hz-5V | 0.001227 pp | — | INFO | | newton_failures | SIN-1000Hz-5V | 0 | ≤ 0 | PASS | | newton_median_iterations | SIN-1000Hz-5V | 2 | ≤ 3 | PASS | | newton_max_iterations | SIN-1000Hz-5V | 2 | ≤ 12 | PASS | -| nonlinear_esr_db | SIN-5000Hz-5V | -67.23 dB | ≤ -20 | PASS | -| harmonics_2_5_db | SIN-5000Hz-5V | 0.04569 dB | ≤ 0.5 | PASS | -| thd_pp | SIN-5000Hz-5V | 0.01865 pp | — | INFO | +| nonlinear_esr_db | SIN-5000Hz-5V | -66.53 dB | ≤ -20 | PASS | +| harmonics_2_5_db | SIN-5000Hz-5V | 0.02992 dB | ≤ 0.5 | PASS | +| thd_pp | SIN-5000Hz-5V | 0.02042 pp | — | INFO | | newton_failures | SIN-5000Hz-5V | 0 | ≤ 0 | PASS | | newton_median_iterations | SIN-5000Hz-5V | 2 | ≤ 3 | PASS | | newton_max_iterations | SIN-5000Hz-5V | 3 | ≤ 12 | PASS | -| nonlinear_esr_db_overdrive | SIN-100Hz-20V | -75.07 dB | ≤ -20 | PASS | -| harmonics_2_5_db | SIN-100Hz-20V | 0.003758 dB | ≤ 0.5 | PASS | -| thd_pp | SIN-100Hz-20V | 0.002551 pp | — | INFO | +| nonlinear_esr_db_overdrive | SIN-100Hz-20V | -75.04 dB | ≤ -20 | PASS | +| harmonics_2_5_db | SIN-100Hz-20V | 0.003219 dB | ≤ 0.5 | PASS | +| thd_pp | SIN-100Hz-20V | 0.002833 pp | — | INFO | | newton_failures | SIN-100Hz-20V | 0 | ≤ 0 | PASS | | newton_median_iterations | SIN-100Hz-20V | 1 | ≤ 3 | PASS | | newton_max_iterations | SIN-100Hz-20V | 2 | ≤ 12 | PASS | -| nonlinear_esr_db_overdrive | SIN-1000Hz-20V | -74.15 dB | ≤ -20 | PASS | -| harmonics_2_5_db | SIN-1000Hz-20V | 0.00795 dB | ≤ 0.5 | PASS | -| thd_pp | SIN-1000Hz-20V | 0.002113 pp | — | INFO | +| nonlinear_esr_db_overdrive | SIN-1000Hz-20V | -73.74 dB | ≤ -20 | PASS | +| harmonics_2_5_db | SIN-1000Hz-20V | 0.002388 dB | ≤ 0.5 | PASS | +| thd_pp | SIN-1000Hz-20V | 0.002133 pp | — | INFO | | newton_failures | SIN-1000Hz-20V | 0 | ≤ 0 | PASS | | newton_median_iterations | SIN-1000Hz-20V | 2 | ≤ 3 | PASS | | newton_max_iterations | SIN-1000Hz-20V | 3 | ≤ 12 | PASS | -| nonlinear_esr_db_overdrive | SIN-5000Hz-20V | -65.08 dB | ≤ -20 | PASS | -| harmonics_2_5_db | SIN-5000Hz-20V | 0.0819 dB | ≤ 0.5 | PASS | -| thd_pp | SIN-5000Hz-20V | 0.0003368 pp | — | INFO | +| nonlinear_esr_db_overdrive | SIN-5000Hz-20V | -61.74 dB | ≤ -20 | PASS | +| harmonics_2_5_db | SIN-5000Hz-20V | 0.03478 dB | ≤ 0.5 | PASS | +| thd_pp | SIN-5000Hz-20V | 0.01646 pp | — | INFO | | newton_failures | SIN-5000Hz-20V | 0 | ≤ 0 | PASS | | newton_median_iterations | SIN-5000Hz-20V | 2 | ≤ 3 | PASS | | newton_max_iterations | SIN-5000Hz-20V | 4 | ≤ 12 | PASS | -| nonlinear_esr_db | SWP-lo-0.1V | -65.03 dB | ≤ -20 | PASS | +| nonlinear_esr_db | SWP-lo-0.1V | -69.19 dB | ≤ -20 | PASS | | newton_failures | SWP-lo-0.1V | 0 | ≤ 0 | PASS | | newton_median_iterations | SWP-lo-0.1V | 1 | ≤ 3 | PASS | | newton_max_iterations | SWP-lo-0.1V | 3 | ≤ 12 | PASS | -| nonlinear_esr_db | SWP-hi-1V | -64.98 dB | ≤ -20 | PASS | +| nonlinear_esr_db | SWP-hi-1V | -69.04 dB | ≤ -20 | PASS | | newton_failures | SWP-hi-1V | 0 | ≤ 0 | PASS | | newton_median_iterations | SWP-hi-1V | 1 | ≤ 3 | PASS | | newton_max_iterations | SWP-hi-1V | 3 | ≤ 12 | PASS | -| nonlinear_esr_db | TT-0.5V | -83.68 dB | ≤ -20 | PASS | +| nonlinear_esr_db | TT-0.5V | -83.65 dB | ≤ -20 | PASS | | newton_failures | TT-0.5V | 0 | ≤ 0 | PASS | | newton_median_iterations | TT-0.5V | 1 | ≤ 3 | PASS | | newton_max_iterations | TT-0.5V | 2 | ≤ 12 | PASS | -| nonlinear_esr_db | BURST-5V | -80.14 dB | ≤ -20 | PASS | +| nonlinear_esr_db | BURST-5V | -79.75 dB | ≤ -20 | PASS | | newton_failures | BURST-5V | 0 | ≤ 0 | PASS | | newton_median_iterations | BURST-5V | 1 | ≤ 3 | PASS | | newton_max_iterations | BURST-5V | 2 | ≤ 12 | PASS | -| nonlinear_esr_db | STEP-1V | -80.09 dB | ≤ -20 | PASS | +| nonlinear_esr_db | STEP-1V | -82.54 dB | ≤ -20 | PASS | | newton_failures | STEP-1V | 0 | ≤ 0 | PASS | | newton_median_iterations | STEP-1V | 1 | ≤ 3 | PASS | | newton_max_iterations | STEP-1V | 2 | ≤ 12 | PASS | @@ -119,23 +121,23 @@ PASS 88 · FAIL 0 · INFO 12 (INFO = measured, not scored in M4) | Signal | Peak F [V] | ESR [dB] | Best lag | ESR at lag [dB] | THD F / E [%] | Power F / E [W] | ns/sample | Newton fail / median / max it | |---|---|---|---|---|---|---|---|---| -| SIN-100Hz-0.1V | 1.556 | -84.13 | 0 | -84.13 | 0.0457 / 0.0457 | — | 287.2 | 0 / 1 / 2 | -| SIN-1000Hz-0.1V | 1.536 | -80.59 | 0 | -80.59 | 0.0488 / 0.0488 | — | 281.6 | 0 / 1 / 2 | -| SIN-5000Hz-0.1V | 1.547 | -68.55 | 0 | -68.55 | 0.0519 / 0.052 | — | 407.3 | 0 / 2 / 2 | -| SIN-100Hz-1V | 15.01 | -84.11 | 0 | -84.11 | 1.25 / 1.25 | — | 282.5 | 0 / 1 / 2 | -| SIN-1000Hz-1V | 15.43 | -80.57 | 0 | -80.57 | 1.5 / 1.5 | — | 387.8 | 0 / 2 / 2 | -| SIN-5000Hz-1V | 15.57 | -68.52 | 0 | -68.52 | 1.59 / 1.59 | — | 421.3 | 0 / 2 / 2 | -| SIN-100Hz-5V | 79.46 | -83.46 | 0 | -83.46 | 4.33 / 4.33 | — | 292.5 | 0 / 1 / 2 | -| SIN-1000Hz-5V | 92.77 | -79.92 | 0 | -79.92 | 5.04 / 5.04 | — | 462.4 | 0 / 2 / 2 | -| SIN-5000Hz-5V | 92.86 | -67.23 | 0 | -67.23 | 5.29 / 5.31 | — | 479.5 | 0 / 2 / 3 | -| SIN-100Hz-20V | 132.2 | -75.07 | 0 | -75.07 | 47.2 / 47.2 | — | 388.8 | 0 / 1 / 2 | -| SIN-1000Hz-20V | 140.7 | -74.15 | 0 | -74.15 | 50.4 / 50.4 | — | 453.6 | 0 / 2 / 3 | -| SIN-5000Hz-20V | 142.7 | -65.08 | 0 | -65.08 | 50.2 / 50.2 | — | 615.5 | 0 / 2 / 4 | -| SWP-lo-0.1V | 2.48 | -65.03 | 0 | -65.03 | — | — | 316.4 | 0 / 1 / 3 | -| SWP-hi-1V | 24.65 | -64.98 | 0 | -64.98 | — | — | 342.7 | 0 / 1 / 3 | -| TT-0.5V | 14.08 | -83.68 | 0 | -83.68 | — | — | 281.5 | 0 / 1 / 2 | -| BURST-5V | 97.88 | -80.14 | 0 | -80.14 | — | — | 371.1 | 0 / 1 / 2 | -| STEP-1V | 17.72 | -80.09 | 0 | -80.09 | — | — | 282.8 | 0 / 1 / 2 | +| SIN-100Hz-0.1V | 1.309 | -84.14 | 0 | -84.14 | 0.0292 / 0.0292 | — | 278.1 | 0 / 1 / 1 | +| SIN-1000Hz-0.1V | 1.642 | -80.61 | 0 | -80.61 | 0.0599 / 0.0599 | — | 277.5 | 0 / 1 / 2 | +| SIN-5000Hz-0.1V | 1.172 | -68.37 | 0 | -68.37 | 0.0573 / 0.0573 | — | 393.4 | 0 / 2 / 2 | +| SIN-100Hz-1V | 12.67 | -84.13 | 0 | -84.13 | 0.428 / 0.428 | — | 281.7 | 0 / 1 / 2 | +| SIN-1000Hz-1V | 16.11 | -80.59 | 0 | -80.59 | 2.09 / 2.09 | — | 398.4 | 0 / 2 / 2 | +| SIN-5000Hz-1V | 11.1 | -68.40 | 0 | -68.40 | 1.4 / 1.4 | — | 424.0 | 0 / 2 / 2 | +| SIN-100Hz-5V | 56.7 | -83.88 | 0 | -83.88 | 6.05 / 6.05 | — | 280.1 | 0 / 1 / 2 | +| SIN-1000Hz-5V | 97.08 | -79.54 | 0 | -79.54 | 7.71 / 7.71 | — | 471.1 | 0 / 2 / 2 | +| SIN-5000Hz-5V | 77.43 | -66.53 | 0 | -66.53 | 13.6 / 13.6 | — | 450.7 | 0 / 2 / 3 | +| SIN-100Hz-20V | 132.2 | -75.04 | 0 | -75.04 | 47.4 / 47.4 | — | 388.9 | 0 / 1 / 2 | +| SIN-1000Hz-20V | 140.8 | -73.74 | 0 | -73.74 | 50.7 / 50.7 | — | 452.9 | 0 / 2 / 3 | +| SIN-5000Hz-20V | 142 | -61.74 | 0 | -61.74 | 53.6 / 53.6 | — | 610.7 | 0 / 2 / 4 | +| SWP-lo-0.1V | 2.693 | -69.19 | 0 | -69.19 | — | — | 312.5 | 0 / 1 / 3 | +| SWP-hi-1V | 26.97 | -69.04 | 0 | -69.04 | — | — | 345.6 | 0 / 1 / 3 | +| TT-0.5V | 14.38 | -83.65 | 0 | -83.65 | — | — | 280.8 | 0 / 1 / 2 | +| BURST-5V | 102.3 | -79.75 | 0 | -79.75 | — | — | 366.1 | 0 / 1 / 2 | +| STEP-1V | 19.85 | -82.54 | 0 | -82.54 | — | — | 284.8 | 0 / 1 / 2 | ## DC operating point @@ -149,7 +151,7 @@ PASS 88 · FAIL 0 · INFO 12 (INFO = measured, not scored in M4) | npr | 0.0000 | — | — | | p3a | 272.6113 | 272.6146 | 1.223e-05 | | p3b | 263.9512 | 263.9548 | 1.353e-05 | -| y | 0.0000 | -0.0000 | 4.441e-12 | +| y | 0.0000 | -0.0000 | 3.553e-12 | Engine values are the probe values after the first sample (zero input) following `reset()`. Nodes the engine does not probe yet show —. diff --git a/harness/reports/M4/20261015_b5open_DEFAULT/harmonics.png b/harness/reports/M4/20261015_b5open_DEFAULT/harmonics.png index 32dec5d48fce45dff8859e73115357c5f82752ee..38bf7ebf6715d1b446ac66e4af9355c12e3acc43 100644 GIT binary patch literal 25658 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 literal 25603 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 Y<*A+DH^}Se49MSiadLMo*&UGd4>!;up8x;= literal 77016 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 JIdkpazX4~!a!UXJ diff --git a/harness/reports/M4/20261016_full_acceptance.md b/harness/reports/M4/20261016_full_acceptance.md new file mode 100644 index 0000000..243d42a --- /dev/null +++ b/harness/reports/M4/20261016_full_acceptance.md @@ -0,0 +1,197 @@ +# M4 acceptance: full amplifier vs the full netlist + +- Date: 2026-10-16, engine commit `3cb4124 (dirty)`, ngspice 47, fs = 768000 Hz, SPICE reltol 1e-08 +- Netlist sha256 `83f01b6fd8b64a06`, tubes.lib sha256 `5767afe208240bfa` +- Engine: `ampwav --block full` (volts at the jack and across the 16 Ω load), the checks of SPEC §7 M4. + +## Summary + +PASS 107 · FAIL 0 + +| Section | Check | Item | Measured | Tolerance | Status | +|---|---|---|---|---|---| +| dc | dc_rel_error | v(ct) | 4.176e-07 | ≤ 0.005 | PASS | +| dc | dc_rel_error | v(nscr) | 4.492e-07 | ≤ 0.005 | PASS | +| dc | dc_rel_error | v(bpx) | 3.649e-06 | ≤ 0.005 | PASS | +| dc | dc_rel_error | v(bpa) | 5.679e-06 | ≤ 0.005 | PASS | +| dc | dc_rel_error | v(nbias) | 4.636e-08 | ≤ 0.005 | PASS | +| dc | dc_rel_error | v(p1a) | 1.994e-05 | ≤ 0.005 | PASS | +| dc | dc_rel_error | v(k1a) | 3.976e-05 | ≤ 0.005 | PASS | +| dc | dc_rel_error | v(p1b) | 1.686e-05 | ≤ 0.005 | PASS | +| dc | dc_rel_error | v(k1b) | 0.0001011 | ≤ 0.005 | PASS | +| dc | dc_rel_error | v(p2a) | 2.195e-05 | ≤ 0.005 | PASS | +| dc | dc_rel_error | v(k2a) | 2.104e-05 | ≤ 0.005 | PASS | +| dc | dc_rel_error | v(k2b) | 2.14e-05 | ≤ 0.005 | PASS | +| dc | dc_rel_error | v(p3a) | 1.576e-05 | ≤ 0.005 | PASS | +| dc | dc_rel_error | v(p3b) | 1.707e-05 | ≤ 0.005 | PASS | +| dc | dc_rel_error | v(k3) | 2.137e-05 | ≤ 0.005 | PASS | +| dc | dc_rel_error | v(nf) | 2.137e-05 | ≤ 0.005 | PASS | +| dc | dc_rel_error | v(ng) | 2.137e-05 | ≤ 0.005 | PASS | +| dc | el34_plate_ma | ip_tube_a | 8.688e-06 mA | ≤ 1 | PASS | +| dc | el34_plate_ma | ip_tube_b | 8.695e-06 mA | ≤ 1 | PASS | +| dc | el34_screen_ma | is_tube_a | 1.951e-07 mA | ≤ 0.3 | PASS | +| dc | el34_screen_ma | is_tube_b | 1.918e-07 mA | ≤ 0.3 | PASS | +| dc | ct_rel | v(ct) | 4.176e-07 | ≤ 0.01 | PASS | +| dc | nbias_v | v(nbias) | 2.15e-06 V | ≤ 0.2 | PASS | +| nfb | nfb_gain_db | closed 100 Hz | 0.001766 dB | ≤ 0.5 | PASS | +| nfb | newton_failures | closed 100 Hz | 0 | ≤ 0 | PASS | +| nfb | newton_unrescued | closed 100 Hz | 0 | — | INFO | +| nfb | newton_median_iterations | closed 100 Hz | 1 | ≤ 3 | PASS | +| nfb | newton_max_iterations | closed 100 Hz | 2 | ≤ 32 | PASS | +| nfb | nfb_gain_db | closed 1000 Hz | 0.005358 dB | ≤ 0.5 | PASS | +| nfb | newton_failures | closed 1000 Hz | 0 | ≤ 0 | PASS | +| nfb | newton_unrescued | closed 1000 Hz | 0 | — | INFO | +| nfb | newton_median_iterations | closed 1000 Hz | 1 | ≤ 3 | PASS | +| nfb | newton_max_iterations | closed 1000 Hz | 2 | ≤ 32 | PASS | +| nfb | nfb_gain_db | closed 5000 Hz | 0.01505 dB | ≤ 0.5 | PASS | +| nfb | newton_failures | closed 5000 Hz | 0 | ≤ 0 | PASS | +| nfb | newton_unrescued | closed 5000 Hz | 0 | — | INFO | +| nfb | newton_median_iterations | closed 5000 Hz | 2 | ≤ 3 | PASS | +| nfb | newton_max_iterations | closed 5000 Hz | 2 | ≤ 32 | PASS | +| nfb | nfb_gain_db | open 100 Hz | 0.002271 dB | ≤ 0.5 | PASS | +| nfb | newton_failures | open 100 Hz | 0 | ≤ 0 | PASS | +| nfb | newton_unrescued | open 100 Hz | 0 | — | INFO | +| nfb | newton_median_iterations | open 100 Hz | 1 | ≤ 3 | PASS | +| nfb | newton_max_iterations | open 100 Hz | 2 | ≤ 32 | PASS | +| nfb | nfb_gain_db | open 1000 Hz | 0.007852 dB | ≤ 0.5 | PASS | +| nfb | newton_failures | open 1000 Hz | 0 | ≤ 0 | PASS | +| nfb | newton_unrescued | open 1000 Hz | 0 | — | INFO | +| nfb | newton_median_iterations | open 1000 Hz | 1 | ≤ 3 | PASS | +| nfb | newton_max_iterations | open 1000 Hz | 2 | ≤ 32 | PASS | +| nfb | nfb_gain_db | open 5000 Hz | 0.0599 dB | ≤ 0.5 | PASS | +| nfb | newton_failures | open 5000 Hz | 0 | ≤ 0 | PASS | +| nfb | newton_unrescued | open 5000 Hz | 0 | — | INFO | +| nfb | newton_median_iterations | open 5000 Hz | 2 | ≤ 3 | PASS | +| nfb | newton_max_iterations | open 5000 Hz | 2 | ≤ 32 | PASS | +| clean | total_esr_db | CLEAN SIN-1000Hz-0.025V | -30.3 dB | ≤ -20 | PASS | +| clean | total_harmonics_2_9_db | CLEAN SIN-1000Hz-0.025V | 0.8439 dB | ≤ 1.5 | PASS | +| clean | newton_failures | CLEAN SIN-1000Hz-0.025V | 0 | ≤ 0 | PASS | +| clean | newton_unrescued | CLEAN SIN-1000Hz-0.025V | 0 | — | INFO | +| clean | newton_median_iterations | CLEAN SIN-1000Hz-0.025V | 2 | ≤ 3 | PASS | +| clean | newton_max_iterations | CLEAN SIN-1000Hz-0.025V | 5 | ≤ 32 | PASS | +| clean | total_power_rel | CLEAN SIN-1000Hz-0.025V | 0.03926 | ≤ 0.05 | PASS | +| clean | total_thd_pp | CLEAN SIN-1000Hz-0.025V | 0.2177 pp | ≤ 0.5 | PASS | +| stability | stability_out_v | max |out| | 4.355e-05 V | ≤ 0.001 | PASS | +| stability | stability_growth | RMS last 10 s − first 10 s | 4.006e-13 V | ≤ 1e-06 | PASS | +| stability | newton_failures | 60 s silence | 0 | ≤ 0 | PASS | +| stability | newton_unrescued | 60 s silence | 0 | — | INFO | +| stability | newton_median_iterations | 60 s silence | 1 | ≤ 3 | PASS | +| stability | newton_max_iterations | 60 s silence | 1 | ≤ 32 | PASS | +| overdrive | total_esr_db | OVERDRIVE SIN-220Hz-0.3V | -68.01 dB | ≤ -20 | PASS | +| overdrive | total_harmonics_2_9_db | OVERDRIVE SIN-220Hz-0.3V | 0.008618 dB | ≤ 1.5 | PASS | +| overdrive | sag_min_v | OVERDRIVE SIN-220Hz-0.3V | 0.003538 V | ≤ 2 | PASS | +| overdrive | newton_failures | OVERDRIVE SIN-220Hz-0.3V | 0 | ≤ 0 | PASS | +| overdrive | newton_unrescued | OVERDRIVE SIN-220Hz-0.3V | 0 | — | INFO | +| overdrive | newton_median_iterations | OVERDRIVE SIN-220Hz-0.3V | 1 | ≤ 3 | PASS | +| overdrive | newton_max_iterations | OVERDRIVE SIN-220Hz-0.3V | 5 | ≤ 32 | PASS | +| crunch_drive | total_esr_db | CRUNCH SIN-220Hz-0.3V | -70.27 dB | ≤ -20 | PASS | +| crunch_drive | total_harmonics_2_9_db | CRUNCH SIN-220Hz-0.3V | 0.00792 dB | ≤ 1.5 | PASS | +| crunch_drive | newton_failures | CRUNCH SIN-220Hz-0.3V | 0 | ≤ 0 | PASS | +| crunch_drive | newton_unrescued | CRUNCH SIN-220Hz-0.3V | 0 | — | INFO | +| crunch_drive | newton_median_iterations | CRUNCH SIN-220Hz-0.3V | 2 | ≤ 3 | PASS | +| crunch_drive | newton_max_iterations | CRUNCH SIN-220Hz-0.3V | 5 | ≤ 32 | PASS | +| crunch_drive | total_esr_db | CRUNCH DI-GTR L | -60.76 dB | ≤ -20 | PASS | +| crunch_drive | newton_failures | CRUNCH DI-GTR L | 0 | ≤ 0 | PASS | +| crunch_drive | newton_unrescued | CRUNCH DI-GTR L | 0 | — | INFO | +| crunch_drive | newton_median_iterations | CRUNCH DI-GTR L | 2 | ≤ 3 | PASS | +| crunch_drive | newton_max_iterations | CRUNCH DI-GTR L | 7 | ≤ 32 | PASS | +| crunch_drive | total_esr_db | CRUNCH DI-GTR LL | -61.31 dB | ≤ -20 | PASS | +| crunch_drive | newton_failures | CRUNCH DI-GTR LL | 0 | ≤ 0 | PASS | +| crunch_drive | newton_unrescued | CRUNCH DI-GTR LL | 0 | — | INFO | +| crunch_drive | newton_median_iterations | CRUNCH DI-GTR LL | 2 | ≤ 3 | PASS | +| crunch_drive | newton_max_iterations | CRUNCH DI-GTR LL | 7 | ≤ 32 | PASS | +| crunch_drive | total_esr_db | CRUNCH DI-GTR R | -62.06 dB | ≤ -20 | PASS | +| crunch_drive | newton_failures | CRUNCH DI-GTR R | 0 | ≤ 0 | PASS | +| crunch_drive | newton_unrescued | CRUNCH DI-GTR R | 0 | — | INFO | +| crunch_drive | newton_median_iterations | CRUNCH DI-GTR R | 2 | ≤ 3 | PASS | +| crunch_drive | newton_max_iterations | CRUNCH DI-GTR R | 7 | ≤ 32 | PASS | +| crunch_drive | total_esr_db | CRUNCH DI-GTR RR | -60.9 dB | ≤ -20 | PASS | +| crunch_drive | newton_failures | CRUNCH DI-GTR RR | 0 | ≤ 0 | PASS | +| crunch_drive | newton_unrescued | CRUNCH DI-GTR RR | 0 | — | INFO | +| crunch_drive | newton_median_iterations | CRUNCH DI-GTR RR | 2 | ≤ 3 | PASS | +| crunch_drive | newton_max_iterations | CRUNCH DI-GTR RR | 9 | ≤ 32 | PASS | +| crunch_drive | total_esr_db | DRIVE SIN-220Hz-0.3V | -63.51 dB | ≤ -20 | PASS | +| crunch_drive | total_harmonics_2_9_db | DRIVE SIN-220Hz-0.3V | 0.03181 dB | ≤ 1.5 | PASS | +| crunch_drive | newton_failures | DRIVE SIN-220Hz-0.3V | 0 | ≤ 0 | PASS | +| crunch_drive | newton_unrescued | DRIVE SIN-220Hz-0.3V | 0 | — | INFO | +| crunch_drive | newton_median_iterations | DRIVE SIN-220Hz-0.3V | 1 | ≤ 3 | PASS | +| crunch_drive | newton_max_iterations | DRIVE SIN-220Hz-0.3V | 5 | ≤ 32 | PASS | +| crunch_drive | total_esr_db | DRIVE DI-GTR L | -60.26 dB | ≤ -20 | PASS | +| crunch_drive | newton_failures | DRIVE DI-GTR L | 0 | ≤ 0 | PASS | +| crunch_drive | newton_unrescued | DRIVE DI-GTR L | 0 | — | INFO | +| crunch_drive | newton_median_iterations | DRIVE DI-GTR L | 2 | ≤ 3 | PASS | +| crunch_drive | newton_max_iterations | DRIVE DI-GTR L | 7 | ≤ 32 | PASS | +| crunch_drive | total_esr_db | DRIVE DI-GTR LL | -61.53 dB | ≤ -20 | PASS | +| crunch_drive | newton_failures | DRIVE DI-GTR LL | 0 | ≤ 0 | PASS | +| crunch_drive | newton_unrescued | DRIVE DI-GTR LL | 0 | — | INFO | +| crunch_drive | newton_median_iterations | DRIVE DI-GTR LL | 2 | ≤ 3 | PASS | +| crunch_drive | newton_max_iterations | DRIVE DI-GTR LL | 7 | ≤ 32 | PASS | +| crunch_drive | total_esr_db | DRIVE DI-GTR R | -61.01 dB | ≤ -20 | PASS | +| crunch_drive | newton_failures | DRIVE DI-GTR R | 0 | ≤ 0 | PASS | +| crunch_drive | newton_unrescued | DRIVE DI-GTR R | 0 | — | INFO | +| crunch_drive | newton_median_iterations | DRIVE DI-GTR R | 2 | ≤ 3 | PASS | +| crunch_drive | newton_max_iterations | DRIVE DI-GTR R | 7 | ≤ 32 | PASS | +| crunch_drive | total_esr_db | DRIVE DI-GTR RR | -60.29 dB | ≤ -20 | PASS | +| crunch_drive | newton_failures | DRIVE DI-GTR RR | 0 | ≤ 0 | PASS | +| crunch_drive | newton_unrescued | DRIVE DI-GTR RR | 0 | — | INFO | +| crunch_drive | newton_median_iterations | DRIVE DI-GTR RR | 2 | ≤ 3 | PASS | +| crunch_drive | newton_max_iterations | DRIVE DI-GTR RR | 7 | ≤ 32 | PASS | + +## DC operating point + +| Node / current | SPICE | Engine | +|---|---|---| +| ct | 491.3466 V | 491.3468 V | +| nscr | 488.8805 V | 488.8807 V | +| bpx | 404.9982 V | 404.9997 V | +| bpa | 391.9215 V | 391.9237 V | +| nbias | -46.3636 V | -46.3636 V | +| p1a | 298.3260 V | 298.3319 V | +| k1a | 2.5271 V | 2.5270 V | +| p1b | 354.7502 V | 354.7562 V | +| k1b | 3.7171 V | 3.7167 V | +| p2a | 232.5771 V | 232.5822 V | +| k2a | 1.4139 V | 1.4138 V | +| k2b | 233.1404 V | 233.1454 V | +| p3a | 272.6113 V | 272.6156 V | +| p3b | 263.9512 V | 263.9557 V | +| k3 | 45.2502 V | 45.2492 V | +| nf | 43.8285 V | 43.8275 V | +| ng | 13.5790 V | 13.5787 V | +| ip_tube_a | 28.7718 mA | 28.7718 mA | +| ip_tube_b | 28.7715 mA | 28.7715 mA | +| is_tube_a | 3.2641 mA | 3.2641 mA | +| is_tube_b | 3.2643 mA | 3.2643 mA | + +## NFB (gain in → out, dB) + +| f | SPICE closed | engine closed | SPICE open | engine open | NFB SPICE | NFB engine | +|---|---|---|---|---|---|---| +| 100 Hz | 45.92 | 45.92 | 56.34 | 56.34 | 10.42 | 10.42 | +| 1000 Hz | 53.54 | 53.54 | 57.85 | 57.86 | 4.32 | 4.32 | +| 5000 Hz | 69.86 | 69.88 | 77.77 | 77.83 | 7.91 | 7.95 | + +## Signals + +| Preset | Signal | ESR | best lag | harm. 2–9 | THD F / E | Power F / E | min v(ct) F / E | +|---|---|---|---|---|---|---|---| +| CLEAN | SIN-1000Hz-0.025V | -30.3 dB | 2 | 0.84 dB | 7.37 / 7.59 % | 81.1 / 78.0 W | — | +| OVERDRIVE | SIN-220Hz-0.3V | -68.0 dB | 0 | 0.01 dB | 19.61 / 19.61 % | 32.2 / 32.2 W | 474.38 / 474.37 V | +| CRUNCH | SIN-220Hz-0.3V | -70.3 dB | 0 | 0.01 dB | 12.00 / 12.00 % | 31.6 / 31.6 W | — | +| CRUNCH | DI-GTR L | -60.8 dB | 0 | — | — | — | — | +| CRUNCH | DI-GTR LL | -61.3 dB | 0 | — | — | — | — | +| CRUNCH | DI-GTR R | -62.1 dB | 0 | — | — | — | — | +| CRUNCH | DI-GTR RR | -60.9 dB | 0 | — | — | — | — | +| DRIVE | SIN-220Hz-0.3V | -63.5 dB | 0 | 0.03 dB | 22.53 / 22.53 % | 34.5 / 34.5 W | — | +| DRIVE | DI-GTR L | -60.3 dB | 0 | — | — | — | — | +| DRIVE | DI-GTR LL | -61.5 dB | 0 | — | — | — | — | +| DRIVE | DI-GTR R | -61.0 dB | 0 | — | — | — | — | +| DRIVE | DI-GTR RR | -60.3 dB | 0 | — | — | — | — | + +## Stability + +60 s silence at Preamp / Master / Presence 1.0: max |out| 4.36e-05 V, RMS first / last 10 s 4.24e-05 / 4.24e-05 V. + +## Delayed-NFB break + +Not applicable: since D-041 the global NFB (R22) is part of the B56 tree and has no delay (SPEC §7 M4 asked for a 1- vs 2-sample comparison of the delayed design). diff --git a/harness/reports/M5/20261016_b56_knob_jump.md b/harness/reports/M5/20261016_b56_knob_jump.md new file mode 100644 index 0000000..80987f6 --- /dev/null +++ b/harness/reports/M5/20261016_b56_knob_jump.md @@ -0,0 +1,9 @@ +# M5 report: B56 knob-jump test + +- Date: 2026-10-16, engine commit `3cb4124 (dirty)`, ngspice 47, fs = 768000 Hz, SPICE reltol 1e-08 +- Knob targets 0 → 1 in 10 ms from t = 20 ms during a 1000 Hz, 1 V tone on the J4 DC level (DC 0.0000 V); other knobs at their defaults. Engine: smoothing 20 ms, matrix update every 32 samples. SPICE: pot resistances follow the same smoothed trajectory continuously. +- Window: the ramp and the 20 ms after it. Pass (D-025): no NaN/Inf, ESR ≤ -20 dB. + +| Case | Finite | ESR | Status | Peak error / ref peak | Error energy > 5 kHz vs tone | +|---|---|---|---|---|---| +| presence | yes | -62.9 dB | PASS | 1.74e-03 | -67.2 dB | diff --git a/harness/reports/M6/20261016_full_acceptance_fs384000_j4exact.md b/harness/reports/M6/20261016_full_acceptance_fs384000_j4exact.md new file mode 100644 index 0000000..bf1211f --- /dev/null +++ b/harness/reports/M6/20261016_full_acceptance_fs384000_j4exact.md @@ -0,0 +1,197 @@ +# M4 acceptance: full amplifier vs the full netlist + +- Date: 2026-10-16, engine commit `3cb4124 (dirty)`, ngspice 47, fs = 384000 Hz, J4 exact, SPICE reltol 1e-08 +- Netlist sha256 `83f01b6fd8b64a06`, tubes.lib sha256 `5767afe208240bfa` +- Engine: `ampwav --block full` (volts at the jack and across the 16 Ω load), the checks of SPEC §7 M4. + +## Summary + +PASS 107 · FAIL 0 + +| Section | Check | Item | Measured | Tolerance | Status | +|---|---|---|---|---|---| +| dc | dc_rel_error | v(ct) | 4.176e-07 | ≤ 0.005 | PASS | +| dc | dc_rel_error | v(nscr) | 4.492e-07 | ≤ 0.005 | PASS | +| dc | dc_rel_error | v(bpx) | 3.649e-06 | ≤ 0.005 | PASS | +| dc | dc_rel_error | v(bpa) | 5.679e-06 | ≤ 0.005 | PASS | +| dc | dc_rel_error | v(nbias) | 4.636e-08 | ≤ 0.005 | PASS | +| dc | dc_rel_error | v(p1a) | 1.994e-05 | ≤ 0.005 | PASS | +| dc | dc_rel_error | v(k1a) | 3.976e-05 | ≤ 0.005 | PASS | +| dc | dc_rel_error | v(p1b) | 1.686e-05 | ≤ 0.005 | PASS | +| dc | dc_rel_error | v(k1b) | 0.0001011 | ≤ 0.005 | PASS | +| dc | dc_rel_error | v(p2a) | 2.195e-05 | ≤ 0.005 | PASS | +| dc | dc_rel_error | v(k2a) | 2.104e-05 | ≤ 0.005 | PASS | +| dc | dc_rel_error | v(k2b) | 2.14e-05 | ≤ 0.005 | PASS | +| dc | dc_rel_error | v(p3a) | 1.576e-05 | ≤ 0.005 | PASS | +| dc | dc_rel_error | v(p3b) | 1.707e-05 | ≤ 0.005 | PASS | +| dc | dc_rel_error | v(k3) | 2.137e-05 | ≤ 0.005 | PASS | +| dc | dc_rel_error | v(nf) | 2.137e-05 | ≤ 0.005 | PASS | +| dc | dc_rel_error | v(ng) | 2.137e-05 | ≤ 0.005 | PASS | +| dc | el34_plate_ma | ip_tube_a | 8.687e-06 mA | ≤ 1 | PASS | +| dc | el34_plate_ma | ip_tube_b | 8.694e-06 mA | ≤ 1 | PASS | +| dc | el34_screen_ma | is_tube_a | 1.95e-07 mA | ≤ 0.3 | PASS | +| dc | el34_screen_ma | is_tube_b | 1.916e-07 mA | ≤ 0.3 | PASS | +| dc | ct_rel | v(ct) | 4.176e-07 | ≤ 0.01 | PASS | +| dc | nbias_v | v(nbias) | 2.15e-06 V | ≤ 0.2 | PASS | +| nfb | nfb_gain_db | closed 100 Hz | 0.001855 dB | ≤ 0.5 | PASS | +| nfb | newton_failures | closed 100 Hz | 0 | ≤ 0 | PASS | +| nfb | newton_unrescued | closed 100 Hz | 0 | — | INFO | +| nfb | newton_median_iterations | closed 100 Hz | 1 | ≤ 3 | PASS | +| nfb | newton_max_iterations | closed 100 Hz | 2 | ≤ 32 | PASS | +| nfb | nfb_gain_db | closed 1000 Hz | 0.00581 dB | ≤ 0.5 | PASS | +| nfb | newton_failures | closed 1000 Hz | 0 | ≤ 0 | PASS | +| nfb | newton_unrescued | closed 1000 Hz | 0 | — | INFO | +| nfb | newton_median_iterations | closed 1000 Hz | 1 | ≤ 3 | PASS | +| nfb | newton_max_iterations | closed 1000 Hz | 2 | ≤ 32 | PASS | +| nfb | nfb_gain_db | closed 5000 Hz | 0.01713 dB | ≤ 0.5 | PASS | +| nfb | newton_failures | closed 5000 Hz | 0 | ≤ 0 | PASS | +| nfb | newton_unrescued | closed 5000 Hz | 0 | — | INFO | +| nfb | newton_median_iterations | closed 5000 Hz | 2 | ≤ 3 | PASS | +| nfb | newton_max_iterations | closed 5000 Hz | 2 | ≤ 32 | PASS | +| nfb | nfb_gain_db | open 100 Hz | 0.002491 dB | ≤ 0.5 | PASS | +| nfb | newton_failures | open 100 Hz | 0 | ≤ 0 | PASS | +| nfb | newton_unrescued | open 100 Hz | 0 | — | INFO | +| nfb | newton_median_iterations | open 100 Hz | 1 | ≤ 3 | PASS | +| nfb | newton_max_iterations | open 100 Hz | 2 | ≤ 32 | PASS | +| nfb | nfb_gain_db | open 1000 Hz | 0.008418 dB | ≤ 0.5 | PASS | +| nfb | newton_failures | open 1000 Hz | 0 | ≤ 0 | PASS | +| nfb | newton_unrescued | open 1000 Hz | 0 | — | INFO | +| nfb | newton_median_iterations | open 1000 Hz | 1 | ≤ 3 | PASS | +| nfb | newton_max_iterations | open 1000 Hz | 2 | ≤ 32 | PASS | +| nfb | nfb_gain_db | open 5000 Hz | 0.06358 dB | ≤ 0.5 | PASS | +| nfb | newton_failures | open 5000 Hz | 0 | ≤ 0 | PASS | +| nfb | newton_unrescued | open 5000 Hz | 0 | — | INFO | +| nfb | newton_median_iterations | open 5000 Hz | 2 | ≤ 3 | PASS | +| nfb | newton_max_iterations | open 5000 Hz | 2 | ≤ 32 | PASS | +| clean | total_esr_db | CLEAN SIN-1000Hz-0.025V | -59.66 dB | ≤ -20 | PASS | +| clean | total_harmonics_2_9_db | CLEAN SIN-1000Hz-0.025V | 0.02005 dB | ≤ 1.5 | PASS | +| clean | newton_failures | CLEAN SIN-1000Hz-0.025V | 0 | ≤ 0 | PASS | +| clean | newton_unrescued | CLEAN SIN-1000Hz-0.025V | 0 | — | INFO | +| clean | newton_median_iterations | CLEAN SIN-1000Hz-0.025V | 2 | ≤ 3 | PASS | +| clean | newton_max_iterations | CLEAN SIN-1000Hz-0.025V | 5 | ≤ 32 | PASS | +| clean | total_power_rel | CLEAN SIN-1000Hz-0.025V | 0.001223 | ≤ 0.05 | PASS | +| clean | total_thd_pp | CLEAN SIN-1000Hz-0.025V | 0.0004268 pp | ≤ 0.5 | PASS | +| stability | stability_out_v | max |out| | 4.853e-05 V | ≤ 0.001 | PASS | +| stability | stability_growth | RMS last 10 s − first 10 s | 5.72e-12 V | ≤ 1e-06 | PASS | +| stability | newton_failures | 60 s silence | 0 | ≤ 0 | PASS | +| stability | newton_unrescued | 60 s silence | 0 | — | INFO | +| stability | newton_median_iterations | 60 s silence | 1 | ≤ 3 | PASS | +| stability | newton_max_iterations | 60 s silence | 1 | ≤ 32 | PASS | +| overdrive | total_esr_db | OVERDRIVE SIN-220Hz-0.3V | -67.51 dB | ≤ -20 | PASS | +| overdrive | total_harmonics_2_9_db | OVERDRIVE SIN-220Hz-0.3V | 0.009061 dB | ≤ 1.5 | PASS | +| overdrive | sag_min_v | OVERDRIVE SIN-220Hz-0.3V | 0.003903 V | ≤ 2 | PASS | +| overdrive | newton_failures | OVERDRIVE SIN-220Hz-0.3V | 0 | ≤ 0 | PASS | +| overdrive | newton_unrescued | OVERDRIVE SIN-220Hz-0.3V | 0 | — | INFO | +| overdrive | newton_median_iterations | OVERDRIVE SIN-220Hz-0.3V | 2 | ≤ 3 | PASS | +| overdrive | newton_max_iterations | OVERDRIVE SIN-220Hz-0.3V | 6 | ≤ 32 | PASS | +| crunch_drive | total_esr_db | CRUNCH SIN-220Hz-0.3V | -69.67 dB | ≤ -20 | PASS | +| crunch_drive | total_harmonics_2_9_db | CRUNCH SIN-220Hz-0.3V | 0.008084 dB | ≤ 1.5 | PASS | +| crunch_drive | newton_failures | CRUNCH SIN-220Hz-0.3V | 0 | ≤ 0 | PASS | +| crunch_drive | newton_unrescued | CRUNCH SIN-220Hz-0.3V | 0 | — | INFO | +| crunch_drive | newton_median_iterations | CRUNCH SIN-220Hz-0.3V | 1 | ≤ 3 | PASS | +| crunch_drive | newton_max_iterations | CRUNCH SIN-220Hz-0.3V | 5 | ≤ 32 | PASS | +| crunch_drive | total_esr_db | CRUNCH DI-GTR L | -59.59 dB | ≤ -20 | PASS | +| crunch_drive | newton_failures | CRUNCH DI-GTR L | 0 | ≤ 0 | PASS | +| crunch_drive | newton_unrescued | CRUNCH DI-GTR L | 0 | — | INFO | +| crunch_drive | newton_median_iterations | CRUNCH DI-GTR L | 2 | ≤ 3 | PASS | +| crunch_drive | newton_max_iterations | CRUNCH DI-GTR L | 8 | ≤ 32 | PASS | +| crunch_drive | total_esr_db | CRUNCH DI-GTR LL | -59.82 dB | ≤ -20 | PASS | +| crunch_drive | newton_failures | CRUNCH DI-GTR LL | 0 | ≤ 0 | PASS | +| crunch_drive | newton_unrescued | CRUNCH DI-GTR LL | 0 | — | INFO | +| crunch_drive | newton_median_iterations | CRUNCH DI-GTR LL | 2 | ≤ 3 | PASS | +| crunch_drive | newton_max_iterations | CRUNCH DI-GTR LL | 8 | ≤ 32 | PASS | +| crunch_drive | total_esr_db | CRUNCH DI-GTR R | -60.79 dB | ≤ -20 | PASS | +| crunch_drive | newton_failures | CRUNCH DI-GTR R | 0 | ≤ 0 | PASS | +| crunch_drive | newton_unrescued | CRUNCH DI-GTR R | 0 | — | INFO | +| crunch_drive | newton_median_iterations | CRUNCH DI-GTR R | 2 | ≤ 3 | PASS | +| crunch_drive | newton_max_iterations | CRUNCH DI-GTR R | 8 | ≤ 32 | PASS | +| crunch_drive | total_esr_db | CRUNCH DI-GTR RR | -59.38 dB | ≤ -20 | PASS | +| crunch_drive | newton_failures | CRUNCH DI-GTR RR | 0 | ≤ 0 | PASS | +| crunch_drive | newton_unrescued | CRUNCH DI-GTR RR | 0 | — | INFO | +| crunch_drive | newton_median_iterations | CRUNCH DI-GTR RR | 2 | ≤ 3 | PASS | +| crunch_drive | newton_max_iterations | CRUNCH DI-GTR RR | 11 | ≤ 32 | PASS | +| crunch_drive | total_esr_db | DRIVE SIN-220Hz-0.3V | -63.13 dB | ≤ -20 | PASS | +| crunch_drive | total_harmonics_2_9_db | DRIVE SIN-220Hz-0.3V | 0.03227 dB | ≤ 1.5 | PASS | +| crunch_drive | newton_failures | DRIVE SIN-220Hz-0.3V | 0 | ≤ 0 | PASS | +| crunch_drive | newton_unrescued | DRIVE SIN-220Hz-0.3V | 0 | — | INFO | +| crunch_drive | newton_median_iterations | DRIVE SIN-220Hz-0.3V | 2 | ≤ 3 | PASS | +| crunch_drive | newton_max_iterations | DRIVE SIN-220Hz-0.3V | 6 | ≤ 32 | PASS | +| crunch_drive | total_esr_db | DRIVE DI-GTR L | -59.39 dB | ≤ -20 | PASS | +| crunch_drive | newton_failures | DRIVE DI-GTR L | 0 | ≤ 0 | PASS | +| crunch_drive | newton_unrescued | DRIVE DI-GTR L | 0 | — | INFO | +| crunch_drive | newton_median_iterations | DRIVE DI-GTR L | 2 | ≤ 3 | PASS | +| crunch_drive | newton_max_iterations | DRIVE DI-GTR L | 9 | ≤ 32 | PASS | +| crunch_drive | total_esr_db | DRIVE DI-GTR LL | -60.32 dB | ≤ -20 | PASS | +| crunch_drive | newton_failures | DRIVE DI-GTR LL | 0 | ≤ 0 | PASS | +| crunch_drive | newton_unrescued | DRIVE DI-GTR LL | 0 | — | INFO | +| crunch_drive | newton_median_iterations | DRIVE DI-GTR LL | 2 | ≤ 3 | PASS | +| crunch_drive | newton_max_iterations | DRIVE DI-GTR LL | 10 | ≤ 32 | PASS | +| crunch_drive | total_esr_db | DRIVE DI-GTR R | -60.22 dB | ≤ -20 | PASS | +| crunch_drive | newton_failures | DRIVE DI-GTR R | 0 | ≤ 0 | PASS | +| crunch_drive | newton_unrescued | DRIVE DI-GTR R | 0 | — | INFO | +| crunch_drive | newton_median_iterations | DRIVE DI-GTR R | 2 | ≤ 3 | PASS | +| crunch_drive | newton_max_iterations | DRIVE DI-GTR R | 9 | ≤ 32 | PASS | +| crunch_drive | total_esr_db | DRIVE DI-GTR RR | -59.42 dB | ≤ -20 | PASS | +| crunch_drive | newton_failures | DRIVE DI-GTR RR | 0 | ≤ 0 | PASS | +| crunch_drive | newton_unrescued | DRIVE DI-GTR RR | 0 | — | INFO | +| crunch_drive | newton_median_iterations | DRIVE DI-GTR RR | 2 | ≤ 3 | PASS | +| crunch_drive | newton_max_iterations | DRIVE DI-GTR RR | 8 | ≤ 32 | PASS | + +## DC operating point + +| Node / current | SPICE | Engine | +|---|---|---| +| ct | 491.3466 V | 491.3468 V | +| nscr | 488.8805 V | 488.8807 V | +| bpx | 404.9982 V | 404.9997 V | +| bpa | 391.9215 V | 391.9237 V | +| nbias | -46.3636 V | -46.3636 V | +| p1a | 298.3260 V | 298.3319 V | +| k1a | 2.5271 V | 2.5270 V | +| p1b | 354.7502 V | 354.7562 V | +| k1b | 3.7171 V | 3.7167 V | +| p2a | 232.5771 V | 232.5822 V | +| k2a | 1.4139 V | 1.4138 V | +| k2b | 233.1404 V | 233.1454 V | +| p3a | 272.6113 V | 272.6156 V | +| p3b | 263.9512 V | 263.9557 V | +| k3 | 45.2502 V | 45.2492 V | +| nf | 43.8285 V | 43.8275 V | +| ng | 13.5790 V | 13.5787 V | +| ip_tube_a | 28.7718 mA | 28.7718 mA | +| ip_tube_b | 28.7715 mA | 28.7715 mA | +| is_tube_a | 3.2641 mA | 3.2641 mA | +| is_tube_b | 3.2643 mA | 3.2643 mA | + +## NFB (gain in → out, dB) + +| f | SPICE closed | engine closed | SPICE open | engine open | NFB SPICE | NFB engine | +|---|---|---|---|---|---|---| +| 100 Hz | 45.92 | 45.92 | 56.34 | 56.34 | 10.42 | 10.42 | +| 1000 Hz | 53.54 | 53.54 | 57.85 | 57.86 | 4.32 | 4.32 | +| 5000 Hz | 69.86 | 69.88 | 77.77 | 77.83 | 7.91 | 7.95 | + +## Signals + +| Preset | Signal | ESR | best lag | harm. 2–9 | THD F / E | Power F / E | min v(ct) F / E | +|---|---|---|---|---|---|---|---| +| CLEAN | SIN-1000Hz-0.025V | -59.7 dB | 0 | 0.02 dB | 7.37 / 7.37 % | 81.1 / 81.2 W | — | +| OVERDRIVE | SIN-220Hz-0.3V | -67.5 dB | 0 | 0.01 dB | 19.61 / 19.61 % | 32.2 / 32.2 W | 474.38 / 474.37 V | +| CRUNCH | SIN-220Hz-0.3V | -69.7 dB | 0 | 0.01 dB | 12.00 / 12.00 % | 31.6 / 31.6 W | — | +| CRUNCH | DI-GTR L | -59.6 dB | 0 | — | — | — | — | +| CRUNCH | DI-GTR LL | -59.8 dB | 0 | — | — | — | — | +| CRUNCH | DI-GTR R | -60.8 dB | 0 | — | — | — | — | +| CRUNCH | DI-GTR RR | -59.4 dB | 0 | — | — | — | — | +| DRIVE | SIN-220Hz-0.3V | -63.1 dB | 0 | 0.03 dB | 22.53 / 22.53 % | 34.5 / 34.5 W | — | +| DRIVE | DI-GTR L | -59.4 dB | 0 | — | — | — | — | +| DRIVE | DI-GTR LL | -60.3 dB | 0 | — | — | — | — | +| DRIVE | DI-GTR R | -60.2 dB | 0 | — | — | — | — | +| DRIVE | DI-GTR RR | -59.4 dB | 0 | — | — | — | — | + +## Stability + +60 s silence at Preamp / Master / Presence 1.0: max |out| 4.85e-05 V, RMS first / last 10 s 4.24e-05 / 4.24e-05 V. + +## Delayed-NFB break + +Not applicable: since D-041 the global NFB (R22) is part of the B56 tree and has no delay (SPEC §7 M4 asked for a 1- vs 2-sample comparison of the delayed design). diff --git a/harness/reports/M6/20261016_full_acceptance_fs384000_j4exact_hot.md b/harness/reports/M6/20261016_full_acceptance_fs384000_j4exact_hot.md new file mode 100644 index 0000000..71dc27f --- /dev/null +++ b/harness/reports/M6/20261016_full_acceptance_fs384000_j4exact_hot.md @@ -0,0 +1,52 @@ +# M4 acceptance: full amplifier vs the full netlist + +- Date: 2026-10-16, engine commit `3cb4124 (dirty)`, ngspice 47, fs = 384000 Hz, J4 exact, SPICE reltol 1e-08 +- Netlist sha256 `83f01b6fd8b64a06`, tubes.lib sha256 `5767afe208240bfa` +- Engine: `ampwav --block full` (volts at the jack and across the 16 Ω load), the checks of SPEC §7 M4. + +## Summary + +PASS 17 · FAIL 4 + +| Section | Check | Item | Measured | Tolerance | Status | +|---|---|---|---|---|---| +| hot | total_esr_db | HOT SIN-220Hz-0.3V | -54.54 dB | ≤ -20 | PASS | +| hot | total_harmonics_2_9_db | HOT SIN-220Hz-0.3V | 0.008907 dB | ≤ 1.5 | PASS | +| hot | newton_failures | HOT SIN-220Hz-0.3V | 0 | ≤ 0 | PASS | +| hot | newton_unrescued | HOT SIN-220Hz-0.3V | 0 | — | INFO | +| hot | newton_median_iterations | HOT SIN-220Hz-0.3V | 2 | ≤ 3 | PASS | +| hot | newton_max_iterations | HOT SIN-220Hz-0.3V | 7 | ≤ 32 | PASS | +| hot | total_esr_db | HOT DI-GTR L | -33.49 dB | ≤ -20 | PASS | +| hot | newton_failures | HOT DI-GTR L | 56 | ≤ 0 | FAIL | +| hot | newton_unrescued | HOT DI-GTR L | 0 | — | INFO | +| hot | newton_median_iterations | HOT DI-GTR L | 2 | ≤ 3 | PASS | +| hot | newton_max_iterations | HOT DI-GTR L | 32 | ≤ 32 | PASS | +| hot | total_esr_db | HOT DI-GTR LL | -35.1 dB | ≤ -20 | PASS | +| hot | newton_failures | HOT DI-GTR LL | 45 | ≤ 0 | FAIL | +| hot | newton_unrescued | HOT DI-GTR LL | 0 | — | INFO | +| hot | newton_median_iterations | HOT DI-GTR LL | 2 | ≤ 3 | PASS | +| hot | newton_max_iterations | HOT DI-GTR LL | 32 | ≤ 32 | PASS | +| hot | total_esr_db | HOT DI-GTR R | -35.73 dB | ≤ -20 | PASS | +| hot | newton_failures | HOT DI-GTR R | 37 | ≤ 0 | FAIL | +| hot | newton_unrescued | HOT DI-GTR R | 0 | — | INFO | +| hot | newton_median_iterations | HOT DI-GTR R | 2 | ≤ 3 | PASS | +| hot | newton_max_iterations | HOT DI-GTR R | 32 | ≤ 32 | PASS | +| hot | total_esr_db | HOT DI-GTR RR | -34.89 dB | ≤ -20 | PASS | +| hot | newton_failures | HOT DI-GTR RR | 49 | ≤ 0 | FAIL | +| hot | newton_unrescued | HOT DI-GTR RR | 0 | — | INFO | +| hot | newton_median_iterations | HOT DI-GTR RR | 2 | ≤ 3 | PASS | +| hot | newton_max_iterations | HOT DI-GTR RR | 32 | ≤ 32 | PASS | + +## Signals + +| Preset | Signal | ESR | best lag | harm. 2–9 | THD F / E | Power F / E | min v(ct) F / E | +|---|---|---|---|---|---|---|---| +| HOT | SIN-220Hz-0.3V | -54.5 dB | 0 | 0.01 dB | 37.87 / 37.87 % | 178.4 / 178.4 W | — | +| HOT | DI-GTR L | -33.5 dB | 0 | — | — | — | — | +| HOT | DI-GTR LL | -35.1 dB | 0 | — | — | — | — | +| HOT | DI-GTR R | -35.7 dB | 0 | — | — | — | — | +| HOT | DI-GTR RR | -34.9 dB | 0 | — | — | — | — | + +## Delayed-NFB break + +Not applicable: since D-041 the global NFB (R22) is part of the B56 tree and has no delay (SPEC §7 M4 asked for a 1- vs 2-sample comparison of the delayed design). diff --git a/harness/reports/M6/20261016_plugin_cpu.md b/harness/reports/M6/20261016_plugin_cpu.md new file mode 100644 index 0000000..e517eff --- /dev/null +++ b/harness/reports/M6/20261016_plugin_cpu.md @@ -0,0 +1,39 @@ +# M6 plugin CPU under knob automation + +- Date 2026-10-16, commit `3cb4124 (dirty)`; `amp2203_render plugin` at the plugin defaults (2x, Power Amp Rate Half, exact J4, Newton tol 1e-4 V, half-steps on; D-054 – D-056), FIR oversampling, 20 s of DI GTR L at 48000 Hz; processBlock time only. +- Automation between host blocks: lfo = 10 Hz triangle 0 → 10 → 0, jump = 0 ↔ 10 every 50 ms; "all" moves the six knobs together. One render at a time. + +| Base | Knob(s) | Modulation | Host block | CPU (% of one core) | Newton failures (rescued) | +|---|---|---|---|---|---| +| default | — | static | 512 | 18.9 | 0 (0) | +| every knob 10 | — | static | 512 | 33.2 | 0 (0) | +| default | preampVolume | lfo | 512 | 18.9 | 0 (0) | +| default | preampVolume | jump | 512 | 18.6 | 0 (0) | +| default | treble | lfo | 512 | 19.6 | 0 (0) | +| default | treble | jump | 512 | 19.7 | 0 (0) | +| default | middle | lfo | 512 | 19.6 | 0 (0) | +| default | middle | jump | 512 | 19.5 | 0 (0) | +| default | bass | lfo | 512 | 19.6 | 0 (0) | +| default | bass | jump | 512 | 19.6 | 0 (0) | +| default | master | lfo | 512 | 21.8 | 0 (0) | +| default | master | jump | 512 | 22.2 | 0 (0) | +| default | presence | lfo | 512 | 19.9 | 0 (0) | +| default | presence | jump | 512 | 20.1 | 0 (0) | +| default | all | lfo | 512 | 22.8 | 1 (1) | +| default | all | jump | 512 | 24.1 | 0 (0) | +| every knob 10 | preampVolume | lfo | 512 | 33.4 | 0 (0) | +| every knob 10 | preampVolume | jump | 512 | 33.1 | 0 (0) | +| every knob 10 | treble | lfo | 512 | 31.8 | 0 (0) | +| every knob 10 | treble | jump | 512 | 31.5 | 0 (0) | +| every knob 10 | middle | lfo | 512 | 32.5 | 0 (0) | +| every knob 10 | middle | jump | 512 | 32.5 | 0 (0) | +| every knob 10 | bass | lfo | 512 | 34.0 | 1 (1) | +| every knob 10 | bass | jump | 512 | 33.8 | 0 (0) | +| every knob 10 | master | lfo | 512 | 26.9 | 0 (0) | +| every knob 10 | master | jump | 512 | 26.8 | 0 (0) | +| every knob 10 | presence | lfo | 512 | 32.0 | 86 (81) | +| every knob 10 | presence | jump | 512 | 32.1 | 91 (88) | +| every knob 10 | all | lfo | 512 | 22.7 | 0 (0) | +| every knob 10 | all | jump | 512 | 24.4 | 0 (0) | +| default | all | jump | 64 | 24.0 | 0 (0) | +| every knob 10 | all | jump | 64 | 24.4 | 0 (0) | diff --git a/harness/reports/M6/20261016_plugin_null_2x_half.md b/harness/reports/M6/20261016_plugin_null_2x_half.md new file mode 100644 index 0000000..1bd2919 --- /dev/null +++ b/harness/reports/M6/20261016_plugin_null_2x_half.md @@ -0,0 +1,62 @@ +# M5 wrapper null test: plugin vs ampwav at 96 kHz with the same resampling + +- Date: 2026-10-16, commit `3cb4124 (dirty)`; host rate 48000 Hz, 2x, Power Amp Rate half, exact J4 +- Plugin: `amp2203_render plugin` (the Amp2203Processor offline). Reference: the processor's oversampler up stage, `ampwav --block full --units fs --j4 exact` at 96000 Hz, the down stage. Default knobs and levels. +- Tolerance (SPEC §7 M5): ESR ≤ -60 dB. + +PASS 26 · FAIL 0 + +| Filter | Signal | Peak out [FS] | ESR | Status | Render log | +|---|---|---|---|---|---| +| fir | SIN-100Hz--40dBFS | 0.145 | -138.5 dB | PASS | processBlock 0.029 s for 0.200 s of audio: 14.6 % of one core, real-time factor 6.85 +latency 58 samples, Newton failures 0 (rescued 0), max iterations 3 | +| fir | SIN-100Hz--20dBFS | 0.869 | -138.5 dB | PASS | processBlock 0.035 s for 0.200 s of audio: 17.5 % of one core, real-time factor 5.72 +latency 58 samples, Newton failures 0 (rescued 0), max iterations 4 | +| fir | SIN-100Hz--6dBFS | 0.915 | -138.5 dB | PASS | processBlock 0.033 s for 0.200 s of audio: 16.3 % of one core, real-time factor 6.15 +latency 58 samples, Newton failures 0 (rescued 0), max iterations 9 | +| fir | SIN-1000Hz--40dBFS | 0.395 | -138.5 dB | PASS | processBlock 0.051 s for 0.200 s of audio: 25.3 % of one core, real-time factor 3.95 +latency 58 samples, Newton failures 0 (rescued 0), max iterations 6 | +| fir | SIN-1000Hz--20dBFS | 0.795 | -138.5 dB | PASS | processBlock 0.053 s for 0.200 s of audio: 26.3 % of one core, real-time factor 3.80 +latency 58 samples, Newton failures 0 (rescued 0), max iterations 9 | +| fir | SIN-1000Hz--6dBFS | 0.994 | -138.5 dB | PASS | processBlock 0.057 s for 0.200 s of audio: 28.6 % of one core, real-time factor 3.50 +latency 58 samples, Newton failures 0 (rescued 0), max iterations 12 | +| fir | SIN-5000Hz--40dBFS | 0.879 | -138.5 dB | PASS | processBlock 0.068 s for 0.200 s of audio: 34.2 % of one core, real-time factor 2.92 +latency 58 samples, Newton failures 0 (rescued 0), max iterations 19 | +| fir | SIN-5000Hz--20dBFS | 0.913 | -138.5 dB | PASS | processBlock 0.077 s for 0.200 s of audio: 38.4 % of one core, real-time factor 2.60 +latency 58 samples, Newton failures 0 (rescued 0), max iterations 19 | +| fir | SIN-5000Hz--6dBFS | 0.967 | -138.5 dB | PASS | processBlock 0.191 s for 0.200 s of audio: 95.6 % of one core, real-time factor 1.05 +latency 58 samples, Newton failures 869 (rescued 74), max iterations 32 | +| fir | DI-GTR L | 0.844 | -138.5 dB | PASS | processBlock 0.881 s for 5.000 s of audio: 17.6 % of one core, real-time factor 5.68 +latency 58 samples, Newton failures 0 (rescued 0), max iterations 19 | +| fir | DI-GTR LL | 0.826 | -138.5 dB | PASS | processBlock 0.852 s for 5.000 s of audio: 17.0 % of one core, real-time factor 5.87 +latency 58 samples, Newton failures 0 (rescued 0), max iterations 17 | +| fir | DI-GTR R | 0.916 | -138.5 dB | PASS | processBlock 0.863 s for 5.000 s of audio: 17.3 % of one core, real-time factor 5.80 +latency 58 samples, Newton failures 0 (rescued 0), max iterations 20 | +| fir | DI-GTR RR | 0.918 | -138.5 dB | PASS | processBlock 0.879 s for 5.000 s of audio: 17.6 % of one core, real-time factor 5.69 +latency 58 samples, Newton failures 0 (rescued 0), max iterations 17 | +| iir | SIN-100Hz--40dBFS | 0.145 | -138.5 dB | PASS | processBlock 0.028 s for 0.200 s of audio: 14.1 % of one core, real-time factor 7.11 +latency 13 samples, Newton failures 0 (rescued 0), max iterations 2 | +| iir | SIN-100Hz--20dBFS | 0.870 | -138.5 dB | PASS | processBlock 0.031 s for 0.200 s of audio: 15.5 % of one core, real-time factor 6.44 +latency 13 samples, Newton failures 0 (rescued 0), max iterations 6 | +| iir | SIN-100Hz--6dBFS | 0.915 | -138.5 dB | PASS | processBlock 0.032 s for 0.200 s of audio: 15.8 % of one core, real-time factor 6.33 +latency 13 samples, Newton failures 0 (rescued 0), max iterations 6 | +| iir | SIN-1000Hz--40dBFS | 0.384 | -138.5 dB | PASS | processBlock 0.045 s for 0.200 s of audio: 22.6 % of one core, real-time factor 4.42 +latency 13 samples, Newton failures 0 (rescued 0), max iterations 7 | +| iir | SIN-1000Hz--20dBFS | 0.836 | -138.5 dB | PASS | processBlock 0.048 s for 0.200 s of audio: 24.1 % of one core, real-time factor 4.15 +latency 13 samples, Newton failures 0 (rescued 0), max iterations 9 | +| iir | SIN-1000Hz--6dBFS | 1.011 | -138.5 dB | PASS | processBlock 0.051 s for 0.200 s of audio: 25.3 % of one core, real-time factor 3.96 +latency 13 samples, Newton failures 0 (rescued 0), max iterations 22 | +| iir | SIN-5000Hz--40dBFS | 0.915 | -138.5 dB | PASS | processBlock 0.067 s for 0.200 s of audio: 33.7 % of one core, real-time factor 2.97 +latency 13 samples, Newton failures 0 (rescued 0), max iterations 16 | +| iir | SIN-5000Hz--20dBFS | 1.003 | -138.5 dB | PASS | processBlock 0.076 s for 0.200 s of audio: 37.9 % of one core, real-time factor 2.64 +latency 13 samples, Newton failures 0 (rescued 0), max iterations 22 | +| iir | SIN-5000Hz--6dBFS | 0.986 | -138.5 dB | PASS | processBlock 0.109 s for 0.200 s of audio: 54.3 % of one core, real-time factor 1.84 +latency 13 samples, Newton failures 240 (rescued 184), max iterations 32 | +| iir | DI-GTR L | 0.991 | -138.5 dB | PASS | processBlock 0.870 s for 5.000 s of audio: 17.4 % of one core, real-time factor 5.75 +latency 13 samples, Newton failures 0 (rescued 0), max iterations 18 | +| iir | DI-GTR LL | 0.905 | -138.5 dB | PASS | processBlock 0.847 s for 5.000 s of audio: 16.9 % of one core, real-time factor 5.90 +latency 13 samples, Newton failures 0 (rescued 0), max iterations 22 | +| iir | DI-GTR R | 0.982 | -138.5 dB | PASS | processBlock 0.848 s for 5.000 s of audio: 17.0 % of one core, real-time factor 5.90 +latency 13 samples, Newton failures 0 (rescued 0), max iterations 18 | +| iir | DI-GTR RR | 0.969 | -138.5 dB | PASS | processBlock 0.876 s for 5.000 s of audio: 17.5 % of one core, real-time factor 5.71 +latency 13 samples, Newton failures 0 (rescued 0), max iterations 21 | diff --git a/harness/reports/M6/20261016_x2_rates_d059_full2x.md b/harness/reports/M6/20261016_x2_rates_d059_full2x.md new file mode 100644 index 0000000..7ed74ac --- /dev/null +++ b/harness/reports/M6/20261016_x2_rates_d059_full2x.md @@ -0,0 +1,48 @@ +# M6 A1: full engine (exact J4) at lower internal rates, plugin model check + +- Date 2026-10-16; options: tol 0.0001; rates 48 kHz × [2]. +- Plugin model check (D-051): ESR ≤ -20 dB vs SPICE (cached 384000 Hz references, 48 kHz band, first 5 s of every DI track, first 0.1 s excluded). Unseen settings: the 16 X4 validation settings, 10 s, vs the engine at 16x (first 1 s excluded). Cost: ampwav --stats on 10 s of DI GTR L, one run at a time; oversampling filters not included. + +## Summary + +| Rate | vs SPICE worst (CRUNCH / DRIVE / HOT) | Check | Unseen settings vs 16x (worst / median) | Newton failures (not rescued) / runs, max iterations | Cost default / HOT (% of one core) | +|---|---|---|---|---|---| +| 2x (96 kHz) | -44.8 / -48.3 / -24.1 dB | PASS | -20.8 / -39.1 dB | 14 (2) / 28, 32 | 26.8 / 40.8 | + +## vs SPICE per clip + +| Clip | 2x | +|---|---| +| CRUNCH GTR L | -45.6 dB | +| CRUNCH GTR LL | -44.8 dB | +| CRUNCH GTR R | -45.9 dB | +| CRUNCH GTR RR | -45.4 dB | +| DRIVE GTR L | -48.3 dB | +| DRIVE GTR LL | -49.4 dB | +| DRIVE GTR R | -49.4 dB | +| DRIVE GTR RR | -48.9 dB | +| HOT GTR L | -24.3 dB | +| HOT GTR LL | -25.2 dB | +| HOT GTR R | -25.1 dB | +| HOT GTR RR | -24.1 dB | + +## Aliasing (power outside the harmonics of f0, relative to the total; 16x for reference) + +Each cell: non-harmonic power, then Newton failures (not rescued) in that 2 s run. Non-converged samples add non-harmonic power, so a cell with many failures measures solver error as well as aliasing. + +| Preset | f0 | amplitude (FS) | 16x | 2x | +|---|---|---|---|---| +| CRUNCH | 5000 Hz | 0.1 | -25.0 dB, 0 (0) | -19.9 dB, 0 (0) | +| CRUNCH | 5000 Hz | 0.4 | -24.7 dB, 0 (0) | -17.9 dB, 1926 (1925) | +| CRUNCH | 9000 Hz | 0.1 | -39.4 dB, 0 (0) | -15.3 dB, 0 (0) | +| CRUNCH | 9000 Hz | 0.4 | -38.5 dB, 0 (0) | -7.1 dB, 31091 (29063) | +| HOT | 5000 Hz | 0.1 | -25.0 dB, 1 (0) | -16.2 dB, 0 (0) | +| HOT | 5000 Hz | 0.4 | -25.4 dB, 1 (0) | -15.7 dB, 750 (749) | +| HOT | 9000 Hz | 0.1 | -37.4 dB, 0 (0) | -14.5 dB, 0 (0) | +| HOT | 9000 Hz | 0.4 | -35.0 dB, 0 (0) | -7.1 dB, 25519 (22801) | + +## Cost + +| Rate | ns per engine sample (default / HOT) | % of one core at 48 kHz | +|---|---|---| +| 2x | 2792 / 4253 | 26.8 / 40.8 | diff --git a/harness/reports/M6/20261016_x2_rates_d059_half2x.md b/harness/reports/M6/20261016_x2_rates_d059_half2x.md new file mode 100644 index 0000000..07acab8 --- /dev/null +++ b/harness/reports/M6/20261016_x2_rates_d059_half2x.md @@ -0,0 +1,48 @@ +# M6 A1: full engine (exact J4) at lower internal rates, plugin model check + +- Date 2026-10-16; options: divisor 2, tol 0.0001; rates 48 kHz × [2]. +- Plugin model check (D-051): ESR ≤ -20 dB vs SPICE (cached 384000 Hz references, 48 kHz band, first 5 s of every DI track, first 0.1 s excluded). Unseen settings: the 16 X4 validation settings, 10 s, vs the engine at 16x (first 1 s excluded). Cost: ampwav --stats on 10 s of DI GTR L, one run at a time; oversampling filters not included. + +## Summary + +| Rate | vs SPICE worst (CRUNCH / DRIVE / HOT) | Check | Unseen settings vs 16x (worst / median) | Newton failures (not rescued) / runs, max iterations | Cost default / HOT (% of one core) | +|---|---|---|---|---|---| +| 2x (96 kHz) | -37.5 / -37.3 / -18.8 dB | FAIL | -16.5 / -28.0 dB | 13 (1) / 28, 32 | 19.4 / 28.6 | + +## vs SPICE per clip + +| Clip | 2x | +|---|---| +| CRUNCH GTR L | -37.9 dB | +| CRUNCH GTR LL | -37.5 dB | +| CRUNCH GTR R | -38.8 dB | +| CRUNCH GTR RR | -37.9 dB | +| DRIVE GTR L | -37.3 dB | +| DRIVE GTR LL | -38.4 dB | +| DRIVE GTR R | -38.5 dB | +| DRIVE GTR RR | -37.5 dB | +| HOT GTR L | -18.8 dB | +| HOT GTR LL | -19.7 dB | +| HOT GTR R | -19.8 dB | +| HOT GTR RR | -18.8 dB | + +## Aliasing (power outside the harmonics of f0, relative to the total; 16x for reference) + +Each cell: non-harmonic power, then Newton failures (not rescued) in that 2 s run. Non-converged samples add non-harmonic power, so a cell with many failures measures solver error as well as aliasing. + +| Preset | f0 | amplitude (FS) | 16x | 2x | +|---|---|---|---|---| +| CRUNCH | 5000 Hz | 0.1 | -25.0 dB, 0 (0) | -14.0 dB, 0 (0) | +| CRUNCH | 5000 Hz | 0.4 | -24.7 dB, 0 (0) | -11.5 dB, 1928 (1927) | +| CRUNCH | 9000 Hz | 0.1 | -39.4 dB, 0 (0) | -8.6 dB, 0 (0) | +| CRUNCH | 9000 Hz | 0.4 | -38.5 dB, 0 (0) | -5.6 dB, 27696 (25460) | +| HOT | 5000 Hz | 0.1 | -25.0 dB, 1 (0) | -10.2 dB, 0 (0) | +| HOT | 5000 Hz | 0.4 | -25.4 dB, 1 (0) | -9.8 dB, 763 (761) | +| HOT | 9000 Hz | 0.1 | -37.4 dB, 0 (0) | -8.6 dB, 0 (0) | +| HOT | 9000 Hz | 0.4 | -35.0 dB, 0 (0) | -6.7 dB, 18138 (15024) | + +## Cost + +| Rate | ns per engine sample (default / HOT) | % of one core at 48 kHz | +|---|---|---| +| 2x | 2020 / 2978 | 19.4 / 28.6 | diff --git a/harness/reports/M6/20261016_x2_rates_d059_half2x_trig0.md b/harness/reports/M6/20261016_x2_rates_d059_half2x_trig0.md new file mode 100644 index 0000000..04e94a1 --- /dev/null +++ b/harness/reports/M6/20261016_x2_rates_d059_half2x_trig0.md @@ -0,0 +1,48 @@ +# M6 A1: full engine (exact J4) at lower internal rates, plugin model check + +- Date 2026-10-16; options: divisor 2, tol 0.0001, trigger 0.0; rates 48 kHz × [2]. +- Plugin model check (D-051): ESR ≤ -20 dB vs SPICE (cached 384000 Hz references, 48 kHz band, first 5 s of every DI track, first 0.1 s excluded). Unseen settings: the 16 X4 validation settings, 10 s, vs the engine at 16x (first 1 s excluded). Cost: ampwav --stats on 10 s of DI GTR L, one run at a time; oversampling filters not included. + +## Summary + +| Rate | vs SPICE worst (CRUNCH / DRIVE / HOT) | Check | Unseen settings vs 16x (worst / median) | Newton failures (not rescued) / runs, max iterations | Cost default / HOT (% of one core) | +|---|---|---|---|---|---| +| 2x (96 kHz) | -36.8 / -36.0 / -19.2 dB | FAIL | -17.1 / -26.9 dB | 44 (1) / 28, 32 | 19.1 / 25.6 | + +## vs SPICE per clip + +| Clip | 2x | +|---|---| +| CRUNCH GTR L | -37.3 dB | +| CRUNCH GTR LL | -36.8 dB | +| CRUNCH GTR R | -38.0 dB | +| CRUNCH GTR RR | -37.1 dB | +| DRIVE GTR L | -36.0 dB | +| DRIVE GTR LL | -37.2 dB | +| DRIVE GTR R | -37.0 dB | +| DRIVE GTR RR | -36.0 dB | +| HOT GTR L | -19.7 dB | +| HOT GTR LL | -20.4 dB | +| HOT GTR R | -20.4 dB | +| HOT GTR RR | -19.2 dB | + +## Aliasing (power outside the harmonics of f0, relative to the total; 16x for reference) + +Each cell: non-harmonic power, then Newton failures (not rescued) in that 2 s run. Non-converged samples add non-harmonic power, so a cell with many failures measures solver error as well as aliasing. + +| Preset | f0 | amplitude (FS) | 16x | 2x | +|---|---|---|---|---| +| CRUNCH | 5000 Hz | 0.1 | -25.0 dB, 0 (0) | -13.9 dB, 0 (0) | +| CRUNCH | 5000 Hz | 0.4 | -24.7 dB, 0 (0) | -11.5 dB, 1930 (1929) | +| CRUNCH | 9000 Hz | 0.1 | -39.4 dB, 0 (0) | -9.3 dB, 0 (0) | +| CRUNCH | 9000 Hz | 0.4 | -38.5 dB, 0 (0) | -5.1 dB, 27298 (25061) | +| HOT | 5000 Hz | 0.1 | -25.0 dB, 1 (0) | -12.6 dB, 0 (0) | +| HOT | 5000 Hz | 0.4 | -25.4 dB, 1 (0) | -12.2 dB, 802 (800) | +| HOT | 9000 Hz | 0.1 | -37.4 dB, 0 (0) | -5.5 dB, 0 (0) | +| HOT | 9000 Hz | 0.4 | -35.0 dB, 0 (0) | -8.1 dB, 20164 (17684) | + +## Cost + +| Rate | ns per engine sample (default / HOT) | % of one core at 48 kHz | +|---|---|---| +| 2x | 1985 / 2662 | 19.1 / 25.6 | From 4a143f64fe8c1fe8c9cd020f57bf11459b4cc5d7 Mon Sep 17 00:00:00 2001 From: CatastrophicCoder Date: Fri, 16 Oct 2026 10:43:09 +0300 Subject: [PATCH 12/17] m6: plugin with the speaker load (D-059) installed for listening; pluginval and auval pass --- harness/reports/M6/20261016_auval.log | 281 ++++++++++++++++++ harness/reports/M6/20261016_pluginval_au.log | 119 ++++++++ .../reports/M6/20261016_pluginval_vst3.log | 116 ++++++++ 3 files changed, 516 insertions(+) create mode 100644 harness/reports/M6/20261016_auval.log create mode 100644 harness/reports/M6/20261016_pluginval_au.log create mode 100644 harness/reports/M6/20261016_pluginval_vst3.log diff --git a/harness/reports/M6/20261016_auval.log b/harness/reports/M6/20261016_auval.log new file mode 100644 index 0000000..350c4e0 --- /dev/null +++ b/harness/reports/M6/20261016_auval.log @@ -0,0 +1,281 @@ + + AU Validation Tool + Version: 1.10.0 + Copyright 2003-2019, Apple Inc. All Rights Reserved. + Specify -h (-help) for command options + +-------------------------------------------------- +VALIDATING AUDIO UNIT: 'aufx' - 'A223' - 'Ctcd' +-------------------------------------------------- +Manufacturer String: CatastrophicCoder +AudioUnit Name: Amp2203 +Component Version: 0.0.1 (0x1) + +* * PASS +-------------------------------------------------- +TESTING OPEN TIMES: +COLD: +Time to open AudioUnit: 9.795 ms +WARM: +Time to open AudioUnit: 5.743 ms +This AudioUnit is a version 2 implementation. +FIRST TIME: +Time for initialization: 9.091 ms + +* * PASS +-------------------------------------------------- +VERIFYING DEFAULT SCOPE FORMATS: +Input Scope Bus Configuration: + Default Bus Count:1 + Bus Name: Input + Default Format: AudioStreamBasicDescription: 2 ch, 44100 Hz, Float32, deinterleaved + Has Channel Layouts: 0x640001 0x650002 0x660002 0x670002 0x6A0002 + Default Layout: + Tag=0x650002, Num Chan Descs=0 + +Output Scope Bus Configuration: + Default Bus Count:1 + Bus Name: Output + Default Format: AudioStreamBasicDescription: 2 ch, 44100 Hz, Float32, deinterleaved + Has Channel Layouts: 0x640001 0x650002 0x660002 0x670002 0x6A0002 + Default Layout: + Tag=0x650002, Num Chan Descs=0 + +* * PASS +-------------------------------------------------- +VERIFYING REQUIRED PROPERTIES: + +* * PASS +-------------------------------------------------- +VERIFYING RECOMMENDED PROPERTIES: + VERIFYING PROPERTY: Latency + PASS + VERIFYING PROPERTY: Tail Time + PASS + VERIFYING PROPERTY: Bypass Effect + PASS + +* * PASS +-------------------------------------------------- +VERIFYING OPTIONAL PROPERTIES: + +* * PASS +-------------------------------------------------- +VERIFYING SPECIAL PROPERTIES: + +VERIFYING CUSTOM UI +Cocoa Views Available: 1 + JUCE_AUCocoaViewClass_71c05d141febb0fc + PASS + +HAS FACTORY PRESETS + ID: 0 Name: Untitled + +VERIFYING CLASS INFO + PASS + +TESTING HOST CALLBACKS + PASS + +* * PASS +-------------------------------------------------- +PUBLISHED PARAMETER INFO: + +# # # 12 Global Scope Parameters: +Parameter ID:3016415 +Name: Bass +Parameter Type: Generic +Values: Minimum = 0.0, Default = 5.0, Maximum = 10.0 +Flags: Values Have Strings, High Resolution, Can Ramp, Readable, Writable + -parameter PASS + +Parameter ID:857833147 +Name: Preamp Volume +Parameter Type: Generic +Values: Minimum = 0.0, Default = 6.0, Maximum = 10.0 +Flags: Values Have Strings, High Resolution, Can Ramp, Readable, Writable + -parameter PASS + +Parameter ID:870817019 +Name: Presence +Parameter Type: Generic +Values: Minimum = 0.0, Default = 5.0, Maximum = 10.0 +Flags: Values Have Strings, High Resolution, Can Ramp, Readable, Writable + -parameter PASS + +Parameter ID:956930507 +Name: Interface Level +Parameter Type: Generic +Values: Minimum = 0.0, Default = 12.0, Maximum = 24.0 +Flags: Values Have Strings, High Resolution, Can Ramp, Readable, Writable + -parameter PASS + +Parameter ID:1066216034 +Name: Master +Parameter Type: Generic +Values: Minimum = 0.0, Default = 3.0, Maximum = 10.0 +Flags: Values Have Strings, High Resolution, Can Ramp, Readable, Writable + -parameter PASS + +Parameter ID:1073142165 +Name: Middle +Parameter Type: Generic +Values: Minimum = 0.0, Default = 5.0, Maximum = 10.0 +Flags: Values Have Strings, High Resolution, Can Ramp, Readable, Writable + -parameter PASS + +Parameter ID:1281885780 +Name: Treble +Parameter Type: Generic +Values: Minimum = 0.0, Default = 5.0, Maximum = 10.0 +Flags: Values Have Strings, High Resolution, Can Ramp, Readable, Writable + -parameter PASS + +Parameter ID:1305086723 +Name: Output Level +Parameter Type: Generic +Values: Minimum = -48.0, Default = 0.0, Maximum = 12.0 +Flags: Values Have Strings, High Resolution, Can Ramp, Readable, Writable + -parameter PASS + +Parameter ID:1420097723 +Name: Oversampling +Parameter Type: Indexed +Values: Minimum = 2x, Default = 2x, Maximum = 16x +Flags: Values Have Strings, High Resolution, Readable, Writable +Parameter has Value Strings +Num Strings = 4 +Value: 0, String: 2x +Value: 1, String: 4x +Value: 2, String: 8x +Value: 3, String: 16x + -parameter PASS + +Parameter ID:1706969868 +Name: Input Trim +Parameter Type: Generic +Values: Minimum = -24.0, Default = 0.0, Maximum = 24.0 +Flags: Values Have Strings, High Resolution, Can Ramp, Readable, Writable + -parameter PASS + +Parameter ID:1796311039 +Name: Power Amp Rate +Parameter Type: Indexed +Values: Minimum = Full, Default = Half, Maximum = Half +Flags: Values Have Strings, High Resolution, Readable, Writable +Parameter has Value Strings +Num Strings = 2 +Value: 0, String: Full +Value: 1, String: Half + -parameter PASS + +Parameter ID:1957034003 +Name: Oversampling Filter +Parameter Type: Indexed +Values: Minimum = Linear phase (FIR), Default = Linear phase (FIR), Maximum = Low latency (IIR) +Flags: Values Have Strings, High Resolution, Readable, Writable +Parameter has Value Strings +Num Strings = 2 +Value: 0, String: Linear phase (FIR) +Value: 1, String: Low latency (IIR) + -parameter PASS + +Testing that parameters retain value across reset and initialization + PASS + +* * PASS +-------------------------------------------------- +FORMAT TESTS: + +Reported Channel Capabilities (explicit): + [1, 1] [1, 2] [2, 1] [2, 2] + +Input/Output Channel Handling: +1-1 1-2 1-4 1-5 1-6 1-7 1-8 2-2 2-4 2-5 2-6 2-7 2-8 4-4 4-5 5-5 6-6 7-7 8-8 +X X X + +# # AudioChannelLayouts (5), Input Scope: +ChannelLayout is Writable: T +The Unit publishes the following Channel Layouts: + 0x640001, 0x650002, 0x660002, 0x670002, 0x6A0002, + +Is Audio Channel Layout Available: +Mono Stereo Binau. AU_4 Ambi. AU_5 AU_5_0 AU_6 AU_6_0 AU_7_0 AU_7_0F AU_8 AU_5_1 AU_6_1 AU_7_1 AU_7_1F +X X X + +Current Format:AudioStreamBasicDescription: 2 ch, 44100 Hz, Float32, deinterleaved +Current Format Tag = 0x650002, New Format Tag = 0x640001, Success - did not reset format with mis-matched layout + +Current Format:AudioStreamBasicDescription: 2 ch, 44100 Hz, Float32, deinterleaved +Current Format Tag = 0x650002, New Format Tag = 0x650002, Successsful + +Current Format:AudioStreamBasicDescription: 2 ch, 44100 Hz, Float32, deinterleaved +Current Format Tag = 0x650002, New Format Tag = 0x6A0002, Successsful + +# # AudioChannelLayouts (5), Output Scope: +ChannelLayout is Writable: T +The Unit publishes the following Channel Layouts: + 0x640001, 0x650002, 0x660002, 0x670002, 0x6A0002, + +Is Audio Channel Layout Available: +Mono Stereo Binau. AU_4 Ambi. AU_5 AU_5_0 AU_6 AU_6_0 AU_7_0 AU_7_0F AU_8 AU_5_1 AU_6_1 AU_7_1 AU_7_1F +X X X + +Current Format:AudioStreamBasicDescription: 2 ch, 44100 Hz, Float32, deinterleaved +Current Format Tag = 0x650002, New Format Tag = 0x640001, Success - did not reset format with mis-matched layout + +Current Format:AudioStreamBasicDescription: 2 ch, 44100 Hz, Float32, deinterleaved +Current Format Tag = 0x650002, New Format Tag = 0x650002, Successsful + +Current Format:AudioStreamBasicDescription: 2 ch, 44100 Hz, Float32, deinterleaved +Current Format Tag = 0x650002, New Format Tag = 0x6A0002, Successsful + +* * PASS +-------------------------------------------------- +RENDER TESTS: + +Input Format: AudioStreamBasicDescription: 2 ch, 44100 Hz, Float32, deinterleaved +Output Format: AudioStreamBasicDescription: 2 ch, 44100 Hz, Float32, deinterleaved +Render Test at 512 frames +Slicing Render Test at 64 frames + PASS + + +Render Test at 64 frames, sample rate: 22050 Hz +Render Test at 137 frames, sample rate: 96000 Hz +Render Test at 4096 frames, sample rate: 48000 Hz +Render Test at 4096 frames, sample rate: 192000 Hz +Render Test at 4096 frames, sample rate: 11025 Hz +Render Test at 512 frames, sample rate: 44100 Hz + PASS + +1 Channel Test: +Render Test at 512 frames + PASS + +1 to 2 Channel Render Test at 256 frames + PASS + +Checking connection semantics: +Connection format: +AudioStreamBasicDescription: 2 ch, 44100 Hz, Float32, deinterleaved + PASS + +Bad Max Frames - Render should fail + PASS + +Checking parameter setting +Using AudioUnitSetParameter +Using AudioUnitScheduleParameter + PASS + +Checking ramped parameter scheduling + PASS + +Test MIDI + PASS + +* * PASS +-------------------------------------------------- +AU VALIDATION SUCCEEDED. +-------------------------------------------------- diff --git a/harness/reports/M6/20261016_pluginval_au.log b/harness/reports/M6/20261016_pluginval_au.log new file mode 100644 index 0000000..56a4237 --- /dev/null +++ b/harness/reports/M6/20261016_pluginval_au.log @@ -0,0 +1,119 @@ +Started validating: /Users/kimmo/Library/Audio/Plug-Ins/Components/Amp2203.component +Random seed: 0x24b88df +Validation started +Strictness level: 5 +----------------------------------------------------------------- +Starting tests in: pluginval / Scan for plugins located in: /Users/kimmo/Library/Audio/Plug-Ins/Components/Amp2203.component... +Num plugins found: 1 + +Testing plugin: AudioUnit-Amp2203-f5dabfd3-6333372f +CatastrophicCoder: Amp2203 v0.0.1 +Completed tests in pluginval / Scan for plugins located in: /Users/kimmo/Library/Audio/Plug-Ins/Components/Amp2203.component +----------------------------------------------------------------- +Starting tests in: pluginval / Open plugin (cold)... +Completed tests in pluginval / Open plugin (cold) +----------------------------------------------------------------- +Starting tests in: pluginval / Open plugin (warm)... +Running tests 1 times +Completed tests in pluginval / Open plugin (warm) +----------------------------------------------------------------- +Starting tests in: pluginval / Plugin info... + +Plugin name: Amp2203 +Alternative names: Amp2203 +SupportsDoublePrecision: no +Reported latency: 0 +Reported taillength: 0 +Completed tests in pluginval / Plugin info +----------------------------------------------------------------- +Starting tests in: pluginval / Plugin programs... +Num programs: 1 +All program names checked + +Changing program +!!! WARNING: Current program is -1... Is this correct? +Completed tests in pluginval / Plugin programs +----------------------------------------------------------------- +Starting tests in: pluginval / Editor... +Completed tests in pluginval / Editor +----------------------------------------------------------------- +Starting tests in: pluginval / Open editor whilst processing... +Completed tests in pluginval / Open editor whilst processing +----------------------------------------------------------------- +Starting tests in: pluginval / Audio processing... +Testing with sample rate [44100] and block size [64] +Testing with sample rate [44100] and block size [128] +Testing with sample rate [44100] and block size [256] +Testing with sample rate [44100] and block size [512] +Testing with sample rate [44100] and block size [1024] +Testing with sample rate [48000] and block size [64] +Testing with sample rate [48000] and block size [128] +Testing with sample rate [48000] and block size [256] +Testing with sample rate [48000] and block size [512] +Testing with sample rate [48000] and block size [1024] +Testing with sample rate [96000] and block size [64] +Testing with sample rate [96000] and block size [128] +Testing with sample rate [96000] and block size [256] +Testing with sample rate [96000] and block size [512] +Testing with sample rate [96000] and block size [1024] +Completed tests in pluginval / Audio processing +----------------------------------------------------------------- +Starting tests in: pluginval / Plugin state... +Completed tests in pluginval / Plugin state +----------------------------------------------------------------- +Starting tests in: pluginval / Automation... +Testing with sample rate [44100] and block size [64] and sub-block size [32] +Testing with sample rate [44100] and block size [128] and sub-block size [32] +Testing with sample rate [44100] and block size [256] and sub-block size [32] +Testing with sample rate [44100] and block size [512] and sub-block size [32] +Testing with sample rate [44100] and block size [1024] and sub-block size [32] +Testing with sample rate [48000] and block size [64] and sub-block size [32] +Testing with sample rate [48000] and block size [128] and sub-block size [32] +Testing with sample rate [48000] and block size [256] and sub-block size [32] +Testing with sample rate [48000] and block size [512] and sub-block size [32] +Testing with sample rate [48000] and block size [1024] and sub-block size [32] +Testing with sample rate [96000] and block size [64] and sub-block size [32] +Testing with sample rate [96000] and block size [128] and sub-block size [32] +Testing with sample rate [96000] and block size [256] and sub-block size [32] +Testing with sample rate [96000] and block size [512] and sub-block size [32] +Testing with sample rate [96000] and block size [1024] and sub-block size [32] +Completed tests in pluginval / Automation +----------------------------------------------------------------- +Starting tests in: pluginval / Editor Automation... +Completed tests in pluginval / Editor Automation +----------------------------------------------------------------- +Starting tests in: pluginval / Automatable Parameters... +Completed tests in pluginval / Automatable Parameters +----------------------------------------------------------------- +Starting tests in: pluginval / auval... +auval exited with code: 0 +Completed tests in pluginval / auval +----------------------------------------------------------------- +Starting tests in: pluginval / vst3 validator... +Completed tests in pluginval / vst3 validator +----------------------------------------------------------------- +Starting tests in: pluginval / Basic bus... +Completed tests in pluginval / Basic bus +----------------------------------------------------------------- +Starting tests in: pluginval / Listing available buses... +Inputs: + Named layouts: Mono, Stereo + Discrete layouts: None +Outputs: + Named layouts: Mono, Stereo + Discrete layouts: None +Main bus num input channels: 2 +Main bus num output channels: 2 +Completed tests in pluginval / Listing available buses +----------------------------------------------------------------- +Starting tests in: pluginval / Enabling all buses... +Completed tests in pluginval / Enabling all buses +----------------------------------------------------------------- +Starting tests in: pluginval / Disabling non-main busses... +Completed tests in pluginval / Disabling non-main busses +----------------------------------------------------------------- +Starting tests in: pluginval / Restoring default layout... +Main bus num input channels: 2 +Main bus num output channels: 2 +Completed tests in pluginval / Restoring default layout +SUCCESS diff --git a/harness/reports/M6/20261016_pluginval_vst3.log b/harness/reports/M6/20261016_pluginval_vst3.log new file mode 100644 index 0000000..b263d10 --- /dev/null +++ b/harness/reports/M6/20261016_pluginval_vst3.log @@ -0,0 +1,116 @@ +Started validating: /Users/kimmo/Library/Audio/Plug-Ins/VST3/Amp2203.vst3 +Random seed: 0x3fd9375 +Validation started +Strictness level: 5 +----------------------------------------------------------------- +Starting tests in: pluginval / Scan for plugins located in: /Users/kimmo/Library/Audio/Plug-Ins/VST3/Amp2203.vst3... +Num plugins found: 1 + +Testing plugin: VST3-Amp2203-81e3417-bab24cd9 +CatastrophicCoder: Amp2203 v0.0.1 +Completed tests in pluginval / Scan for plugins located in: /Users/kimmo/Library/Audio/Plug-Ins/VST3/Amp2203.vst3 +----------------------------------------------------------------- +Starting tests in: pluginval / Open plugin (cold)... +Completed tests in pluginval / Open plugin (cold) +----------------------------------------------------------------- +Starting tests in: pluginval / Open plugin (warm)... +Running tests 1 times +Completed tests in pluginval / Open plugin (warm) +----------------------------------------------------------------- +Starting tests in: pluginval / Plugin info... + +Plugin name: Amp2203 +Alternative names: Amp2203 +SupportsDoublePrecision: yes +Reported latency: 0 +Reported taillength: 0 +Completed tests in pluginval / Plugin info +----------------------------------------------------------------- +Starting tests in: pluginval / Plugin programs... +Num programs: 0 +All program names checked +Completed tests in pluginval / Plugin programs +----------------------------------------------------------------- +Starting tests in: pluginval / Editor... +Completed tests in pluginval / Editor +----------------------------------------------------------------- +Starting tests in: pluginval / Open editor whilst processing... +Completed tests in pluginval / Open editor whilst processing +----------------------------------------------------------------- +Starting tests in: pluginval / Audio processing... +Testing with sample rate [44100] and block size [64] +Testing with sample rate [44100] and block size [128] +Testing with sample rate [44100] and block size [256] +Testing with sample rate [44100] and block size [512] +Testing with sample rate [44100] and block size [1024] +Testing with sample rate [48000] and block size [64] +Testing with sample rate [48000] and block size [128] +Testing with sample rate [48000] and block size [256] +Testing with sample rate [48000] and block size [512] +Testing with sample rate [48000] and block size [1024] +Testing with sample rate [96000] and block size [64] +Testing with sample rate [96000] and block size [128] +Testing with sample rate [96000] and block size [256] +Testing with sample rate [96000] and block size [512] +Testing with sample rate [96000] and block size [1024] +Completed tests in pluginval / Audio processing +----------------------------------------------------------------- +Starting tests in: pluginval / Plugin state... +Completed tests in pluginval / Plugin state +----------------------------------------------------------------- +Starting tests in: pluginval / Automation... +Testing with sample rate [44100] and block size [64] and sub-block size [32] +Testing with sample rate [44100] and block size [128] and sub-block size [32] +Testing with sample rate [44100] and block size [256] and sub-block size [32] +Testing with sample rate [44100] and block size [512] and sub-block size [32] +Testing with sample rate [44100] and block size [1024] and sub-block size [32] +Testing with sample rate [48000] and block size [64] and sub-block size [32] +Testing with sample rate [48000] and block size [128] and sub-block size [32] +Testing with sample rate [48000] and block size [256] and sub-block size [32] +Testing with sample rate [48000] and block size [512] and sub-block size [32] +Testing with sample rate [48000] and block size [1024] and sub-block size [32] +Testing with sample rate [96000] and block size [64] and sub-block size [32] +Testing with sample rate [96000] and block size [128] and sub-block size [32] +Testing with sample rate [96000] and block size [256] and sub-block size [32] +Testing with sample rate [96000] and block size [512] and sub-block size [32] +Testing with sample rate [96000] and block size [1024] and sub-block size [32] +Completed tests in pluginval / Automation +----------------------------------------------------------------- +Starting tests in: pluginval / Editor Automation... +Completed tests in pluginval / Editor Automation +----------------------------------------------------------------- +Starting tests in: pluginval / Automatable Parameters... +Completed tests in pluginval / Automatable Parameters +----------------------------------------------------------------- +Starting tests in: pluginval / auval... +Completed tests in pluginval / auval +----------------------------------------------------------------- +Starting tests in: pluginval / vst3 validator... +INFO: Skipping vst3 validator as validator path hasn't been set +Completed tests in pluginval / vst3 validator +----------------------------------------------------------------- +Starting tests in: pluginval / Basic bus... +Completed tests in pluginval / Basic bus +----------------------------------------------------------------- +Starting tests in: pluginval / Listing available buses... +Inputs: + Named layouts: Mono, Stereo + Discrete layouts: Discrete #1 +Outputs: + Named layouts: Mono, Stereo + Discrete layouts: Discrete #1 +Main bus num input channels: 2 +Main bus num output channels: 2 +Completed tests in pluginval / Listing available buses +----------------------------------------------------------------- +Starting tests in: pluginval / Enabling all buses... +Completed tests in pluginval / Enabling all buses +----------------------------------------------------------------- +Starting tests in: pluginval / Disabling non-main busses... +Completed tests in pluginval / Disabling non-main busses +----------------------------------------------------------------- +Starting tests in: pluginval / Restoring default layout... +Main bus num input channels: 2 +Main bus num output channels: 2 +Completed tests in pluginval / Restoring default layout +SUCCESS From eeea95648cefe956d879cab045707602a8aead48 Mon Sep 17 00:00:00 2001 From: CatastrophicCoder Date: Sat, 17 Oct 2026 22:36:01 +0300 Subject: [PATCH 13/17] m6: owner comparison against a NAM capture of a real 2203 --- docs/PROGRESS.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/docs/PROGRESS.md b/docs/PROGRESS.md index c64916b..b65d4e7 100644 --- a/docs/PROGRESS.md +++ b/docs/PROGRESS.md @@ -816,6 +816,11 @@ Notes: Power-amp Newton at HOT (DI L): failures 49 / 420 at 8x / 16x (43 unrescued at 16x); maxIter 64 or a looser tolerance do not change them; half-steps off: 3 / 68; half-steps every sample: 64 / 466. Cause (half-step handling of the speaker inductors vs a stiffer discretised load) not yet established. +- Owner comparison 2026-10-17 against a NAM capture of a real 2203 (Tone3000, settings published with the capture), plugin + build with D-058 + D-059 at its defaults (2x, Half, Interface Level +12 dBu, trim and output 0 dB): with the capture's + settings (Preamp 10, Treble 8, Middle 7, Bass 4, Master 10, Presence 8) "the tone is pretty accurate"; the output at Master + 10 is ≈ 12 dB too loud for the IR loader. The earlier "missing gain" was at Master 3: the capture's sound includes the + power stage at full Master. These settings are in the HOT region (plugin model check there: −18.8 dB vs SPICE at half 2x). ## Questions for the owner _(Claude Code: add questions here and also ask them in the session.)_ From 7a0df212fdc936e9d4692e7d1250df60b5aeffc2 Mon Sep 17 00:00:00 2001 From: CatastrophicCoder Date: Sat, 17 Oct 2026 22:42:52 +0300 Subject: [PATCH 14/17] m6: plugin Power Amp Rate default Full (D-060); null test, automation, CPU --- docs/DECISIONS.md | 12 ++++ docs/PROGRESS.md | 2 + docs/SPEC.md | 4 +- harness/plugin_cpu.py | 2 +- harness/plugin_null.py | 4 +- ...261017_automation_fs96000_pdiv1_j4exact.md | 66 +++++++++++++++++++ harness/reports/M6/20261017_plugin_cpu.md | 39 +++++++++++ .../M6/20261017_plugin_null_2x_full.md | 62 +++++++++++++++++ plugin/src/PluginProcessor.cpp | 4 +- 9 files changed, 188 insertions(+), 7 deletions(-) create mode 100644 harness/reports/M6/20261017_automation_fs96000_pdiv1_j4exact.md create mode 100644 harness/reports/M6/20261017_plugin_cpu.md create mode 100644 harness/reports/M6/20261017_plugin_null_2x_full.md diff --git a/docs/DECISIONS.md b/docs/DECISIONS.md index a6eafb5..77613ef 100644 --- a/docs/DECISIONS.md +++ b/docs/DECISIONS.md @@ -1016,3 +1016,15 @@ the capacitor a `DcCapacitor`. The plugin output stays the speaker voltage / 60 figure. The parameters are representative, not measured. Consequences: DC unchanged except v(out) 42.4 µV (was 42.6). Every SPICE reference that contains the power amp is re-rendered; reports before this entry describe the 16 Ω resistor. + +## D-060 Plugin default Power Amp Rate: Full (with the speaker load) +Date: 2026-10-17 · Status: accepted (owner: "switch the power amp to full rate at 2x"; revises D-054's Half default) +Context: with the speaker load (D-059) the plugin model check at half rate 2x fails at HOT (−18.8 dB vs SPICE; half-steps off +−19.2 dB), the full-rate power amp at 2x passes (−24.1 dB, unseen settings −20.8 dB vs 16x; engine 26.8 / 40.8 % default / +HOT). The owner's NAM comparison with a real 2203 (PROGRESS 2026-10-17) is at Master 10 / Presence 8, the HOT region. +Decision: Power Amp Rate default Full; Half stays selectable. Oversampling stays 2x; exact J4, Newton 1e-4 V and half-steps +as D-055 / D-056. +Consequences: no rate-change delay (latency = the oversampler's: 49 samples FIR at 2x, IIR less); CPU as measured in +`harness/reports/M6/20261017_plugin_cpu.md`: default knobs 26.4 % (Half 18.9 %), every knob 10 50.2 % (33.2 %), knob automation +32–35 % (≈ 24 %); at the owner's NAM-matched settings 47.3 % (Half 31.5 %). Null test 26 / 26; automation (96 kHz, Full, exact J4, +1e-4 V) 0 non-finite, 20 rescued first-solve failures. The null test and the CPU tool default to Full. diff --git a/docs/PROGRESS.md b/docs/PROGRESS.md index b65d4e7..f0c002b 100644 --- a/docs/PROGRESS.md +++ b/docs/PROGRESS.md @@ -821,6 +821,8 @@ Notes: settings (Preamp 10, Treble 8, Middle 7, Bass 4, Master 10, Presence 8) "the tone is pretty accurate"; the output at Master 10 is ≈ 12 dB too loud for the IR loader. The earlier "missing gain" was at Master 3: the capture's sound includes the power stage at full Master. These settings are in the HOT region (plugin model check there: −18.8 dB vs SPICE at half 2x). +- Owner: power amp at full rate by default (D-060). Plugin CPU: default 26.4 %, every knob 10 50.2 %, NAM-matched settings + 47.3 %, knob automation 32–35 %; null test 26 / 26; automation 0 unrescued. ## Questions for the owner _(Claude Code: add questions here and also ask them in the session.)_ diff --git a/docs/SPEC.md b/docs/SPEC.md index a579ab6..bc272bb 100644 --- a/docs/SPEC.md +++ b/docs/SPEC.md @@ -152,7 +152,7 @@ DECISIONS D-033), `PhaseInverter`, `PowerStage` (verified sub-blocks of `PowerAm ### 3.4 Sample rate and oversampling - The engine runs at whatever rate `prepare()` receives. The JUCE plugin layer wraps it with `juce::dsp::Oversampling` and passes the oversampled rate. -- Plugin oversampling: a parameter with 2x / 4x / 8x / 16x, default 2x with the power amp at half rate and the +- Plugin oversampling: a parameter with 2x / 4x / 8x / 16x, default 2x with the power amp at full rate (D-060) and the exact J4 coupling (DECISIONS D-054, owner listening result; was 8x, D-048), the same factor at every host rate. 2x is 96 kHz inside at 48 kHz, verified against SPICE with the D-051 tolerances (M6 X2 / A1). - Verification runs the engine directly at 768 kHz (16 x 48 kHz) on signals generated at that rate, so @@ -320,7 +320,7 @@ Must reproduce `reference/spice/tubes.lib` exactly (same equations and parameter Preamp Volume, Treble, Middle, Bass, Master, Presence (0–10 display, rotation internally), Interface Level (dBu at 0 dBFS, 0..+24 dBu, default +12.0 dBu; sets `inputVoltsPerFullScale`), Input Trim (−24..+24 dB, default 0 dB), Output Level (−48..+12 dB), Oversampling (2x/4x/8x/16x, default 2x), Power Amp Rate (Full / Half, default -Half; D-049, D-054), +Full; D-049, D-054, D-060), optional Cabinet IR on/off with file chooser (only if implemented in this repo; see 1.3). --- diff --git a/harness/plugin_cpu.py b/harness/plugin_cpu.py index 20bad66..b26708f 100644 --- a/harness/plugin_cpu.py +++ b/harness/plugin_cpu.py @@ -57,7 +57,7 @@ def main(): f'rescued {resc})', flush=True) lines = ['# M6 plugin CPU under knob automation', '', f'- Date {datetime.date.today().isoformat()}, commit `{_git()}`; `amp2203_render plugin` at the plugin defaults ' - f'({a.factor}x, Power Amp Rate Half, exact J4, Newton tol 1e-4 V, half-steps on; D-054 – D-056), FIR ' + f'({a.factor}x, Power Amp Rate Full, exact J4, Newton tol 1e-4 V, half-steps on; D-054 – D-056, D-060), FIR ' f'oversampling, {a.seconds:g} s of DI GTR L at {RATE} Hz; processBlock time only.', '- Automation between host blocks: lfo = 10 Hz triangle 0 → 10 → 0, jump = 0 ↔ 10 every 50 ms; "all" moves ' 'the six knobs together. One render at a time.', '', diff --git a/harness/plugin_null.py b/harness/plugin_null.py index be418b1..6e2abfc 100644 --- a/harness/plugin_null.py +++ b/harness/plugin_null.py @@ -1,5 +1,5 @@ """M5 wrapper null test (SPEC §7 M5): an offline render through the plugin's processor (`amp2203_render plugin`, -default 2x, Power Amp Rate Half, exact J4: the plugin defaults, D-054) against `ampwav --block full` at the same +default 2x, Power Amp Rate Full, exact J4: the plugin defaults, D-054, D-060) against `ampwav --block full` at the same engine rate and options on the processor's own oversampled input, followed by the same resampling: down(ampwav(up(x))), with the oversampler's up and down stages run alone (`amp2203_render up / down`). Default levels (Interface Level +12 dBu, trim and output 0 dB), default knobs. @@ -32,7 +32,7 @@ HOST_RATE = 48000 FACTOR = 2 -POWER_RATE = 'half' +POWER_RATE = 'full' # the plugin default (D-060) RENDER = config.ROOT / 'build' / 'plugin' / 'amp2203_render_artefacts' / 'Release' / 'amp2203_render' LIMIT_DB = -60.0 NEWTON_TOL = 1e-4 # V, the plugin's (D-055) diff --git a/harness/reports/M6/20261017_automation_fs96000_pdiv1_j4exact.md b/harness/reports/M6/20261017_automation_fs96000_pdiv1_j4exact.md new file mode 100644 index 0000000..abd35e5 --- /dev/null +++ b/harness/reports/M6/20261017_automation_fs96000_pdiv1_j4exact.md @@ -0,0 +1,66 @@ +# M5 automation: every knob over its full range at audio rate + +- Date: 2026-10-17, commit `eeea956 (dirty)`, engine `ampwav --block full` at 96000 Hz +- Modulation: 10 Hz triangle 0 → 1 → 0 (`lfo`) or 0 ↔ 1 jumps every 50 ms (`jump`) on the knob targets (smoothed by the engine, 20 ms); bases: default knobs, every knob at 1.0. +- SPEC §7 M5: no NaN / Inf, no Newton failures. Newton failures count first solves that did not converge in 12 iterations; the fallback (D-042) rescued or did not rescue them. + +Runs: 56 · non-finite outputs: 0 · Newton failures (first solve): 20 · unrescued: 0 + +| Base | Knobs | Modulation | Signal | finite | peak [V] | solves | failures | rescued | unrescued | median / max it | ns/sample | +|---|---|---|---|---|---|---|---|---|---|---|---| +| default | preampVolume | lfo | SIN-220Hz-0.3V | yes | 34.7 | 288000 | 0 | 0 | 0 | 1 / 7 | 2703 | +| default | preampVolume | lfo | DI-GTR L | yes | 55.9 | 1440105 | 0 | 0 | 0 | 1 / 18 | 3082 | +| default | preampVolume | jump | SIN-220Hz-0.3V | yes | 40.3 | 288000 | 0 | 0 | 0 | 1 / 25 | 2658 | +| default | preampVolume | jump | DI-GTR L | yes | 60.0 | 1440221 | 0 | 0 | 0 | 1 / 20 | 3013 | +| default | treble | lfo | SIN-220Hz-0.3V | yes | 41.4 | 288000 | 0 | 0 | 0 | 1 / 22 | 2811 | +| default | treble | lfo | DI-GTR L | yes | 64.5 | 1440166 | 0 | 0 | 0 | 1 / 17 | 3422 | +| default | treble | jump | SIN-220Hz-0.3V | yes | 39.8 | 288000 | 0 | 0 | 0 | 1 / 22 | 2811 | +| default | treble | jump | DI-GTR L | yes | 75.6 | 1440426 | 0 | 0 | 0 | 1 / 20 | 3575 | +| default | middle | lfo | SIN-220Hz-0.3V | yes | 35.1 | 288000 | 0 | 0 | 0 | 1 / 25 | 2836 | +| default | middle | lfo | DI-GTR L | yes | 54.9 | 1440145 | 0 | 0 | 0 | 1 / 18 | 3420 | +| default | middle | jump | SIN-220Hz-0.3V | yes | 39.9 | 288000 | 0 | 0 | 0 | 1 / 22 | 2831 | +| default | middle | jump | DI-GTR L | yes | 63.8 | 1440215 | 0 | 0 | 0 | 1 / 18 | 3571 | +| default | bass | lfo | SIN-220Hz-0.3V | yes | 39.3 | 288000 | 0 | 0 | 0 | 1 / 22 | 2693 | +| default | bass | lfo | DI-GTR L | yes | 57.7 | 1440152 | 0 | 0 | 0 | 1 / 20 | 3032 | +| default | bass | jump | SIN-220Hz-0.3V | yes | 45.2 | 288000 | 0 | 0 | 0 | 1 / 22 | 2684 | +| default | bass | jump | DI-GTR L | yes | 57.1 | 1440155 | 0 | 0 | 0 | 1 / 18 | 3047 | +| default | master | lfo | SIN-220Hz-0.3V | yes | 75.8 | 288215 | 0 | 0 | 0 | 1 / 22 | 3271 | +| default | master | lfo | DI-GTR L | yes | 137.4 | 1448413 | 0 | 0 | 0 | 1 / 19 | 3772 | +| default | master | jump | SIN-220Hz-0.3V | yes | 81.9 | 288929 | 0 | 0 | 0 | 1 / 22 | 3307 | +| default | master | jump | DI-GTR L | yes | 142.9 | 1452621 | 0 | 0 | 0 | 1 / 18 | 3968 | +| default | presence | lfo | SIN-220Hz-0.3V | yes | 35.7 | 288000 | 0 | 0 | 0 | 1 / 22 | 2842 | +| default | presence | lfo | DI-GTR L | yes | 58.1 | 1440162 | 0 | 0 | 0 | 1 / 19 | 3184 | +| default | presence | jump | SIN-220Hz-0.3V | yes | 67.9 | 288002 | 0 | 0 | 0 | 1 / 22 | 2852 | +| default | presence | jump | DI-GTR L | yes | 75.0 | 1440441 | 0 | 0 | 0 | 1 / 17 | 3288 | +| default | all | lfo | SIN-220Hz-0.3V | yes | 77.1 | 288679 | 0 | 0 | 0 | 1 / 8 | 4045 | +| default | all | lfo | DI-GTR L | yes | 161.9 | 1451205 | 0 | 0 | 0 | 1 / 19 | 6706 | +| default | all | jump | SIN-220Hz-0.3V | yes | 134.0 | 290865 | 0 | 0 | 0 | 1 / 25 | 4316 | +| default | all | jump | DI-GTR L | yes | 167.6 | 1459869 | 0 | 0 | 0 | 1 / 20 | 6882 | +| max | preampVolume | lfo | SIN-220Hz-0.3V | yes | 79.3 | 290727 | 0 | 0 | 0 | 1 / 21 | 3709 | +| max | preampVolume | lfo | DI-GTR L | yes | 206.3 | 1501570 | 0 | 0 | 0 | 2 / 20 | 4676 | +| max | preampVolume | jump | SIN-220Hz-0.3V | yes | 134.0 | 294933 | 0 | 0 | 0 | 1 / 25 | 4181 | +| max | preampVolume | jump | DI-GTR L | yes | 212.3 | 1496506 | 0 | 0 | 0 | 1 / 18 | 4497 | +| max | treble | lfo | SIN-220Hz-0.3V | yes | 129.5 | 303397 | 0 | 0 | 0 | 2 / 25 | 5223 | +| max | treble | lfo | DI-GTR L | yes | 208.9 | 1512086 | 0 | 0 | 0 | 1 / 22 | 5088 | +| max | treble | jump | SIN-220Hz-0.3V | yes | 134.0 | 303935 | 0 | 0 | 0 | 2 / 25 | 5230 | +| max | treble | jump | DI-GTR L | yes | 206.1 | 1509676 | 0 | 0 | 0 | 1 / 23 | 5193 | +| max | middle | lfo | SIN-220Hz-0.3V | yes | 181.9 | 309969 | 0 | 0 | 0 | 2 / 25 | 5891 | +| max | middle | lfo | DI-GTR L | yes | 212.9 | 1510320 | 0 | 0 | 0 | 2 / 19 | 5022 | +| max | middle | jump | SIN-220Hz-0.3V | yes | 143.6 | 307088 | 0 | 0 | 0 | 2 / 25 | 5553 | +| max | middle | jump | DI-GTR L | yes | 215.6 | 1509217 | 0 | 0 | 0 | 2 / 17 | 5174 | +| max | bass | lfo | SIN-220Hz-0.3V | yes | 149.2 | 312718 | 0 | 0 | 0 | 2 / 25 | 5914 | +| max | bass | lfo | DI-GTR L | yes | 213.1 | 1529438 | 0 | 0 | 0 | 2 / 18 | 5055 | +| max | bass | jump | SIN-220Hz-0.3V | yes | 148.4 | 312031 | 0 | 0 | 0 | 2 / 25 | 5799 | +| max | bass | jump | DI-GTR L | yes | 214.9 | 1527473 | 0 | 0 | 0 | 2 / 22 | 5081 | +| max | master | lfo | SIN-220Hz-0.3V | yes | 75.0 | 292542 | 0 | 0 | 0 | 1 / 25 | 3936 | +| max | master | lfo | DI-GTR L | yes | 196.6 | 1471596 | 0 | 0 | 0 | 1 / 21 | 4322 | +| max | master | jump | SIN-220Hz-0.3V | yes | 134.0 | 295718 | 0 | 0 | 0 | 1 / 25 | 4173 | +| max | master | jump | DI-GTR L | yes | 181.4 | 1472788 | 0 | 0 | 0 | 1 / 23 | 4480 | +| max | presence | lfo | SIN-220Hz-0.3V | yes | 104.1 | 303844 | 2 | 2 | 0 | 2 / 32 | 5353 | +| max | presence | lfo | DI-GTR L | yes | 201.8 | 1500881 | 11 | 11 | 0 | 2 / 32 | 4688 | +| max | presence | jump | SIN-220Hz-0.3V | yes | 134.0 | 304954 | 2 | 2 | 0 | 2 / 32 | 5398 | +| max | presence | jump | DI-GTR L | yes | 202.5 | 1501820 | 5 | 5 | 0 | 2 / 32 | 4715 | +| max | all | lfo | SIN-220Hz-0.3V | yes | 77.1 | 288679 | 0 | 0 | 0 | 1 / 8 | 4096 | +| max | all | lfo | DI-GTR L | yes | 161.9 | 1451205 | 0 | 0 | 0 | 1 / 19 | 6661 | +| max | all | jump | SIN-220Hz-0.3V | yes | 134.0 | 290865 | 0 | 0 | 0 | 1 / 25 | 4319 | +| max | all | jump | DI-GTR L | yes | 167.6 | 1459869 | 0 | 0 | 0 | 1 / 20 | 6818 | diff --git a/harness/reports/M6/20261017_plugin_cpu.md b/harness/reports/M6/20261017_plugin_cpu.md new file mode 100644 index 0000000..1fa20da --- /dev/null +++ b/harness/reports/M6/20261017_plugin_cpu.md @@ -0,0 +1,39 @@ +# M6 plugin CPU under knob automation + +- Date 2026-10-17, commit `eeea956 (dirty)`; `amp2203_render plugin` at the plugin defaults (2x, Power Amp Rate Full, exact J4, Newton tol 1e-4 V, half-steps on; D-054 – D-056, D-060), FIR oversampling, 20 s of DI GTR L at 48000 Hz; processBlock time only. +- Automation between host blocks: lfo = 10 Hz triangle 0 → 10 → 0, jump = 0 ↔ 10 every 50 ms; "all" moves the six knobs together. One render at a time. + +| Base | Knob(s) | Modulation | Host block | CPU (% of one core) | Newton failures (rescued) | +|---|---|---|---|---|---| +| default | — | static | 512 | 26.4 | 0 (0) | +| every knob 10 | — | static | 512 | 50.2 | 0 (0) | +| default | preampVolume | lfo | 512 | 26.2 | 0 (0) | +| default | preampVolume | jump | 512 | 25.8 | 0 (0) | +| default | treble | lfo | 512 | 27.3 | 0 (0) | +| default | treble | jump | 512 | 27.3 | 0 (0) | +| default | middle | lfo | 512 | 27.3 | 0 (0) | +| default | middle | jump | 512 | 27.3 | 0 (0) | +| default | bass | lfo | 512 | 27.3 | 0 (0) | +| default | bass | jump | 512 | 27.3 | 0 (0) | +| default | master | lfo | 512 | 31.0 | 0 (0) | +| default | master | jump | 512 | 31.4 | 0 (0) | +| default | presence | lfo | 512 | 28.8 | 0 (0) | +| default | presence | jump | 512 | 28.9 | 0 (0) | +| default | all | lfo | 512 | 32.3 | 0 (0) | +| default | all | jump | 512 | 34.2 | 0 (0) | +| every knob 10 | preampVolume | lfo | 512 | 43.3 | 0 (0) | +| every knob 10 | preampVolume | jump | 512 | 42.9 | 0 (0) | +| every knob 10 | treble | lfo | 512 | 48.1 | 0 (0) | +| every knob 10 | treble | jump | 512 | 47.8 | 0 (0) | +| every knob 10 | middle | lfo | 512 | 48.4 | 0 (0) | +| every knob 10 | middle | jump | 512 | 48.2 | 0 (0) | +| every knob 10 | bass | lfo | 512 | 52.5 | 0 (0) | +| every knob 10 | bass | jump | 512 | 52.3 | 0 (0) | +| every knob 10 | master | lfo | 512 | 38.1 | 0 (0) | +| every knob 10 | master | jump | 512 | 38.6 | 0 (0) | +| every knob 10 | presence | lfo | 512 | 47.6 | 27 (27) | +| every knob 10 | presence | jump | 512 | 47.9 | 16 (16) | +| every knob 10 | all | lfo | 512 | 33.0 | 0 (0) | +| every knob 10 | all | jump | 512 | 35.0 | 0 (0) | +| default | all | jump | 64 | 34.2 | 0 (0) | +| every knob 10 | all | jump | 64 | 35.0 | 0 (0) | diff --git a/harness/reports/M6/20261017_plugin_null_2x_full.md b/harness/reports/M6/20261017_plugin_null_2x_full.md new file mode 100644 index 0000000..c7ee7d3 --- /dev/null +++ b/harness/reports/M6/20261017_plugin_null_2x_full.md @@ -0,0 +1,62 @@ +# M5 wrapper null test: plugin vs ampwav at 96 kHz with the same resampling + +- Date: 2026-10-17, commit `eeea956 (dirty)`; host rate 48000 Hz, 2x, Power Amp Rate full, exact J4 +- Plugin: `amp2203_render plugin` (the Amp2203Processor offline). Reference: the processor's oversampler up stage, `ampwav --block full --units fs --j4 exact` at 96000 Hz, the down stage. Default knobs and levels. +- Tolerance (SPEC §7 M5): ESR ≤ -60 dB. + +PASS 26 · FAIL 0 + +| Filter | Signal | Peak out [FS] | ESR | Status | Render log | +|---|---|---|---|---|---| +| fir | SIN-100Hz--40dBFS | 0.145 | -138.5 dB | PASS | processBlock 0.044 s for 0.200 s of audio: 21.8 % of one core, real-time factor 4.60 +latency 49 samples, Newton failures 0 (rescued 0), max iterations 3 | +| fir | SIN-100Hz--20dBFS | 0.869 | -138.5 dB | PASS | processBlock 0.045 s for 0.200 s of audio: 22.7 % of one core, real-time factor 4.41 +latency 49 samples, Newton failures 0 (rescued 0), max iterations 4 | +| fir | SIN-100Hz--6dBFS | 0.915 | -138.5 dB | PASS | processBlock 0.048 s for 0.200 s of audio: 23.8 % of one core, real-time factor 4.21 +latency 49 samples, Newton failures 0 (rescued 0), max iterations 9 | +| fir | SIN-1000Hz--40dBFS | 0.374 | -138.5 dB | PASS | processBlock 0.068 s for 0.200 s of audio: 34.0 % of one core, real-time factor 2.94 +latency 49 samples, Newton failures 0 (rescued 0), max iterations 6 | +| fir | SIN-1000Hz--20dBFS | 0.828 | -138.5 dB | PASS | processBlock 0.071 s for 0.200 s of audio: 35.3 % of one core, real-time factor 2.83 +latency 49 samples, Newton failures 0 (rescued 0), max iterations 9 | +| fir | SIN-1000Hz--6dBFS | 0.972 | -138.5 dB | PASS | processBlock 0.075 s for 0.200 s of audio: 37.4 % of one core, real-time factor 2.68 +latency 49 samples, Newton failures 0 (rescued 0), max iterations 12 | +| fir | SIN-5000Hz--40dBFS | 0.864 | -138.5 dB | PASS | processBlock 0.088 s for 0.200 s of audio: 44.1 % of one core, real-time factor 2.27 +latency 49 samples, Newton failures 0 (rescued 0), max iterations 19 | +| fir | SIN-5000Hz--20dBFS | 0.889 | -138.5 dB | PASS | processBlock 0.100 s for 0.200 s of audio: 49.8 % of one core, real-time factor 2.01 +latency 49 samples, Newton failures 0 (rescued 0), max iterations 19 | +| fir | SIN-5000Hz--6dBFS | 0.930 | -138.5 dB | PASS | processBlock 0.233 s for 0.200 s of audio: 116.4 % of one core, real-time factor 0.86 +latency 49 samples, Newton failures 1009 (rescued 68), max iterations 32 | +| fir | DI-GTR L | 0.977 | -138.5 dB | PASS | processBlock 1.233 s for 5.000 s of audio: 24.7 % of one core, real-time factor 4.05 +latency 49 samples, Newton failures 0 (rescued 0), max iterations 19 | +| fir | DI-GTR LL | 0.857 | -138.5 dB | PASS | processBlock 1.185 s for 5.000 s of audio: 23.7 % of one core, real-time factor 4.22 +latency 49 samples, Newton failures 0 (rescued 0), max iterations 17 | +| fir | DI-GTR R | 0.945 | -138.5 dB | PASS | processBlock 1.200 s for 5.000 s of audio: 24.0 % of one core, real-time factor 4.17 +latency 49 samples, Newton failures 0 (rescued 0), max iterations 20 | +| fir | DI-GTR RR | 0.979 | -138.5 dB | PASS | processBlock 1.235 s for 5.000 s of audio: 24.7 % of one core, real-time factor 4.05 +latency 49 samples, Newton failures 0 (rescued 0), max iterations 17 | +| iir | SIN-100Hz--40dBFS | 0.145 | -138.5 dB | PASS | processBlock 0.041 s for 0.200 s of audio: 20.5 % of one core, real-time factor 4.87 +latency 4 samples, Newton failures 0 (rescued 0), max iterations 2 | +| iir | SIN-100Hz--20dBFS | 0.870 | -138.5 dB | PASS | processBlock 0.044 s for 0.200 s of audio: 21.9 % of one core, real-time factor 4.56 +latency 4 samples, Newton failures 0 (rescued 0), max iterations 6 | +| iir | SIN-100Hz--6dBFS | 0.915 | -138.5 dB | PASS | processBlock 0.044 s for 0.200 s of audio: 22.2 % of one core, real-time factor 4.51 +latency 4 samples, Newton failures 0 (rescued 0), max iterations 6 | +| iir | SIN-1000Hz--40dBFS | 0.414 | -138.5 dB | PASS | processBlock 0.066 s for 0.200 s of audio: 32.9 % of one core, real-time factor 3.04 +latency 4 samples, Newton failures 0 (rescued 0), max iterations 7 | +| iir | SIN-1000Hz--20dBFS | 0.928 | -138.5 dB | PASS | processBlock 0.069 s for 0.200 s of audio: 34.5 % of one core, real-time factor 2.90 +latency 4 samples, Newton failures 0 (rescued 0), max iterations 9 | +| iir | SIN-1000Hz--6dBFS | 1.044 | -138.5 dB | PASS | processBlock 0.074 s for 0.200 s of audio: 36.9 % of one core, real-time factor 2.71 +latency 4 samples, Newton failures 0 (rescued 0), max iterations 22 | +| iir | SIN-5000Hz--40dBFS | 0.982 | -138.5 dB | PASS | processBlock 0.088 s for 0.200 s of audio: 44.0 % of one core, real-time factor 2.27 +latency 4 samples, Newton failures 0 (rescued 0), max iterations 16 | +| iir | SIN-5000Hz--20dBFS | 1.015 | -138.5 dB | PASS | processBlock 0.099 s for 0.200 s of audio: 49.3 % of one core, real-time factor 2.03 +latency 4 samples, Newton failures 0 (rescued 0), max iterations 22 | +| iir | SIN-5000Hz--6dBFS | 1.020 | -138.5 dB | PASS | processBlock 0.137 s for 0.200 s of audio: 68.5 % of one core, real-time factor 1.46 +latency 4 samples, Newton failures 268 (rescued 184), max iterations 32 | +| iir | DI-GTR L | 0.985 | -138.5 dB | PASS | processBlock 1.224 s for 5.000 s of audio: 24.5 % of one core, real-time factor 4.09 +latency 4 samples, Newton failures 0 (rescued 0), max iterations 18 | +| iir | DI-GTR LL | 0.985 | -138.5 dB | PASS | processBlock 1.177 s for 5.000 s of audio: 23.5 % of one core, real-time factor 4.25 +latency 4 samples, Newton failures 0 (rescued 0), max iterations 22 | +| iir | DI-GTR R | 1.027 | -138.5 dB | PASS | processBlock 1.187 s for 5.000 s of audio: 23.7 % of one core, real-time factor 4.21 +latency 4 samples, Newton failures 0 (rescued 0), max iterations 18 | +| iir | DI-GTR RR | 1.036 | -138.5 dB | PASS | processBlock 1.221 s for 5.000 s of audio: 24.4 % of one core, real-time factor 4.09 +latency 4 samples, Newton failures 0 (rescued 0), max iterations 21 | diff --git a/plugin/src/PluginProcessor.cpp b/plugin/src/PluginProcessor.cpp index ebc7598..f154ad8 100644 --- a/plugin/src/PluginProcessor.cpp +++ b/plugin/src/PluginProcessor.cpp @@ -47,9 +47,9 @@ juce::AudioProcessorValueTreeState::ParameterLayout Amp2203Processor::layout() { juce::StringArray{"2x", "4x", "8x", "16x"}, 0)); // 2x (D-054) l.add(std::make_unique(juce::ParameterID{"oversamplingFilter", 1}, "Oversampling Filter", juce::StringArray{"Linear phase (FIR)", "Low latency (IIR)"}, 0)); - // power amp at the oversampled rate or at half of it (M6, D-049, D-053; default Half, D-054) + // power amp at the oversampled rate or at half of it (M6, D-049, D-053; default Full, D-060) l.add(std::make_unique(juce::ParameterID{"powerAmpRate", 1}, "Power Amp Rate", - juce::StringArray{"Full", "Half"}, 1)); + juce::StringArray{"Full", "Half"}, 0)); return l; } From 7f06f83d48d8efe2e7ea3e65b8a0bb7fa8256552 Mon Sep 17 00:00:00 2001 From: CatastrophicCoder Date: Sat, 17 Oct 2026 22:43:11 +0300 Subject: [PATCH 15/17] m6: plugin with Power Amp Rate Full installed; pluginval and auval pass --- harness/reports/M6/20261017_auval.log | 281 ++++++++++++++++++ harness/reports/M6/20261017_pluginval_au.log | 119 ++++++++ .../reports/M6/20261017_pluginval_vst3.log | 116 ++++++++ 3 files changed, 516 insertions(+) create mode 100644 harness/reports/M6/20261017_auval.log create mode 100644 harness/reports/M6/20261017_pluginval_au.log create mode 100644 harness/reports/M6/20261017_pluginval_vst3.log diff --git a/harness/reports/M6/20261017_auval.log b/harness/reports/M6/20261017_auval.log new file mode 100644 index 0000000..c777283 --- /dev/null +++ b/harness/reports/M6/20261017_auval.log @@ -0,0 +1,281 @@ + + AU Validation Tool + Version: 1.10.0 + Copyright 2003-2019, Apple Inc. All Rights Reserved. + Specify -h (-help) for command options + +-------------------------------------------------- +VALIDATING AUDIO UNIT: 'aufx' - 'A223' - 'Ctcd' +-------------------------------------------------- +Manufacturer String: CatastrophicCoder +AudioUnit Name: Amp2203 +Component Version: 0.0.1 (0x1) + +* * PASS +-------------------------------------------------- +TESTING OPEN TIMES: +COLD: +Time to open AudioUnit: 9.900 ms +WARM: +Time to open AudioUnit: 6.272 ms +This AudioUnit is a version 2 implementation. +FIRST TIME: +Time for initialization: 10.226 ms + +* * PASS +-------------------------------------------------- +VERIFYING DEFAULT SCOPE FORMATS: +Input Scope Bus Configuration: + Default Bus Count:1 + Bus Name: Input + Default Format: AudioStreamBasicDescription: 2 ch, 44100 Hz, Float32, deinterleaved + Has Channel Layouts: 0x640001 0x650002 0x660002 0x670002 0x6A0002 + Default Layout: + Tag=0x650002, Num Chan Descs=0 + +Output Scope Bus Configuration: + Default Bus Count:1 + Bus Name: Output + Default Format: AudioStreamBasicDescription: 2 ch, 44100 Hz, Float32, deinterleaved + Has Channel Layouts: 0x640001 0x650002 0x660002 0x670002 0x6A0002 + Default Layout: + Tag=0x650002, Num Chan Descs=0 + +* * PASS +-------------------------------------------------- +VERIFYING REQUIRED PROPERTIES: + +* * PASS +-------------------------------------------------- +VERIFYING RECOMMENDED PROPERTIES: + VERIFYING PROPERTY: Latency + PASS + VERIFYING PROPERTY: Tail Time + PASS + VERIFYING PROPERTY: Bypass Effect + PASS + +* * PASS +-------------------------------------------------- +VERIFYING OPTIONAL PROPERTIES: + +* * PASS +-------------------------------------------------- +VERIFYING SPECIAL PROPERTIES: + +VERIFYING CUSTOM UI +Cocoa Views Available: 1 + JUCE_AUCocoaViewClass_bcee775ecb9f7df0 + PASS + +HAS FACTORY PRESETS + ID: 0 Name: Untitled + +VERIFYING CLASS INFO + PASS + +TESTING HOST CALLBACKS + PASS + +* * PASS +-------------------------------------------------- +PUBLISHED PARAMETER INFO: + +# # # 12 Global Scope Parameters: +Parameter ID:3016415 +Name: Bass +Parameter Type: Generic +Values: Minimum = 0.0, Default = 5.0, Maximum = 10.0 +Flags: Values Have Strings, High Resolution, Can Ramp, Readable, Writable + -parameter PASS + +Parameter ID:857833147 +Name: Preamp Volume +Parameter Type: Generic +Values: Minimum = 0.0, Default = 6.0, Maximum = 10.0 +Flags: Values Have Strings, High Resolution, Can Ramp, Readable, Writable + -parameter PASS + +Parameter ID:870817019 +Name: Presence +Parameter Type: Generic +Values: Minimum = 0.0, Default = 5.0, Maximum = 10.0 +Flags: Values Have Strings, High Resolution, Can Ramp, Readable, Writable + -parameter PASS + +Parameter ID:956930507 +Name: Interface Level +Parameter Type: Generic +Values: Minimum = 0.0, Default = 12.0, Maximum = 24.0 +Flags: Values Have Strings, High Resolution, Can Ramp, Readable, Writable + -parameter PASS + +Parameter ID:1066216034 +Name: Master +Parameter Type: Generic +Values: Minimum = 0.0, Default = 3.0, Maximum = 10.0 +Flags: Values Have Strings, High Resolution, Can Ramp, Readable, Writable + -parameter PASS + +Parameter ID:1073142165 +Name: Middle +Parameter Type: Generic +Values: Minimum = 0.0, Default = 5.0, Maximum = 10.0 +Flags: Values Have Strings, High Resolution, Can Ramp, Readable, Writable + -parameter PASS + +Parameter ID:1281885780 +Name: Treble +Parameter Type: Generic +Values: Minimum = 0.0, Default = 5.0, Maximum = 10.0 +Flags: Values Have Strings, High Resolution, Can Ramp, Readable, Writable + -parameter PASS + +Parameter ID:1305086723 +Name: Output Level +Parameter Type: Generic +Values: Minimum = -48.0, Default = 0.0, Maximum = 12.0 +Flags: Values Have Strings, High Resolution, Can Ramp, Readable, Writable + -parameter PASS + +Parameter ID:1420097723 +Name: Oversampling +Parameter Type: Indexed +Values: Minimum = 2x, Default = 2x, Maximum = 16x +Flags: Values Have Strings, High Resolution, Readable, Writable +Parameter has Value Strings +Num Strings = 4 +Value: 0, String: 2x +Value: 1, String: 4x +Value: 2, String: 8x +Value: 3, String: 16x + -parameter PASS + +Parameter ID:1706969868 +Name: Input Trim +Parameter Type: Generic +Values: Minimum = -24.0, Default = 0.0, Maximum = 24.0 +Flags: Values Have Strings, High Resolution, Can Ramp, Readable, Writable + -parameter PASS + +Parameter ID:1796311039 +Name: Power Amp Rate +Parameter Type: Indexed +Values: Minimum = Full, Default = Full, Maximum = Half +Flags: Values Have Strings, High Resolution, Readable, Writable +Parameter has Value Strings +Num Strings = 2 +Value: 0, String: Full +Value: 1, String: Half + -parameter PASS + +Parameter ID:1957034003 +Name: Oversampling Filter +Parameter Type: Indexed +Values: Minimum = Linear phase (FIR), Default = Linear phase (FIR), Maximum = Low latency (IIR) +Flags: Values Have Strings, High Resolution, Readable, Writable +Parameter has Value Strings +Num Strings = 2 +Value: 0, String: Linear phase (FIR) +Value: 1, String: Low latency (IIR) + -parameter PASS + +Testing that parameters retain value across reset and initialization + PASS + +* * PASS +-------------------------------------------------- +FORMAT TESTS: + +Reported Channel Capabilities (explicit): + [1, 1] [1, 2] [2, 1] [2, 2] + +Input/Output Channel Handling: +1-1 1-2 1-4 1-5 1-6 1-7 1-8 2-2 2-4 2-5 2-6 2-7 2-8 4-4 4-5 5-5 6-6 7-7 8-8 +X X X + +# # AudioChannelLayouts (5), Input Scope: +ChannelLayout is Writable: T +The Unit publishes the following Channel Layouts: + 0x640001, 0x650002, 0x660002, 0x670002, 0x6A0002, + +Is Audio Channel Layout Available: +Mono Stereo Binau. AU_4 Ambi. AU_5 AU_5_0 AU_6 AU_6_0 AU_7_0 AU_7_0F AU_8 AU_5_1 AU_6_1 AU_7_1 AU_7_1F +X X X + +Current Format:AudioStreamBasicDescription: 2 ch, 44100 Hz, Float32, deinterleaved +Current Format Tag = 0x650002, New Format Tag = 0x640001, Success - did not reset format with mis-matched layout + +Current Format:AudioStreamBasicDescription: 2 ch, 44100 Hz, Float32, deinterleaved +Current Format Tag = 0x650002, New Format Tag = 0x650002, Successsful + +Current Format:AudioStreamBasicDescription: 2 ch, 44100 Hz, Float32, deinterleaved +Current Format Tag = 0x650002, New Format Tag = 0x6A0002, Successsful + +# # AudioChannelLayouts (5), Output Scope: +ChannelLayout is Writable: T +The Unit publishes the following Channel Layouts: + 0x640001, 0x650002, 0x660002, 0x670002, 0x6A0002, + +Is Audio Channel Layout Available: +Mono Stereo Binau. AU_4 Ambi. AU_5 AU_5_0 AU_6 AU_6_0 AU_7_0 AU_7_0F AU_8 AU_5_1 AU_6_1 AU_7_1 AU_7_1F +X X X + +Current Format:AudioStreamBasicDescription: 2 ch, 44100 Hz, Float32, deinterleaved +Current Format Tag = 0x650002, New Format Tag = 0x640001, Success - did not reset format with mis-matched layout + +Current Format:AudioStreamBasicDescription: 2 ch, 44100 Hz, Float32, deinterleaved +Current Format Tag = 0x650002, New Format Tag = 0x650002, Successsful + +Current Format:AudioStreamBasicDescription: 2 ch, 44100 Hz, Float32, deinterleaved +Current Format Tag = 0x650002, New Format Tag = 0x6A0002, Successsful + +* * PASS +-------------------------------------------------- +RENDER TESTS: + +Input Format: AudioStreamBasicDescription: 2 ch, 44100 Hz, Float32, deinterleaved +Output Format: AudioStreamBasicDescription: 2 ch, 44100 Hz, Float32, deinterleaved +Render Test at 512 frames +Slicing Render Test at 64 frames + PASS + + +Render Test at 64 frames, sample rate: 22050 Hz +Render Test at 137 frames, sample rate: 96000 Hz +Render Test at 4096 frames, sample rate: 48000 Hz +Render Test at 4096 frames, sample rate: 192000 Hz +Render Test at 4096 frames, sample rate: 11025 Hz +Render Test at 512 frames, sample rate: 44100 Hz + PASS + +1 Channel Test: +Render Test at 512 frames + PASS + +1 to 2 Channel Render Test at 256 frames + PASS + +Checking connection semantics: +Connection format: +AudioStreamBasicDescription: 2 ch, 44100 Hz, Float32, deinterleaved + PASS + +Bad Max Frames - Render should fail + PASS + +Checking parameter setting +Using AudioUnitSetParameter +Using AudioUnitScheduleParameter + PASS + +Checking ramped parameter scheduling + PASS + +Test MIDI + PASS + +* * PASS +-------------------------------------------------- +AU VALIDATION SUCCEEDED. +-------------------------------------------------- diff --git a/harness/reports/M6/20261017_pluginval_au.log b/harness/reports/M6/20261017_pluginval_au.log new file mode 100644 index 0000000..2d57c4a --- /dev/null +++ b/harness/reports/M6/20261017_pluginval_au.log @@ -0,0 +1,119 @@ +Started validating: /Users/kimmo/Library/Audio/Plug-Ins/Components/Amp2203.component +Random seed: 0x218ab6d +Validation started +Strictness level: 5 +----------------------------------------------------------------- +Starting tests in: pluginval / Scan for plugins located in: /Users/kimmo/Library/Audio/Plug-Ins/Components/Amp2203.component... +Num plugins found: 1 + +Testing plugin: AudioUnit-Amp2203-f5dabfd3-6333372f +CatastrophicCoder: Amp2203 v0.0.1 +Completed tests in pluginval / Scan for plugins located in: /Users/kimmo/Library/Audio/Plug-Ins/Components/Amp2203.component +----------------------------------------------------------------- +Starting tests in: pluginval / Open plugin (cold)... +Completed tests in pluginval / Open plugin (cold) +----------------------------------------------------------------- +Starting tests in: pluginval / Open plugin (warm)... +Running tests 1 times +Completed tests in pluginval / Open plugin (warm) +----------------------------------------------------------------- +Starting tests in: pluginval / Plugin info... + +Plugin name: Amp2203 +Alternative names: Amp2203 +SupportsDoublePrecision: no +Reported latency: 0 +Reported taillength: 0 +Completed tests in pluginval / Plugin info +----------------------------------------------------------------- +Starting tests in: pluginval / Plugin programs... +Num programs: 1 +All program names checked + +Changing program +!!! WARNING: Current program is -1... Is this correct? +Completed tests in pluginval / Plugin programs +----------------------------------------------------------------- +Starting tests in: pluginval / Editor... +Completed tests in pluginval / Editor +----------------------------------------------------------------- +Starting tests in: pluginval / Open editor whilst processing... +Completed tests in pluginval / Open editor whilst processing +----------------------------------------------------------------- +Starting tests in: pluginval / Audio processing... +Testing with sample rate [44100] and block size [64] +Testing with sample rate [44100] and block size [128] +Testing with sample rate [44100] and block size [256] +Testing with sample rate [44100] and block size [512] +Testing with sample rate [44100] and block size [1024] +Testing with sample rate [48000] and block size [64] +Testing with sample rate [48000] and block size [128] +Testing with sample rate [48000] and block size [256] +Testing with sample rate [48000] and block size [512] +Testing with sample rate [48000] and block size [1024] +Testing with sample rate [96000] and block size [64] +Testing with sample rate [96000] and block size [128] +Testing with sample rate [96000] and block size [256] +Testing with sample rate [96000] and block size [512] +Testing with sample rate [96000] and block size [1024] +Completed tests in pluginval / Audio processing +----------------------------------------------------------------- +Starting tests in: pluginval / Plugin state... +Completed tests in pluginval / Plugin state +----------------------------------------------------------------- +Starting tests in: pluginval / Automation... +Testing with sample rate [44100] and block size [64] and sub-block size [32] +Testing with sample rate [44100] and block size [128] and sub-block size [32] +Testing with sample rate [44100] and block size [256] and sub-block size [32] +Testing with sample rate [44100] and block size [512] and sub-block size [32] +Testing with sample rate [44100] and block size [1024] and sub-block size [32] +Testing with sample rate [48000] and block size [64] and sub-block size [32] +Testing with sample rate [48000] and block size [128] and sub-block size [32] +Testing with sample rate [48000] and block size [256] and sub-block size [32] +Testing with sample rate [48000] and block size [512] and sub-block size [32] +Testing with sample rate [48000] and block size [1024] and sub-block size [32] +Testing with sample rate [96000] and block size [64] and sub-block size [32] +Testing with sample rate [96000] and block size [128] and sub-block size [32] +Testing with sample rate [96000] and block size [256] and sub-block size [32] +Testing with sample rate [96000] and block size [512] and sub-block size [32] +Testing with sample rate [96000] and block size [1024] and sub-block size [32] +Completed tests in pluginval / Automation +----------------------------------------------------------------- +Starting tests in: pluginval / Editor Automation... +Completed tests in pluginval / Editor Automation +----------------------------------------------------------------- +Starting tests in: pluginval / Automatable Parameters... +Completed tests in pluginval / Automatable Parameters +----------------------------------------------------------------- +Starting tests in: pluginval / auval... +auval exited with code: 0 +Completed tests in pluginval / auval +----------------------------------------------------------------- +Starting tests in: pluginval / vst3 validator... +Completed tests in pluginval / vst3 validator +----------------------------------------------------------------- +Starting tests in: pluginval / Basic bus... +Completed tests in pluginval / Basic bus +----------------------------------------------------------------- +Starting tests in: pluginval / Listing available buses... +Inputs: + Named layouts: Mono, Stereo + Discrete layouts: None +Outputs: + Named layouts: Mono, Stereo + Discrete layouts: None +Main bus num input channels: 2 +Main bus num output channels: 2 +Completed tests in pluginval / Listing available buses +----------------------------------------------------------------- +Starting tests in: pluginval / Enabling all buses... +Completed tests in pluginval / Enabling all buses +----------------------------------------------------------------- +Starting tests in: pluginval / Disabling non-main busses... +Completed tests in pluginval / Disabling non-main busses +----------------------------------------------------------------- +Starting tests in: pluginval / Restoring default layout... +Main bus num input channels: 2 +Main bus num output channels: 2 +Completed tests in pluginval / Restoring default layout +SUCCESS diff --git a/harness/reports/M6/20261017_pluginval_vst3.log b/harness/reports/M6/20261017_pluginval_vst3.log new file mode 100644 index 0000000..21437bb --- /dev/null +++ b/harness/reports/M6/20261017_pluginval_vst3.log @@ -0,0 +1,116 @@ +Started validating: /Users/kimmo/Library/Audio/Plug-Ins/VST3/Amp2203.vst3 +Random seed: 0x76d7d85 +Validation started +Strictness level: 5 +----------------------------------------------------------------- +Starting tests in: pluginval / Scan for plugins located in: /Users/kimmo/Library/Audio/Plug-Ins/VST3/Amp2203.vst3... +Num plugins found: 1 + +Testing plugin: VST3-Amp2203-81e3417-bab24cd9 +CatastrophicCoder: Amp2203 v0.0.1 +Completed tests in pluginval / Scan for plugins located in: /Users/kimmo/Library/Audio/Plug-Ins/VST3/Amp2203.vst3 +----------------------------------------------------------------- +Starting tests in: pluginval / Open plugin (cold)... +Completed tests in pluginval / Open plugin (cold) +----------------------------------------------------------------- +Starting tests in: pluginval / Open plugin (warm)... +Running tests 1 times +Completed tests in pluginval / Open plugin (warm) +----------------------------------------------------------------- +Starting tests in: pluginval / Plugin info... + +Plugin name: Amp2203 +Alternative names: Amp2203 +SupportsDoublePrecision: yes +Reported latency: 0 +Reported taillength: 0 +Completed tests in pluginval / Plugin info +----------------------------------------------------------------- +Starting tests in: pluginval / Plugin programs... +Num programs: 0 +All program names checked +Completed tests in pluginval / Plugin programs +----------------------------------------------------------------- +Starting tests in: pluginval / Editor... +Completed tests in pluginval / Editor +----------------------------------------------------------------- +Starting tests in: pluginval / Open editor whilst processing... +Completed tests in pluginval / Open editor whilst processing +----------------------------------------------------------------- +Starting tests in: pluginval / Audio processing... +Testing with sample rate [44100] and block size [64] +Testing with sample rate [44100] and block size [128] +Testing with sample rate [44100] and block size [256] +Testing with sample rate [44100] and block size [512] +Testing with sample rate [44100] and block size [1024] +Testing with sample rate [48000] and block size [64] +Testing with sample rate [48000] and block size [128] +Testing with sample rate [48000] and block size [256] +Testing with sample rate [48000] and block size [512] +Testing with sample rate [48000] and block size [1024] +Testing with sample rate [96000] and block size [64] +Testing with sample rate [96000] and block size [128] +Testing with sample rate [96000] and block size [256] +Testing with sample rate [96000] and block size [512] +Testing with sample rate [96000] and block size [1024] +Completed tests in pluginval / Audio processing +----------------------------------------------------------------- +Starting tests in: pluginval / Plugin state... +Completed tests in pluginval / Plugin state +----------------------------------------------------------------- +Starting tests in: pluginval / Automation... +Testing with sample rate [44100] and block size [64] and sub-block size [32] +Testing with sample rate [44100] and block size [128] and sub-block size [32] +Testing with sample rate [44100] and block size [256] and sub-block size [32] +Testing with sample rate [44100] and block size [512] and sub-block size [32] +Testing with sample rate [44100] and block size [1024] and sub-block size [32] +Testing with sample rate [48000] and block size [64] and sub-block size [32] +Testing with sample rate [48000] and block size [128] and sub-block size [32] +Testing with sample rate [48000] and block size [256] and sub-block size [32] +Testing with sample rate [48000] and block size [512] and sub-block size [32] +Testing with sample rate [48000] and block size [1024] and sub-block size [32] +Testing with sample rate [96000] and block size [64] and sub-block size [32] +Testing with sample rate [96000] and block size [128] and sub-block size [32] +Testing with sample rate [96000] and block size [256] and sub-block size [32] +Testing with sample rate [96000] and block size [512] and sub-block size [32] +Testing with sample rate [96000] and block size [1024] and sub-block size [32] +Completed tests in pluginval / Automation +----------------------------------------------------------------- +Starting tests in: pluginval / Editor Automation... +Completed tests in pluginval / Editor Automation +----------------------------------------------------------------- +Starting tests in: pluginval / Automatable Parameters... +Completed tests in pluginval / Automatable Parameters +----------------------------------------------------------------- +Starting tests in: pluginval / auval... +Completed tests in pluginval / auval +----------------------------------------------------------------- +Starting tests in: pluginval / vst3 validator... +INFO: Skipping vst3 validator as validator path hasn't been set +Completed tests in pluginval / vst3 validator +----------------------------------------------------------------- +Starting tests in: pluginval / Basic bus... +Completed tests in pluginval / Basic bus +----------------------------------------------------------------- +Starting tests in: pluginval / Listing available buses... +Inputs: + Named layouts: Mono, Stereo + Discrete layouts: Discrete #1 +Outputs: + Named layouts: Mono, Stereo + Discrete layouts: Discrete #1 +Main bus num input channels: 2 +Main bus num output channels: 2 +Completed tests in pluginval / Listing available buses +----------------------------------------------------------------- +Starting tests in: pluginval / Enabling all buses... +Completed tests in pluginval / Enabling all buses +----------------------------------------------------------------- +Starting tests in: pluginval / Disabling non-main busses... +Completed tests in pluginval / Disabling non-main busses +----------------------------------------------------------------- +Starting tests in: pluginval / Restoring default layout... +Main bus num input channels: 2 +Main bus num output channels: 2 +Completed tests in pluginval / Restoring default layout +SUCCESS From f7fe99beb1fe9dd270c59334fdf0eaaa09b46674 Mon Sep 17 00:00:00 2001 From: CatastrophicCoder Date: Sat, 17 Oct 2026 22:53:10 +0300 Subject: [PATCH 16/17] m6: owner listening: no audible difference between Full and Half at the NAM-matched settings --- docs/PROGRESS.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/PROGRESS.md b/docs/PROGRESS.md index f0c002b..146da9a 100644 --- a/docs/PROGRESS.md +++ b/docs/PROGRESS.md @@ -823,6 +823,8 @@ Notes: power stage at full Master. These settings are in the HOT region (plugin model check there: −18.8 dB vs SPICE at half 2x). - Owner: power amp at full rate by default (D-060). Plugin CPU: default 26.4 %, every knob 10 50.2 %, NAM-matched settings 47.3 %, knob automation 32–35 %; null test 26 / 26; automation 0 unrescued. +- Owner listening 2026-10-17 (NAM-matched settings, same IR): Power Amp Rate Full vs Half, "can't hear any real audible + difference". The earlier NAM comparison ("pretty accurate") was made at Half (the restored instance setting). ## Questions for the owner _(Claude Code: add questions here and also ask them in the session.)_ From 48b8b3c3a3543e9557e6399ac50843b99d5ae522 Mon Sep 17 00:00:00 2001 From: CatastrophicCoder Date: Sat, 17 Oct 2026 22:53:55 +0300 Subject: [PATCH 17/17] m6: owner keeps Power Amp Rate Full as the default --- docs/PROGRESS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/PROGRESS.md b/docs/PROGRESS.md index 146da9a..99570e4 100644 --- a/docs/PROGRESS.md +++ b/docs/PROGRESS.md @@ -825,6 +825,7 @@ Notes: 47.3 %, knob automation 32–35 %; null test 26 / 26; automation 0 unrescued. - Owner listening 2026-10-17 (NAM-matched settings, same IR): Power Amp Rate Full vs Half, "can't hear any real audible difference". The earlier NAM comparison ("pretty accurate") was made at Half (the restored instance setting). +- Owner 2026-10-17: keep Full as the default (D-060 confirmed after the listening test); Half stays selectable per instance. ## Questions for the owner _(Claude Code: add questions here and also ask them in the session.)_