PASS exact sn, cn, dn at multiples of K/4 agree with mpmath  2.63e-46
PASS exact sn, cn, dn at multiples of K/3 agree with mpmath  3.07e-46
PASS N=4, a^2=16/9: sn^2(Delta) = lambda/beta
PASS N=4, a^2=16/9, member u = 0K/4: on the ellipse, chords tangent to the caustic, reflection law, least period 4, winding 1
PASS N=4, a^2=16/9, member u = 0K/4: A*A_M = 2048/625
PASS N=4, a^2=16/9, member u = 0K/4: A'_M = A'/2
   N=4, a^2=16/9, member u = 0K/4: A = 2.666666666666667, A' = 5.333333333333333, A_O = 1.228800000000000 (all > 0: True)
PASS N=4, a^2=16/9, member u = 1K/4: on the ellipse, chords tangent to the caustic, reflection law, least period 4, winding 1
PASS N=4, a^2=16/9, member u = 1K/4: A*A_M = 2048/625
PASS N=4, a^2=16/9, member u = 1K/4: A'_M = A'/2
   N=4, a^2=16/9, member u = 1K/4: A = 2.612789058968723, A' = 5.443310539518174, A_O = 1.254138748304987 (all > 0: True)
PASS N=6, a^2=4: sn^2(Delta) = lambda/beta
PASS N=6, a^2=4, member u = 0K/3: on the ellipse, chords tangent to the caustic, reflection law, least period 6, winding 1
PASS N=6, a^2=4, member u = 0K/3: A_M = (7 + M.M) A/9
   N=6, a^2=4, member u = 0K/3: A = 5.028314888437671, A' = 7.071067811865476, A_O = 3.910911579895966 (all > 0: True)
PASS N=6, a^2=4, member u = 1K/3: on the ellipse, chords tangent to the caustic, reflection law, least period 6, winding 1
PASS N=6, a^2=4, member u = 1K/3: A_M = (7 + M.M) A/9
   N=6, a^2=4, member u = 1K/3: A = 4.969039949999533, A' = 7.155417527999328, A_O = 3.864808849999636 (all > 0: True)
PASS N=8, tau=1, a^2=8/3: sn^2(Delta) = lambda/beta
PASS N=8, tau=1, a^2=8/3, member u = 0K/4: on the ellipse, chords tangent to the caustic, reflection law, least period 8, winding 1
PASS N=8, tau=1, a^2=8/3, member u = 0K/4: A*A_M = 256 (13 + 3 M.M)/175
PASS N=8, tau=1, a^2=8/3, member u = 0K/4: A'_M = 9 (5 + M.M) A'/50
   N=8, tau=1, a^2=8/3, member u = 0K/4: A = 4.572380853195265, A' = 5.443310539518174, A_O = 4.159133604072661 (all > 0: True)
PASS N=8, tau=1, a^2=8/3, member u = 1K/4: on the ellipse, chords tangent to the caustic, reflection law, least period 8, winding 1
PASS N=8, tau=1, a^2=8/3, member u = 1K/4: A*A_M = 256 (13 + 3 M.M)/175
PASS N=8, tau=1, a^2=8/3, member u = 1K/4: A'_M = 9 (5 + M.M) A'/50
   N=8, tau=1, a^2=8/3, member u = 1K/4: A = 4.571428571428571, A' = 5.444444444444445, A_O = 4.160000000000000 (all > 0: True)
PASS N=8, tau=3, a^2=32/27: sn^2(Delta) = lambda/beta
PASS N=8, tau=3, a^2=32/27, member u = 0K/4: on the ellipse, chords tangent to the caustic, reflection law, least period 8, winding 3
PASS N=8, tau=3, a^2=32/27, member u = 0K/4: A*A_M = -512 (27 M.M - 13)/4725
PASS N=8, tau=3, a^2=32/27, member u = 0K/4: A'_M = (85 - 27 M.M) A'/600
   N=8, tau=3, a^2=32/27, member u = 0K/4: A = 3.048253902130177, A' = 21.773242158072694, A_O = 0.462125956008073 (all > 0: True)
PASS N=8, tau=3, a^2=32/27, member u = 1K/4: on the ellipse, chords tangent to the caustic, reflection law, least period 8, winding 3
PASS N=8, tau=3, a^2=32/27, member u = 1K/4: A*A_M = -512 (27 M.M - 13)/4725
PASS N=8, tau=3, a^2=32/27, member u = 1K/4: A'_M = (85 - 27 M.M) A'/600
   N=8, tau=3, a^2=32/27, member u = 1K/4: A = 3.047619047619047, A' = 21.777777777777779, A_O = 0.462222222222222 (all > 0: True)
== negative controls: the two deliberately false identities below must print FAIL (they are rejected); not counted as failures
PASS control N=8, tau=3: sn^2(Delta) = lambda/beta
PASS control N=8, tau=3, member u = 0K/4: on the ellipse, chords tangent to the caustic, reflection law, least period 8, winding 3
FAIL control N=8, tau=3, member u = 0K/4: rejects A*A_M = -512 (27 M.M - 14)/4725
FAIL control N=8, tau=3, member u = 0K/4: rejects A'_M = (86 - 27 M.M) A'/600
   control N=8, tau=3, member u = 0K/4: A = 3.048253902130177, A' = 21.773242158072694, A_O = 0.462125956008073 (all > 0: True)
PASS negative controls rejected (2 of 2)

TOTAL failures: 0 []
