0.004 * [progress]: [Phase 1 of 3] Setting up. 0.006 * * * [progress]: [1/2] Preparing points 0.008 * * * * [points]: Sampling 256 additional inputs, on iter 0 have 0 / 256 0.015 * * * * [points]: Computing exacts on every 16 of 256 points to ramp up precision 0.067 * * * * [points]: Setting MPFR precision to 64 0.070 * * * * [points]: Setting MPFR precision to 320 0.074 * * * * [points]: Computing exacts on every 8 of 256 points to ramp up precision 0.079 * * * * [points]: Setting MPFR precision to 64 0.083 * * * * [points]: Setting MPFR precision to 320 0.088 * * * * [points]: Computing exacts on every 4 of 256 points to ramp up precision 0.092 * * * * [points]: Setting MPFR precision to 64 0.099 * * * * [points]: Setting MPFR precision to 320 0.147 * * * * [points]: Computing exacts on every 2 of 256 points to ramp up precision 0.152 * * * * [points]: Setting MPFR precision to 64 0.163 * * * * [points]: Setting MPFR precision to 320 0.175 * * * * [points]: Computing exacts for 256 points 0.180 * * * * [points]: Setting MPFR precision to 64 0.211 * * * * [points]: Setting MPFR precision to 320 0.248 * * * * [points]: Filtering points with unrepresentable outputs 0.270 * * * * [points]: Sampling 70 additional inputs, on iter 1 have 186 / 256 0.270 * * * * [points]: Computing exacts on every 4 of 70 points to ramp up precision 0.275 * * * * [points]: Setting MPFR precision to 64 0.277 * * * * [points]: Setting MPFR precision to 320 0.279 * * * * [points]: Computing exacts on every 2 of 70 points to ramp up precision 0.283 * * * * [points]: Setting MPFR precision to 64 0.286 * * * * [points]: Setting MPFR precision to 320 0.289 * * * * [points]: Computing exacts for 70 points 0.294 * * * * [points]: Setting MPFR precision to 64 0.303 * * * * [points]: Setting MPFR precision to 320 0.314 * * * * [points]: Filtering points with unrepresentable outputs 0.320 * * * * [points]: Sampling 21 additional inputs, on iter 2 have 235 / 256 0.320 * * * * [points]: Computing exacts for 21 points 0.326 * * * * [points]: Setting MPFR precision to 64 0.328 * * * * [points]: Setting MPFR precision to 320 0.331 * * * * [points]: Filtering points with unrepresentable outputs 0.361 * * * * [points]: Sampling 8 additional inputs, on iter 3 have 248 / 256 0.361 * * * * [points]: Computing exacts for 8 points 0.366 * * * * [points]: Setting MPFR precision to 64 0.367 * * * * [points]: Setting MPFR precision to 320 0.368 * * * * [points]: Filtering points with unrepresentable outputs 0.369 * * * * [points]: Sampling 4 additional inputs, on iter 4 have 255 / 256 0.369 * * * * [points]: Computing exacts for 4 points 0.376 * * * * [points]: Setting MPFR precision to 64 0.377 * * * * [points]: Setting MPFR precision to 320 0.377 * * * * [points]: Filtering points with unrepresentable outputs 0.377 * * * * [points]: Sampled 257 points with exact outputs 0.378 * * * [progress]: [2/2] Setting up program. 0.426 * [progress]: [Phase 2 of 3] Improving. 0.427 * * * * [progress]: [ 1 / 1 ] simplifiying candidate #posit16 4) (*.p16 a c))))) (*.p16 (real->posit16 2) a)))> 0.428 * [simplify]: Simplifying (/.p16 (+.p16 (neg.p16 b) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (real->posit16 4) (*.p16 a c))))) (*.p16 (real->posit16 2) a)) 0.429 * * [simplify]: iters left: 6 (16 enodes) 0.442 * * [simplify]: iters left: 5 (39 enodes) 0.456 * * [simplify]: iters left: 4 (72 enodes) 0.484 * * [simplify]: iters left: 3 (196 enodes) 0.564 * * [simplify]: Extracting #0: cost 1 inf + 0 0.564 * * [simplify]: Extracting #1: cost 5 inf + 0 0.564 * * [simplify]: Extracting #2: cost 11 inf + 1 0.564 * * [simplify]: Extracting #3: cost 16 inf + 2 0.565 * * [simplify]: Extracting #4: cost 26 inf + 807 0.565 * * [simplify]: Extracting #5: cost 66 inf + 1770 0.565 * * [simplify]: Extracting #6: cost 135 inf + 3695 0.566 * * [simplify]: Extracting #7: cost 209 inf + 14082 0.570 * * [simplify]: Extracting #8: cost 138 inf + 107732 0.580 * * [simplify]: Extracting #9: cost 36 inf + 289941 0.606 * * [simplify]: Extracting #10: cost 2 inf + 355093 0.619 * * [simplify]: Extracting #11: cost 1 inf + 357016 0.633 * * [simplify]: Extracting #12: cost 0 inf + 360620 0.654 * [simplify]: Simplified to (/.p16 (-.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 c a) (real->posit16 4)))) b) (*.p16 (real->posit16 2) a)) 0.655 * [simplify]: Simplified (2) to (λ (a b c) (/.p16 (-.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 c a) (real->posit16 4)))) b) (*.p16 (real->posit16 2) a))) 0.713 * * [progress]: iteration 1 / 4 0.713 * * * [progress]: picking best candidate 0.733 * * * * [pick]: Picked #posit16 4)))) b) (*.p16 (real->posit16 2) a)))> 0.733 * * * [progress]: localizing error 1.030 * * * [progress]: generating rewritten candidates 1.030 * * * * [progress]: [ 1 / 4 ] rewriting at (2 1) 1.033 * * * * [progress]: [ 2 / 4 ] rewriting at (2 1 1) 1.033 * * * * [progress]: [ 3 / 4 ] rewriting at (2) 1.037 * * * * [progress]: [ 4 / 4 ] rewriting at (2 1 1 1 2) 1.041 * * * [progress]: generating series expansions 1.041 * * * * [progress]: [ 1 / 4 ] generating series at (2 1) 1.041 * * * * [progress]: [ 2 / 4 ] generating series at (2 1 1) 1.041 * * * * [progress]: [ 3 / 4 ] generating series at (2) 1.041 * * * * [progress]: [ 4 / 4 ] generating series at (2 1 1 1 2) 1.042 * * * [progress]: simplifying candidates 1.042 * * * * [progress]: [ 1 / 10 ] simplifiying candidate #posit16 4)))) (neg.p16 b)) (*.p16 (real->posit16 2) a)))> 1.042 * * * * [progress]: [ 2 / 10 ] simplifiying candidate #posit16 4)))) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 c a) (real->posit16 4))))) (*.p16 b b)) (+.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 c a) (real->posit16 4)))) b)) (*.p16 (real->posit16 2) a)))> 1.042 * * * * [progress]: [ 3 / 10 ] simplifiying candidate #posit16 4)))) b) (real->posit16 2)) a))> 1.042 * * * * [progress]: [ 4 / 10 ] simplifiying candidate #posit16 4)))) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 c a) (real->posit16 4))))) (*.p16 b b)) (*.p16 (*.p16 (real->posit16 2) a) (+.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 c a) (real->posit16 4)))) b))))> 1.042 * [simplify]: Simplifying (-.p16 (*.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 c a) (real->posit16 4)))) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 c a) (real->posit16 4))))) (*.p16 b b)) 1.042 * * [simplify]: iters left: 6 (12 enodes) 1.045 * * [simplify]: iters left: 5 (39 enodes) 1.052 * * [simplify]: iters left: 4 (111 enodes) 1.088 * * [simplify]: iters left: 3 (427 enodes) 1.436 * * [simplify]: Extracting #0: cost 1 inf + 0 1.436 * * [simplify]: Extracting #1: cost 47 inf + 0 1.437 * * [simplify]: Extracting #2: cost 231 inf + 0 1.440 * * [simplify]: Extracting #3: cost 400 inf + 3216 1.455 * * [simplify]: Extracting #4: cost 473 inf + 191470 1.532 * * [simplify]: Extracting #5: cost 180 inf + 866467 1.620 * * [simplify]: Extracting #6: cost 4 inf + 1232579 1.707 * * [simplify]: Extracting #7: cost 0 inf + 1241757 1.795 * [simplify]: Simplified to (-.p16 (real->posit16 0.0) (*.p16 (*.p16 a c) (real->posit16 4))) 1.795 * [simplify]: Simplified (2 1) to (λ (a b c) (/.p16 (-.p16 (real->posit16 0.0) (*.p16 (*.p16 a c) (real->posit16 4))) (*.p16 (*.p16 (real->posit16 2) a) (+.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 c a) (real->posit16 4)))) b)))) 1.795 * * * * [progress]: [ 5 / 10 ] simplifiying candidate #posit16 4))))) b) (*.p16 (real->posit16 2) a)))> 1.795 * * * * [progress]: [ 6 / 10 ] simplifiying candidate #posit16 4) (*.p16 c a)))) b) (*.p16 (real->posit16 2) a)))> 1.796 * * * * [progress]: [ 7 / 10 ] simplifiying candidate #posit16 4)))) b) (*.p16 (real->posit16 2) a)))> 1.796 * [simplify]: Simplifying (/.p16 (-.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 c a) (real->posit16 4)))) b) (*.p16 (real->posit16 2) a)) 1.796 * * [simplify]: iters left: 6 (15 enodes) 1.804 * * [simplify]: iters left: 5 (43 enodes) 1.813 * * [simplify]: iters left: 4 (88 enodes) 1.832 * * [simplify]: iters left: 3 (307 enodes) 1.961 * * [simplify]: Extracting #0: cost 1 inf + 0 1.961 * * [simplify]: Extracting #1: cost 31 inf + 0 1.962 * * [simplify]: Extracting #2: cost 125 inf + 1 1.962 * * [simplify]: Extracting #3: cost 193 inf + 2734 1.963 * * [simplify]: Extracting #4: cost 253 inf + 8433 1.966 * * [simplify]: Extracting #5: cost 273 inf + 63950 1.997 * * [simplify]: Extracting #6: cost 175 inf + 356651 2.048 * * [simplify]: Extracting #7: cost 6 inf + 666712 2.103 * * [simplify]: Extracting #8: cost 0 inf + 674735 2.132 * [simplify]: Simplified to (/.p16 (-.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 a c) (real->posit16 4)))) b) (*.p16 a (real->posit16 2))) 2.132 * [simplify]: Simplified (2) to (λ (a b c) (/.p16 (-.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 a c) (real->posit16 4)))) b) (*.p16 a (real->posit16 2)))) 2.133 * * * * [progress]: [ 8 / 10 ] simplifiying candidate #posit16 4)))) b) (*.p16 (real->posit16 2) a)))> 2.133 * [simplify]: Simplifying (/.p16 (-.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 c a) (real->posit16 4)))) b) (*.p16 (real->posit16 2) a)) 2.133 * * [simplify]: iters left: 6 (15 enodes) 2.138 * * [simplify]: iters left: 5 (43 enodes) 2.152 * * [simplify]: iters left: 4 (88 enodes) 2.181 * * [simplify]: iters left: 3 (307 enodes) 2.288 * * [simplify]: Extracting #0: cost 1 inf + 0 2.289 * * [simplify]: Extracting #1: cost 31 inf + 0 2.289 * * [simplify]: Extracting #2: cost 125 inf + 1 2.289 * * [simplify]: Extracting #3: cost 193 inf + 2734 2.290 * * [simplify]: Extracting #4: cost 253 inf + 8433 2.293 * * [simplify]: Extracting #5: cost 273 inf + 63950 2.307 * * [simplify]: Extracting #6: cost 175 inf + 356651 2.332 * * [simplify]: Extracting #7: cost 6 inf + 666712 2.364 * * [simplify]: Extracting #8: cost 0 inf + 674735 2.393 * [simplify]: Simplified to (/.p16 (-.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 a c) (real->posit16 4)))) b) (*.p16 a (real->posit16 2))) 2.393 * [simplify]: Simplified (2) to (λ (a b c) (/.p16 (-.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 a c) (real->posit16 4)))) b) (*.p16 a (real->posit16 2)))) 2.393 * * * * [progress]: [ 9 / 10 ] simplifiying candidate #posit16 4)))) b) (*.p16 (real->posit16 2) a)))> 2.393 * [simplify]: Simplifying (/.p16 (-.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 c a) (real->posit16 4)))) b) (*.p16 (real->posit16 2) a)) 2.393 * * [simplify]: iters left: 6 (15 enodes) 2.397 * * [simplify]: iters left: 5 (43 enodes) 2.405 * * [simplify]: iters left: 4 (88 enodes) 2.424 * * [simplify]: iters left: 3 (307 enodes) 2.531 * * [simplify]: Extracting #0: cost 1 inf + 0 2.531 * * [simplify]: Extracting #1: cost 31 inf + 0 2.533 * * [simplify]: Extracting #2: cost 125 inf + 1 2.533 * * [simplify]: Extracting #3: cost 193 inf + 2734 2.534 * * [simplify]: Extracting #4: cost 253 inf + 8433 2.537 * * [simplify]: Extracting #5: cost 273 inf + 63950 2.550 * * [simplify]: Extracting #6: cost 175 inf + 356651 2.584 * * [simplify]: Extracting #7: cost 6 inf + 666712 2.642 * * [simplify]: Extracting #8: cost 0 inf + 674735 2.698 * [simplify]: Simplified to (/.p16 (-.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 a c) (real->posit16 4)))) b) (*.p16 a (real->posit16 2))) 2.698 * [simplify]: Simplified (2) to (λ (a b c) (/.p16 (-.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 a c) (real->posit16 4)))) b) (*.p16 a (real->posit16 2)))) 2.698 * * * * [progress]: [ 10 / 10 ] simplifiying candidate #posit16 4)))) b) (*.p16 (real->posit16 2) a)))> 2.698 * [simplify]: Simplifying (/.p16 (-.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 c a) (real->posit16 4)))) b) (*.p16 (real->posit16 2) a)) 2.699 * * [simplify]: iters left: 6 (15 enodes) 2.705 * * [simplify]: iters left: 5 (43 enodes) 2.720 * * [simplify]: iters left: 4 (88 enodes) 2.743 * * [simplify]: iters left: 3 (307 enodes) 2.886 * * [simplify]: Extracting #0: cost 1 inf + 0 2.886 * * [simplify]: Extracting #1: cost 31 inf + 0 2.886 * * [simplify]: Extracting #2: cost 125 inf + 1 2.887 * * [simplify]: Extracting #3: cost 193 inf + 2734 2.889 * * [simplify]: Extracting #4: cost 253 inf + 8433 2.892 * * [simplify]: Extracting #5: cost 273 inf + 63950 2.909 * * [simplify]: Extracting #6: cost 175 inf + 356651 2.948 * * [simplify]: Extracting #7: cost 6 inf + 666712 2.978 * * [simplify]: Extracting #8: cost 0 inf + 674735 3.030 * [simplify]: Simplified to (/.p16 (-.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 a c) (real->posit16 4)))) b) (*.p16 a (real->posit16 2))) 3.030 * [simplify]: Simplified (2) to (λ (a b c) (/.p16 (-.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 a c) (real->posit16 4)))) b) (*.p16 a (real->posit16 2)))) 3.031 * * * [progress]: adding candidates to table 3.584 * * [progress]: iteration 2 / 4 3.584 * * * [progress]: picking best candidate 3.680 * * * * [pick]: Picked #posit16 4))))) b) (*.p16 (real->posit16 2) a)))> 3.680 * * * [progress]: localizing error 4.066 * * * [progress]: generating rewritten candidates 4.066 * * * * [progress]: [ 1 / 4 ] rewriting at (2 1) 4.069 * * * * [progress]: [ 2 / 4 ] rewriting at (2 1 1) 4.070 * * * * [progress]: [ 3 / 4 ] rewriting at (2) 4.086 * * * * [progress]: [ 4 / 4 ] rewriting at (2 1 1 1) 4.097 * * * [progress]: generating series expansions 4.097 * * * * [progress]: [ 1 / 4 ] generating series at (2 1) 4.097 * * * * [progress]: [ 2 / 4 ] generating series at (2 1 1) 4.097 * * * * [progress]: [ 3 / 4 ] generating series at (2) 4.097 * * * * [progress]: [ 4 / 4 ] generating series at (2 1 1 1) 4.097 * * * [progress]: simplifying candidates 4.097 * * * * [progress]: [ 1 / 10 ] simplifiying candidate #posit16 4))))) (neg.p16 b)) (*.p16 (real->posit16 2) a)))> 4.097 * * * * [progress]: [ 2 / 10 ] simplifiying candidate #posit16 4))))) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 c (*.p16 a (real->posit16 4)))))) (*.p16 b b)) (+.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 c (*.p16 a (real->posit16 4))))) b)) (*.p16 (real->posit16 2) a)))> 4.097 * * * * [progress]: [ 3 / 10 ] simplifiying candidate #posit16 4))))) b) (real->posit16 2)) a))> 4.097 * * * * [progress]: [ 4 / 10 ] simplifiying candidate #posit16 4))))) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 c (*.p16 a (real->posit16 4)))))) (*.p16 b b)) (*.p16 (*.p16 (real->posit16 2) a) (+.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 c (*.p16 a (real->posit16 4))))) b))))> 4.098 * [simplify]: Simplifying (-.p16 (*.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 c (*.p16 a (real->posit16 4))))) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 c (*.p16 a (real->posit16 4)))))) (*.p16 b b)) 4.098 * * [simplify]: iters left: 6 (12 enodes) 4.104 * * [simplify]: iters left: 5 (39 enodes) 4.118 * * [simplify]: iters left: 4 (111 enodes) 4.172 * * [simplify]: iters left: 3 (424 enodes) 4.509 * * [simplify]: Extracting #0: cost 1 inf + 0 4.509 * * [simplify]: Extracting #1: cost 47 inf + 0 4.509 * * [simplify]: Extracting #2: cost 231 inf + 0 4.511 * * [simplify]: Extracting #3: cost 400 inf + 3615 4.518 * * [simplify]: Extracting #4: cost 466 inf + 182833 4.551 * * [simplify]: Extracting #5: cost 208 inf + 789169 4.610 * * [simplify]: Extracting #6: cost 3 inf + 1219441 4.670 * * [simplify]: Extracting #7: cost 0 inf + 1225733 4.730 * [simplify]: Simplified to (-.p16 (real->posit16 0.0) (*.p16 (*.p16 (real->posit16 4) a) c)) 4.730 * [simplify]: Simplified (2 1) to (λ (a b c) (/.p16 (-.p16 (real->posit16 0.0) (*.p16 (*.p16 (real->posit16 4) a) c)) (*.p16 (*.p16 (real->posit16 2) a) (+.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 c (*.p16 a (real->posit16 4))))) b)))) 4.731 * * * * [progress]: [ 5 / 10 ] simplifiying candidate #posit16 4)))))) b) (*.p16 (real->posit16 2) a)))> 4.731 * * * * [progress]: [ 6 / 10 ] simplifiying candidate #posit16 4))) (*.p16 c (*.p16 a (real->posit16 4))))) (+.p16 (*.p16 b b) (*.p16 c (*.p16 a (real->posit16 4)))))) b) (*.p16 (real->posit16 2) a)))> 4.731 * * * * [progress]: [ 7 / 10 ] simplifiying candidate #posit16 4))))) b) (*.p16 (real->posit16 2) a)))> 4.731 * * * * [progress]: [ 8 / 10 ] simplifiying candidate #posit16 4))))) b) (*.p16 (real->posit16 2) a)))> 4.731 * * * * [progress]: [ 9 / 10 ] simplifiying candidate #posit16 4))))) b) (*.p16 (real->posit16 2) a)))> 4.731 * * * * [progress]: [ 10 / 10 ] simplifiying candidate #posit16 4))))) b) (*.p16 (real->posit16 2) a)))> 4.731 * * * [progress]: adding candidates to table 5.140 * * [progress]: iteration 3 / 4 5.140 * * * [progress]: picking best candidate 5.286 * * * * [pick]: Picked #posit16 4))))) b) (real->posit16 2)) a))> 5.286 * * * [progress]: localizing error 5.560 * * * [progress]: generating rewritten candidates 5.560 * * * * [progress]: [ 1 / 4 ] rewriting at (2 1 1) 5.562 * * * * [progress]: [ 2 / 4 ] rewriting at (2 1 1 1) 5.562 * * * * [progress]: [ 3 / 4 ] rewriting at (2) 5.576 * * * * [progress]: [ 4 / 4 ] rewriting at (2 1 1 1 1) 5.581 * * * [progress]: generating series expansions 5.581 * * * * [progress]: [ 1 / 4 ] generating series at (2 1 1) 5.581 * * * * [progress]: [ 2 / 4 ] generating series at (2 1 1 1) 5.581 * * * * [progress]: [ 3 / 4 ] generating series at (2) 5.581 * * * * [progress]: [ 4 / 4 ] generating series at (2 1 1 1 1) 5.581 * * * [progress]: simplifying candidates 5.581 * * * * [progress]: [ 1 / 9 ] simplifiying candidate #posit16 4))))) (neg.p16 b)) (real->posit16 2)) a))> 5.581 * * * * [progress]: [ 2 / 9 ] simplifiying candidate #posit16 4))))) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 c (*.p16 a (real->posit16 4)))))) (*.p16 b b)) (+.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 c (*.p16 a (real->posit16 4))))) b)) (real->posit16 2)) a))> 5.582 * * * * [progress]: [ 3 / 9 ] simplifiying candidate #posit16 4))))) b) (*.p16 a (real->posit16 2))))> 5.582 * [simplify]: Simplifying (-.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 c (*.p16 a (real->posit16 4))))) b) 5.582 * * [simplify]: iters left: 6 (11 enodes) 5.585 * * [simplify]: iters left: 5 (35 enodes) 5.591 * * [simplify]: iters left: 4 (76 enodes) 5.607 * * [simplify]: iters left: 3 (256 enodes) 5.693 * * [simplify]: Extracting #0: cost 1 inf + 0 5.693 * * [simplify]: Extracting #1: cost 12 inf + 0 5.693 * * [simplify]: Extracting #2: cost 66 inf + 1 5.694 * * [simplify]: Extracting #3: cost 146 inf + 403 5.694 * * [simplify]: Extracting #4: cost 206 inf + 4977 5.696 * * [simplify]: Extracting #5: cost 248 inf + 24473 5.707 * * [simplify]: Extracting #6: cost 211 inf + 217933 5.727 * * [simplify]: Extracting #7: cost 16 inf + 561609 5.756 * * [simplify]: Extracting #8: cost 0 inf + 595514 5.786 * [simplify]: Simplified to (-.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c))) b) 5.786 * [simplify]: Simplified (2 1) to (λ (a b c) (/.p16 (-.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c))) b) (*.p16 a (real->posit16 2)))) 5.786 * * * * [progress]: [ 4 / 9 ] simplifiying candidate #posit16 4)))))) b) (real->posit16 2)) a))> 5.786 * * * * [progress]: [ 5 / 9 ] simplifiying candidate #posit16 4))) (*.p16 c (*.p16 a (real->posit16 4))))) (+.p16 (*.p16 b b) (*.p16 c (*.p16 a (real->posit16 4)))))) b) (real->posit16 2)) a))> 5.786 * * * * [progress]: [ 6 / 9 ] simplifiying candidate #posit16 4))))) b) (real->posit16 2)) a))> 5.786 * * * * [progress]: [ 7 / 9 ] simplifiying candidate #posit16 4))))) b) (real->posit16 2)) a))> 5.786 * * * * [progress]: [ 8 / 9 ] simplifiying candidate #posit16 4))))) b) (real->posit16 2)) a))> 5.786 * * * * [progress]: [ 9 / 9 ] simplifiying candidate #posit16 4))))) b) (real->posit16 2)) a))> 5.786 * * * [progress]: adding candidates to table 6.304 * * [progress]: iteration 4 / 4 6.304 * * * [progress]: picking best candidate 6.519 * * * * [pick]: Picked #posit16 4)))) b) (real->posit16 2)) a))> 6.519 * * * [progress]: localizing error 6.880 * * * [progress]: generating rewritten candidates 6.881 * * * * [progress]: [ 1 / 4 ] rewriting at (2 1 1) 6.882 * * * * [progress]: [ 2 / 4 ] rewriting at (2 1 1 1) 6.882 * * * * [progress]: [ 3 / 4 ] rewriting at (2) 6.885 * * * * [progress]: [ 4 / 4 ] rewriting at (2 1 1 1 1 2) 6.889 * * * [progress]: generating series expansions 6.889 * * * * [progress]: [ 1 / 4 ] generating series at (2 1 1) 6.889 * * * * [progress]: [ 2 / 4 ] generating series at (2 1 1 1) 6.889 * * * * [progress]: [ 3 / 4 ] generating series at (2) 6.889 * * * * [progress]: [ 4 / 4 ] generating series at (2 1 1 1 1 2) 6.889 * * * [progress]: simplifying candidates 6.889 * * * * [progress]: [ 1 / 9 ] simplifiying candidate #posit16 4)))) (neg.p16 b)) (real->posit16 2)) a))> 6.889 * * * * [progress]: [ 2 / 9 ] simplifiying candidate #posit16 4)))) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 c a) (real->posit16 4))))) (*.p16 b b)) (+.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 c a) (real->posit16 4)))) b)) (real->posit16 2)) a))> 6.889 * * * * [progress]: [ 3 / 9 ] simplifiying candidate #posit16 4)))) b) (*.p16 a (real->posit16 2))))> 6.889 * [simplify]: Simplifying (-.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 c a) (real->posit16 4)))) b) 6.889 * * [simplify]: iters left: 5 (11 enodes) 6.899 * * [simplify]: iters left: 4 (35 enodes) 6.905 * * [simplify]: iters left: 3 (76 enodes) 6.922 * * [simplify]: iters left: 2 (261 enodes) 7.045 * * [simplify]: Extracting #0: cost 1 inf + 0 7.045 * * [simplify]: Extracting #1: cost 12 inf + 0 7.046 * * [simplify]: Extracting #2: cost 66 inf + 1 7.046 * * [simplify]: Extracting #3: cost 146 inf + 403 7.047 * * [simplify]: Extracting #4: cost 205 inf + 4899 7.048 * * [simplify]: Extracting #5: cost 241 inf + 36908 7.061 * * [simplify]: Extracting #6: cost 176 inf + 271128 7.094 * * [simplify]: Extracting #7: cost 10 inf + 555810 7.118 * * [simplify]: Extracting #8: cost 0 inf + 573768 7.144 * [simplify]: Simplified to (-.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 a c) (real->posit16 4)))) b) 7.144 * [simplify]: Simplified (2 1) to (λ (a b c) (/.p16 (-.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 a c) (real->posit16 4)))) b) (*.p16 a (real->posit16 2)))) 7.144 * * * * [progress]: [ 4 / 9 ] simplifiying candidate #posit16 4))))) b) (real->posit16 2)) a))> 7.144 * * * * [progress]: [ 5 / 9 ] simplifiying candidate #posit16 4) (*.p16 c a)))) b) (real->posit16 2)) a))> 7.144 * * * * [progress]: [ 6 / 9 ] simplifiying candidate #posit16 4)))) b) (real->posit16 2)) a))> 7.144 * * * * [progress]: [ 7 / 9 ] simplifiying candidate #posit16 4)))) b) (real->posit16 2)) a))> 7.145 * * * * [progress]: [ 8 / 9 ] simplifiying candidate #posit16 4)))) b) (real->posit16 2)) a))> 7.145 * * * * [progress]: [ 9 / 9 ] simplifiying candidate #posit16 4)))) b) (real->posit16 2)) a))> 7.145 * * * [progress]: adding candidates to table 7.474 * [progress]: [Phase 3 of 3] Extracting. 7.474 * * [regime]: Finding splitpoints for: (#posit16 4))) (*.p16 c (*.p16 a (real->posit16 4))))) (+.p16 (*.p16 b b) (*.p16 c (*.p16 a (real->posit16 4)))))) b) (real->posit16 2)) a))> #posit16 4))))) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 c (*.p16 a (real->posit16 4)))))) (*.p16 b b)) (+.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 c (*.p16 a (real->posit16 4))))) b)) (real->posit16 2)) a))> #posit16 4)))) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 c a) (real->posit16 4))))) (*.p16 b b)) (*.p16 (*.p16 (real->posit16 2) a) (+.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 c a) (real->posit16 4)))) b))))> #posit16 4))))) b) (*.p16 (real->posit16 2) a)))> #posit16 4))))) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 c (*.p16 a (real->posit16 4)))))) (*.p16 b b)) (*.p16 (*.p16 (real->posit16 2) a) (+.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 c (*.p16 a (real->posit16 4))))) b))))> #posit16 4))))) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 c (*.p16 a (real->posit16 4)))))) (*.p16 b b)) (+.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 c (*.p16 a (real->posit16 4))))) b)) (*.p16 (real->posit16 2) a)))> #posit16 4)))) b) (real->posit16 2)) a))>) 7.477 * * * [regime-changes]: Trying 3 branch expressions: (c a b) 7.478 * * * * [regimes]: Trying to branch on c from (#posit16 4))) (*.p16 c (*.p16 a (real->posit16 4))))) (+.p16 (*.p16 b b) (*.p16 c (*.p16 a (real->posit16 4)))))) b) (real->posit16 2)) a))> #posit16 4))))) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 c (*.p16 a (real->posit16 4)))))) (*.p16 b b)) (+.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 c (*.p16 a (real->posit16 4))))) b)) (real->posit16 2)) a))> #posit16 4)))) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 c a) (real->posit16 4))))) (*.p16 b b)) (*.p16 (*.p16 (real->posit16 2) a) (+.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 c a) (real->posit16 4)))) b))))> #posit16 4))))) b) (*.p16 (real->posit16 2) a)))> #posit16 4))))) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 c (*.p16 a (real->posit16 4)))))) (*.p16 b b)) (*.p16 (*.p16 (real->posit16 2) a) (+.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 c (*.p16 a (real->posit16 4))))) b))))> #posit16 4))))) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 c (*.p16 a (real->posit16 4)))))) (*.p16 b b)) (+.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 c (*.p16 a (real->posit16 4))))) b)) (*.p16 (real->posit16 2) a)))> #posit16 4)))) b) (real->posit16 2)) a))>) 8.342 * * * * [regimes]: Trying to branch on a from (#posit16 4))) (*.p16 c (*.p16 a (real->posit16 4))))) (+.p16 (*.p16 b b) (*.p16 c (*.p16 a (real->posit16 4)))))) b) (real->posit16 2)) a))> #posit16 4))))) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 c (*.p16 a (real->posit16 4)))))) (*.p16 b b)) (+.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 c (*.p16 a (real->posit16 4))))) b)) (real->posit16 2)) a))> #posit16 4)))) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 c a) (real->posit16 4))))) (*.p16 b b)) (*.p16 (*.p16 (real->posit16 2) a) (+.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 c a) (real->posit16 4)))) b))))> #posit16 4))))) b) (*.p16 (real->posit16 2) a)))> #posit16 4))))) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 c (*.p16 a (real->posit16 4)))))) (*.p16 b b)) (*.p16 (*.p16 (real->posit16 2) a) (+.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 c (*.p16 a (real->posit16 4))))) b))))> #posit16 4))))) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 c (*.p16 a (real->posit16 4)))))) (*.p16 b b)) (+.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 c (*.p16 a (real->posit16 4))))) b)) (*.p16 (real->posit16 2) a)))> #posit16 4)))) b) (real->posit16 2)) a))>) 8.676 * * * * [regimes]: Trying to branch on b from (#posit16 4))) (*.p16 c (*.p16 a (real->posit16 4))))) (+.p16 (*.p16 b b) (*.p16 c (*.p16 a (real->posit16 4)))))) b) (real->posit16 2)) a))> #posit16 4))))) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 c (*.p16 a (real->posit16 4)))))) (*.p16 b b)) (+.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 c (*.p16 a (real->posit16 4))))) b)) (real->posit16 2)) a))> #posit16 4)))) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 c a) (real->posit16 4))))) (*.p16 b b)) (*.p16 (*.p16 (real->posit16 2) a) (+.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 c a) (real->posit16 4)))) b))))> #posit16 4))))) b) (*.p16 (real->posit16 2) a)))> #posit16 4))))) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 c (*.p16 a (real->posit16 4)))))) (*.p16 b b)) (*.p16 (*.p16 (real->posit16 2) a) (+.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 c (*.p16 a (real->posit16 4))))) b))))> #posit16 4))))) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 c (*.p16 a (real->posit16 4)))))) (*.p16 b b)) (+.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 c (*.p16 a (real->posit16 4))))) b)) (*.p16 (real->posit16 2) a)))> #posit16 4)))) b) (real->posit16 2)) a))>) 9.229 * * * [regime]: Found split indices: #