=== (1) deliberately wrong inputs ===
N=6 correct lam: spread 2.06e-50, closure 1.18e-49
   lam + 1e-25: spread 5.85e-25, closure error 3.3e-24  -> flagged (noise > 1e-30): True
   lam + 1e-10: spread 5.85e-10, closure error 3.3e-9  -> flagged (noise > 1e-30): True
N=7 correct lam: spread 1.2e-50, closure 8.02e-50
   lam + 1e-25: spread 1.83e-25, closure error 4.07e-24  -> flagged (noise > 1e-30): True
   lam + 1e-10: spread 1.83e-10, closure error 4.07e-9  -> flagged (noise > 1e-30): True
N=6, A*A^otimes with P inverted in E instead of C: spread 0.00959 (should vary)
N=6, A'*(area of P' inverted in the CAUSTIC): spread 0.00491 (alternative reading of k809)
N=7, A'/(area of P' inverted in the CAUSTIC): spread 2.66e-7 (alternative reading of k810)
N=7, A/(area of P'' inverted in E): spread 2.3e-5 (another wrong reading)
N=7, A/area(inner in step-2 order): spread 2.62e-51 (note: constant is NOT excluded; step-2 area = gamma*area for odd N)
N=4 (a,b)=(2,1.2): k110 = 8.9688581314878892734 vs 8a^4b^4/(a^2+b^2)^2 = 8.9688581314878892734  match: True
N=4 (a,b)=(2,1.2): k110 = 8.9688581314878892734 vs 2a^4b^4/(a^2+b^2)^2 (GR-SI print) = 2.2422145328719723183  match: False

=== (2) N = 6 closed forms (as quoted from Garcia-Reznik in the claim) ===
(a,b)=(1.0,0.5) N=6: k106 rel.err 2.41e-51, k110 rel.err 4.87e-51, k807/k110 = 0.75, k809/k106 = 0.75
(a,b)=(2.0,1.2) N=6: k106 rel.err 1.66e-51, k110 rel.err 1.11e-50, k807/k110 = 0.75, k809/k106 = 0.75
(a,b)=(3.0,1.0) N=6: k106 rel.err 0.0, k110 rel.err 2.91e-50, k807/k110 = 0.75, k809/k106 = 0.75
(a,b)=(1.7,0.21) N=6: k106 rel.err 5.0e-51, k110 rel.err 7.0e-50, k807/k110 = 0.75, k809/k106 = 0.75
(a,b)=(1.0,0.95) N=6: k106 rel.err 2.63e-51, k110 rel.err 2.34e-51, k807/k110 = 0.75, k809/k106 = 0.75

=== (3) exploratory: confocal HYPERBOLIC caustic (outside the source's setting) ===
(a,b)=(1.0,0.6) N=4 hyperbolic lam=0.5625 closure 2.24e-50: spread k110 A*A''=0.878, k106 A*A'=0.99, k113 A'/A''=1.04, k807=0.88, k809=1.02, A=-6.68191e-52
(a,b)=(1.0,0.6) N=6 hyperbolic lam=0.375 closure 3.97e-49: spread k110 A*A''=0.822, k106 A*A'=1.21, k113 A'/A''=1.27, k807=1.32, k809=0.691, A=-2.33867e-50
(a,b)=(1.0,0.6) N=8 hyperbolic lam=0.393080458930325 closure 0.725: spread k110 A*A''=1.64, k106 A*A'=1.62, k113 A'/A''=0.186, k807=1.65, k809=1.27, A=0.0290154
(a,b)=(2.0,0.7) N=4 hyperbolic lam=0.558404558404558 closure 1.68e-49: spread k110 A*A''=1.14, k106 A*A'=0.628, k113 A'/A''=1.73, k807=0.491, k809=0.641, A=-9.35468e-51
(a,b)=(2.0,0.7) N=4 hyperbolic lam=2.83064499482927 closure 1.45: spread k110 A*A''=0.888, k106 A*A'=0.886, k113 A'/A''=1.63, k807=1.1, k809=0.886, A=-0.121708
(a,b)=(2.0,0.7) N=6 hyperbolic lam=1.15976331360947 closure 4.68e-50: spread k110 A*A''=1.56e-49, k106 A*A'=4.66e-51, k113 A'/A''=1.5e-49, k807=6.4e-51, k809=1.71e-50, A=0.693853
(a,b)=(2.0,0.7) N=8 hyperbolic lam=0.874406926563517 closure 1.45: spread k110 A*A''=0.622, k106 A*A'=0.693, k113 A'/A''=0.187, k807=0.691, k809=0.693, A=0.675247
(a,b)=(2.0,0.7) N=8 hyperbolic lam=2.83064499482927 closure 1.47e-50: spread k110 A*A''=0.892, k106 A*A'=1.6, k113 A'/A''=0.758, k807=1.33, k809=1.02, A=2.67276e-51
