0.003 * [progress]: [Phase 1 of 3] Setting up. 0.005 * * * [progress]: [1/2] Preparing points 0.007 * * * * [points]: Sampling 256 additional inputs, on iter 0 have 0 / 256 0.012 * * * * [points]: Computing exacts on every 16 of 256 points to ramp up precision 0.130 * * * * [points]: Setting MPFR precision to 64 0.133 * * * * [points]: Setting MPFR precision to 320 0.136 * * * * [points]: Computing exacts on every 8 of 256 points to ramp up precision 0.143 * * * * [points]: Setting MPFR precision to 64 0.147 * * * * [points]: Setting MPFR precision to 320 0.151 * * * * [points]: Computing exacts on every 4 of 256 points to ramp up precision 0.157 * * * * [points]: Setting MPFR precision to 64 0.164 * * * * [points]: Setting MPFR precision to 320 0.170 * * * * [points]: Computing exacts on every 2 of 256 points to ramp up precision 0.175 * * * * [points]: Setting MPFR precision to 64 0.186 * * * * [points]: Setting MPFR precision to 320 0.192 * * * * [points]: Computing exacts for 256 points 0.195 * * * * [points]: Setting MPFR precision to 64 0.219 * * * * [points]: Setting MPFR precision to 320 0.249 * * * * [points]: Filtering points with unrepresentable outputs 0.250 * * * * [points]: Sampled 256 points with exact outputs 0.251 * * * [progress]: [2/2] Setting up program. 0.270 * [progress]: [Phase 2 of 3] Improving. 0.270 * * * * [progress]: [ 1 / 1 ] simplifiying candidate #posit16 4) (*.p16 a c))))) (*.p16 (real->posit16 2) a)))> 0.272 * [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.273 * * [simplify]: iteration 1: (16 enodes) 0.304 * * [simplify]: iteration 2: (45 enodes) 0.314 * * [simplify]: iteration 3: (91 enodes) 0.333 * * [simplify]: iteration 4: (310 enodes) 0.476 * * [simplify]: iteration 5: (1361 enodes) 2.364 * * [simplify]: Extracting #0: cost 1 inf + 0 2.364 * * [simplify]: Extracting #1: cost 109 inf + 0 2.366 * * [simplify]: Extracting #2: cost 706 inf + 1 2.381 * * [simplify]: Extracting #3: cost 1290 inf + 2251 2.395 * * [simplify]: Extracting #4: cost 1800 inf + 50605 2.407 * * [simplify]: Extracting #5: cost 2124 inf + 108239 2.438 * * [simplify]: Extracting #6: cost 2247 inf + 615589 2.676 * * [simplify]: Extracting #7: cost 604 inf + 4149249 3.086 * * [simplify]: Extracting #8: cost 6 inf + 5636236 3.504 * * [simplify]: Extracting #9: cost 0 inf + 5653221 3.927 * [simplify]: Simplified to (/.p16 (-.p16 (neg.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 c a) (real->posit16 4))))) b) (*.p16 (real->posit16 2) a)) 3.960 * * [progress]: iteration 1 / 4 3.960 * * * [progress]: picking best candidate 3.977 * * * * [pick]: Picked #posit16 4) (*.p16 a c))))) (*.p16 (real->posit16 2) a)))> 3.977 * * * [progress]: localizing error 4.253 * * * [progress]: generating rewritten candidates 4.253 * * * * [progress]: [ 1 / 4 ] rewriting at (2 1) 4.257 * * * * [progress]: [ 2 / 4 ] rewriting at (2 1 2) 4.257 * * * * [progress]: [ 3 / 4 ] rewriting at (2) 4.260 * * * * [progress]: [ 4 / 4 ] rewriting at (2 1 2 1 2) 4.265 * * * [progress]: generating series expansions 4.266 * * * * [progress]: [ 1 / 4 ] generating series at (2 1) 4.266 * * * * [progress]: [ 2 / 4 ] generating series at (2 1 2) 4.266 * * * * [progress]: [ 3 / 4 ] generating series at (2) 4.266 * * * * [progress]: [ 4 / 4 ] generating series at (2 1 2 1 2) 4.266 * * * [progress]: simplifying candidates 4.266 * * * * [progress]: [ 1 / 10 ] simplifiying candidate #posit16 4) (*.p16 a c)))))) (*.p16 (real->posit16 2) a)))> 4.266 * * * * [progress]: [ 2 / 10 ] simplifiying candidate #posit16 4) (*.p16 a c)))) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (real->posit16 4) (*.p16 a c)))))) (+.p16 (neg.p16 b) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (real->posit16 4) (*.p16 a c)))))) (*.p16 (real->posit16 2) a)))> 4.266 * * * * [progress]: [ 3 / 10 ] simplifiying candidate #posit16 4) (*.p16 a c))))) (real->posit16 2)) a))> 4.266 * * * * [progress]: [ 4 / 10 ] simplifiying candidate #posit16 4) (*.p16 a c)))) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (real->posit16 4) (*.p16 a c)))))) (*.p16 (*.p16 (real->posit16 2) a) (+.p16 (neg.p16 b) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (real->posit16 4) (*.p16 a c))))))))> 4.266 * * * * [progress]: [ 5 / 10 ] simplifiying candidate #posit16 4) a) c)))) (*.p16 (real->posit16 2) a)))> 4.266 * * * * [progress]: [ 6 / 10 ] simplifiying candidate #posit16 4))))) (*.p16 (real->posit16 2) a)))> 4.266 * * * * [progress]: [ 7 / 10 ] simplifiying candidate #posit16 4) (*.p16 a c))))) (*.p16 (real->posit16 2) a)))> 4.266 * * * * [progress]: [ 8 / 10 ] simplifiying candidate #posit16 4) (*.p16 a c))))) (*.p16 (real->posit16 2) a)))> 4.266 * * * * [progress]: [ 9 / 10 ] simplifiying candidate #posit16 4) (*.p16 a c))))) (*.p16 (real->posit16 2) a)))> 4.266 * * * * [progress]: [ 10 / 10 ] simplifiying candidate #posit16 4) (*.p16 a c))))) (*.p16 (real->posit16 2) a)))> 4.267 * [simplify]: Simplifying (neg.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (real->posit16 4) (*.p16 a c))))), (-.p16 (*.p16 (neg.p16 b) (neg.p16 b)) (*.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (real->posit16 4) (*.p16 a c)))) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (real->posit16 4) (*.p16 a c)))))), (+.p16 (neg.p16 b) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (real->posit16 4) (*.p16 a c))))), (/.p16 (-.p16 (neg.p16 b) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (real->posit16 4) (*.p16 a c))))) (real->posit16 2)), (*.p16 (*.p16 (real->posit16 2) a) (+.p16 (neg.p16 b) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (real->posit16 4) (*.p16 a c)))))), (*.p16 (real->posit16 4) a), (/.p16 (-.p16 (neg.p16 b) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (real->posit16 4) (*.p16 a c))))) (*.p16 (real->posit16 2) a)), (/.p16 (-.p16 (neg.p16 b) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (real->posit16 4) (*.p16 a c))))) (*.p16 (real->posit16 2) a)), (/.p16 (-.p16 (neg.p16 b) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (real->posit16 4) (*.p16 a c))))) (*.p16 (real->posit16 2) a)), (/.p16 (-.p16 (neg.p16 b) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (real->posit16 4) (*.p16 a c))))) (*.p16 (real->posit16 2) a)) 4.267 * * [simplify]: iteration 1: (24 enodes) 4.273 * * [simplify]: iteration 2: (65 enodes) 4.286 * * [simplify]: iteration 3: (180 enodes) 4.362 * * [simplify]: iteration 4: (623 enodes) 4.837 * * [simplify]: Extracting #0: cost 7 inf + 0 4.838 * * [simplify]: Extracting #1: cost 215 inf + 0 4.841 * * [simplify]: Extracting #2: cost 514 inf + 1206 4.858 * * [simplify]: Extracting #3: cost 617 inf + 194688 4.929 * * [simplify]: Extracting #4: cost 501 inf + 851856 5.041 * * [simplify]: Extracting #5: cost 185 inf + 1681136 5.229 * * [simplify]: Extracting #6: cost 2 inf + 2083473 5.399 * * [simplify]: Extracting #7: cost 0 inf + 2087081 5.565 * [simplify]: Simplified to (neg.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 a c) (real->posit16 4))))), (+.p16 (*.p16 (+.p16 (neg.p16 b) (neg.p16 b)) (+.p16 (neg.p16 b) b)) (*.p16 (*.p16 a c) (real->posit16 4))), (-.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 a c) (real->posit16 4)))) b), (/.p16 (-.p16 (neg.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 a c) (real->posit16 4))))) b) (real->posit16 2)), (*.p16 (real->posit16 2) (*.p16 a (-.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 a c) (real->posit16 4)))) b))), (*.p16 a (real->posit16 4)), (/.p16 (-.p16 (neg.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 a c) (real->posit16 4))))) b) (*.p16 (real->posit16 2) a)), (/.p16 (-.p16 (neg.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 a c) (real->posit16 4))))) b) (*.p16 (real->posit16 2) a)), (/.p16 (-.p16 (neg.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 a c) (real->posit16 4))))) b) (*.p16 (real->posit16 2) a)), (/.p16 (-.p16 (neg.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 a c) (real->posit16 4))))) b) (*.p16 (real->posit16 2) a)) 5.566 * * * [progress]: adding candidates to table 6.126 * * [progress]: iteration 2 / 4 6.126 * * * [progress]: picking best candidate 6.253 * * * * [pick]: Picked #posit16 4) a) c)))) (*.p16 (real->posit16 2) a)))> 6.253 * * * [progress]: localizing error 6.982 * * * [progress]: generating rewritten candidates 6.982 * * * * [progress]: [ 1 / 4 ] rewriting at (2 1) 6.984 * * * * [progress]: [ 2 / 4 ] rewriting at (2 1 2) 6.984 * * * * [progress]: [ 3 / 4 ] rewriting at (2) 6.987 * * * * [progress]: [ 4 / 4 ] rewriting at (2 1 2 1) 6.992 * * * [progress]: generating series expansions 6.992 * * * * [progress]: [ 1 / 4 ] generating series at (2 1) 6.992 * * * * [progress]: [ 2 / 4 ] generating series at (2 1 2) 6.992 * * * * [progress]: [ 3 / 4 ] generating series at (2) 6.992 * * * * [progress]: [ 4 / 4 ] generating series at (2 1 2 1) 6.992 * * * [progress]: simplifying candidates 6.992 * * * * [progress]: [ 1 / 10 ] simplifiying candidate #posit16 4) a) c))))) (*.p16 (real->posit16 2) a)))> 6.992 * * * * [progress]: [ 2 / 10 ] simplifiying candidate #posit16 4) a) c))) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c))))) (+.p16 (neg.p16 b) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c))))) (*.p16 (real->posit16 2) a)))> 6.992 * * * * [progress]: [ 3 / 10 ] simplifiying candidate #posit16 4) a) c)))) (real->posit16 2)) a))> 6.992 * * * * [progress]: [ 4 / 10 ] simplifiying candidate #posit16 4) a) c))) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c))))) (*.p16 (*.p16 (real->posit16 2) a) (+.p16 (neg.p16 b) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c)))))))> 6.992 * * * * [progress]: [ 5 / 10 ] simplifiying candidate #posit16 4) a) c))))) (*.p16 (real->posit16 2) a)))> 6.992 * * * * [progress]: [ 6 / 10 ] simplifiying candidate #posit16 4) a) c) (*.p16 (*.p16 (real->posit16 4) a) c))) (+.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c))))) (*.p16 (real->posit16 2) a)))> 6.992 * * * * [progress]: [ 7 / 10 ] simplifiying candidate #posit16 4) a) c)))) (*.p16 (real->posit16 2) a)))> 6.992 * * * * [progress]: [ 8 / 10 ] simplifiying candidate #posit16 4) a) c)))) (*.p16 (real->posit16 2) a)))> 6.992 * * * * [progress]: [ 9 / 10 ] simplifiying candidate #posit16 4) a) c)))) (*.p16 (real->posit16 2) a)))> 6.993 * * * * [progress]: [ 10 / 10 ] simplifiying candidate #posit16 4) a) c)))) (*.p16 (real->posit16 2) a)))> 6.993 * [simplify]: Simplifying (neg.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c)))), (-.p16 (*.p16 (neg.p16 b) (neg.p16 b)) (*.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c))) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c))))), (+.p16 (neg.p16 b) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c)))), (/.p16 (-.p16 (neg.p16 b) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c)))) (real->posit16 2)), (*.p16 (*.p16 (real->posit16 2) a) (+.p16 (neg.p16 b) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c))))), (neg.p16 (*.p16 (*.p16 (real->posit16 4) a) c)), (-.p16 (*.p16 (*.p16 b b) (*.p16 b b)) (*.p16 (*.p16 (*.p16 (real->posit16 4) a) c) (*.p16 (*.p16 (real->posit16 4) a) c))), (+.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c)), (*.p16 (real->posit16 4) a), (*.p16 (real->posit16 4) a), (*.p16 (real->posit16 4) a), (*.p16 (real->posit16 4) a) 6.993 * * [simplify]: iteration 1: (27 enodes) 7.000 * * [simplify]: iteration 2: (79 enodes) 7.016 * * [simplify]: iteration 3: (228 enodes) 7.122 * * [simplify]: iteration 4: (879 enodes) 7.929 * * [simplify]: Extracting #0: cost 9 inf + 0 7.930 * * [simplify]: Extracting #1: cost 217 inf + 0 7.932 * * [simplify]: Extracting #2: cost 832 inf + 2648 7.937 * * [simplify]: Extracting #3: cost 1352 inf + 31536 7.990 * * [simplify]: Extracting #4: cost 1380 inf + 777244 8.209 * * [simplify]: Extracting #5: cost 343 inf + 3072300 8.526 * * [simplify]: Extracting #6: cost 1 inf + 3942130 8.827 * * [simplify]: Extracting #7: cost 0 inf + 3945614 9.129 * [simplify]: Simplified to (neg.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 c (*.p16 a (real->posit16 4)))))), (+.p16 (*.p16 (+.p16 (neg.p16 b) b) (+.p16 (neg.p16 b) (neg.p16 b))) (*.p16 c (*.p16 a (real->posit16 4)))), (-.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 c (*.p16 a (real->posit16 4))))) b), (/.p16 (-.p16 (neg.p16 b) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 c (*.p16 a (real->posit16 4)))))) (real->posit16 2)), (*.p16 (-.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 c (*.p16 a (real->posit16 4))))) b) (*.p16 (real->posit16 2) a)), (neg.p16 (*.p16 c (*.p16 a (real->posit16 4)))), (*.p16 (-.p16 (*.p16 b b) (*.p16 c (*.p16 a (real->posit16 4)))) (+.p16 (*.p16 c (*.p16 a (real->posit16 4))) (*.p16 b b))), (+.p16 (*.p16 c (*.p16 a (real->posit16 4))) (*.p16 b b)), (*.p16 a (real->posit16 4)), (*.p16 a (real->posit16 4)), (*.p16 a (real->posit16 4)), (*.p16 a (real->posit16 4)) 9.130 * * * [progress]: adding candidates to table 9.546 * * [progress]: iteration 3 / 4 9.546 * * * [progress]: picking best candidate 9.669 * * * * [pick]: Picked #posit16 4) a) c)))) (real->posit16 2)) a))> 9.669 * * * [progress]: localizing error 9.919 * * * [progress]: generating rewritten candidates 9.920 * * * * [progress]: [ 1 / 4 ] rewriting at (2 1 1) 9.923 * * * * [progress]: [ 2 / 4 ] rewriting at (2 1 1 2) 9.923 * * * * [progress]: [ 3 / 4 ] rewriting at (2) 9.929 * * * * [progress]: [ 4 / 4 ] rewriting at (2 1 1 2 1) 9.937 * * * [progress]: generating series expansions 9.937 * * * * [progress]: [ 1 / 4 ] generating series at (2 1 1) 9.937 * * * * [progress]: [ 2 / 4 ] generating series at (2 1 1 2) 9.937 * * * * [progress]: [ 3 / 4 ] generating series at (2) 9.937 * * * * [progress]: [ 4 / 4 ] generating series at (2 1 1 2 1) 9.937 * * * [progress]: simplifying candidates 9.937 * * * * [progress]: [ 1 / 9 ] simplifiying candidate #posit16 4) a) c))))) (real->posit16 2)) a))> 9.937 * * * * [progress]: [ 2 / 9 ] simplifiying candidate #posit16 4) a) c))) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c))))) (+.p16 (neg.p16 b) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c))))) (real->posit16 2)) a))> 9.937 * * * * [progress]: [ 3 / 9 ] simplifiying candidate #posit16 4) a) c)))) (*.p16 a (real->posit16 2))))> 9.937 * * * * [progress]: [ 4 / 9 ] simplifiying candidate #posit16 4) a) c))))) (real->posit16 2)) a))> 9.937 * * * * [progress]: [ 5 / 9 ] simplifiying candidate #posit16 4) a) c) (*.p16 (*.p16 (real->posit16 4) a) c))) (+.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c))))) (real->posit16 2)) a))> 9.937 * * * * [progress]: [ 6 / 9 ] simplifiying candidate #posit16 4) a) c)))) (real->posit16 2)) a))> 9.937 * * * * [progress]: [ 7 / 9 ] simplifiying candidate #posit16 4) a) c)))) (real->posit16 2)) a))> 9.937 * * * * [progress]: [ 8 / 9 ] simplifiying candidate #posit16 4) a) c)))) (real->posit16 2)) a))> 9.937 * * * * [progress]: [ 9 / 9 ] simplifiying candidate #posit16 4) a) c)))) (real->posit16 2)) a))> 9.938 * [simplify]: Simplifying (neg.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c)))), (-.p16 (*.p16 (neg.p16 b) (neg.p16 b)) (*.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c))) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c))))), (+.p16 (neg.p16 b) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c)))), (*.p16 a (real->posit16 2)), (neg.p16 (*.p16 (*.p16 (real->posit16 4) a) c)), (-.p16 (*.p16 (*.p16 b b) (*.p16 b b)) (*.p16 (*.p16 (*.p16 (real->posit16 4) a) c) (*.p16 (*.p16 (real->posit16 4) a) c))), (+.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c)), (/.p16 (-.p16 (neg.p16 b) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c)))) (real->posit16 2)), (/.p16 (-.p16 (neg.p16 b) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c)))) (real->posit16 2)), (/.p16 (-.p16 (neg.p16 b) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c)))) (real->posit16 2)), (/.p16 (-.p16 (neg.p16 b) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c)))) (real->posit16 2)) 9.938 * * [simplify]: iteration 1: (26 enodes) 9.959 * * [simplify]: iteration 2: (69 enodes) 9.987 * * [simplify]: iteration 3: (195 enodes) 10.098 * * [simplify]: iteration 4: (860 enodes) 11.068 * * [simplify]: Extracting #0: cost 8 inf + 0 11.068 * * [simplify]: Extracting #1: cost 200 inf + 0 11.070 * * [simplify]: Extracting #2: cost 814 inf + 1847 11.075 * * [simplify]: Extracting #3: cost 1354 inf + 17563 11.086 * * [simplify]: Extracting #4: cost 1724 inf + 125399 11.162 * * [simplify]: Extracting #5: cost 1096 inf + 1340376 11.402 * * [simplify]: Extracting #6: cost 149 inf + 3561239 11.657 * * [simplify]: Extracting #7: cost 0 inf + 3947442 11.945 * * [simplify]: Extracting #8: cost 0 inf + 3947043 12.171 * [simplify]: Simplified to (neg.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 a c) (real->posit16 4))))), (+.p16 (*.p16 (+.p16 (neg.p16 b) b) (+.p16 (neg.p16 b) (neg.p16 b))) (*.p16 (*.p16 a c) (real->posit16 4))), (-.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 a c) (real->posit16 4)))) b), (*.p16 a (real->posit16 2)), (neg.p16 (*.p16 (*.p16 a c) (real->posit16 4))), (*.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 a c) (real->posit16 4))) (+.p16 (*.p16 (*.p16 a c) (real->posit16 4)) (*.p16 b b))), (+.p16 (*.p16 (*.p16 a c) (real->posit16 4)) (*.p16 b b)), (/.p16 (-.p16 (neg.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 a c) (real->posit16 4))))) b) (real->posit16 2)), (/.p16 (-.p16 (neg.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 a c) (real->posit16 4))))) b) (real->posit16 2)), (/.p16 (-.p16 (neg.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 a c) (real->posit16 4))))) b) (real->posit16 2)), (/.p16 (-.p16 (neg.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 a c) (real->posit16 4))))) b) (real->posit16 2)) 12.172 * * * [progress]: adding candidates to table 12.728 * * [progress]: iteration 4 / 4 12.728 * * * [progress]: picking best candidate 12.857 * * * * [pick]: Picked #posit16 4) a) c) (*.p16 (*.p16 (real->posit16 4) a) c))) (+.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c))))) (real->posit16 2)) a))> 12.857 * * * [progress]: localizing error 13.368 * * * [progress]: generating rewritten candidates 13.368 * * * * [progress]: [ 1 / 4 ] rewriting at (2 1 1 2 1) 13.397 * * * * [progress]: [ 2 / 4 ] rewriting at (2 1 1) 13.401 * * * * [progress]: [ 3 / 4 ] rewriting at (2 1 1 2) 13.401 * * * * [progress]: [ 4 / 4 ] rewriting at (2) 13.408 * * * [progress]: generating series expansions 13.408 * * * * [progress]: [ 1 / 4 ] generating series at (2 1 1 2 1) 13.408 * * * * [progress]: [ 2 / 4 ] generating series at (2 1 1) 13.408 * * * * [progress]: [ 3 / 4 ] generating series at (2 1 1 2) 13.408 * * * * [progress]: [ 4 / 4 ] generating series at (2) 13.408 * * * [progress]: simplifying candidates 13.408 * * * * [progress]: [ 1 / 9 ] simplifiying candidate #posit16 4) a) c)) (/.p16 (+.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c)) (-.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c)))))) (real->posit16 2)) a))> 13.408 * * * * [progress]: [ 2 / 9 ] simplifiying candidate #posit16 4) a) c) (*.p16 (*.p16 (real->posit16 4) a) c)) (*.p16 (*.p16 (*.p16 (real->posit16 4) a) c) (*.p16 (*.p16 (real->posit16 4) a) c)))) (*.p16 (+.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c)) (+.p16 (*.p16 (*.p16 b b) (*.p16 b b)) (*.p16 (*.p16 (*.p16 (real->posit16 4) a) c) (*.p16 (*.p16 (real->posit16 4) a) c))))))) (real->posit16 2)) a))> 13.408 * * * * [progress]: [ 3 / 9 ] simplifiying candidate #posit16 4) a) c) (*.p16 (*.p16 (real->posit16 4) a) c))) (+.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c)))))) (real->posit16 2)) a))> 13.408 * * * * [progress]: [ 4 / 9 ] simplifiying candidate #posit16 4) a) c) (*.p16 (*.p16 (real->posit16 4) a) c))) (+.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c)))) (sqrt.p16 (/.p16 (-.p16 (*.p16 (*.p16 b b) (*.p16 b b)) (*.p16 (*.p16 (*.p16 (real->posit16 4) a) c) (*.p16 (*.p16 (real->posit16 4) a) c))) (+.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c)))))) (+.p16 (neg.p16 b) (sqrt.p16 (/.p16 (-.p16 (*.p16 (*.p16 b b) (*.p16 b b)) (*.p16 (*.p16 (*.p16 (real->posit16 4) a) c) (*.p16 (*.p16 (real->posit16 4) a) c))) (+.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c)))))) (real->posit16 2)) a))> 13.409 * * * * [progress]: [ 5 / 9 ] simplifiying candidate #posit16 4) a) c) (*.p16 (*.p16 (real->posit16 4) a) c))) (+.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c))))) (*.p16 a (real->posit16 2))))> 13.409 * * * * [progress]: [ 6 / 9 ] simplifiying candidate #posit16 4) a) c) (*.p16 (*.p16 (real->posit16 4) a) c))) (+.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c))))) (real->posit16 2)) a))> 13.409 * * * * [progress]: [ 7 / 9 ] simplifiying candidate #posit16 4) a) c) (*.p16 (*.p16 (real->posit16 4) a) c))) (+.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c))))) (real->posit16 2)) a))> 13.409 * * * * [progress]: [ 8 / 9 ] simplifiying candidate #posit16 4) a) c) (*.p16 (*.p16 (real->posit16 4) a) c))) (+.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c))))) (real->posit16 2)) a))> 13.409 * * * * [progress]: [ 9 / 9 ] simplifiying candidate #posit16 4) a) c) (*.p16 (*.p16 (real->posit16 4) a) c))) (+.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c))))) (real->posit16 2)) a))> 13.409 * [simplify]: Simplifying (/.p16 (+.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c)) (-.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c))), (*.p16 (+.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c)) (+.p16 (*.p16 (*.p16 b b) (*.p16 b b)) (*.p16 (*.p16 (*.p16 (real->posit16 4) a) c) (*.p16 (*.p16 (real->posit16 4) a) c)))), (neg.p16 (sqrt.p16 (/.p16 (-.p16 (*.p16 (*.p16 b b) (*.p16 b b)) (*.p16 (*.p16 (*.p16 (real->posit16 4) a) c) (*.p16 (*.p16 (real->posit16 4) a) c))) (+.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c))))), (-.p16 (*.p16 (neg.p16 b) (neg.p16 b)) (*.p16 (sqrt.p16 (/.p16 (-.p16 (*.p16 (*.p16 b b) (*.p16 b b)) (*.p16 (*.p16 (*.p16 (real->posit16 4) a) c) (*.p16 (*.p16 (real->posit16 4) a) c))) (+.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c)))) (sqrt.p16 (/.p16 (-.p16 (*.p16 (*.p16 b b) (*.p16 b b)) (*.p16 (*.p16 (*.p16 (real->posit16 4) a) c) (*.p16 (*.p16 (real->posit16 4) a) c))) (+.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c)))))), (+.p16 (neg.p16 b) (sqrt.p16 (/.p16 (-.p16 (*.p16 (*.p16 b b) (*.p16 b b)) (*.p16 (*.p16 (*.p16 (real->posit16 4) a) c) (*.p16 (*.p16 (real->posit16 4) a) c))) (+.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c))))), (*.p16 a (real->posit16 2)), (-.p16 (*.p16 (*.p16 b b) (*.p16 b b)) (*.p16 (*.p16 (*.p16 (real->posit16 4) a) c) (*.p16 (*.p16 (real->posit16 4) a) c))), (+.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c)), (-.p16 (*.p16 (*.p16 b b) (*.p16 b b)) (*.p16 (*.p16 (*.p16 (real->posit16 4) a) c) (*.p16 (*.p16 (real->posit16 4) a) c))), (+.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c)), (-.p16 (*.p16 (*.p16 b b) (*.p16 b b)) (*.p16 (*.p16 (*.p16 (real->posit16 4) a) c) (*.p16 (*.p16 (real->posit16 4) a) c))), (+.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c)), (-.p16 (*.p16 (*.p16 b b) (*.p16 b b)) (*.p16 (*.p16 (*.p16 (real->posit16 4) a) c) (*.p16 (*.p16 (real->posit16 4) a) c))), (+.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c)) 13.410 * * [simplify]: iteration 1: (27 enodes) 13.430 * * [simplify]: iteration 2: (76 enodes) 13.462 * * [simplify]: iteration 3: (234 enodes) 13.598 * * [simplify]: iteration 4: (1053 enodes) 14.841 * * [simplify]: Extracting #0: cost 8 inf + 0 14.841 * * [simplify]: Extracting #1: cost 157 inf + 0 14.844 * * [simplify]: Extracting #2: cost 850 inf + 1206 14.858 * * [simplify]: Extracting #3: cost 1521 inf + 15201 14.870 * * [simplify]: Extracting #4: cost 1921 inf + 118618 14.953 * * [simplify]: Extracting #5: cost 1349 inf + 1224211 15.140 * * [simplify]: Extracting #6: cost 245 inf + 3643431 15.412 * * [simplify]: Extracting #7: cost 4 inf + 4248878 15.679 * * [simplify]: Extracting #8: cost 0 inf + 4260454 15.995 * [simplify]: Simplified to (/.p16 (+.p16 (*.p16 (*.p16 a c) (real->posit16 4)) (*.p16 b b)) (-.p16 (*.p16 b b) (*.p16 (*.p16 a c) (real->posit16 4)))), (*.p16 (+.p16 (*.p16 (*.p16 b b) (*.p16 b b)) (*.p16 (*.p16 (*.p16 a c) (real->posit16 4)) (*.p16 (*.p16 a c) (real->posit16 4)))) (+.p16 (*.p16 (*.p16 a c) (real->posit16 4)) (*.p16 b b))), (neg.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 a c) (real->posit16 4))))), (+.p16 (*.p16 (+.p16 (neg.p16 b) b) (+.p16 (neg.p16 b) (neg.p16 b))) (*.p16 (*.p16 a c) (real->posit16 4))), (-.p16 (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 a c) (real->posit16 4)))) b), (*.p16 a (real->posit16 2)), (*.p16 (+.p16 (*.p16 (*.p16 a c) (real->posit16 4)) (*.p16 b b)) (-.p16 (*.p16 b b) (*.p16 (*.p16 a c) (real->posit16 4)))), (+.p16 (*.p16 (*.p16 a c) (real->posit16 4)) (*.p16 b b)), (*.p16 (+.p16 (*.p16 (*.p16 a c) (real->posit16 4)) (*.p16 b b)) (-.p16 (*.p16 b b) (*.p16 (*.p16 a c) (real->posit16 4)))), (+.p16 (*.p16 (*.p16 a c) (real->posit16 4)) (*.p16 b b)), (*.p16 (+.p16 (*.p16 (*.p16 a c) (real->posit16 4)) (*.p16 b b)) (-.p16 (*.p16 b b) (*.p16 (*.p16 a c) (real->posit16 4)))), (+.p16 (*.p16 (*.p16 a c) (real->posit16 4)) (*.p16 b b)), (*.p16 (+.p16 (*.p16 (*.p16 a c) (real->posit16 4)) (*.p16 b b)) (-.p16 (*.p16 b b) (*.p16 (*.p16 a c) (real->posit16 4)))), (+.p16 (*.p16 (*.p16 a c) (real->posit16 4)) (*.p16 b b)) 15.996 * * * [progress]: adding candidates to table 16.413 * [progress]: [Phase 3 of 3] Extracting. 16.414 * * [regime]: Finding splitpoints for: (#posit16 4) (*.p16 a c)))) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (real->posit16 4) (*.p16 a c)))))) (*.p16 (*.p16 (real->posit16 2) a) (+.p16 (neg.p16 b) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (real->posit16 4) (*.p16 a c))))))))> #posit16 4) a) c) (*.p16 (*.p16 (real->posit16 4) a) c))) (+.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c))))) (real->posit16 2)) a))> #posit16 4) a) c))) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c))))) (+.p16 (neg.p16 b) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c))))) (real->posit16 2)) a))> #posit16 4) a) c)))) (*.p16 (real->posit16 2) a)))> #posit16 4) a) c))) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c))))) (*.p16 (*.p16 (real->posit16 2) a) (+.p16 (neg.p16 b) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c)))))))> #posit16 4) a) c) (*.p16 (*.p16 (real->posit16 4) a) c))) (+.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c)))) (sqrt.p16 (/.p16 (-.p16 (*.p16 (*.p16 b b) (*.p16 b b)) (*.p16 (*.p16 (*.p16 (real->posit16 4) a) c) (*.p16 (*.p16 (real->posit16 4) a) c))) (+.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c)))))) (+.p16 (neg.p16 b) (sqrt.p16 (/.p16 (-.p16 (*.p16 (*.p16 b b) (*.p16 b b)) (*.p16 (*.p16 (*.p16 (real->posit16 4) a) c) (*.p16 (*.p16 (real->posit16 4) a) c))) (+.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c)))))) (real->posit16 2)) a))>) 16.421 * * * [regime-changes]: Trying 3 branch expressions: (c a b) 16.421 * * * * [regimes]: Trying to branch on c from (#posit16 4) (*.p16 a c)))) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (real->posit16 4) (*.p16 a c)))))) (*.p16 (*.p16 (real->posit16 2) a) (+.p16 (neg.p16 b) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (real->posit16 4) (*.p16 a c))))))))> #posit16 4) a) c) (*.p16 (*.p16 (real->posit16 4) a) c))) (+.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c))))) (real->posit16 2)) a))> #posit16 4) a) c))) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c))))) (+.p16 (neg.p16 b) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c))))) (real->posit16 2)) a))> #posit16 4) a) c)))) (*.p16 (real->posit16 2) a)))> #posit16 4) a) c))) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c))))) (*.p16 (*.p16 (real->posit16 2) a) (+.p16 (neg.p16 b) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c)))))))> #posit16 4) a) c) (*.p16 (*.p16 (real->posit16 4) a) c))) (+.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c)))) (sqrt.p16 (/.p16 (-.p16 (*.p16 (*.p16 b b) (*.p16 b b)) (*.p16 (*.p16 (*.p16 (real->posit16 4) a) c) (*.p16 (*.p16 (real->posit16 4) a) c))) (+.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c)))))) (+.p16 (neg.p16 b) (sqrt.p16 (/.p16 (-.p16 (*.p16 (*.p16 b b) (*.p16 b b)) (*.p16 (*.p16 (*.p16 (real->posit16 4) a) c) (*.p16 (*.p16 (real->posit16 4) a) c))) (+.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c)))))) (real->posit16 2)) a))>) 16.736 * * * * [regimes]: Trying to branch on a from (#posit16 4) (*.p16 a c)))) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (real->posit16 4) (*.p16 a c)))))) (*.p16 (*.p16 (real->posit16 2) a) (+.p16 (neg.p16 b) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (real->posit16 4) (*.p16 a c))))))))> #posit16 4) a) c) (*.p16 (*.p16 (real->posit16 4) a) c))) (+.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c))))) (real->posit16 2)) a))> #posit16 4) a) c))) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c))))) (+.p16 (neg.p16 b) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c))))) (real->posit16 2)) a))> #posit16 4) a) c)))) (*.p16 (real->posit16 2) a)))> #posit16 4) a) c))) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c))))) (*.p16 (*.p16 (real->posit16 2) a) (+.p16 (neg.p16 b) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c)))))))> #posit16 4) a) c) (*.p16 (*.p16 (real->posit16 4) a) c))) (+.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c)))) (sqrt.p16 (/.p16 (-.p16 (*.p16 (*.p16 b b) (*.p16 b b)) (*.p16 (*.p16 (*.p16 (real->posit16 4) a) c) (*.p16 (*.p16 (real->posit16 4) a) c))) (+.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c)))))) (+.p16 (neg.p16 b) (sqrt.p16 (/.p16 (-.p16 (*.p16 (*.p16 b b) (*.p16 b b)) (*.p16 (*.p16 (*.p16 (real->posit16 4) a) c) (*.p16 (*.p16 (real->posit16 4) a) c))) (+.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c)))))) (real->posit16 2)) a))>) 16.991 * * * * [regimes]: Trying to branch on b from (#posit16 4) (*.p16 a c)))) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (real->posit16 4) (*.p16 a c)))))) (*.p16 (*.p16 (real->posit16 2) a) (+.p16 (neg.p16 b) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (real->posit16 4) (*.p16 a c))))))))> #posit16 4) a) c) (*.p16 (*.p16 (real->posit16 4) a) c))) (+.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c))))) (real->posit16 2)) a))> #posit16 4) a) c))) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c))))) (+.p16 (neg.p16 b) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c))))) (real->posit16 2)) a))> #posit16 4) a) c)))) (*.p16 (real->posit16 2) a)))> #posit16 4) a) c))) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c))))) (*.p16 (*.p16 (real->posit16 2) a) (+.p16 (neg.p16 b) (sqrt.p16 (-.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c)))))))> #posit16 4) a) c) (*.p16 (*.p16 (real->posit16 4) a) c))) (+.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c)))) (sqrt.p16 (/.p16 (-.p16 (*.p16 (*.p16 b b) (*.p16 b b)) (*.p16 (*.p16 (*.p16 (real->posit16 4) a) c) (*.p16 (*.p16 (real->posit16 4) a) c))) (+.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c)))))) (+.p16 (neg.p16 b) (sqrt.p16 (/.p16 (-.p16 (*.p16 (*.p16 b b) (*.p16 b b)) (*.p16 (*.p16 (*.p16 (real->posit16 4) a) c) (*.p16 (*.p16 (real->posit16 4) a) c))) (+.p16 (*.p16 b b) (*.p16 (*.p16 (real->posit16 4) a) c)))))) (real->posit16 2)) a))>) 17.219 * * * [regime]: Found split indices: #