run2_verify.py -- input: pair_A_exact.json
[PASS] T1 D > 0 and D is not a perfect square                     isqrt(D)^2 - D = -1253094495432123112045504455
[PASS] T1 D equals the D printed in the note (55 digits)          
[PASS] T1 D = 344^2 * m with the printed m                        
[PASS] T1 c1^2 - 4 c2 c0 = D                                      
[PASS] T1 lambda* is a root of c2 t^2 + c1 t + c0                 
[PASS] T1 lambda* is the smaller root (s-part -1/(2 c2) < 0)      
       lambda* = 1.1277699453, other root = 1.8661
[PASS] T1 y = y' = 0; a1, a2, a3 = lambda*(..) as printed         
[PASS] T2 P: a1,a2,a3 affinely independent; x, y strictly opposite sides x:-1 y:+1
       P: barycentric signs of (line xy) ∩ H w.r.t. a1,a2,a3 (up to a common sign): [-1, 1, 1]
[PASS] T2 P': a1,a2,a3 affinely independent; x, y strictly opposite sides x:-1 y:+1
       P': barycentric signs of (line xy) ∩ H w.r.t. a1,a2,a3 (up to a common sign): [-1, 1, 1]
[PASS] T3 P: 6 triangles non-degenerate, 9 edges non-coplanar     
[PASS] T3 P': 6 triangles non-degenerate, 9 edges non-coplanar    
[PASS] T4 P: embedded (15 triangle pairs meet only in common faces) 
[PASS] T4 P': embedded (15 triangle pairs meet only in common faces) 
       signed volume signs (orientation of TRIS): P -1, P' -1
[PASS] T5 ya1  type: ray parity = cone rule = normal rule (P, P') P convex/convex/convex  P' convex/convex/convex
[PASS] T5 ya1  interior dihedral angle equal in P and P' (exact)  theta = 145.773597 / 145.773597 deg
[PASS] T5 ya1  printed value 145.7736 matches                     
[PASS] T5 ya2  type: ray parity = cone rule = normal rule (P, P') P convex/convex/convex  P' convex/convex/convex
[PASS] T5 ya2  interior dihedral angle equal in P and P' (exact)  theta = 32.255916 / 32.255916 deg
[PASS] T5 ya2  printed value 32.2559 matches                      
[PASS] T5 ya3  type: ray parity = cone rule = normal rule (P, P') P convex/convex/convex  P' convex/convex/convex
[PASS] T5 ya3  interior dihedral angle equal in P and P' (exact)  theta = 45.956897 / 45.956897 deg
[PASS] T5 ya3  printed value 45.9569 matches                      
[PASS] T5 xa1  type: ray parity = cone rule = normal rule (P, P') P convex/convex/convex  P' convex/convex/convex
[PASS] T5 xa1  interior dihedral angle equal in P and P' (exact)  theta = 120.827928 / 120.827928 deg
[PASS] T5 xa1  printed value 120.8279 matches                     
[PASS] T5 xa2  type: ray parity = cone rule = normal rule (P, P') P convex/convex/convex  P' convex/convex/convex
[PASS] T5 xa2  interior dihedral angle equal in P and P' (exact)  theta = 27.762149 / 27.762149 deg
[PASS] T5 xa2  printed value 27.7621 matches                      
[PASS] T5 xa3  type: ray parity = cone rule = normal rule (P, P') P convex/convex/convex  P' convex/convex/convex
[PASS] T5 xa3  interior dihedral angle equal in P and P' (exact)  theta = 37.921330 / 37.921330 deg
[PASS] T5 xa3  printed value 37.9213 matches                      
[PASS] T5 a1a2 type: ray parity = cone rule = normal rule (P, P') P convex/convex/convex  P' convex/convex/convex
[PASS] T5 a1a2 interior dihedral angle equal in P and P' (exact)  theta = 71.616660 / 71.616660 deg
[PASS] T5 a1a2 printed value 71.6167 matches                      
[PASS] T5 a1a3 type: ray parity = cone rule = normal rule (P, P') P convex/convex/convex  P' convex/convex/convex
[PASS] T5 a1a3 interior dihedral angle equal in P and P' (exact)  theta = 38.713308 / 38.713308 deg
[PASS] T5 a1a3 printed value 38.7133 matches                      
[PASS] T5 a2a3 type: ray parity = cone rule = normal rule (P, P') P reflex/reflex/reflex  P' reflex/reflex/reflex
[PASS] T5 a2a3 interior dihedral angle equal in P and P' (exact)  theta = 273.823852 / 273.823852 deg
[PASS] T5 a2a3 printed value 273.8239 matches                     
[PASS] T5 all nine interior dihedral angles equal                 9/9
[PASS] T5 a2a3 is the only reflex edge (in P; P' has the same types) ['a2a3']
[PASS] T6 face angle xa1a2 at x: printed (33.0198, 33.0198)       33.019770 / 33.019770  equal
[PASS] T6 face angle xa1a2 at a1: printed (22.338, 33.0821)       22.337950 / 33.082091  differ
[PASS] T6 face angle xa1a2 at a2: printed (124.6423, 113.8981)    124.642280 / 113.898139  differ
[PASS] T6 face angle xa2a3 at x: printed (49.5871, 49.5871)       49.587082 / 49.587082  equal
[PASS] T6 face angle xa2a3 at a2: printed (96.2609, 79.349)       96.260918 / 79.348989  differ
[PASS] T6 face angle xa2a3 at a3: printed (34.152, 51.0639)       34.152000 / 51.063929  differ
[PASS] T6 face angle xa3a1 at x: printed (24.3942, 24.3942)       24.394221 / 24.394221  equal
[PASS] T6 face angle xa3a1 at a3: printed (102.6548, 110.7425)    102.654756 / 110.742511  differ
[PASS] T6 face angle xa3a1 at a1: printed (52.951, 44.8633)       52.951023 / 44.863268  differ
[PASS] T6 face angle ya1a2 at y: printed (90.7675, 90.7675)       90.767502 / 90.767502  equal
[PASS] T6 face angle ya1a2 at a2: printed (59.3259, 76.0858)      59.325932 / 76.085819  differ
[PASS] T6 face angle ya1a2 at a1: printed (29.9066, 13.1467)      29.906565 / 13.146679  differ
[PASS] T6 face angle ya2a3 at y: printed (128.5177, 128.5177)     128.517676 / 128.517676  equal
[PASS] T6 face angle ya2a3 at a3: printed (24.3576, 10.458)       24.357641 / 10.458022  differ
[PASS] T6 face angle ya2a3 at a2: printed (27.1247, 41.0243)      27.124684 / 41.024302  differ
[PASS] T6 face angle ya3a1 at y: printed (47.9368, 47.9368)       47.936763 / 47.936763  equal
[PASS] T6 face angle ya3a1 at a1: printed (39.8173, 55.5007)      39.817335 / 55.500665  differ
[PASS] T6 face angle ya3a1 at a3: printed (92.2459, 76.5626)      92.245903 / 76.562572  differ
[PASS] T6 exactly 12 of 18 face angles differ                     12 differ
[PASS] T6 the six apex angles (at x, y) are equal                 6/6
[PASS] T6 the differing ones are exactly the 12 at a1, a2, a3     
[PASS] T7 |a1a2|^2:|a1a3|^2 differ, so P' is not similar to P     
[PASS] T8 Table 1 P x                                             (0.059685, 2.166665, 0.779494)
[PASS] T8 Table 1 P a1                                            (0.15, -0.4, -2.2)
[PASS] T8 Table 1 P a2                                            (0.98, 0.85, -0.07)
[PASS] T8 Table 1 P a3                                            (-0.992438, -0.304498, -0.992438)
[PASS] T8 Table 1 Pp x                                            (-6.1185, 8.053372, 3.203931)
[PASS] T8 Table 1 Pp a1                                           (0.699203, -1.864542, -10.254981)
[PASS] T8 Table 1 Pp a2                                           (1.846494, 1.601551, -0.131892)
[PASS] T8 Table 1 Pp a3                                           (-6.116763, -1.876734, -6.116763)
[PASS] T9 Lemma 3.4 formula reproduces the apex face angles (float) max deviation 1.42e-14 deg
RUN2 VERDICT: COUNTEREXAMPLE CERTIFIED
