CultLib/packages/cultmath/tests/CultMath.Tests/BoundedLeastSquaresBaseTraces.cs
Meta Vens b941b68085 CultMath tests: pin the FreeViolated record of the real solves, column by column
The 30 trace cases' FreeViolated lines (column, gradient magnitude, threshold) are pinned by exact equality beside the base-derived decisions they feed, so a free-set test that is mis-called from SolveTraced (a shifted threshold, a short free count) fails here and not only in the hand-built FreeSetViolated tests.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 03:04:25 +02:00

612 lines
36 KiB
C#

using System.Collections.Generic;
namespace CultMath.Tests;
// The decisions of the base commit dbcb2a8e (BoundedLeastSquares.cs with the same events added at the same points, nothing else changed)
// on the BlsTrace cases. Head must reproduce every line.
internal static class BlsBaseTraces
{
internal static readonly Dictionary<string, string> Expected = new()
{
["tie-pair"] = """
Candidate 0 1 6.661338147750939E-16 1E-06
Release 0 Infinity 0 0
Kkt -1 1E-06 0 0
end Converged 1 3f800000 00000000
""",
["tie-triple"] = """
Candidate 0 2 1.7763568394002505E-15 2E-06
Release 0 Infinity 0 0
Kkt -1 2E-06 0 0
end Converged 1 3f800000 00000000 00000000
""",
["tie-pair-cap-0"] = """
Candidate 0 1 6.661338147750939E-16 1E-06
Release 0 Infinity 0 0
Cap -1 0 0 0
end IterationLimit 0 00000000 00000000
""",
["tie-pair-at-hi"] = """
Candidate 0 3 1.9984014443252818E-15 1E-06
Release 0 Infinity 0 0
Step 0 0.3333333333333333 0 0
Candidate 1 2 1.3322676295501878E-15 1E-06
Release 1 Infinity 0 0
Step 1 0.5 0 0
Kkt -1 1E-06 0 0
end Converged 4 00000000 00000000
""",
["step-lands-on-bound"] = """
Kkt -1 1E-06 0 0
end Converged 0 3f800000
""",
["step-blocked"] = """
Step 0 0.2 0 0
Kkt -1 3E-06 0 0
end Converged 1 3f800000 bf000000
""",
["w5-shift0-1e-12"] = """
Candidate 1 135111.75592265668 3.900108740394563E-10 1.5002178145105112E-07
Candidate 7 137847.8859493429 3.97908931879844E-10 135111.75592265668
Release 7 Infinity 0 0
Step 7 0.4366038070185627 0 0
Candidate 1 76194.22899199842 5.600810209156691E-10 1.5002178145105112E-07
Release 1 Infinity 0 0
Step 1 0.7573476181786473 0 0
Candidate 2 11849.84792945953 4.782591048738879E-10 1.5002178145105112E-07
Candidate 4 17935.626996204504 7.122810428200547E-10 11849.84792945953
Release 4 Infinity 0 0
Candidate 0 633.4374486887755 6.019496088675069E-10 1.5002178145105112E-07
Candidate 3 776.2927740423111 8.68340538093788E-10 633.4374486887755
Candidate 11 2665.4946252912787 3.120333456889181E-11 776.2927740423111
Release 11 Infinity 0 0
Candidate 0 0.2169954634180158 6.022639451081885E-10 1.5002178145105112E-07
Candidate 3 0.26539156234684924 8.683991289001988E-10 0.2169954634180158
Release 3 Infinity 0 0
Step 4 0.06907420089782461 0 0
Candidate 0 0.0362638246792244 7.758593413765183E-10 1.5002178145105112E-07
Candidate 2 0.0760455647832714 6.59955603932088E-10 0.0362638246792244
Candidate 5 0.1938752159811088 5.480900325737566E-11 0.0760455647832714
Release 5 Infinity 0 0
Step 11 0.03215405619865555 0 0
Candidate 0 0.004646654699172359 7.758594326420045E-10 1.5002178145105112E-07
Candidate 1 0.008483701902150642 9.999787174674693E-10 0.004646654699172359
Candidate 4 0.01007973030937137 9.812607064514548E-10 0.008483701902150642
Release 4 Infinity 0 0
Candidate 0 0.0032877034464036115 6.980323623931817E-10 1.5002178145105112E-07
Release 0 Infinity 0 0
Candidate 2 0.002053476287983358 6.004885051312699E-10 1.5002178145105112E-07
Release 2 Infinity 0 0
Candidate 7 0.0014518519601551816 9.294667933498287E-10 1.5002178145105112E-07
Release 7 Infinity 0 0
Kkt -1 1.5002178145105112E-07 0 0
end Converged 14 3e64b5b7 3f800000 3477cb66 3e0efa90 3f48c5cd 3f44d339 00000000 3f6c163f 00000000 00000000 00000000 00000000
""",
["w5-shift1-1e-12"] = """
Candidate 0 6737.644464075565 1.9448748840962782E-11 1.5002178145105112E-07
Candidate 2 135111.75592265668 3.900108740394563E-10 6737.644464075565
Candidate 8 137847.8859493429 3.97908931879844E-10 135111.75592265668
Release 8 Infinity 0 0
Step 8 0.4366038070185627 0 0
Candidate 0 5151.85545116663 2.402625547421844E-11 1.5002178145105112E-07
Candidate 2 76194.22899199842 5.600810209156691E-10 5151.85545116663
Release 2 Infinity 0 0
Step 2 0.7573476181786473 0 0
Candidate 0 3065.16054302454 3.0049666978425744E-11 1.5002178145105112E-07
Candidate 3 11849.84792945953 4.782591048738879E-10 3065.16054302454
Candidate 5 17935.626996204504 7.122810428200547E-10 11849.84792945953
Release 5 Infinity 0 0
Candidate 0 2665.4946252912787 3.120333456889181E-11 1.5002178145105112E-07
Release 0 Infinity 0 0
Candidate 1 0.21699546342279064 6.022639451081885E-10 1.5002178145105112E-07
Candidate 4 0.2653915623377543 8.683991289001988E-10 0.21699546342279064
Release 4 Infinity 0 0
Step 5 0.06907420086992105 0 0
Candidate 1 0.0362638246951974 7.758593413765183E-10 1.5002178145105112E-07
Candidate 3 0.07604556476871949 6.59955603932088E-10 0.0362638246951974
Candidate 6 0.19387521598218882 5.480900325737565E-11 0.07604556476871949
Release 6 Infinity 0 0
Step 0 0.03215405619799004 0 0
Candidate 1 0.004646654706448317 7.758594326420045E-10 1.5002178145105112E-07
Candidate 2 0.0084837019094266 9.999787174674693E-10 0.004646654706448317
Candidate 5 0.010079730302095413 9.812607064514548E-10 0.0084837019094266
Release 5 Infinity 0 0
Candidate 1 0.0032877034464036115 6.98032362558651E-10 1.5002178145105112E-07
Release 1 Infinity 0 0
Candidate 3 0.0020534762807074003 6.004885049847546E-10 1.5002178145105112E-07
Release 3 Infinity 0 0
Candidate 8 0.0014518519383273087 9.294667932478118E-10 1.5002178145105112E-07
Release 8 Infinity 0 0
Kkt -1 1.5002178145105112E-07 0 0
end Converged 14 00000000 3e64b5b7 3f800000 3477cb66 3e0efa90 3f48c5cd 3f44d339 00000000 3f6c163f 00000000 00000000 00000000
""",
["w5-shift5-1e-12"] = """
Candidate 0 137847.8859493429 3.97908931879844E-10 1.5002178145105112E-07
Release 0 Infinity 0 0
Step 0 0.4366038070185627 0 0
Candidate 4 5151.85545116663 2.402625547421844E-11 1.5002178145105112E-07
Candidate 6 76194.22899199842 5.600810209156691E-10 5151.85545116663
Release 6 Infinity 0 0
Step 6 0.7573476181786473 0 0
Candidate 4 3065.16054302454 3.0049666978425744E-11 1.5002178145105112E-07
Candidate 7 11849.84792945953 4.782591048738879E-10 3065.16054302454
Candidate 9 17935.626996204504 7.122810428200548E-10 11849.84792945953
Release 9 Infinity 0 0
Candidate 4 2665.4946252912787 3.120333456889181E-11 1.5002178145105112E-07
Release 4 Infinity 0 0
Candidate 5 0.21699546341733367 6.022639451081885E-10 1.5002178145105112E-07
Candidate 8 0.26539156235958217 8.683991289001988E-10 0.21699546341733367
Release 8 Infinity 0 0
Step 9 0.06907420085879441 0 0
Candidate 5 0.03626382468792144 7.758593413765183E-10 1.5002178145105112E-07
Candidate 7 0.07604556476871949 6.59955603932088E-10 0.03626382468792144
Candidate 10 0.19387521598173407 5.480900325737565E-11 0.07604556476871949
Release 10 Infinity 0 0
Step 4 0.03215405619816462 0 0
Candidate 0 0.009507730177574558 1.0214105219138004E-09 1.5002178145105112E-07
Candidate 9 0.01007973029754794 9.81260706451455E-10 0.009507730177574558
Release 9 Infinity 0 0
Candidate 0 0.0016777917876424908 9.191744022622724E-10 1.5002178145105112E-07
Candidate 5 0.003287703438218159 6.980323624876057E-10 0.0016777917876424908
Release 5 Infinity 0 0
Candidate 0 0.0014518512944050599 9.29466768014945E-10 1.5002178145105112E-07
Candidate 7 0.0020534762884381053 6.004885050882204E-10 0.0014518512944050599
Release 7 Infinity 0 0
Candidate 0 0.0014518519615194236 9.294667933556894E-10 1.5002178145105112E-07
Release 0 Infinity 0 0
Kkt -1 1.5002178145105112E-07 0 0
end Converged 14 3f6c163f 00000000 00000000 00000000 00000000 3e64b5b7 3f800000 3477cb66 3e0efa90 3f48c5cd 3f44d339 00000000
""",
["w5-shift7-1e-12"] = """
Candidate 1 67022.28908552075 1.9346519011515402E-10 1.5002178145105112E-07
Candidate 2 137847.8859493429 3.97908931879844E-10 67022.28908552075
Release 2 Infinity 0 0
Step 2 0.4366038070185627 0 0
Candidate 1 37467.36481177385 2.7877783940654753E-10 1.5002178145105112E-07
Candidate 8 76194.22899199842 5.600810209156691E-10 37467.36481177385
Release 8 Infinity 0 0
Step 8 0.7573476181786473 0 0
Candidate 1 8650.132742734299 3.6196108123398433E-10 1.5002178145105112E-07
Candidate 9 11849.84792945953 4.782591048738879E-10 8650.132742734299
Candidate 11 17935.626996204504 7.122810428200548E-10 11849.84792945953
Release 11 Infinity 0 0
Candidate 0 610.3107119330159 4.058698497767296E-11 1.5002178145105112E-07
Candidate 6 2665.4946252912787 3.120333456889181E-11 610.3107119330159
Release 6 Infinity 0 0
Candidate 0 0.21130910008525916 4.2238488714754606E-11 1.5002178145105112E-07
Candidate 7 0.21699546341733367 6.022639451081885E-10 0.21130910008525916
Candidate 10 0.26539156235958217 8.683991289001988E-10 0.21699546341733367
Release 10 Infinity 0 0
Step 11 0.06907420085879441 0 0
Candidate 0 0.19387521598173407 5.480900325737565E-11 1.5002178145105112E-07
Release 0 Infinity 0 0
Step 6 0.032154056198701104 0 0
Candidate 2 0.00950773017393658 1.0214105219138004E-09 1.5002178145105112E-07
Candidate 11 0.01007973030937137 9.81260706451455E-10 0.00950773017393658
Release 11 Infinity 0 0
Candidate 2 0.0016777917990111746 9.191744022547622E-10 1.5002178145105112E-07
Candidate 7 0.003287703439127654 6.980323624818886E-10 0.0016777917990111746
Release 7 Infinity 0 0
Candidate 2 0.0014518512834911235 9.2946676790583E-10 1.5002178145105112E-07
Candidate 9 0.0020534762988972943 6.004885050176478E-10 0.0014518512834911235
Release 9 Infinity 0 0
Candidate 2 0.0014518519601551816 9.294667935855503E-10 1.5002178145105112E-07
Release 2 Infinity 0 0
Kkt -1 1.5002178145105112E-07 0 0
end Converged 14 3f44d339 00000000 3f6c163f 00000000 00000000 00000000 00000000 3e64b5b7 3f800000 3477cb66 3e0efa90 3f48c5cd
""",
["w5-shift11-1e-12"] = """
Candidate 0 135111.75592265668 3.900108740394563E-10 1.5002178145105112E-07
Candidate 6 137847.8859493429 3.97908931879844E-10 135111.75592265668
Release 6 Infinity 0 0
Step 6 0.4366038070185627 0 0
Candidate 0 76194.22899199842 5.600810209156691E-10 1.5002178145105112E-07
Release 0 Infinity 0 0
Step 0 0.7573476181786473 0 0
Candidate 1 11849.84792945953 4.782591048738879E-10 1.5002178145105112E-07
Candidate 3 17935.626996204504 7.122810428200547E-10 11849.84792945953
Release 3 Infinity 0 0
Candidate 2 776.2927740423111 8.68340538093788E-10 1.5002178145105112E-07
Candidate 10 2665.4946252912787 3.120333456889181E-11 776.2927740423111
Release 10 Infinity 0 0
Candidate 2 0.26539156234684924 8.683991289001988E-10 1.5002178145105112E-07
Release 2 Infinity 0 0
Step 3 0.06907420089782461 0 0
Candidate 1 0.0760455647832714 6.59955603932088E-10 1.5002178145105112E-07
Candidate 4 0.1938752159811088 5.480900325737566E-11 0.0760455647832714
Release 4 Infinity 0 0
Step 10 0.03215405619865555 0 0
Candidate 0 0.008483701902150642 9.999787174674693E-10 1.5002178145105112E-07
Candidate 3 0.01007973030937137 9.812607064514548E-10 0.008483701902150642
Release 3 Infinity 0 0
Candidate 1 0.001579840580234304 5.938316649352929E-10 1.5002178145105112E-07
Candidate 6 0.0016777917771833017 9.191744021382341E-10 0.001579840580234304
Candidate 11 0.0032877034464036115 6.980323623931817E-10 0.0016777917771833017
Release 11 Infinity 0 0
Candidate 1 0.002053476281616895 6.004885051443822E-10 1.5002178145105112E-07
Release 1 Infinity 0 0
Candidate 6 0.0014518519456032664 9.29466793204687E-10 1.5002178145105112E-07
Release 6 Infinity 0 0
Kkt -1 1.5002178145105112E-07 0 0
end Converged 14 3f800000 3477cb66 3e0efa90 3f48c5cd 3f44d339 00000000 3f6c163f 00000000 00000000 00000000 00000000 3e64b5b7
""",
["w5-default"] = """
Candidate 1 135111.75592265668 3.900108740394563E-10 0.1500217814510511
Candidate 7 137847.8859493429 3.97908931879844E-10 135111.75592265668
Release 7 Infinity 0 0
Step 7 0.4366038070185627 0 0
Candidate 1 76194.22899199842 5.600810209156691E-10 0.1500217814510511
Release 1 Infinity 0 0
Step 1 0.7573476181786473 0 0
Candidate 2 11849.84792945953 4.782591048738879E-10 0.1500217814510511
Candidate 4 17935.626996204504 7.122810428200547E-10 11849.84792945953
Release 4 Infinity 0 0
Candidate 0 633.4374486887755 6.019496088675069E-10 0.1500217814510511
Candidate 3 776.2927740423111 8.68340538093788E-10 633.4374486887755
Candidate 11 2665.4946252912787 3.120333456889181E-11 776.2927740423111
Release 11 Infinity 0 0
Candidate 0 0.2169954634180158 6.022639451081885E-10 0.1500217814510511
Candidate 3 0.26539156234684924 8.683991289001988E-10 0.2169954634180158
Release 3 Infinity 0 0
Step 4 0.06907420089782461 0 0
Candidate 5 0.1938752159811088 5.480900325737566E-11 0.1500217814510511
Release 5 Infinity 0 0
Step 11 0.03215405619865555 0 0
Kkt -1 0.1500217814510511 0 0
end Converged 10 00000000 3f800000 00000000 3f122168 3f800000 3ee2570c 00000000 3f800000 00000000 00000000 00000000 00000000
""",
["w5-1e-9"] = """
Candidate 1 135111.75592265668 3.900108740394563E-10 0.00015002178145105113
Candidate 7 137847.8859493429 3.97908931879844E-10 135111.75592265668
Release 7 Infinity 0 0
Step 7 0.4366038070185627 0 0
Candidate 1 76194.22899199842 5.600810209156691E-10 0.00015002178145105113
Release 1 Infinity 0 0
Step 1 0.7573476181786473 0 0
Candidate 2 11849.84792945953 4.782591048738879E-10 0.00015002178145105113
Candidate 4 17935.626996204504 7.122810428200547E-10 11849.84792945953
Release 4 Infinity 0 0
Candidate 0 633.4374486887755 6.019496088675069E-10 0.00015002178145105113
Candidate 3 776.2927740423111 8.68340538093788E-10 633.4374486887755
Candidate 11 2665.4946252912787 3.120333456889181E-11 776.2927740423111
Release 11 Infinity 0 0
Candidate 0 0.2169954634180158 6.022639451081885E-10 0.00015002178145105113
Candidate 3 0.26539156234684924 8.683991289001988E-10 0.2169954634180158
Release 3 Infinity 0 0
Step 4 0.06907420089782461 0 0
Candidate 0 0.0362638246792244 7.758593413765183E-10 0.00015002178145105113
Candidate 2 0.0760455647832714 6.59955603932088E-10 0.0362638246792244
Candidate 5 0.1938752159811088 5.480900325737566E-11 0.0760455647832714
Release 5 Infinity 0 0
Step 11 0.03215405619865555 0 0
Candidate 0 0.004646654699172359 7.758594326420045E-10 0.00015002178145105113
Candidate 1 0.008483701902150642 9.999787174674693E-10 0.004646654699172359
Candidate 4 0.01007973030937137 9.812607064514548E-10 0.008483701902150642
Release 4 Infinity 0 0
Candidate 0 0.0032877034464036115 6.980323623931817E-10 0.00015002178145105113
Release 0 Infinity 0 0
Candidate 2 0.002053476287983358 6.004885051312699E-10 0.00015002178145105113
Release 2 Infinity 0 0
Candidate 7 0.0014518519601551816 9.294667933498287E-10 0.00015002178145105113
Release 7 Infinity 0 0
Kkt -1 0.00015002178145105113 0 0
end Converged 14 3e64b5b7 3f800000 3477cb66 3e0efa90 3f48c5cd 3f44d339 00000000 3f6c163f 00000000 00000000 00000000 00000000
""",
["w5-cap-3"] = """
Candidate 1 135111.75592265668 3.900108740394563E-10 1.5002178145105112E-07
Candidate 7 137847.8859493429 3.97908931879844E-10 135111.75592265668
Release 7 Infinity 0 0
Step 7 0.4366038070185627 0 0
Candidate 1 76194.22899199842 5.600810209156691E-10 1.5002178145105112E-07
Release 1 Infinity 0 0
Cap -1 0 0 0
end IterationLimit 3 00000000 00000000 00000000 00000000 00000000 00000000 00000000 3f800000 00000000 00000000 00000000 00000000
""",
["confirm-pass-1"] = """
Candidate 0 1.579785345010647 1.070372468301927E-15 3.4029892871621996E-11
Candidate 1 267440.9365187891 1.7819678819499464E-10 1.579785345010647
Release 1 Infinity 0 0
Miss -1 -0.013847553852146902 Infinity 1.3847553852146903E-17
Kkt -1 3.4029892871621996E-11 0 0
end Converged 2 bf800000 b7d8d9d8
""",
["confirm-pass-2"] = """
Candidate 0 459906.13776790636 3.064812525589559E-10 9.174025280630848E-11
Release 0 Infinity 0 0
Miss -1 -0.009148166097177548 Infinity 9.148166097177549E-18
Kkt -1 9.174025280630848E-11 0 0
end Converged 2 b9511fc3 00000000
""",
["noise-one-heavy"] = """
Step 2 0.024621369447167075 0 0
Candidate 5 0.012439710770288478 7.959493583159782E-17 0
Release 5 Infinity 0 0
Miss -1 6.382790758681003E-20 Infinity 3.5111012909447177E-34
Candidate 2 1.7763568394002505E-14 5.656022558163373E-13 0
Candidate 3 1.5178830414797062E-18 6.655962418338423E-17 0
Miss -1 4.449537197592434E-20 6.382790758681003E-20 4.4495371975924343E-35
Candidate 2 2.842170943040401E-14 5.656022558163373E-13 0
Candidate 3 2.6020852139652106E-18 6.655962418338423E-17 0
Miss -1 4.3626178182815784E-20 4.449537197592434E-20 8.122105116216791E-35
Candidate 2 2.4868995751603507E-14 5.656022558163373E-13 0
Candidate 3 2.168404344971009E-18 6.655962418338423E-17 0
Stall -1 4.5923297824441354E-20 4.3626178182815784E-20 5.911346354815417E-35
end Converged 5 bcd3d632 00000000 b56215c6 bd1ed80d 00000000 3c154621
""",
["noise-one-light"] = """
Step 2 0.024621369199885876 0 0
Candidate 5 12.439710484934402 7.959493151937227E-14 0
Release 5 Infinity 0 0
Candidate 2 1.164670302474663E-20 5.656022762441261E-20 0
Candidate 3 2.0650148258027912E-14 6.655962175358023E-14 0
Miss -1 6.070552180371575E-20 Infinity 8.382049277624677E-34
Candidate 2 4.235164736271502E-22 5.656022762441263E-20 0
Candidate 3 2.6645352591003757E-15 6.655962175358026E-14 0
Miss -1 2.7840962879986504E-21 6.070552180371575E-20 1.0613730890584895E-34
Stall -1 3.341824384345746E-20 2.7840962879986504E-21 5.303670554538265E-35
end Converged 4 b7d8ebb8 00000000 c106c1d7 b822a7fd 00000000 3718db44
""",
["noise-ascending"] = """
Step 2 0.024621365926673414 0 0
Candidate 5 1243.970980681693 7.959492843486517E-12 0
Release 5 Infinity 0 0
Candidate 2 8.326672684688674E-17 5.6560222323987015E-15 0
Candidate 3 3.1086244689504383E-15 6.655962152994665E-14 0
Miss -1 2.4960527060967552E-20 Infinity 1.0260573563230584E-34
Candidate 3 1.5543122344752192E-15 6.655962152994665E-14 0
Kkt -1 0 0 0
end Converged 3 bcd3d632 00000000 b8b0a103 b822a7fd 00000000 33c3a805
""",
["near-singular-3"] = """
Kkt -1 4.011347176225968E-07 0 0
end Converged 0 cb42b27d cacc2e2d 49ac1c2a cae3caf3 4a4a8d2d 4ac85877 49e01bee 4a1115bf ca628e52 cb4f0de4 c9a80340 ca273e77 caa50c4a 498330e8 cafde285 ca5a8f4e ca576c89 ca517d14 4aa437c5 00000000 cadb0117 ca3073e4 4aab2053 4a273cf8
""",
["near-singular-11"] = """
Kkt -1 8.26586030599639E-07 0 0
end Converged 0 c9e0f987 c999e95d c9305c40 49c39403 ca2d4887 cadb1864 49752be6 ca9b41c5 ca3d7042 4a1f2341 48f59fdc 4a865715 c950dbee 4aa1e545 49f2e233 4a19c6b5 c9865f16 4a9d9500 ca24f675 4a1f7a2c ca84489a 4a7b50aa ca34c295 00000000
""",
["below-noise-2"] = """
Miss -1 -0.49773013750831796 Infinity 4.994142446397116E-16
Stall -1 -0.49747185997938986 -0.49773013750831796 4.992128425425914E-16
end Converged 1 4a0f075c 4a068153 ca43258d c98493ab 4a2dd375 4a1d0b0b 4969536f 48b0cc93 c99ce69b c9be826d c827f0d4 c690e0d3 c9e0c560 485f7251 49c00e74 4939fadc ca264bd4 4a21483e c93e1efa 4a0a6b52 ca401661 c9df1aa4 c97ec1d5 4a134dbe
""",
["below-noise-9"] = """
Miss -1 -0.49865831712645864 Infinity 5.014509747560003E-16
Stall -1 -0.49841675352897546 -0.49865831712645864 5.014635585960667E-16
end Converged 1 c989ed22 4a0e7096 c98bf358 498c0fda 4a59e43c c82ef778 ca09dc93 c9f6326b 49feecdd c84efa98 c9155228 cac57da7 49c5dd82 49934cfe c82a770a 496d11ec 4a1a9b15 49084d80 485f9b84 4a12918f 4a0b2594 49e90cd5 c9f587a0 c92ccca9
""",
["boxed-conditioned"] = """
Step 6 1.7950541723871097E-06 0 0
Step 3 7.627008876179801E-07 0 0
Step 7 1.2561155441158494E-05 0 0
Step 2 2.5030117160256515E-05 0 0
Step 4 0.00010110066197668991 0 0
Step 0 0.0009920440120834782 0 0
Step 1 0.004498393465636397 0 0
Step 5 0.01208289710393302 0 0
Candidate 3 0.14713995573185712 3.023980745569078E-16 6.053930821702194E-10
Candidate 4 0.49326802296517885 1.1111503645474022E-15 0.14713995573185712
Release 4 Infinity 0 0
Step 4 0.05208634850970442 0 0
Candidate 3 0.14559191607117922 3.023980745569078E-16 6.053930821702194E-10
Release 3 Infinity 0 0
Step 3 0.0045758825891475145 0 0
Candidate 6 0.03694908965828074 8.947385886461852E-17 6.053930821702194E-10
Candidate 7 0.04406217168160146 1.5294423693380426E-16 0.03694908965828074
Release 7 Infinity 0 0
Step 7 0.09930368626410971 0 0
Candidate 6 0.035916303301579564 8.947385886461852E-17 6.053930821702194E-10
Release 6 Infinity 0 0
Step 6 0.007199613540050211 0 0
Kkt -1 6.053930821702194E-10 0 0
end Converged 16 bd4ccccd bd4ccccd 3d4ccccd bd4ccccd bd4ccccd 3d4ccccd 3d4ccccd bd4ccccd
""",
["random-5"] = """
Candidate 1 2.3674161062532875 2.1026878960246686E-15 2.367416106253287E-06
Release 1 Infinity 0 0
Candidate 2 1.1521571531355912 1.0233211195181646E-15 2.367416106253287E-06
Release 2 Infinity 0 0
Kkt -1 2.367416106253287E-06 0 0
end Converged 2 00000000 3eed0d99 3e4a4f4e
""",
["random-5-warm-hi"] = """
Candidate 0 2.5083502579763883 2.22786256818387E-15 2.367416106253287E-06
Candidate 2 4.168064738401132 7.758404534582419E-15 2.5083502579763883
Release 2 Infinity 0 0
Candidate 0 2.3851527197990436 2.11844117341457E-15 2.367416106253287E-06
Candidate 1 3.0072430750429278 8.055628322575466E-15 2.3851527197990436
Release 1 Infinity 0 0
Candidate 0 1.678136149614912 1.4904843134066255E-15 2.367416106253287E-06
Release 0 Infinity 0 0
Step 0 0.24975695258808922 0 0
Kkt -1 2.367416106253287E-06 0 0
end Converged 4 00000000 3eed0d99 3e4a4f4e
""",
["random-17"] = """
Step 4 0.1232927301830878 0 0
Step 2 0.7178536883498736 0 0
Kkt -1 3.93442891781855E-06 0 0
end Converged 2 beb31769 bee93450 bf800000 00000000 3dcccccd 00000000 bf432cd8 3c1e7a75
""",
["random-17-warm-hi"] = """
Candidate 0 1.1914277145018732 1.1651190341326312E-14 3.93442891781855E-06
Candidate 2 8.918271049237749 2.2324704556906607E-14 1.1914277145018732
Release 2 Infinity 0 0
Step 2 0.9608581392999689 0 0
Candidate 0 0.12375707360068922 1.1651190341326312E-14 3.93442891781855E-06
Candidate 1 0.46721760431143355 1.776136934146532E-14 0.12375707360068922
Candidate 3 5.9589017943044995 1.7762048080698952E-14 0.46721760431143355
Candidate 5 6.330922749270252 2.0454695850835226E-14 5.9589017943044995
Release 5 Infinity 0 0
Step 5 0.6196380883752669 0 0
Candidate 1 1.2265685104711581 1.6243881393846015E-14 3.93442891781855E-06
Candidate 3 4.91009654542079 1.5666114156513806E-14 1.2265685104711581
Release 3 Infinity 0 0
Step 3 0.4723422790325044 0 0
Candidate 1 2.313755717662308 1.4071244908743248E-14 3.93442891781855E-06
Release 1 Infinity 0 0
Candidate 2 0.54389362384502 1.823003362441137E-14 3.93442891781855E-06
Candidate 6 2.3746920633686277 6.957925871969801E-15 0.54389362384502
Release 6 Infinity 0 0
Candidate 7 1.5652291166895491 9.329087077889423E-15 3.93442891781855E-06
Release 7 Infinity 0 0
Candidate 0 0.9877280584738057 5.425941552304341E-15 3.93442891781855E-06
Release 0 Infinity 0 0
Kkt -1 3.93442891781855E-06 0 0
end Converged 10 beb31769 bee93450 bf800000 00000000 3dcccccd 00000000 bf432cd8 3c1e7a75
""",
["random-40"] = """
Step 0 0.6917697000772063 0 0
Step 1 0.08710458252709695 0 0
Step 2 0.04883630084124485 0 0
Candidate 4 0.9459344738504001 6.568402131960035E-15 9.16596182404494E-06
Release 4 Infinity 0 0
Step 4 0.29527820149229345 0 0
Kkt -1 9.16596182404494E-06 0 0
end Converged 5 3f800000 bf800000 bf800000 00000000 3dcccccd
""",
["random-40-warm-hi"] = """
Candidate 1 4.718545111140088 9.652651618643102E-15 9.16596182404494E-06
Candidate 3 5.026292374797416 1.201620793157454E-14 4.718545111140088
Release 3 Infinity 0 0
Step 3 0.08526897635819114 0 0
Candidate 1 4.75316070860798 9.60653437865909E-15 9.16596182404494E-06
Release 1 Infinity 0 0
Candidate 2 3.678831066315437 4.901187544235657E-15 9.16596182404494E-06
Release 2 Infinity 0 0
Step 1 0.525739055641334 0 0
Step 2 0.74742310322831 0 0
Kkt -1 9.16596182404494E-06 0 0
end Converged 6 3f800000 bf800000 bf800000 00000000 3dcccccd
""",
};
// The FreeViolated lines of the same cases: the free-set test is a decision the base took inline and did not record, so these
// are recorded at head. The decisions they feed (Miss, Stall, Kkt) are the base commit's above, and the structural test ties each line to them.
internal static readonly Dictionary<string, string> FreeViolatedLines = new()
{
["confirm-pass-1"] = """
FreeViolated 1 4.191491598248831E-11 3.4029892871621996E-11 0
""",
["confirm-pass-2"] = """
FreeViolated 0 9.329426120530115E-11 9.174025280630848E-11 0
""",
["noise-one-heavy"] = """
FreeViolated 0 1.3877787807814457E-17 0 0
FreeViolated 0 1.6046192152785466E-17 0 0
FreeViolated 5 4.336808689942018E-19 0 0
FreeViolated 0 4.336808689942018E-19 0 0
FreeViolated 5 4.336808689942018E-19 0 0
FreeViolated 0 1.3010426069826053E-18 0 0
FreeViolated 5 4.336808689942018E-19 0 0
FreeViolated 0 4.336808689942018E-19 0 0
FreeViolated 5 2.168404344971009E-19 0 0
""",
["noise-one-light"] = """
FreeViolated 0 5.684341886080802E-14 0 0
FreeViolated 0 2.9753977059954195E-14 0 0
FreeViolated 5 8.881784197001252E-16 0 0
FreeViolated 0 3.9968028886505635E-15 0 0
FreeViolated 5 2.220446049250313E-16 0 0
FreeViolated 0 3.1086244689504383E-15 0 0
FreeViolated 5 6.661338147750939E-16 0 0
""",
["noise-ascending"] = """
FreeViolated 0 6.938893903907228E-17 0 0
FreeViolated 0 2.6020852139652106E-18 0 0
FreeViolated 5 1.1368683772161603E-13 0 0
""",
["below-noise-2"] = """
FreeViolated 1 4.3655745685100555E-11 3.610817172344793E-14 0
FreeViolated 2 5.4569682106375694E-12 3.610817172344793E-14 0
FreeViolated 3 7.275957614183426E-12 3.610817172344793E-14 0
FreeViolated 4 1.4551915228366852E-11 3.610817172344793E-14 0
FreeViolated 5 3.2741809263825417E-11 3.610817172344793E-14 0
FreeViolated 6 2.9103830456733704E-11 3.610817172344793E-14 0
FreeViolated 7 8.731149137020111E-11 3.610817172344793E-14 0
FreeViolated 10 2.1827872842550278E-11 3.610817172344793E-14 0
FreeViolated 11 1.4551915228366852E-11 3.610817172344793E-14 0
FreeViolated 12 2.0372681319713593E-10 3.610817172344793E-14 0
FreeViolated 14 3.637978807091713E-12 3.610817172344793E-14 0
FreeViolated 15 4.3655745685100555E-11 3.610817172344793E-14 0
FreeViolated 16 8.731149137020111E-11 3.610817172344793E-14 0
FreeViolated 17 8.731149137020111E-11 3.610817172344793E-14 0
FreeViolated 18 2.9103830456733704E-11 3.610817172344793E-14 0
FreeViolated 19 2.9103830456733704E-11 3.610817172344793E-14 0
FreeViolated 20 7.275957614183426E-12 3.610817172344793E-14 0
FreeViolated 21 1.1641532182693481E-10 3.610817172344793E-14 0
FreeViolated 23 1.1641532182693481E-10 3.610817172344793E-14 0
FreeViolated 0 8.731149137020111E-11 3.610817172344793E-14 0
FreeViolated 1 8.731149137020111E-11 3.610817172344793E-14 0
FreeViolated 2 5.4569682106375694E-12 3.610817172344793E-14 0
FreeViolated 3 2.1827872842550278E-11 3.610817172344793E-14 0
FreeViolated 4 3.637978807091713E-11 3.610817172344793E-14 0
FreeViolated 5 1.0913936421275139E-11 3.610817172344793E-14 0
FreeViolated 7 4.3655745685100555E-11 3.610817172344793E-14 0
FreeViolated 8 2.9103830456733704E-11 3.610817172344793E-14 0
FreeViolated 9 1.8189894035458565E-12 3.610817172344793E-14 0
FreeViolated 10 2.1827872842550278E-11 3.610817172344793E-14 0
FreeViolated 11 2.9103830456733704E-11 3.610817172344793E-14 0
FreeViolated 12 2.9103830456733704E-11 3.610817172344793E-14 0
FreeViolated 13 8.731149137020111E-11 3.610817172344793E-14 0
FreeViolated 14 3.637978807091713E-12 3.610817172344793E-14 0
FreeViolated 17 2.3283064365386963E-10 3.610817172344793E-14 0
FreeViolated 18 3.637978807091713E-11 3.610817172344793E-14 0
FreeViolated 19 2.9103830456733704E-11 3.610817172344793E-14 0
FreeViolated 20 3.637978807091713E-11 3.610817172344793E-14 0
FreeViolated 21 5.820766091346741E-11 3.610817172344793E-14 0
FreeViolated 22 7.275957614183426E-11 3.610817172344793E-14 0
FreeViolated 23 2.9103830456733704E-11 3.610817172344793E-14 0
""",
["below-noise-9"] = """
FreeViolated 0 1.8189894035458565E-12 5.814784892130276E-14 0
FreeViolated 1 6.548361852765083E-11 5.814784892130276E-14 0
FreeViolated 2 4.001776687800884E-11 5.814784892130276E-14 0
FreeViolated 3 8.731149137020111E-11 5.814784892130276E-14 0
FreeViolated 4 5.093170329928398E-11 5.814784892130276E-14 0
FreeViolated 5 1.8189894035458565E-12 5.814784892130276E-14 0
FreeViolated 6 6.548361852765083E-11 5.814784892130276E-14 0
FreeViolated 7 2.9103830456733704E-11 5.814784892130276E-14 0
FreeViolated 8 1.382431946694851E-10 5.814784892130276E-14 0
FreeViolated 9 2.1827872842550278E-11 5.814784892130276E-14 0
FreeViolated 10 4.3655745685100555E-11 5.814784892130276E-14 0
FreeViolated 11 6.184563972055912E-11 5.814784892130276E-14 0
FreeViolated 12 1.3642420526593924E-11 5.814784892130276E-14 0
FreeViolated 13 6.548361852765083E-11 5.814784892130276E-14 0
FreeViolated 14 8.003553375601768E-11 5.814784892130276E-14 0
FreeViolated 15 1.8189894035458565E-11 5.814784892130276E-14 0
FreeViolated 16 7.275957614183426E-11 5.814784892130276E-14 0
FreeViolated 17 6.548361852765083E-11 5.814784892130276E-14 0
FreeViolated 18 3.637978807091713E-11 5.814784892130276E-14 0
FreeViolated 19 4.3655745685100555E-11 5.814784892130276E-14 0
FreeViolated 20 1.4551915228366852E-11 5.814784892130276E-14 0
FreeViolated 21 3.637978807091713E-11 5.814784892130276E-14 0
FreeViolated 22 3.637978807091713E-12 5.814784892130276E-14 0
FreeViolated 23 4.3655745685100555E-11 5.814784892130276E-14 0
FreeViolated 0 1.000444171950221E-11 5.814784892130276E-14 0
FreeViolated 1 1.2369127944111824E-10 5.814784892130276E-14 0
FreeViolated 2 3.637978807091713E-11 5.814784892130276E-14 0
FreeViolated 3 5.093170329928398E-11 5.814784892130276E-14 0
FreeViolated 4 5.820766091346741E-11 5.814784892130276E-14 0
FreeViolated 5 3.637978807091713E-12 5.814784892130276E-14 0
FreeViolated 6 5.820766091346741E-11 5.814784892130276E-14 0
FreeViolated 7 4.3655745685100555E-11 5.814784892130276E-14 0
FreeViolated 8 1.4551915228366852E-10 5.814784892130276E-14 0
FreeViolated 9 7.275957614183426E-12 5.814784892130276E-14 0
FreeViolated 10 1.3096723705530167E-10 5.814784892130276E-14 0
FreeViolated 11 5.4569682106375694E-11 5.814784892130276E-14 0
FreeViolated 12 1.6370904631912708E-11 5.814784892130276E-14 0
FreeViolated 13 2.1827872842550278E-11 5.814784892130276E-14 0
FreeViolated 14 1.4551915228366852E-11 5.814784892130276E-14 0
FreeViolated 15 2.1827872842550278E-11 5.814784892130276E-14 0
FreeViolated 16 1.4551915228366852E-10 5.814784892130276E-14 0
FreeViolated 17 3.637978807091713E-11 5.814784892130276E-14 0
FreeViolated 18 8.003553375601768E-11 5.814784892130276E-14 0
FreeViolated 19 7.275957614183426E-12 5.814784892130276E-14 0
FreeViolated 20 2.9103830456733704E-11 5.814784892130276E-14 0
FreeViolated 21 8.731149137020111E-11 5.814784892130276E-14 0
FreeViolated 22 1.4551915228366852E-11 5.814784892130276E-14 0
FreeViolated 23 1.0913936421275139E-10 5.814784892130276E-14 0
""",
};
}