0.005 * [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.011 * * * * [points]: Computing exacts on every 16 of 256 points to ramp up precision 0.108 * * * * [points]: Setting MPFR precision to 64 0.112 * * * * [points]: Setting MPFR precision to 320 0.114 * * * * [points]: Computing exacts on every 8 of 256 points to ramp up precision 0.119 * * * * [points]: Setting MPFR precision to 64 0.122 * * * * [points]: Setting MPFR precision to 320 0.126 * * * * [points]: Computing exacts on every 4 of 256 points to ramp up precision 0.132 * * * * [points]: Setting MPFR precision to 64 0.138 * * * * [points]: Setting MPFR precision to 320 0.144 * * * * [points]: Computing exacts on every 2 of 256 points to ramp up precision 0.148 * * * * [points]: Setting MPFR precision to 64 0.157 * * * * [points]: Setting MPFR precision to 320 0.166 * * * * [points]: Computing exacts for 256 points 0.171 * * * * [points]: Setting MPFR precision to 64 0.199 * * * * [points]: Setting MPFR precision to 320 0.229 * * * * [points]: Filtering points with unrepresentable outputs 0.230 * * * * [points]: Sampled 256 points with exact outputs 0.231 * * * [progress]: [2/2] Setting up program. 0.304 * [progress]: [Phase 2 of 3] Improving. 0.305 * * * * [progress]: [ 1 / 1 ] simplifiying candidate #posit16 4) (*.p16 a c))))) (*.p16 (real->posit16 2) a)))> 0.306 * [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.308 * * [simplify]: iters left: 6 (16 enodes) 0.321 * * [simplify]: iters left: 5 (39 enodes) 0.337 * * [simplify]: iters left: 4 (72 enodes) 0.366 * * [simplify]: iters left: 3 (196 enodes) 0.504 * * [simplify]: Extracting #0: cost 1 inf + 0 0.504 * * [simplify]: Extracting #1: cost 5 inf + 0 0.505 * * [simplify]: Extracting #2: cost 11 inf + 1 0.505 * * [simplify]: Extracting #3: cost 16 inf + 2 0.505 * * [simplify]: Extracting #4: cost 26 inf + 807 0.506 * * [simplify]: Extracting #5: cost 66 inf + 1770 0.506 * * [simplify]: Extracting #6: cost 135 inf + 3695 0.509 * * [simplify]: Extracting #7: cost 209 inf + 14082 0.516 * * [simplify]: Extracting #8: cost 138 inf + 107732 0.536 * * [simplify]: Extracting #9: cost 36 inf + 289941 0.564 * * [simplify]: Extracting #10: cost 2 inf + 355093 0.597 * * [simplify]: Extracting #11: cost 1 inf + 357016 0.625 * * [simplify]: Extracting #12: cost 0 inf + 360620 0.653 * [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.653 * [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.709 * * [progress]: iteration 1 / 4 0.709 * * * [progress]: picking best candidate 0.735 * * * * [pick]: Picked #posit16 4)))) b) (*.p16 (real->posit16 2) a)))> 0.735 * * * [progress]: localizing error 1.044 * * * [progress]: generating rewritten candidates 1.045 * * * * [progress]: [ 1 / 4 ] rewriting at (2 1) 1.050 * * * * [progress]: [ 2 / 4 ] rewriting at (2 1 1) 1.050 * * * * [progress]: [ 3 / 4 ] rewriting at (2 1 1 1 2) 1.057 * * * * [progress]: [ 4 / 4 ] rewriting at (2 1 1 1) 1.065 * * * [progress]: generating series expansions 1.065 * * * * [progress]: [ 1 / 4 ] generating series at (2 1) 1.066 * * * * [progress]: [ 2 / 4 ] generating series at (2 1 1) 1.066 * * * * [progress]: [ 3 / 4 ] generating series at (2 1 1 1 2) 1.066 * * * * [progress]: [ 4 / 4 ] generating series at (2 1 1 1) 1.066 * * * [progress]: simplifying candidates 1.066 * * * * [progress]: [ 1 / 10 ] simplifiying candidate #posit16 4)))) (neg.p16 b)) (*.p16 (real->posit16 2) a)))> 1.066 * * * * [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.066 * * * * [progress]: [ 3 / 10 ] simplifiying candidate #posit16 4))))) b) (*.p16 (real->posit16 2) a)))> 1.066 * * * * [progress]: [ 4 / 10 ] simplifiying candidate #posit16 4) (*.p16 c a)))) b) (*.p16 (real->posit16 2) a)))> 1.066 * * * * [progress]: [ 5 / 10 ] simplifiying candidate #posit16 4))))) b) (*.p16 (real->posit16 2) a)))> 1.066 * * * * [progress]: [ 6 / 10 ] simplifiying candidate #posit16 4)) (*.p16 (*.p16 c a) (real->posit16 4)))) (+.p16 (*.p16 b b) (*.p16 (*.p16 c a) (real->posit16 4))))) b) (*.p16 (real->posit16 2) a)))> 1.066 * * * * [progress]: [ 7 / 10 ] simplifiying candidate #posit16 4)))) b) (*.p16 (real->posit16 2) a)))> 1.066 * [simplify]: Simplifying (/.p16 (-.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 c a) (real->posit16 4)))) b) (*.p16 (real->posit16 2) a)) 1.066 * * [simplify]: iters left: 6 (15 enodes) 1.070 * * [simplify]: iters left: 5 (43 enodes) 1.077 * * [simplify]: iters left: 4 (88 enodes) 1.100 * * [simplify]: iters left: 3 (307 enodes) 1.316 * * [simplify]: Extracting #0: cost 1 inf + 0 1.316 * * [simplify]: Extracting #1: cost 31 inf + 0 1.317 * * [simplify]: Extracting #2: cost 125 inf + 1 1.318 * * [simplify]: Extracting #3: cost 193 inf + 2734 1.319 * * [simplify]: Extracting #4: cost 253 inf + 8433 1.324 * * [simplify]: Extracting #5: cost 273 inf + 63950 1.339 * * [simplify]: Extracting #6: cost 175 inf + 356651 1.380 * * [simplify]: Extracting #7: cost 6 inf + 666712 1.440 * * [simplify]: Extracting #8: cost 0 inf + 674735 1.499 * [simplify]: Simplified to (/.p16 (-.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 a c) (real->posit16 4)))) b) (*.p16 a (real->posit16 2))) 1.499 * [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)))) 1.499 * * * * [progress]: [ 8 / 10 ] simplifiying candidate #posit16 4)))) b) (*.p16 (real->posit16 2) a)))> 1.499 * [simplify]: Simplifying (/.p16 (-.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 c a) (real->posit16 4)))) b) (*.p16 (real->posit16 2) a)) 1.499 * * [simplify]: iters left: 6 (15 enodes) 1.507 * * [simplify]: iters left: 5 (43 enodes) 1.521 * * [simplify]: iters left: 4 (88 enodes) 1.544 * * [simplify]: iters left: 3 (307 enodes) 1.689 * * [simplify]: Extracting #0: cost 1 inf + 0 1.690 * * [simplify]: Extracting #1: cost 31 inf + 0 1.690 * * [simplify]: Extracting #2: cost 125 inf + 1 1.691 * * [simplify]: Extracting #3: cost 193 inf + 2734 1.693 * * [simplify]: Extracting #4: cost 253 inf + 8433 1.699 * * [simplify]: Extracting #5: cost 273 inf + 63950 1.733 * * [simplify]: Extracting #6: cost 175 inf + 356651 1.786 * * [simplify]: Extracting #7: cost 6 inf + 666712 1.844 * * [simplify]: Extracting #8: cost 0 inf + 674735 1.906 * [simplify]: Simplified to (/.p16 (-.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 a c) (real->posit16 4)))) b) (*.p16 a (real->posit16 2))) 1.906 * [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)))) 1.906 * * * * [progress]: [ 9 / 10 ] simplifiying candidate #posit16 4)))) b) (*.p16 (real->posit16 2) a)))> 1.906 * [simplify]: Simplifying (/.p16 (-.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 c a) (real->posit16 4)))) b) (*.p16 (real->posit16 2) a)) 1.906 * * [simplify]: iters left: 6 (15 enodes) 1.914 * * [simplify]: iters left: 5 (43 enodes) 1.929 * * [simplify]: iters left: 4 (88 enodes) 1.961 * * [simplify]: iters left: 3 (307 enodes) 2.077 * * [simplify]: Extracting #0: cost 1 inf + 0 2.077 * * [simplify]: Extracting #1: cost 31 inf + 0 2.078 * * [simplify]: Extracting #2: cost 125 inf + 1 2.079 * * [simplify]: Extracting #3: cost 193 inf + 2734 2.081 * * [simplify]: Extracting #4: cost 253 inf + 8433 2.086 * * [simplify]: Extracting #5: cost 273 inf + 63950 2.105 * * [simplify]: Extracting #6: cost 175 inf + 356651 2.140 * * [simplify]: Extracting #7: cost 6 inf + 666712 2.203 * * [simplify]: Extracting #8: cost 0 inf + 674735 2.237 * [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.237 * [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.237 * * * * [progress]: [ 10 / 10 ] simplifiying candidate #posit16 4)))) b) (*.p16 (real->posit16 2) a)))> 2.238 * [simplify]: Simplifying (/.p16 (-.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 c a) (real->posit16 4)))) b) (*.p16 (real->posit16 2) a)) 2.238 * * [simplify]: iters left: 6 (15 enodes) 2.245 * * [simplify]: iters left: 5 (43 enodes) 2.256 * * [simplify]: iters left: 4 (88 enodes) 2.275 * * [simplify]: iters left: 3 (307 enodes) 2.428 * * [simplify]: Extracting #0: cost 1 inf + 0 2.428 * * [simplify]: Extracting #1: cost 31 inf + 0 2.428 * * [simplify]: Extracting #2: cost 125 inf + 1 2.429 * * [simplify]: Extracting #3: cost 193 inf + 2734 2.430 * * [simplify]: Extracting #4: cost 253 inf + 8433 2.433 * * [simplify]: Extracting #5: cost 273 inf + 63950 2.447 * * [simplify]: Extracting #6: cost 175 inf + 356651 2.490 * * [simplify]: Extracting #7: cost 6 inf + 666712 2.520 * * [simplify]: Extracting #8: cost 0 inf + 674735 2.549 * [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.550 * [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.550 * * * [progress]: adding candidates to table 2.810 * * [progress]: iteration 2 / 4 2.810 * * * [progress]: picking best candidate 2.861 * * * * [pick]: Picked #posit16 4))))) b) (*.p16 (real->posit16 2) a)))> 2.861 * * * [progress]: localizing error 3.063 * * * [progress]: generating rewritten candidates 3.063 * * * * [progress]: [ 1 / 4 ] rewriting at (2 1) 3.065 * * * * [progress]: [ 2 / 4 ] rewriting at (2 1 1) 3.065 * * * * [progress]: [ 3 / 4 ] rewriting at (2 1 1 1) 3.071 * * * * [progress]: [ 4 / 4 ] rewriting at (2) 3.081 * * * [progress]: generating series expansions 3.081 * * * * [progress]: [ 1 / 4 ] generating series at (2 1) 3.081 * * * * [progress]: [ 2 / 4 ] generating series at (2 1 1) 3.081 * * * * [progress]: [ 3 / 4 ] generating series at (2 1 1 1) 3.081 * * * * [progress]: [ 4 / 4 ] generating series at (2) 3.081 * * * [progress]: simplifying candidates 3.081 * * * * [progress]: [ 1 / 10 ] simplifiying candidate #posit16 4))))) (neg.p16 b)) (*.p16 (real->posit16 2) a)))> 3.081 * * * * [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)))> 3.081 * * * * [progress]: [ 3 / 10 ] simplifiying candidate #posit16 4)))))) b) (*.p16 (real->posit16 2) a)))> 3.081 * * * * [progress]: [ 4 / 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)))> 3.081 * * * * [progress]: [ 5 / 10 ] simplifiying candidate #posit16 4))))) b) (real->posit16 2)) a))> 3.081 * * * * [progress]: [ 6 / 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))))> 3.081 * [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)) 3.081 * * [simplify]: iters left: 6 (12 enodes) 3.085 * * [simplify]: iters left: 5 (39 enodes) 3.093 * * [simplify]: iters left: 4 (111 enodes) 3.120 * * [simplify]: iters left: 3 (424 enodes) 3.461 * * [simplify]: Extracting #0: cost 1 inf + 0 3.461 * * [simplify]: Extracting #1: cost 47 inf + 0 3.465 * * [simplify]: Extracting #2: cost 231 inf + 0 3.467 * * [simplify]: Extracting #3: cost 400 inf + 3615 3.481 * * [simplify]: Extracting #4: cost 466 inf + 182833 3.521 * * [simplify]: Extracting #5: cost 208 inf + 789169 3.604 * * [simplify]: Extracting #6: cost 3 inf + 1219441 3.710 * * [simplify]: Extracting #7: cost 0 inf + 1225733 3.781 * [simplify]: Simplified to (-.p16 (real->posit16 0.0) (*.p16 (*.p16 (real->posit16 4) a) c)) 3.781 * [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)))) 3.781 * * * * [progress]: [ 7 / 10 ] simplifiying candidate #posit16 4))))) b) (*.p16 (real->posit16 2) a)))> 3.781 * * * * [progress]: [ 8 / 10 ] simplifiying candidate #posit16 4))))) b) (*.p16 (real->posit16 2) a)))> 3.782 * * * * [progress]: [ 9 / 10 ] simplifiying candidate #posit16 4))))) b) (*.p16 (real->posit16 2) a)))> 3.782 * * * * [progress]: [ 10 / 10 ] simplifiying candidate #posit16 4))))) b) (*.p16 (real->posit16 2) a)))> 3.782 * * * [progress]: adding candidates to table 4.099 * * [progress]: iteration 3 / 4 4.099 * * * [progress]: picking best candidate 4.169 * * * * [pick]: Picked #posit16 4))))) b) (real->posit16 2)) a))> 4.169 * * * [progress]: localizing error 4.356 * * * [progress]: generating rewritten candidates 4.356 * * * * [progress]: [ 1 / 4 ] rewriting at (2 1 1) 4.358 * * * * [progress]: [ 2 / 4 ] rewriting at (2 1 1 1) 4.359 * * * * [progress]: [ 3 / 4 ] rewriting at (2 1 1 1 1) 4.364 * * * * [progress]: [ 4 / 4 ] rewriting at (2) 4.367 * * * [progress]: generating series expansions 4.367 * * * * [progress]: [ 1 / 4 ] generating series at (2 1 1) 4.367 * * * * [progress]: [ 2 / 4 ] generating series at (2 1 1 1) 4.367 * * * * [progress]: [ 3 / 4 ] generating series at (2 1 1 1 1) 4.367 * * * * [progress]: [ 4 / 4 ] generating series at (2) 4.367 * * * [progress]: simplifying candidates 4.367 * * * * [progress]: [ 1 / 9 ] simplifiying candidate #posit16 4))))) (neg.p16 b)) (real->posit16 2)) a))> 4.367 * * * * [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))> 4.367 * * * * [progress]: [ 3 / 9 ] simplifiying candidate #posit16 4)))))) b) (real->posit16 2)) a))> 4.367 * * * * [progress]: [ 4 / 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))> 4.368 * * * * [progress]: [ 5 / 9 ] simplifiying candidate #posit16 4))))) b) (*.p16 a (real->posit16 2))))> 4.368 * [simplify]: Simplifying (-.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 c (*.p16 a (real->posit16 4))))) b) 4.368 * * [simplify]: iters left: 6 (11 enodes) 4.371 * * [simplify]: iters left: 5 (35 enodes) 4.377 * * [simplify]: iters left: 4 (76 enodes) 4.398 * * [simplify]: iters left: 3 (256 enodes) 4.566 * * [simplify]: Extracting #0: cost 1 inf + 0 4.566 * * [simplify]: Extracting #1: cost 12 inf + 0 4.566 * * [simplify]: Extracting #2: cost 66 inf + 1 4.567 * * [simplify]: Extracting #3: cost 146 inf + 403 4.569 * * [simplify]: Extracting #4: cost 206 inf + 4977 4.572 * * [simplify]: Extracting #5: cost 248 inf + 24473 4.589 * * [simplify]: Extracting #6: cost 211 inf + 217933 4.626 * * [simplify]: Extracting #7: cost 16 inf + 561609 4.654 * * [simplify]: Extracting #8: cost 0 inf + 595514 4.696 * [simplify]: Simplified to (-.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c))) b) 4.696 * [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)))) 4.696 * * * * [progress]: [ 6 / 9 ] simplifiying candidate #posit16 4))))) b) (real->posit16 2)) a))> 4.696 * * * * [progress]: [ 7 / 9 ] simplifiying candidate #posit16 4))))) b) (real->posit16 2)) a))> 4.696 * * * * [progress]: [ 8 / 9 ] simplifiying candidate #posit16 4))))) b) (real->posit16 2)) a))> 4.696 * * * * [progress]: [ 9 / 9 ] simplifiying candidate #posit16 4))))) b) (real->posit16 2)) a))> 4.696 * * * [progress]: adding candidates to table 4.994 * * [progress]: iteration 4 / 4 4.994 * * * [progress]: picking best candidate 5.081 * * * * [pick]: Picked #posit16 4)) (*.p16 (*.p16 c a) (real->posit16 4)))) (+.p16 (*.p16 b b) (*.p16 (*.p16 c a) (real->posit16 4))))) b) (*.p16 (real->posit16 2) a)))> 5.081 * * * [progress]: localizing error 5.416 * * * [progress]: generating rewritten candidates 5.416 * * * * [progress]: [ 1 / 4 ] rewriting at (2 1 1 1) 5.856 * * * * [progress]: [ 2 / 4 ] rewriting at (2 1) 5.857 * * * * [progress]: [ 3 / 4 ] rewriting at (2 1 1) 5.858 * * * * [progress]: [ 4 / 4 ] rewriting at (2 1 1 1 2 2) 5.862 * * * [progress]: generating series expansions 5.863 * * * * [progress]: [ 1 / 4 ] generating series at (2 1 1 1) 5.863 * * * * [progress]: [ 2 / 4 ] generating series at (2 1) 5.863 * * * * [progress]: [ 3 / 4 ] generating series at (2 1 1) 5.863 * * * * [progress]: [ 4 / 4 ] generating series at (2 1 1 1 2 2) 5.863 * * * [progress]: simplifying candidates 5.863 * * * * [progress]: [ 1 / 10 ] simplifiying candidate #posit16 4))) (/.p16 (+.p16 (*.p16 b b) (*.p16 (*.p16 c a) (real->posit16 4))) (-.p16 (*.p16 b b) (*.p16 (*.p16 c a) (real->posit16 4)))))) b) (*.p16 (real->posit16 2) a)))> 5.863 * [simplify]: Simplifying (+.p16 (*.p16 b b) (*.p16 (*.p16 c a) (real->posit16 4))) 5.863 * * [simplify]: iters left: 3 (9 enodes) 5.866 * * [simplify]: iters left: 2 (21 enodes) 5.870 * * [simplify]: iters left: 1 (27 enodes) 5.874 * * [simplify]: Extracting #0: cost 1 inf + 0 5.874 * * [simplify]: Extracting #1: cost 3 inf + 0 5.874 * * [simplify]: Extracting #2: cost 10 inf + 0 5.874 * * [simplify]: Extracting #3: cost 7 inf + 325 5.874 * * [simplify]: Extracting #4: cost 5 inf + 647 5.874 * * [simplify]: Extracting #5: cost 1 inf + 2617 5.874 * * [simplify]: Extracting #6: cost 0 inf + 2939 5.875 * [simplify]: Simplified to (+.p16 (*.p16 (*.p16 a c) (real->posit16 4)) (*.p16 b b)) 5.875 * [simplify]: Simplified (2 1 1 1 1) to (λ (a b c) (/.p16 (-.p16 (sqrt.p16 (/.p16 (+.p16 (*.p16 (*.p16 a c) (real->posit16 4)) (*.p16 b b)) (/.p16 (+.p16 (*.p16 b b) (*.p16 (*.p16 c a) (real->posit16 4))) (-.p16 (*.p16 b b) (*.p16 (*.p16 c a) (real->posit16 4)))))) b) (*.p16 (real->posit16 2) a))) 5.875 * * * * [progress]: [ 2 / 10 ] simplifiying candidate #posit16 4)) (*.p16 (*.p16 c a) (real->posit16 4))) (*.p16 (*.p16 (*.p16 c a) (real->posit16 4)) (*.p16 (*.p16 c a) (real->posit16 4))))) (*.p16 (+.p16 (*.p16 b b) (*.p16 (*.p16 c a) (real->posit16 4))) (+.p16 (*.p16 (*.p16 b b) (*.p16 b b)) (*.p16 (*.p16 (*.p16 c a) (real->posit16 4)) (*.p16 (*.p16 c a) (real->posit16 4))))))) b) (*.p16 (real->posit16 2) a)))> 5.875 * [simplify]: Simplifying (-.p16 (*.p16 (*.p16 (*.p16 b b) (*.p16 b b)) (*.p16 (*.p16 b b) (*.p16 b b))) (*.p16 (*.p16 (*.p16 (*.p16 c a) (real->posit16 4)) (*.p16 (*.p16 c a) (real->posit16 4))) (*.p16 (*.p16 (*.p16 c a) (real->posit16 4)) (*.p16 (*.p16 c a) (real->posit16 4))))) 5.875 * * [simplify]: iters left: 5 (13 enodes) 5.879 * * [simplify]: iters left: 4 (50 enodes) 5.895 * * [simplify]: iters left: 3 (154 enodes) 5.960 * * [simplify]: Extracting #0: cost 1 inf + 0 5.960 * * [simplify]: Extracting #1: cost 25 inf + 0 5.960 * * [simplify]: Extracting #2: cost 82 inf + 0 5.961 * * [simplify]: Extracting #3: cost 185 inf + 1287 5.962 * * [simplify]: Extracting #4: cost 192 inf + 49659 5.969 * * [simplify]: Extracting #5: cost 90 inf + 236280 5.984 * * [simplify]: Extracting #6: cost 18 inf + 386270 6.014 * * [simplify]: Extracting #7: cost 2 inf + 405204 6.046 * * [simplify]: Extracting #8: cost 0 inf + 412412 6.080 * [simplify]: Simplified to (*.p16 (-.p16 (*.p16 (*.p16 b b) (*.p16 b b)) (*.p16 (*.p16 c (*.p16 a (real->posit16 4))) (*.p16 c (*.p16 a (real->posit16 4))))) (+.p16 (*.p16 (*.p16 c (*.p16 a (real->posit16 4))) (*.p16 c (*.p16 a (real->posit16 4)))) (*.p16 (*.p16 b b) (*.p16 b b)))) 6.080 * [simplify]: Simplified (2 1 1 1 1) to (λ (a b c) (/.p16 (-.p16 (sqrt.p16 (/.p16 (*.p16 (-.p16 (*.p16 (*.p16 b b) (*.p16 b b)) (*.p16 (*.p16 c (*.p16 a (real->posit16 4))) (*.p16 c (*.p16 a (real->posit16 4))))) (+.p16 (*.p16 (*.p16 c (*.p16 a (real->posit16 4))) (*.p16 c (*.p16 a (real->posit16 4)))) (*.p16 (*.p16 b b) (*.p16 b b)))) (*.p16 (+.p16 (*.p16 b b) (*.p16 (*.p16 c a) (real->posit16 4))) (+.p16 (*.p16 (*.p16 b b) (*.p16 b b)) (*.p16 (*.p16 (*.p16 c a) (real->posit16 4)) (*.p16 (*.p16 c a) (real->posit16 4))))))) b) (*.p16 (real->posit16 2) a))) 6.080 * * * * [progress]: [ 3 / 10 ] simplifiying candidate #posit16 4)) (*.p16 (*.p16 c a) (real->posit16 4)))) (+.p16 (*.p16 b b) (*.p16 (*.p16 c a) (real->posit16 4))))) (neg.p16 b)) (*.p16 (real->posit16 2) a)))> 6.081 * * * * [progress]: [ 4 / 10 ] simplifiying candidate #posit16 4)) (*.p16 (*.p16 c a) (real->posit16 4)))) (+.p16 (*.p16 b b) (*.p16 (*.p16 c a) (real->posit16 4))))) (sqrt.p16 (/.p16 (-.p16 (*.p16 (*.p16 b b) (*.p16 b b)) (*.p16 (*.p16 (*.p16 c a) (real->posit16 4)) (*.p16 (*.p16 c a) (real->posit16 4)))) (+.p16 (*.p16 b b) (*.p16 (*.p16 c a) (real->posit16 4)))))) (*.p16 b b)) (+.p16 (sqrt.p16 (/.p16 (-.p16 (*.p16 (*.p16 b b) (*.p16 b b)) (*.p16 (*.p16 (*.p16 c a) (real->posit16 4)) (*.p16 (*.p16 c a) (real->posit16 4)))) (+.p16 (*.p16 b b) (*.p16 (*.p16 c a) (real->posit16 4))))) b)) (*.p16 (real->posit16 2) a)))> 6.081 * * * * [progress]: [ 5 / 10 ] simplifiying candidate #posit16 4)) (*.p16 (*.p16 c a) (real->posit16 4)))) (+.p16 (*.p16 b b) (*.p16 c (*.p16 a (real->posit16 4)))))) b) (*.p16 (real->posit16 2) a)))> 6.081 * * * * [progress]: [ 6 / 10 ] simplifiying candidate #posit16 4)) (*.p16 (*.p16 c a) (real->posit16 4)))) (+.p16 (*.p16 b b) (*.p16 (real->posit16 4) (*.p16 c a))))) b) (*.p16 (real->posit16 2) a)))> 6.081 * * * * [progress]: [ 7 / 10 ] simplifiying candidate #posit16 4)) (*.p16 (*.p16 c a) (real->posit16 4)))) (+.p16 (*.p16 b b) (*.p16 (*.p16 c a) (real->posit16 4))))) b) (*.p16 (real->posit16 2) a)))> 6.081 * * * * [progress]: [ 8 / 10 ] simplifiying candidate #posit16 4)) (*.p16 (*.p16 c a) (real->posit16 4)))) (+.p16 (*.p16 b b) (*.p16 (*.p16 c a) (real->posit16 4))))) b) (*.p16 (real->posit16 2) a)))> 6.081 * * * * [progress]: [ 9 / 10 ] simplifiying candidate #posit16 4)) (*.p16 (*.p16 c a) (real->posit16 4)))) (+.p16 (*.p16 b b) (*.p16 (*.p16 c a) (real->posit16 4))))) b) (*.p16 (real->posit16 2) a)))> 6.081 * * * * [progress]: [ 10 / 10 ] simplifiying candidate #posit16 4)) (*.p16 (*.p16 c a) (real->posit16 4)))) (+.p16 (*.p16 b b) (*.p16 (*.p16 c a) (real->posit16 4))))) b) (*.p16 (real->posit16 2) a)))> 6.081 * * * [progress]: adding candidates to table 6.415 * [progress]: [Phase 3 of 3] Extracting. 6.416 * * [regime]: Finding splitpoints for: (#posit16 4)) (*.p16 (*.p16 c a) (real->posit16 4)))) (+.p16 (*.p16 b b) (*.p16 (*.p16 c a) (real->posit16 4))))) b) (*.p16 (real->posit16 2) a)))> #posit16 4)) (*.p16 (*.p16 c a) (real->posit16 4)))) (+.p16 (*.p16 b b) (*.p16 (*.p16 c a) (real->posit16 4))))) (sqrt.p16 (/.p16 (-.p16 (*.p16 (*.p16 b b) (*.p16 b b)) (*.p16 (*.p16 (*.p16 c a) (real->posit16 4)) (*.p16 (*.p16 c a) (real->posit16 4)))) (+.p16 (*.p16 b b) (*.p16 (*.p16 c a) (real->posit16 4)))))) (*.p16 b b)) (+.p16 (sqrt.p16 (/.p16 (-.p16 (*.p16 (*.p16 b b) (*.p16 b b)) (*.p16 (*.p16 (*.p16 c a) (real->posit16 4)) (*.p16 (*.p16 c a) (real->posit16 4)))) (+.p16 (*.p16 b b) (*.p16 (*.p16 c a) (real->posit16 4))))) b)) (*.p16 (real->posit16 2) a)))> #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)))> #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))))) b) (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))) (/.p16 (+.p16 (*.p16 b b) (*.p16 (*.p16 c a) (real->posit16 4))) (-.p16 (*.p16 b b) (*.p16 (*.p16 c a) (real->posit16 4)))))) b) (*.p16 (real->posit16 2) a)))>) 6.422 * * * [regime-changes]: Trying 3 branch expressions: (c a b) 6.423 * * * * [regimes]: Trying to branch on c from (#posit16 4)) (*.p16 (*.p16 c a) (real->posit16 4)))) (+.p16 (*.p16 b b) (*.p16 (*.p16 c a) (real->posit16 4))))) b) (*.p16 (real->posit16 2) a)))> #posit16 4)) (*.p16 (*.p16 c a) (real->posit16 4)))) (+.p16 (*.p16 b b) (*.p16 (*.p16 c a) (real->posit16 4))))) (sqrt.p16 (/.p16 (-.p16 (*.p16 (*.p16 b b) (*.p16 b b)) (*.p16 (*.p16 (*.p16 c a) (real->posit16 4)) (*.p16 (*.p16 c a) (real->posit16 4)))) (+.p16 (*.p16 b b) (*.p16 (*.p16 c a) (real->posit16 4)))))) (*.p16 b b)) (+.p16 (sqrt.p16 (/.p16 (-.p16 (*.p16 (*.p16 b b) (*.p16 b b)) (*.p16 (*.p16 (*.p16 c a) (real->posit16 4)) (*.p16 (*.p16 c a) (real->posit16 4)))) (+.p16 (*.p16 b b) (*.p16 (*.p16 c a) (real->posit16 4))))) b)) (*.p16 (real->posit16 2) a)))> #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)))> #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))))) b) (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))) (/.p16 (+.p16 (*.p16 b b) (*.p16 (*.p16 c a) (real->posit16 4))) (-.p16 (*.p16 b b) (*.p16 (*.p16 c a) (real->posit16 4)))))) b) (*.p16 (real->posit16 2) a)))>) 6.698 * * * * [regimes]: Trying to branch on a from (#posit16 4)) (*.p16 (*.p16 c a) (real->posit16 4)))) (+.p16 (*.p16 b b) (*.p16 (*.p16 c a) (real->posit16 4))))) b) (*.p16 (real->posit16 2) a)))> #posit16 4)) (*.p16 (*.p16 c a) (real->posit16 4)))) (+.p16 (*.p16 b b) (*.p16 (*.p16 c a) (real->posit16 4))))) (sqrt.p16 (/.p16 (-.p16 (*.p16 (*.p16 b b) (*.p16 b b)) (*.p16 (*.p16 (*.p16 c a) (real->posit16 4)) (*.p16 (*.p16 c a) (real->posit16 4)))) (+.p16 (*.p16 b b) (*.p16 (*.p16 c a) (real->posit16 4)))))) (*.p16 b b)) (+.p16 (sqrt.p16 (/.p16 (-.p16 (*.p16 (*.p16 b b) (*.p16 b b)) (*.p16 (*.p16 (*.p16 c a) (real->posit16 4)) (*.p16 (*.p16 c a) (real->posit16 4)))) (+.p16 (*.p16 b b) (*.p16 (*.p16 c a) (real->posit16 4))))) b)) (*.p16 (real->posit16 2) a)))> #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)))> #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))))) b) (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))) (/.p16 (+.p16 (*.p16 b b) (*.p16 (*.p16 c a) (real->posit16 4))) (-.p16 (*.p16 b b) (*.p16 (*.p16 c a) (real->posit16 4)))))) b) (*.p16 (real->posit16 2) a)))>) 6.914 * * * * [regimes]: Trying to branch on b from (#posit16 4)) (*.p16 (*.p16 c a) (real->posit16 4)))) (+.p16 (*.p16 b b) (*.p16 (*.p16 c a) (real->posit16 4))))) b) (*.p16 (real->posit16 2) a)))> #posit16 4)) (*.p16 (*.p16 c a) (real->posit16 4)))) (+.p16 (*.p16 b b) (*.p16 (*.p16 c a) (real->posit16 4))))) (sqrt.p16 (/.p16 (-.p16 (*.p16 (*.p16 b b) (*.p16 b b)) (*.p16 (*.p16 (*.p16 c a) (real->posit16 4)) (*.p16 (*.p16 c a) (real->posit16 4)))) (+.p16 (*.p16 b b) (*.p16 (*.p16 c a) (real->posit16 4)))))) (*.p16 b b)) (+.p16 (sqrt.p16 (/.p16 (-.p16 (*.p16 (*.p16 b b) (*.p16 b b)) (*.p16 (*.p16 (*.p16 c a) (real->posit16 4)) (*.p16 (*.p16 c a) (real->posit16 4)))) (+.p16 (*.p16 b b) (*.p16 (*.p16 c a) (real->posit16 4))))) b)) (*.p16 (real->posit16 2) a)))> #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)))> #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))))) b) (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))) (/.p16 (+.p16 (*.p16 b b) (*.p16 (*.p16 c a) (real->posit16 4))) (-.p16 (*.p16 b b) (*.p16 (*.p16 c a) (real->posit16 4)))))) b) (*.p16 (real->posit16 2) a)))>) 7.069 * * * [regime]: Found split indices: #