[PASS] Lemma 4.1 on 200 random (mostly non-convex) polygons and random points -- max rel. error 3.53e-58
[PASS] a/b=1.6, N=3: lam=0.9565000620731570453, closure err 3.07e-59, kappa=15.5089057113; Thm 2 max rel dev 4.53e-59; spread(A'A*_O)=36.2915, spread(A'A*_G)=1191.2, spread(A'A)=3.07; odd: spread(A*_O/A)=1.11e-58
[PASS] a/b=1.6, N=4: lam=0.71910112359550561798, closure err 9.88e-60, kappa=2.0; Thm 2 max rel dev 2.2e-60; spread(A'A*_O)=47.8896, spread(A'A*_G)=52.2, spread(A'A)=9.96e-60; even: max|A*_f1-A*_f2|=5.73e-59, spread(A'A*_f)=2.64e-58
[PASS] a/b=1.6, N=5: lam=0.51525597634399839154, closure err 1.39e-59, kappa=0.959078572541; Thm 2 max rel dev 2.19e-60; spread(A'A*_O)=0.00378032, spread(A'A*_G)=6.80988, spread(A'A)=0.00196; odd: spread(A*_O/A)=7.78e-60
[PASS] a/b=1.6, N=6: lam=0.37869822485207100592, closure err 1.63e-59, kappa=0.64380952381; Thm 2 max rel dev 1.07e-60; spread(A'A*_O)=4.24335, spread(A'A*_G)=4.13141, spread(A'A)=9.96e-60; even: max|A*_f1-A*_f2|=1.18e-59, spread(A'A*_f)=5.48e-59
[PASS] a/b=1.6, N=7: lam=0.28752508711491345822, closure err 1.71e-59, kappa=0.500599054814; Thm 2 max rel dev 2.02e-60; spread(A'A*_O)=4.92134e-6, spread(A'A*_G)=0.890721, spread(A'A)=3.77e-6; odd: spread(A*_O/A)=3.42e-60
[PASS] a/b=1.6, N=8: lam=0.22477527344281019561, closure err 1.63e-59, kappa=0.421604840457; Thm 2 max rel dev 1.11e-60; spread(A'A*_O)=0.501955, spread(A'A*_G)=0.481432, spread(A'A)=9.96e-60; even: max|A*_f1-A*_f2|=5.76e-60, spread(A'A*_f)=3.11e-59
[PASS] a/b=1.6, N=9: lam=0.18012077814125351622, closure err 1.3e-59, kappa=0.37275448531; Thm 2 max rel dev 1.22e-60; spread(A'A*_O)=1.05789e-8, spread(A'A*_G)=0.121647, spread(A'A)=9.47e-9; odd: spread(A*_O/A)=1.71e-60
[PASS] a/b=1.6, N=10: lam=0.1473615756032595765, closure err 2.42e-59, kappa=0.340170921935; Thm 2 max rel dev 9.98e-61; spread(A'A*_O)=0.0579318, spread(A'A*_G)=0.053969, spread(A'A)=9.96e-60; even: max|A*_f1-A*_f2|=6.53e-60, spread(A'A*_f)=3.48e-59
[PASS] a/b=2.0, N=3: lam=0.98271224485687937166, closure err 7.53e-59, kappa=35.0277563773; Thm 2 max rel dev 4.07e-58; spread(A'A*_O)=399.127, spread(A'A*_G)=55326.8, spread(A'A)=14.0; odd: spread(A*_O/A)=8.21e-58
[PASS] a/b=2.0, N=4: lam=0.8, closure err 1.52e-59, kappa=2.0; Thm 2 max rel dev 3.65e-60; spread(A'A*_O)=220.408, spread(A'A*_G)=259.291, spread(A'A)=1.24e-59; even: max|A*_f1-A*_f2|=9.83e-59, spread(A'A*_f)=7.27e-58
[PASS] a/b=2.0, N=5: lam=0.59449778974886594528, closure err 2.0e-59, kappa=0.416298627233; Thm 2 max rel dev 2.99e-60; spread(A'A*_O)=0.0530209, spread(A'A*_G)=27.5545, spread(A'A)=0.0203; odd: spread(A*_O/A)=2.15e-59
[PASS] a/b=2.0, N=6: lam=0.44444444444444444444, closure err 2.11e-59, kappa=1.40017843752e-61; Thm 2 max rel dev 3.25e-60; spread(A'A*_O)=24.3, spread(A'A*_G)=24.9268, spread(A'A)=1.49e-59; even: max|A*_f1-A*_f2|=5.41e-59, spread(A'A*_f)=2.76e-58
[PASS] a/b=2.0, N=7: lam=0.3405821257825343391, closure err 2.43e-59, kappa=-0.177194330125; Thm 2 max rel dev 2.95e-60; spread(A'A*_O)=0.000123318, spread(A'A*_G)=4.61004, spread(A'A)=8.51e-5; odd: spread(A*_O/A)=8.56e-60
[PASS] a/b=2.0, N=8: lam=0.26775235692584377384, closure err 2.33e-59, kappa=-0.271463623459; Thm 2 max rel dev 2.58e-60; spread(A'A*_O)=4.08492, spread(A'A*_G)=4.14123, spread(A'A)=1.49e-59; even: max|A*_f1-A*_f2|=2.44e-59, spread(A'A*_f)=1.59e-58
[PASS] a/b=2.0, N=9: lam=0.21535001903412685539, closure err 2.61e-59, kappa=-0.32846649441; Thm 2 max rel dev 2.02e-60; spread(A'A*_O)=5.16919e-7, spread(A'A*_G)=0.904566, spread(A'A)=4.63e-7; odd: spread(A*_O/A)=5.29e-60
[PASS] a/b=2.0, N=10: lam=0.1766324419090589701, closure err 3.73e-59, kappa=-0.365922242007; Thm 2 max rel dev 2.14e-60; spread(A'A*_O)=0.673305, spread(A'A*_G)=0.689019, spread(A'A)=1.49e-59; even: max|A*_f1-A*_f2|=1.65e-59, spread(A'A*_f)=8.84e-59
[PASS] a/b=3.0, N=3: lam=0.99675105337055564096, closure err 9.29e-58, kappa=167.440037453; Thm 2 max rel dev 4.84e-57; spread(A'A*_O)=17573.5, spread(A'A*_G)=283531.0, spread(A'A)=116.0; odd: spread(A*_O/A)=1.83e-56
[PASS] a/b=3.0, N=4: lam=0.9, closure err 7.23e-59, kappa=2.0; Thm 2 max rel dev 6.82e-60; spread(A'A*_O)=2714.32, spread(A'A*_G)=3875.69, spread(A'A)=3.98e-59; even: max|A*_f1-A*_f2|=8.71e-58, spread(A'A*_f)=1.24e-56
[PASS] a/b=3.0, N=5: lam=0.72192028311085710521, closure err 4.26e-59, kappa=-1.55772715667; Thm 2 max rel dev 1.16e-59; spread(A'A*_O)=2.53705, spread(A'A*_G)=289.946, spread(A'A)=0.397; odd: spread(A*_O/A)=2.17e-58
[PASS] a/b=3.0, N=6: lam=0.5625, closure err 4.15e-59, kappa=-2.28571428571; Thm 2 max rel dev 6.1e-60; spread(A'A*_O)=312.076, spread(A'A*_G)=332.913, spread(A'A)=7.97e-59; even: max|A*_f1-A*_f2|=3.48e-58, spread(A'A*_f)=2.65e-57
[PASS] a/b=3.0, N=7: lam=0.44141482207361679097, closure err 5.89e-59, kappa=-2.56097929842; Thm 2 max rel dev 3.54e-60; spread(A'A*_O)=0.00973524, spread(A'A*_G)=52.1992, spread(A'A)=0.00423; odd: spread(A*_O/A)=1.09e-58
[PASS] a/b=3.0, N=8: lam=0.35219142241343853688, closure err 7.32e-59, kappa=-2.69796339828; Thm 2 max rel dev 3.42e-60; spread(A'A*_O)=73.2013, spread(A'A*_G)=77.1372, spread(A'A)=5.97e-59; even: max|A*_f1-A*_f2|=3.44e-58, spread(A'A*_f)=2.93e-57
[PASS] a/b=3.0, N=9: lam=0.28605699100771369832, closure err 7.61e-59, kappa=-2.77740443066; Thm 2 max rel dev 2.15e-60; spread(A'A*_O)=7.20462e-5, spread(A'A*_G)=14.1446, spread(A'A)=5.69e-5; odd: spread(A*_O/A)=3.56e-59
[PASS] a/b=3.0, N=10: lam=0.23624032414678008999, closure err 1.59e-58, kappa=-2.82815978812; Thm 2 max rel dev 3.09e-60; spread(A'A*_O)=18.0708, spread(A'A*_G)=19.0797, spread(A'A)=9.96e-59; even: max|A*_f1-A*_f2|=2.17e-58, spread(A'A*_f)=1.51e-57
[PASS] a/b=1.15, N=3: lam=0.8421369918072203259, closure err 5.83e-60, kappa=5.52291750095; Thm 2 max rel dev 4.28e-60; spread(A'A*_O)=0.215462, spread(A'A*_G)=22.7325, spread(A'A)=0.0478; odd: spread(A*_O/A)=6.85e-60
[PASS] a/b=1.15, N=4: lam=0.5694294940796555436, closure err 4.41e-60, kappa=2.0; Thm 2 max rel dev 1.09e-60; spread(A'A*_O)=1.67055, spread(A'A*_G)=1.53873, spread(A'A)=6.22e-60; even: max|A*_f1-A*_f2|=4.98e-60, spread(A'A*_f)=2.74e-59
[PASS] a/b=1.15, N=5: lam=0.39481998889144177963, closure err 5.45e-60, kappa=1.41160486177; Thm 2 max rel dev 1.29e-60; spread(A'A*_O)=3.83853e-6, spread(A'A*_G)=0.270562, spread(A'A)=2.47e-6; odd: spread(A*_O/A)=9.33e-61
[PASS] a/b=1.15, N=6: lam=0.28610059491617090319, closure err 8.17e-60, kappa=1.19064393939; Thm 2 max rel dev 7.01e-61; spread(A'A*_O)=0.0518804, spread(A'A*_G)=0.0387105, spread(A'A)=2.49e-60; even: max|A*_f1-A*_f2|=2.8e-60, spread(A'A*_f)=1.24e-59
[PASS] a/b=1.15, N=7: lam=0.21559940464806763627, closure err 1.06e-59, kappa=1.0800957686; Thm 2 max rel dev 7.33e-61; spread(A'A*_O)=5.14434e-10, spread(A'A*_G)=0.010216, spread(A'A)=4.16e-10; odd: spread(A*_O/A)=7.78e-61
[PASS] a/b=1.15, N=8: lam=0.16779223003613462871, closure err 1.23e-59, kappa=1.0157894803; Thm 2 max rel dev 9.43e-61; spread(A'A*_O)=0.00189054, spread(A'A*_G)=0.00126439, spread(A'A)=3.73e-60; even: max|A*_f1-A*_f2|=1.87e-60, spread(A'A*_f)=9.96e-60
[PASS] a/b=1.15, N=9: lam=0.13406646350490600007, closure err 1.91e-59, kappa=0.974695751584; Thm 2 max rel dev 5.62e-61; spread(A'A*_O)=1.04859e-13, spread(A'A*_G)=0.000361471, spread(A'A)=9.27e-14; odd: spread(A*_O/A)=7.78e-61
[PASS] a/b=1.15, N=10: lam=0.10946291842646419252, closure err 1.3e-59, kappa=0.946680716742; Thm 2 max rel dev 7.37e-61; spread(A'A*_O)=6.61753e-5, spread(A'A*_G)=3.92503e-5, spread(A'A)=6.22e-60; even: max|A*_f1-A*_f2|=1.56e-60, spread(A'A*_f)=7.47e-60
[PASS] a/b=1.6, N=4: lam = a^2b^2/(a^2+b^2), A'A*_f = 16a^2b^2 along the family -- |lam - lam4| = 2.33e-61, max dev 1.84e-58
[PASS] a/b=1.6, N=6: lam = a^2b^2/(a+b)^2, A'A*_f = 4a^2(4b^2-a^2) along the family -- |lam - lam6| = 3.89e-62, max dev 2.99e-59
[PASS] a/b=2.0, N=4: lam = a^2b^2/(a^2+b^2), A'A*_f = 16a^2b^2 along the family -- |lam - lam4| = 1.56e-61, max dev 3.78e-58
[PASS] a/b=2.0, N=6: lam = a^2b^2/(a+b)^2, A'A*_f = 4a^2(4b^2-a^2) along the family -- |lam - lam6| = 7.78e-62, max dev 1.39e-58
[PASS] a/b=3.0, N=4: lam = a^2b^2/(a^2+b^2), A'A*_f = 16a^2b^2 along the family -- |lam - lam4| = 7.78e-62, max dev 7.03e-57
[PASS] a/b=3.0, N=6: lam = a^2b^2/(a+b)^2, A'A*_f = 4a^2(4b^2-a^2) along the family -- |lam - lam6| = 3.11e-61, max dev 2.25e-57
[PASS] a/b=1.15, N=4: lam = a^2b^2/(a^2+b^2), A'A*_f = 16a^2b^2 along the family -- |lam - lam4| = 7.78e-62, max dev 1.49e-59
[PASS] a/b=1.15, N=6: lam = a^2b^2/(a+b)^2, A'A*_f = 4a^2(4b^2-a^2) along the family -- |lam - lam6| = 7.78e-62, max dev 6.22e-60

Remark 3.2 / 4.9 numbers (a = 1.6, b = 1):
  N=6: six members with first vertex at eccentric anomaly 2 pi j/6: spread A'A*_O = 0.514958, A'A*_G = 0.817555, A'A*_f1 = 1.24e-59
        whole family (360 members): spread A'A*_O = 4.24335, A'A*_G = 4.21725
  N=10: six members with first vertex at eccentric anomaly 2 pi j/6: spread A'A*_O = 0.0155198, A'A*_G = 0.0240259, A'A*_f1 = 1.24e-59
        whole family (360 members): spread A'A*_O = 0.0579318, A'A*_G = 0.0553638
  N=3: kappa = 15.5089057112848; A*_f1/A ranges over [9.6701192, 21.347692], variation 11.6776; spread of (A*_f1+A*_f2)/(2A) = 7.53e-58
[PASS] Remark 4.9: N = 3, a = 1.6: kappa = 15.508..., (A*_f1 + A*_f2)/(2A) constant, A*_f1/A not constant -- variation of A*_f1/A over 720 members 11.6776 (the note prints 9.8; see the six-member values below)
  N=3, six members (first vertex at 2 pi j/6): variation of A*_f1/A = 11.6776
  N=3, six members (first vertex at 2 pi j/36, j = 0..5): variation of A*_f1/A = 11.6542
  with the six members of the note's program, t in {0, 0.37, 1.13, 2.29, 3.71, 5.02}:
    N=3: spread A'A*_O = 28.7107, A'A*_G = 520.247, A*_f1/A = 9.80679
    N=6: spread A'A*_O = 4.20935, A'A*_G = 4.15769, A*_f1/A = 5.44514e-61
    N=10: spread A'A*_O = 0.0564984, A'A*_G = 0.0550635, A*_f1/A = 2.72257e-61
[PASS] Remark 3.2 numbers reproduced with the note's six members (4.21, 4.16 for N = 6; 0.0565, 0.0551 for N = 10)
  Remark 4.9 '9.8' equals the six-member spread of A*_f1/A for N = 3 (9.807), not the variation along the family (11.678)

Odd N at the centre (pedal area A_O of P with respect to O):
  a/b=1.6, N=3: rel. spreads A A_O 3.16e-60, A_O A*_O 4.55e-60, A*_O/A 6.53e-60; min A_O = 0.403914
  a/b=1.6, N=5: rel. spreads A A_O 1.57e-60, A_O A*_O 4.75e-60, A*_O/A 4.04e-60; min A_O = 2.35665
  a/b=1.6, N=7: rel. spreads A A_O 8.64e-61, A_O A*_O 2.77e-60, A*_O/A 2.62e-60; min A_O = 3.66339
  a/b=1.6, N=9: rel. spreads A A_O 1.12e-60, A_O A*_O 2.45e-60, A*_O/A 1.39e-60; min A_O = 4.34843
  a/b=2.0, N=3: rel. spreads A A_O 1.4e-59, A_O A*_O 1.66e-59, A*_O/A 2.72e-59; min A_O = 0.381329
  a/b=2.0, N=5: rel. spreads A A_O 1.51e-60, A_O A*_O 8.91e-60, A*_O/A 8.21e-60; min A_O = 2.76779
  a/b=2.0, N=7: rel. spreads A A_O 1.19e-60, A_O A*_O 6.14e-60, A*_O/A 5.37e-60; min A_O = 4.73033
  a/b=2.0, N=9: rel. spreads A A_O 1.2e-60, A_O A*_O 4.3e-60, A*_O/A 3.76e-60; min A_O = 5.81616
  a/b=1.15, N=3: rel. spreads A A_O 1.44e-60, A_O A*_O 1.54e-60, A*_O/A 1.24e-60; min A_O = 0.365767
  a/b=1.15, N=5: rel. spreads A A_O 1.28e-60, A_O A*_O 1.48e-60, A*_O/A 6.0e-61; min A_O = 1.7808
  a/b=1.15, N=7: rel. spreads A A_O 1.39e-60, A_O A*_O 1.62e-60, A*_O/A 5.03e-61; min A_O = 2.56159
  a/b=1.15, N=9: rel. spreads A A_O 1.14e-60, A_O A*_O 1.23e-60, A*_O/A 2.75e-61; min A_O = 2.95401
[PASS] odd N: A A_O and A_O A*_O constant and A_O > 0 on convex members, hence A*_O/A constant (consistent with rows k203,b and k403,a) -- largest relative spread 2.72e-59

Lemma chain on reflection-law trajectories:
[PASS] Lemma 4.1 at f1, f2, O, G on the trajectories -- max error 1.23e-57
[PASS] Lemma 4.2 (all identities) -- max error 1.61e-55
[PASS] Proposition 4.3 with mu = 0.3, and A*_f1 + A*_f2 = 2(2 - mu*)A -- max error 1.64e-55
[PASS] Lemma 4.4 (i), (iii): cn Delta = b''/b, a = a'' delta/cn Delta, lam = b''^2 sigma/gamma, P_i = P(v_i -+ Delta), v_{i+1} - v_i = 2 Delta -- max error 1.95e-58
[PASS] Lemma 4.4 (ii): P(v+Delta) - P(v-Delta) is a positive multiple of (-a'' cn v, -b'' sn v) -- max error 5.68e-59
[PASS] Lemma 4.5: sin omega, L, l r -- max error 2.3e-58
[PASS] Lemma 4.6: the summand equals (a'' sqrt(sigma/gamma)/m') phi(v) -- max error 4.68e-56

51 of 51 checks pass; ALL PASS: True  (elapsed 6.3 s)
