0.060 * [progress]: [Phase 1 of 3] Setting up. 0.089 * * * [progress]: [1/2] Preparing points 0.090 * * * * [points]: Sampling 256 additional inputs, on iter 0 have 0 / 256 0.163 * * * * [points]: Computing exacts on every 16 of 256 points to ramp up precision 0.221 * * * * [points]: Setting MPFR precision to 64 0.224 * * * * [points]: Setting MPFR precision to 320 0.226 * * * * [points]: Computing exacts on every 8 of 256 points to ramp up precision 0.230 * * * * [points]: Setting MPFR precision to 64 0.232 * * * * [points]: Setting MPFR precision to 320 0.235 * * * * [points]: Computing exacts on every 4 of 256 points to ramp up precision 0.238 * * * * [points]: Setting MPFR precision to 64 0.243 * * * * [points]: Setting MPFR precision to 320 0.322 * * * * [points]: Computing exacts on every 2 of 256 points to ramp up precision 0.328 * * * * [points]: Setting MPFR precision to 64 0.340 * * * * [points]: Setting MPFR precision to 320 0.354 * * * * [points]: Computing exacts for 256 points 0.359 * * * * [points]: Setting MPFR precision to 64 0.431 * * * * [points]: Setting MPFR precision to 320 0.511 * * * * [points]: Filtering points with unrepresentable outputs 0.525 * * * * [points]: Sampling 70 additional inputs, on iter 1 have 186 / 256 0.526 * * * * [points]: Computing exacts on every 4 of 70 points to ramp up precision 0.529 * * * * [points]: Setting MPFR precision to 64 0.530 * * * * [points]: Setting MPFR precision to 320 0.531 * * * * [points]: Computing exacts on every 2 of 70 points to ramp up precision 0.534 * * * * [points]: Setting MPFR precision to 64 0.536 * * * * [points]: Setting MPFR precision to 320 0.538 * * * * [points]: Computing exacts for 70 points 0.543 * * * * [points]: Setting MPFR precision to 64 0.582 * * * * [points]: Setting MPFR precision to 320 0.596 * * * * [points]: Filtering points with unrepresentable outputs 0.603 * * * * [points]: Sampling 21 additional inputs, on iter 2 have 235 / 256 0.603 * * * * [points]: Computing exacts for 21 points 0.610 * * * * [points]: Setting MPFR precision to 64 0.736 * * * * [points]: Setting MPFR precision to 320 0.742 * * * * [points]: Filtering points with unrepresentable outputs 0.749 * * * * [points]: Sampling 8 additional inputs, on iter 3 have 248 / 256 0.749 * * * * [points]: Computing exacts for 8 points 0.757 * * * * [points]: Setting MPFR precision to 64 0.758 * * * * [points]: Setting MPFR precision to 320 0.760 * * * * [points]: Filtering points with unrepresentable outputs 0.760 * * * * [points]: Sampling 4 additional inputs, on iter 4 have 255 / 256 0.760 * * * * [points]: Computing exacts for 4 points 0.767 * * * * [points]: Setting MPFR precision to 64 0.768 * * * * [points]: Setting MPFR precision to 320 0.769 * * * * [points]: Filtering points with unrepresentable outputs 0.769 * * * * [points]: Sampled 257 points with exact outputs 0.770 * * * [progress]: [2/2] Setting up program. 0.819 * [progress]: [Phase 2 of 3] Improving. 0.819 * * * * [progress]: [ 1 / 1 ] simplifiying candidate #posit16 4) (*.p16 a c))))) (*.p16 (real->posit16 2) a)))> 0.820 * [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.821 * * [simplify]: iters left: 6 (16 enodes) 0.830 * * [simplify]: iters left: 5 (39 enodes) 0.839 * * [simplify]: iters left: 4 (72 enodes) 0.856 * * [simplify]: iters left: 3 (196 enodes) 0.932 * * [simplify]: Extracting #0: cost 1 inf + 0 0.933 * * [simplify]: Extracting #1: cost 5 inf + 0 0.935 * * [simplify]: Extracting #2: cost 11 inf + 1 0.935 * * [simplify]: Extracting #3: cost 16 inf + 2 0.935 * * [simplify]: Extracting #4: cost 26 inf + 807 0.935 * * [simplify]: Extracting #5: cost 66 inf + 1770 0.936 * * [simplify]: Extracting #6: cost 135 inf + 3695 0.937 * * [simplify]: Extracting #7: cost 209 inf + 14082 0.941 * * [simplify]: Extracting #8: cost 138 inf + 107732 0.952 * * [simplify]: Extracting #9: cost 36 inf + 289941 0.971 * * [simplify]: Extracting #10: cost 2 inf + 355093 0.985 * * [simplify]: Extracting #11: cost 1 inf + 357016 0.999 * * [simplify]: Extracting #12: cost 0 inf + 360620 1.013 * [simplify]: Simplified to (/.p16 (-.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 c a) (real->posit16 4)))) b) (*.p16 (real->posit16 2) a)) 1.014 * [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))) 1.069 * * [progress]: iteration 1 / 4 1.069 * * * [progress]: picking best candidate 1.093 * * * * [pick]: Picked #posit16 4)))) b) (*.p16 (real->posit16 2) a)))> 1.093 * * * [progress]: localizing error 1.428 * * * [progress]: generating rewritten candidates 1.429 * * * * [progress]: [ 1 / 4 ] rewriting at (2 1) 1.433 * * * * [progress]: [ 2 / 4 ] rewriting at (2 1 1) 1.434 * * * * [progress]: [ 3 / 4 ] rewriting at (2) 1.437 * * * * [progress]: [ 4 / 4 ] rewriting at (2 1 1 1 2) 1.442 * * * [progress]: generating series expansions 1.442 * * * * [progress]: [ 1 / 4 ] generating series at (2 1) 1.442 * * * * [progress]: [ 2 / 4 ] generating series at (2 1 1) 1.442 * * * * [progress]: [ 3 / 4 ] generating series at (2) 1.442 * * * * [progress]: [ 4 / 4 ] generating series at (2 1 1 1 2) 1.442 * * * [progress]: simplifying candidates 1.442 * * * * [progress]: [ 1 / 10 ] simplifiying candidate #posit16 4)))) (neg.p16 b)) (*.p16 (real->posit16 2) a)))> 1.442 * * * * [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.442 * * * * [progress]: [ 3 / 10 ] simplifiying candidate #posit16 4)))) b) (real->posit16 2)) a))> 1.443 * * * * [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.443 * [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.443 * * [simplify]: iters left: 6 (12 enodes) 1.446 * * [simplify]: iters left: 5 (39 enodes) 1.453 * * [simplify]: iters left: 4 (111 enodes) 1.491 * * [simplify]: iters left: 3 (427 enodes) 1.763 * * [simplify]: Extracting #0: cost 1 inf + 0 1.764 * * [simplify]: Extracting #1: cost 47 inf + 0 1.764 * * [simplify]: Extracting #2: cost 231 inf + 0 1.767 * * [simplify]: Extracting #3: cost 400 inf + 3216 1.780 * * [simplify]: Extracting #4: cost 473 inf + 191470 1.849 * * [simplify]: Extracting #5: cost 180 inf + 866467 1.942 * * [simplify]: Extracting #6: cost 4 inf + 1232579 2.004 * * [simplify]: Extracting #7: cost 0 inf + 1241757 2.073 * [simplify]: Simplified to (-.p16 (real->posit16 0.0) (*.p16 (*.p16 a c) (real->posit16 4))) 2.073 * [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)))) 2.074 * * * * [progress]: [ 5 / 10 ] simplifiying candidate #posit16 4))))) b) (*.p16 (real->posit16 2) a)))> 2.074 * * * * [progress]: [ 6 / 10 ] simplifiying candidate #posit16 4) (*.p16 c a)))) b) (*.p16 (real->posit16 2) a)))> 2.074 * * * * [progress]: [ 7 / 10 ] simplifiying candidate #posit16 4)))) b) (*.p16 (real->posit16 2) a)))> 2.074 * [simplify]: Simplifying (/.p16 (-.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 c a) (real->posit16 4)))) b) (*.p16 (real->posit16 2) a)) 2.074 * * [simplify]: iters left: 6 (15 enodes) 2.082 * * [simplify]: iters left: 5 (43 enodes) 2.100 * * [simplify]: iters left: 4 (88 enodes) 2.137 * * [simplify]: iters left: 3 (307 enodes) 2.255 * * [simplify]: Extracting #0: cost 1 inf + 0 2.256 * * [simplify]: Extracting #1: cost 31 inf + 0 2.256 * * [simplify]: Extracting #2: cost 125 inf + 1 2.256 * * [simplify]: Extracting #3: cost 193 inf + 2734 2.261 * * [simplify]: Extracting #4: cost 253 inf + 8433 2.264 * * [simplify]: Extracting #5: cost 273 inf + 63950 2.280 * * [simplify]: Extracting #6: cost 175 inf + 356651 2.332 * * [simplify]: Extracting #7: cost 6 inf + 666712 2.391 * * [simplify]: Extracting #8: cost 0 inf + 674735 2.450 * [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.450 * [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.450 * * * * [progress]: [ 8 / 10 ] simplifiying candidate #posit16 4)))) b) (*.p16 (real->posit16 2) a)))> 2.451 * [simplify]: Simplifying (/.p16 (-.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 c a) (real->posit16 4)))) b) (*.p16 (real->posit16 2) a)) 2.451 * * [simplify]: iters left: 6 (15 enodes) 2.459 * * [simplify]: iters left: 5 (43 enodes) 2.474 * * [simplify]: iters left: 4 (88 enodes) 2.499 * * [simplify]: iters left: 3 (307 enodes) 2.635 * * [simplify]: Extracting #0: cost 1 inf + 0 2.635 * * [simplify]: Extracting #1: cost 31 inf + 0 2.635 * * [simplify]: Extracting #2: cost 125 inf + 1 2.636 * * [simplify]: Extracting #3: cost 193 inf + 2734 2.637 * * [simplify]: Extracting #4: cost 253 inf + 8433 2.639 * * [simplify]: Extracting #5: cost 273 inf + 63950 2.653 * * [simplify]: Extracting #6: cost 175 inf + 356651 2.688 * * [simplify]: Extracting #7: cost 6 inf + 666712 2.724 * * [simplify]: Extracting #8: cost 0 inf + 674735 2.761 * [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.761 * [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.761 * * * * [progress]: [ 9 / 10 ] simplifiying candidate #posit16 4)))) b) (*.p16 (real->posit16 2) a)))> 2.762 * [simplify]: Simplifying (/.p16 (-.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 c a) (real->posit16 4)))) b) (*.p16 (real->posit16 2) a)) 2.762 * * [simplify]: iters left: 6 (15 enodes) 2.765 * * [simplify]: iters left: 5 (43 enodes) 2.773 * * [simplify]: iters left: 4 (88 enodes) 2.792 * * [simplify]: iters left: 3 (307 enodes) 2.901 * * [simplify]: Extracting #0: cost 1 inf + 0 2.901 * * [simplify]: Extracting #1: cost 31 inf + 0 2.901 * * [simplify]: Extracting #2: cost 125 inf + 1 2.902 * * [simplify]: Extracting #3: cost 193 inf + 2734 2.903 * * [simplify]: Extracting #4: cost 253 inf + 8433 2.906 * * [simplify]: Extracting #5: cost 273 inf + 63950 2.919 * * [simplify]: Extracting #6: cost 175 inf + 356651 2.949 * * [simplify]: Extracting #7: cost 6 inf + 666712 2.978 * * [simplify]: Extracting #8: cost 0 inf + 674735 3.009 * [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.009 * [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.009 * * * * [progress]: [ 10 / 10 ] simplifiying candidate #posit16 4)))) b) (*.p16 (real->posit16 2) a)))> 3.009 * [simplify]: Simplifying (/.p16 (-.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 c a) (real->posit16 4)))) b) (*.p16 (real->posit16 2) a)) 3.010 * * [simplify]: iters left: 6 (15 enodes) 3.013 * * [simplify]: iters left: 5 (43 enodes) 3.028 * * [simplify]: iters left: 4 (88 enodes) 3.049 * * [simplify]: iters left: 3 (307 enodes) 3.188 * * [simplify]: Extracting #0: cost 1 inf + 0 3.188 * * [simplify]: Extracting #1: cost 31 inf + 0 3.189 * * [simplify]: Extracting #2: cost 125 inf + 1 3.190 * * [simplify]: Extracting #3: cost 193 inf + 2734 3.192 * * [simplify]: Extracting #4: cost 253 inf + 8433 3.201 * * [simplify]: Extracting #5: cost 273 inf + 63950 3.230 * * [simplify]: Extracting #6: cost 175 inf + 356651 3.272 * * [simplify]: Extracting #7: cost 6 inf + 666712 3.305 * * [simplify]: Extracting #8: cost 0 inf + 674735 3.342 * [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.343 * [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.343 * * * [progress]: adding candidates to table 4.020 * * [progress]: iteration 2 / 4 4.020 * * * [progress]: picking best candidate 4.178 * * * * [pick]: Picked #posit16 4))))) b) (*.p16 (real->posit16 2) a)))> 4.178 * * * [progress]: localizing error 4.551 * * * [progress]: generating rewritten candidates 4.551 * * * * [progress]: [ 1 / 4 ] rewriting at (2 1) 4.554 * * * * [progress]: [ 2 / 4 ] rewriting at (2 1 1) 4.555 * * * * [progress]: [ 3 / 4 ] rewriting at (2) 4.561 * * * * [progress]: [ 4 / 4 ] rewriting at (2 1 1 1) 4.571 * * * [progress]: generating series expansions 4.571 * * * * [progress]: [ 1 / 4 ] generating series at (2 1) 4.571 * * * * [progress]: [ 2 / 4 ] generating series at (2 1 1) 4.571 * * * * [progress]: [ 3 / 4 ] generating series at (2) 4.571 * * * * [progress]: [ 4 / 4 ] generating series at (2 1 1 1) 4.571 * * * [progress]: simplifying candidates 4.571 * * * * [progress]: [ 1 / 10 ] simplifiying candidate #posit16 4))))) (neg.p16 b)) (*.p16 (real->posit16 2) a)))> 4.571 * * * * [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.571 * * * * [progress]: [ 3 / 10 ] simplifiying candidate #posit16 4))))) b) (real->posit16 2)) a))> 4.571 * * * * [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.572 * [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.572 * * [simplify]: iters left: 6 (12 enodes) 4.578 * * [simplify]: iters left: 5 (39 enodes) 4.593 * * [simplify]: iters left: 4 (111 enodes) 4.637 * * [simplify]: iters left: 3 (424 enodes) 4.999 * * [simplify]: Extracting #0: cost 1 inf + 0 5.000 * * [simplify]: Extracting #1: cost 47 inf + 0 5.001 * * [simplify]: Extracting #2: cost 231 inf + 0 5.003 * * [simplify]: Extracting #3: cost 400 inf + 3615 5.018 * * [simplify]: Extracting #4: cost 466 inf + 182833 5.082 * * [simplify]: Extracting #5: cost 208 inf + 789169 5.144 * * [simplify]: Extracting #6: cost 3 inf + 1219441 5.236 * * [simplify]: Extracting #7: cost 0 inf + 1225733 5.337 * [simplify]: Simplified to (-.p16 (real->posit16 0.0) (*.p16 (*.p16 (real->posit16 4) a) c)) 5.337 * [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)))) 5.337 * * * * [progress]: [ 5 / 10 ] simplifiying candidate #posit16 4)))))) b) (*.p16 (real->posit16 2) a)))> 5.338 * * * * [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)))> 5.338 * * * * [progress]: [ 7 / 10 ] simplifiying candidate #posit16 4))))) b) (*.p16 (real->posit16 2) a)))> 5.338 * * * * [progress]: [ 8 / 10 ] simplifiying candidate #posit16 4))))) b) (*.p16 (real->posit16 2) a)))> 5.338 * * * * [progress]: [ 9 / 10 ] simplifiying candidate #posit16 4))))) b) (*.p16 (real->posit16 2) a)))> 5.338 * * * * [progress]: [ 10 / 10 ] simplifiying candidate #posit16 4))))) b) (*.p16 (real->posit16 2) a)))> 5.338 * * * [progress]: adding candidates to table 6.058 * * [progress]: iteration 3 / 4 6.058 * * * [progress]: picking best candidate 6.315 * * * * [pick]: Picked #posit16 4))))) b) (real->posit16 2)) a))> 6.316 * * * [progress]: localizing error 6.797 * * * [progress]: generating rewritten candidates 6.797 * * * * [progress]: [ 1 / 4 ] rewriting at (2 1 1) 6.801 * * * * [progress]: [ 2 / 4 ] rewriting at (2 1 1 1) 6.801 * * * * [progress]: [ 3 / 4 ] rewriting at (2) 6.807 * * * * [progress]: [ 4 / 4 ] rewriting at (2 1 1 1 1) 6.817 * * * [progress]: generating series expansions 6.817 * * * * [progress]: [ 1 / 4 ] generating series at (2 1 1) 6.817 * * * * [progress]: [ 2 / 4 ] generating series at (2 1 1 1) 6.817 * * * * [progress]: [ 3 / 4 ] generating series at (2) 6.817 * * * * [progress]: [ 4 / 4 ] generating series at (2 1 1 1 1) 6.817 * * * [progress]: simplifying candidates 6.817 * * * * [progress]: [ 1 / 9 ] simplifiying candidate #posit16 4))))) (neg.p16 b)) (real->posit16 2)) a))> 6.817 * * * * [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))> 6.817 * * * * [progress]: [ 3 / 9 ] simplifiying candidate #posit16 4))))) b) (*.p16 a (real->posit16 2))))> 6.817 * [simplify]: Simplifying (-.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 c (*.p16 a (real->posit16 4))))) b) 6.818 * * [simplify]: iters left: 6 (11 enodes) 6.823 * * [simplify]: iters left: 5 (35 enodes) 6.836 * * [simplify]: iters left: 4 (76 enodes) 6.867 * * [simplify]: iters left: 3 (256 enodes) 7.046 * * [simplify]: Extracting #0: cost 1 inf + 0 7.046 * * [simplify]: Extracting #1: cost 12 inf + 0 7.046 * * [simplify]: Extracting #2: cost 66 inf + 1 7.047 * * [simplify]: Extracting #3: cost 146 inf + 403 7.049 * * [simplify]: Extracting #4: cost 206 inf + 4977 7.052 * * [simplify]: Extracting #5: cost 248 inf + 24473 7.068 * * [simplify]: Extracting #6: cost 211 inf + 217933 7.107 * * [simplify]: Extracting #7: cost 16 inf + 561609 7.155 * * [simplify]: Extracting #8: cost 0 inf + 595514 7.204 * [simplify]: Simplified to (-.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c))) b) 7.204 * [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)))) 7.204 * * * * [progress]: [ 4 / 9 ] simplifiying candidate #posit16 4)))))) b) (real->posit16 2)) a))> 7.204 * * * * [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))> 7.204 * * * * [progress]: [ 6 / 9 ] simplifiying candidate #posit16 4))))) b) (real->posit16 2)) a))> 7.204 * * * * [progress]: [ 7 / 9 ] simplifiying candidate #posit16 4))))) b) (real->posit16 2)) a))> 7.204 * * * * [progress]: [ 8 / 9 ] simplifiying candidate #posit16 4))))) b) (real->posit16 2)) a))> 7.204 * * * * [progress]: [ 9 / 9 ] simplifiying candidate #posit16 4))))) b) (real->posit16 2)) a))> 7.205 * * * [progress]: adding candidates to table 8.054 * * [progress]: iteration 4 / 4 8.055 * * * [progress]: picking best candidate 8.319 * * * * [pick]: Picked #posit16 4)))) b) (real->posit16 2)) a))> 8.319 * * * [progress]: localizing error 8.771 * * * [progress]: generating rewritten candidates 8.771 * * * * [progress]: [ 1 / 4 ] rewriting at (2 1 1) 8.775 * * * * [progress]: [ 2 / 4 ] rewriting at (2 1 1 1) 8.775 * * * * [progress]: [ 3 / 4 ] rewriting at (2) 8.780 * * * * [progress]: [ 4 / 4 ] rewriting at (2 1 1 1 1 2) 8.783 * * * [progress]: generating series expansions 8.783 * * * * [progress]: [ 1 / 4 ] generating series at (2 1 1) 8.783 * * * * [progress]: [ 2 / 4 ] generating series at (2 1 1 1) 8.783 * * * * [progress]: [ 3 / 4 ] generating series at (2) 8.783 * * * * [progress]: [ 4 / 4 ] generating series at (2 1 1 1 1 2) 8.784 * * * [progress]: simplifying candidates 8.784 * * * * [progress]: [ 1 / 9 ] simplifiying candidate #posit16 4)))) (neg.p16 b)) (real->posit16 2)) a))> 8.784 * * * * [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))> 8.784 * * * * [progress]: [ 3 / 9 ] simplifiying candidate #posit16 4)))) b) (*.p16 a (real->posit16 2))))> 8.784 * [simplify]: Simplifying (-.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 c a) (real->posit16 4)))) b) 8.784 * * [simplify]: iters left: 5 (11 enodes) 8.787 * * [simplify]: iters left: 4 (35 enodes) 8.793 * * [simplify]: iters left: 3 (76 enodes) 8.809 * * [simplify]: iters left: 2 (261 enodes) 8.976 * * [simplify]: Extracting #0: cost 1 inf + 0 8.976 * * [simplify]: Extracting #1: cost 12 inf + 0 8.977 * * [simplify]: Extracting #2: cost 66 inf + 1 8.977 * * [simplify]: Extracting #3: cost 146 inf + 403 8.979 * * [simplify]: Extracting #4: cost 205 inf + 4899 8.983 * * [simplify]: Extracting #5: cost 241 inf + 36908 9.455 * * [simplify]: Extracting #6: cost 176 inf + 271128 9.497 * * [simplify]: Extracting #7: cost 10 inf + 555810 9.545 * * [simplify]: Extracting #8: cost 0 inf + 573768 9.591 * [simplify]: Simplified to (-.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 a c) (real->posit16 4)))) b) 9.591 * [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)))) 9.592 * * * * [progress]: [ 4 / 9 ] simplifiying candidate #posit16 4))))) b) (real->posit16 2)) a))> 9.592 * * * * [progress]: [ 5 / 9 ] simplifiying candidate #posit16 4) (*.p16 c a)))) b) (real->posit16 2)) a))> 9.592 * * * * [progress]: [ 6 / 9 ] simplifiying candidate #posit16 4)))) b) (real->posit16 2)) a))> 9.592 * * * * [progress]: [ 7 / 9 ] simplifiying candidate #posit16 4)))) b) (real->posit16 2)) a))> 9.592 * * * * [progress]: [ 8 / 9 ] simplifiying candidate #posit16 4)))) b) (real->posit16 2)) a))> 9.592 * * * * [progress]: [ 9 / 9 ] simplifiying candidate #posit16 4)))) b) (real->posit16 2)) a))> 9.592 * * * [progress]: adding candidates to table 9.947 * [progress]: [Phase 3 of 3] Extracting. 9.948 * * [regime]: Finding splitpoints for: (#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))) (*.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))))) b) (*.p16 (real->posit16 2) a)))> #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)) (*.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 (*.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))))>) 9.951 * * * [regime-changes]: Trying 3 branch expressions: (c a b) 9.951 * * * * [regimes]: Trying to branch on c from (#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))) (*.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))))) b) (*.p16 (real->posit16 2) a)))> #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)) (*.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 (*.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))))>) 10.273 * * * * [regimes]: Trying to branch on a from (#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))) (*.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))))) b) (*.p16 (real->posit16 2) a)))> #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)) (*.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 (*.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))))>) 10.598 * * * * [regimes]: Trying to branch on b from (#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))) (*.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))))) b) (*.p16 (real->posit16 2) a)))> #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)) (*.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 (*.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))))>) 10.913 * * * [regime]: Found split indices: #