
Time bar (total: 1.1s)
| 1× | search |
| Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
|---|---|---|---|---|---|---|---|
| 0.0% | 0.0% | 99.9% | 0.1% | 0.0% | 0.0% | 0.0% | 0 |
| 100.0% | 99.9% | 0.0% | 0.1% | 0.0% | 0.0% | 0.0% | 1 |
Compiled 15 to 11 computations (26.7% saved)
| 198.0ms | 8 256× | 0 | valid |
Mul: 8.0ms (70.6% of total, 0.0 MiB)Add: 3.0ms (26.5% of total, 0.0 MiB)Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 26 | 84 |
| 1 | 151 | 68 |
| 2 | 557 | 32 |
| 3 | 1334 | 32 |
| 1× | node-limit |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 93.7% | (+.f64 (+.f64 (*.f64 x x) (*.f64 (*.f64 x #s(literal 2 binary64)) y)) (*.f64 y y)) |
(sort x y)
Compiled 2 to 18 computations (-800.0% saved)
| Inputs |
|---|
| Outputs |
|---|
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 83 | 364 |
| 1× | iter-limit |
| Inputs |
|---|
%1 = (*.f64 x x) %3 = (*.f64 x #s(literal 2 binary64)) %5 = (*.f64 %3 y) %6 = (+.f64 %1 %5) %7 = (*.f64 y y) x %1 #s(literal 2 binary64) %3 y %5 %6 %7 (+.f64 %6 %7) |
| Outputs |
|---|
%4 = (* x x) %6 = (pow.f64 x #s(literal 2 binary64)) %9 = (* x 2) %10 = (*.f64 #s(literal 2 binary64) x) %13 = (* %9 y) %14 = (*.f64 x y) %17 = (+ %4 %13) %19 = (+.f64 x (*.f64 #s(literal 2 binary64) y)) %23 = (+ %17 (* y y)) %24 = (pow.f64 y #s(literal 2 binary64)) %31 = (/.f64 y x) %57 = (/.f64 %6 y) %61 = (/.f64 x y) %72 = (fma.f64 #s(literal -2 binary64) x (*.f64 #s(literal -1 binary64) %57)) (approx x #s(literal 0 binary64)) (approx x x) (approx %4 %6) (approx %9 %10) (approx %13 (*.f64 #s(literal 2 binary64) %14)) (approx %17 (*.f64 x %19)) (approx %23 %24) (approx %23 (fma.f64 #s(literal 2 binary64) %14 %24)) (approx %23 (fma.f64 x %19 %24)) (approx %17 (*.f64 %6 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 2 binary64) %31)))) (approx %23 (*.f64 %6 (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 2 binary64) %31 (/.f64 %24 %6))))) (approx %23 (*.f64 %6 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -2 binary64) y (*.f64 #s(literal -1 binary64) (/.f64 %24 x))) x))))) (approx y y) (approx %17 (fma.f64 #s(literal 2 binary64) %14 %6)) (approx %23 (fma.f64 y (+.f64 y %10) %6)) (approx %17 (*.f64 y (fma.f64 #s(literal 2 binary64) x %57))) (approx %23 (*.f64 %24 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 2 binary64) %61)))) (approx %23 (*.f64 %24 (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 2 binary64) %61 (/.f64 %6 %24))))) (approx %17 (*.f64 #s(literal -1 binary64) (*.f64 y %72))) (approx %23 (*.f64 %24 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 %72 y))))) |
6 calls:
| Time | Variable | Point |
|---|---|---|
| 3.0ms | x | inf |
| 2.0ms | y | inf |
| 2.0ms | x | -inf |
| 1.0ms | y | -inf |
| 1.0ms | x | 0 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 39 |
| 0 | 15 | 39 |
| 1 | 53 | 35 |
| 2 | 198 | 29 |
| 3 | 680 | 29 |
| 4 | 2247 | 29 |
| 0 | 4885 | 29 |
| 0 | 5172 | 28 |
| 1× | iter-limit |
| 1× | iter-limit |
| 1× | node-limit |
| 1× | iter-limit |
| Inputs |
|---|
%1 = (*.f64 x x) %3 = (*.f64 x #s(literal 2 binary64)) %5 = (*.f64 %3 y) %6 = (+.f64 %1 %5) %7 = (*.f64 y y) x %1 #s(literal 2 binary64) %3 y %5 %6 %7 (+.f64 %6 %7) |
| Outputs |
|---|
%1 = (+.f64 x x) %2 = (*.f64 x %1) %5 = (fabs.f64 x) %6 = (sqrt.f64 %5) %7 = (*.f64 %6 %5) %9 = (*.f64 %1 %1) %13 = (*.f64 #s(literal 1/2 binary64) x) %14 = (*.f64 %13 %13) %17 = (neg.f64 %5) %20 = (neg.f64 x) %23 = (*.f64 x x) %27 = (*.f64 %13 x) %35 = (*.f64 %23 %23) %58 = (*.f64 %20 x) %63 = (*.f64 %20 %17) %66 = (*.f64 x %17) %69 = (*.f64 %20 %5) %72 = (*.f64 x %5) %75 = (*.f64 %17 %20) %78 = (*.f64 %5 %20) %81 = (*.f64 %17 x) %84 = (*.f64 %5 x) %153 = (*.f64 x #s(literal 4 binary64)) %155 = (*.f64 %1 #s(literal 2 binary64)) %157 = (*.f64 #s(literal 2 binary64) %1) %161 = (*.f64 #s(literal 4 binary64) x) %164 = (fma.f64 #s(literal 2 binary64) x %1) %167 = (*.f64 #s(literal -2 binary64) x) %172 = (*.f64 #s(literal -1 binary64) %20) %183 = (*.f64 %1 #s(literal 0 binary64)) %185 = (*.f64 #s(literal 0 binary64) %1) %223 = (*.f64 y x) %224 = (*.f64 %223 #s(literal 4 binary64)) %226 = (+.f64 y y) %227 = (*.f64 %226 %1) %229 = (*.f64 %226 #s(literal 2 binary64)) %231 = (*.f64 y %1) %232 = (*.f64 %231 #s(literal 2 binary64)) %234 = (*.f64 %223 #s(literal 1/2 binary64)) %236 = (neg.f64 y) %237 = (*.f64 %236 %20) %239 = (*.f64 %20 %236) %241 = (*.f64 #s(literal 1/2 binary64) %223) %243 = (*.f64 %20 y) %246 = (*.f64 #s(literal 4 binary64) %223) %249 = (*.f64 #s(literal -2 binary64) y) %252 = (*.f64 %236 #s(literal 1 binary64)) %260 = (*.f64 %13 %226) %269 = (*.f64 %223 #s(literal -2 binary64)) %271 = (*.f64 %231 #s(literal 0 binary64)) %273 = (*.f64 #s(literal 0 binary64) %231) %324 = (*.f64 #s(literal 1/2 binary64) y) %330 = (*.f64 %13 y) %348 = (fma.f64 y #s(literal 2 binary64) x) %349 = (*.f64 %348 #s(literal 1 binary64)) %351 = (*.f64 %348 %1) %353 = (*.f64 %348 #s(literal 2 binary64)) %355 = (-.f64 %249 x) %357 = (*.f64 %348 x) %361 = (*.f64 #s(literal 1/2 binary64) %348) %363 = (*.f64 %13 %348) %369 = (*.f64 %355 x) %378 = (fma.f64 y x %23) %380 = (-.f64 %223 %58) %382 = (+.f64 y x) %383 = (*.f64 x %382) %385 = (*.f64 %382 x) %475 = (fabs.f64 y) %476 = (sqrt.f64 %475) %477 = (*.f64 %476 %475) %480 = (neg.f64 %475) %484 = (*.f64 y y) %488 = (*.f64 %484 %484) %508 = (*.f64 %236 y) %529 = (-.f64 %20 y) %531 = (*.f64 %382 %382) %547 = (fma.f64 y y %23) %550 = (fma.f64 #s(literal 2 binary64) x y) %551 = (*.f64 %550 y) %558 = (fma.f64 y x %547) %560 = (neg.f64 %547) %561 = (-.f64 %223 %560) %594 = (-.f64 %167 y) x (*.f64 %2 #s(literal 1/2 binary64)) (*.f64 %7 %6) (*.f64 %9 #s(literal 1/4 binary64)) (*.f64 #s(literal 4 binary64) %14) (*.f64 %6 %7) (*.f64 %17 %17) (*.f64 %5 %5) (*.f64 %20 %20) (*.f64 #s(literal 1 binary64) %23) (*.f64 %1 %13) (*.f64 #s(literal 2 binary64) %27) (*.f64 %23 #s(literal 1 binary64)) %23 (pow.f64 (*.f64 %17 #s(literal 1 binary64)) #s(literal 2 binary64)) (pow.f64 (pow.f64 x #s(literal 8 binary64)) #s(literal 1/4 binary64)) (pow.f64 %35 #s(literal 1/2 binary64)) (pow.f64 %6 #s(literal 4 binary64)) (pow.f64 %17 #s(literal 2 binary64)) (pow.f64 %5 #s(literal 2 binary64)) (pow.f64 %20 #s(literal 2 binary64)) (pow.f64 %23 #s(literal 1 binary64)) (pow.f64 x #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %35 #s(literal -1/2 binary64))) (/.f64 #s(literal 1 binary64) (pow.f64 %17 #s(literal -2 binary64))) (/.f64 #s(literal 1 binary64) (pow.f64 %5 #s(literal -2 binary64))) (/.f64 #s(literal 1 binary64) (pow.f64 %20 #s(literal -2 binary64))) (/.f64 #s(literal 1 binary64) (pow.f64 %23 #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal -2 binary64))) (neg.f64 %58) (sqrt.f64 (*.f64 %35 #s(literal 1 binary64))) (sqrt.f64 %35) (fabs.f64 (*.f64 #s(literal -1 binary64) %63)) (fabs.f64 (*.f64 #s(literal -1 binary64) %66)) (fabs.f64 (*.f64 #s(literal -1 binary64) %69)) (fabs.f64 (*.f64 #s(literal -1 binary64) %72)) (fabs.f64 (*.f64 #s(literal -1 binary64) %75)) (fabs.f64 (*.f64 #s(literal -1 binary64) %78)) (fabs.f64 (*.f64 #s(literal -1 binary64) %81)) (fabs.f64 (*.f64 #s(literal -1 binary64) %84)) (fabs.f64 (*.f64 #s(literal -1 binary64) %58)) (fabs.f64 (*.f64 #s(literal -1 binary64) %23)) (fabs.f64 (*.f64 #s(literal 1 binary64) %63)) (fabs.f64 (*.f64 #s(literal 1 binary64) %66)) (fabs.f64 (*.f64 #s(literal 1 binary64) %69)) (fabs.f64 (*.f64 #s(literal 1 binary64) %72)) (fabs.f64 (*.f64 #s(literal 1 binary64) %75)) (fabs.f64 (*.f64 #s(literal 1 binary64) %78)) (fabs.f64 (*.f64 #s(literal 1 binary64) %81)) (fabs.f64 (*.f64 #s(literal 1 binary64) %84)) (fabs.f64 (*.f64 %63 #s(literal -1 binary64))) (fabs.f64 (*.f64 %63 #s(literal 1 binary64))) (fabs.f64 (*.f64 %66 #s(literal -1 binary64))) (fabs.f64 (*.f64 %66 #s(literal 1 binary64))) (fabs.f64 (*.f64 %69 #s(literal -1 binary64))) (fabs.f64 (*.f64 %69 #s(literal 1 binary64))) (fabs.f64 (*.f64 %72 #s(literal -1 binary64))) (fabs.f64 (*.f64 %72 #s(literal 1 binary64))) (fabs.f64 (*.f64 %75 #s(literal -1 binary64))) (fabs.f64 (*.f64 %75 #s(literal 1 binary64))) (fabs.f64 (*.f64 %78 #s(literal -1 binary64))) (fabs.f64 (*.f64 %78 #s(literal 1 binary64))) (fabs.f64 (*.f64 %81 #s(literal -1 binary64))) (fabs.f64 (*.f64 %81 #s(literal 1 binary64))) (fabs.f64 (*.f64 %84 #s(literal -1 binary64))) (fabs.f64 (*.f64 %84 #s(literal 1 binary64))) (fabs.f64 (*.f64 %58 #s(literal -1 binary64))) (fabs.f64 (*.f64 %23 #s(literal -1 binary64))) (fabs.f64 %63) (fabs.f64 %66) (fabs.f64 %69) (fabs.f64 %72) (fabs.f64 %75) (fabs.f64 %78) (fabs.f64 %81) (fabs.f64 %84) (fabs.f64 %58) (fabs.f64 %23) #s(literal 2 binary64) (*.f64 %153 #s(literal 1/2 binary64)) (*.f64 %155 #s(literal 1/2 binary64)) (*.f64 %157 #s(literal 1/2 binary64)) (*.f64 %13 #s(literal 4 binary64)) (*.f64 #s(literal 4 binary64) %13) (*.f64 #s(literal 1/2 binary64) %161) (*.f64 #s(literal 1/2 binary64) %157) (*.f64 #s(literal 1/2 binary64) %164) (*.f64 #s(literal -2 binary64) %20) (*.f64 %167 #s(literal -1 binary64)) (*.f64 %20 #s(literal -2 binary64)) (*.f64 #s(literal 1 binary64) %1) (*.f64 %1 #s(literal 1 binary64)) (*.f64 #s(literal 2 binary64) %172) (*.f64 #s(literal 2 binary64) x) (*.f64 x #s(literal 2 binary64)) (pow.f64 %1 #s(literal 1 binary64)) (/.f64 %155 #s(literal 2 binary64)) (/.f64 %157 #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %1 #s(literal -1 binary64))) (neg.f64 %167) (fma.f64 %153 #s(literal 1/2 binary64) %183) (fma.f64 %153 #s(literal 1/2 binary64) %185) (fma.f64 %155 #s(literal 1/2 binary64) %183) (fma.f64 %155 #s(literal 1/2 binary64) %185) (fma.f64 %157 #s(literal 1/2 binary64) %183) (fma.f64 %157 #s(literal 1/2 binary64) %185) (fma.f64 %13 #s(literal 4 binary64) %183) (fma.f64 %13 #s(literal 4 binary64) %185) (fma.f64 #s(literal 4 binary64) %13 %183) (fma.f64 #s(literal 4 binary64) %13 %185) (fma.f64 #s(literal 1/2 binary64) %161 %183) (fma.f64 #s(literal 1/2 binary64) %161 %185) (fma.f64 #s(literal 1/2 binary64) %157 %183) (fma.f64 #s(literal 1/2 binary64) %157 %185) (fma.f64 #s(literal 1/2 binary64) %164 %183) (fma.f64 #s(literal 1/2 binary64) %164 %185) (fma.f64 #s(literal -2 binary64) %20 %183) (fma.f64 #s(literal -2 binary64) %20 %185) (fma.f64 #s(literal -1 binary64) %20 %172) (fma.f64 %167 #s(literal -1 binary64) %183) (fma.f64 %167 #s(literal -1 binary64) %185) (fma.f64 %20 #s(literal -2 binary64) %183) (fma.f64 %20 #s(literal -2 binary64) %185) (fma.f64 #s(literal 1 binary64) %1 %183) (fma.f64 #s(literal 1 binary64) %1 %185) (fma.f64 %1 #s(literal 1 binary64) %183) (fma.f64 %1 #s(literal 1 binary64) %185) (fma.f64 #s(literal 2 binary64) %172 %183) (fma.f64 #s(literal 2 binary64) %172 %185) (fma.f64 #s(literal 2 binary64) x %183) (fma.f64 #s(literal 2 binary64) x %185) (fma.f64 x #s(literal 2 binary64) %183) (fma.f64 x #s(literal 2 binary64) %185) (-.f64 x %20) (+.f64 %172 %172) (+.f64 %1 %183) (+.f64 %1 %185) %1 y (*.f64 %224 #s(literal 1/2 binary64)) (*.f64 %227 #s(literal 1/2 binary64)) (*.f64 %229 %13) (*.f64 %232 #s(literal 1/2 binary64)) (*.f64 %234 #s(literal 4 binary64)) (*.f64 %237 #s(literal 2 binary64)) (*.f64 %239 #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) %241) (*.f64 %243 #s(literal -2 binary64)) (*.f64 %223 #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) %246) (*.f64 #s(literal -2 binary64) %243) (*.f64 %249 %20) (*.f64 %226 x) (*.f64 %167 %252) (*.f64 %167 %236) (*.f64 %20 %249) (*.f64 %236 %167) (*.f64 #s(literal 1 binary64) %231) (*.f64 %231 #s(literal 1 binary64)) %231 (*.f64 %1 y) (*.f64 #s(literal 2 binary64) %260) (*.f64 #s(literal 2 binary64) %239) (*.f64 #s(literal 2 binary64) %223) (*.f64 x %226) (pow.f64 %231 #s(literal 1 binary64)) (/.f64 %232 #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %231 #s(literal -1 binary64))) (neg.f64 %269) (fma.f64 %224 #s(literal 1/2 binary64) %271) (fma.f64 %224 #s(literal 1/2 binary64) %273) (fma.f64 %227 #s(literal 1/2 binary64) %271) (fma.f64 %227 #s(literal 1/2 binary64) %273) (fma.f64 %229 %13 %271) (fma.f64 %229 %13 %273) (fma.f64 %232 #s(literal 1/2 binary64) %271) (fma.f64 %232 #s(literal 1/2 binary64) %273) (fma.f64 %234 #s(literal 4 binary64) %271) (fma.f64 %234 #s(literal 4 binary64) %273) (fma.f64 %234 #s(literal 2 binary64) %223) (fma.f64 %237 #s(literal 2 binary64) %271) (fma.f64 %237 #s(literal 2 binary64) %273) (fma.f64 %239 #s(literal 2 binary64) %271) (fma.f64 %239 #s(literal 2 binary64) %273) (fma.f64 #s(literal 4 binary64) %241 %271) (fma.f64 #s(literal 4 binary64) %241 %273) (fma.f64 %243 #s(literal -2 binary64) %271) (fma.f64 %243 #s(literal -2 binary64) %273) (fma.f64 %223 #s(literal 1 binary64) %223) (fma.f64 %223 #s(literal 2 binary64) %271) (fma.f64 %223 #s(literal 2 binary64) %273) (fma.f64 #s(literal 1/2 binary64) %246 %271) (fma.f64 #s(literal 1/2 binary64) %246 %273) (fma.f64 #s(literal 1/2 binary64) %231 %223) (fma.f64 #s(literal -2 binary64) %243 %271) (fma.f64 #s(literal -2 binary64) %243 %273) (fma.f64 %249 %20 %271) (fma.f64 %249 %20 %273) (fma.f64 %226 %13 %223) (fma.f64 %226 x %271) (fma.f64 %226 x %273) (fma.f64 %167 %252 %271) (fma.f64 %167 %252 %273) (fma.f64 %167 %236 %271) (fma.f64 %167 %236 %273) (fma.f64 %20 %249 %271) (fma.f64 %20 %249 %273) (fma.f64 %20 %236 %239) (fma.f64 %236 %167 %271) (fma.f64 %236 %167 %273) (fma.f64 %236 %20 %237) (fma.f64 #s(literal 1 binary64) %223 %223) (fma.f64 #s(literal 1 binary64) %231 %271) (fma.f64 #s(literal 1 binary64) %231 %273) (fma.f64 %231 #s(literal 1/2 binary64) %223) (fma.f64 %231 #s(literal 1 binary64) %271) (fma.f64 %231 #s(literal 1 binary64) %273) (fma.f64 y %1 %271) (fma.f64 y %1 %273) (fma.f64 y x %223) (fma.f64 %1 %324 %223) (fma.f64 %1 y %271) (fma.f64 %1 y %273) (fma.f64 #s(literal 2 binary64) %260 %271) (fma.f64 #s(literal 2 binary64) %260 %273) (fma.f64 #s(literal 2 binary64) %330 %223) (fma.f64 #s(literal 2 binary64) %241 %223) (fma.f64 #s(literal 2 binary64) %239 %271) (fma.f64 #s(literal 2 binary64) %239 %273) (fma.f64 #s(literal 2 binary64) %223 %271) (fma.f64 #s(literal 2 binary64) %223 %273) (fma.f64 x %226 %271) (fma.f64 x %226 %273) (fma.f64 x y %223) (-.f64 %223 (*.f64 #s(literal -1 binary64) %223)) (-.f64 %223 %243) (+.f64 %237 %237) (+.f64 %239 %239) (+.f64 %223 %223) (+.f64 %231 %271) (+.f64 %231 %273) (*.f64 %349 x) (*.f64 %351 #s(literal 1/2 binary64)) (*.f64 %353 %13) (*.f64 %355 %20) %357 (*.f64 %20 %355) (*.f64 #s(literal 1 binary64) %357) (*.f64 %357 #s(literal 1 binary64)) (*.f64 %1 %361) (*.f64 #s(literal 2 binary64) %363) (*.f64 x %348) (pow.f64 %357 #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %357 #s(literal -1 binary64))) (neg.f64 %369) (fma.f64 %224 #s(literal 1/2 binary64) %23) (fma.f64 %227 #s(literal 1/2 binary64) %23) (fma.f64 %2 #s(literal 1/2 binary64) %231) (fma.f64 %7 %6 %231) (fma.f64 %229 %13 %23) (fma.f64 %232 #s(literal 1/2 binary64) %23) (fma.f64 %234 #s(literal 4 binary64) %23) (fma.f64 %234 #s(literal 2 binary64) %378) (fma.f64 %234 #s(literal 2 binary64) %380) (fma.f64 %234 #s(literal 2 binary64) %383) (fma.f64 %234 #s(literal 2 binary64) %385) (fma.f64 %237 #s(literal 2 binary64) %23) (fma.f64 %239 #s(literal 2 binary64) %23) (fma.f64 %9 #s(literal 1/4 binary64) %231) (fma.f64 #s(literal 4 binary64) %241 %23) (fma.f64 #s(literal 4 binary64) %14 %231) (fma.f64 %243 #s(literal -2 binary64) %23) (fma.f64 %382 x %223) (fma.f64 %6 %7 %231) (fma.f64 %223 #s(literal 1 binary64) %378) (fma.f64 %223 #s(literal 1 binary64) %380) (fma.f64 %223 #s(literal 1 binary64) %383) (fma.f64 %223 #s(literal 1 binary64) %385) (fma.f64 %223 #s(literal 2 binary64) %23) (fma.f64 #s(literal 1/2 binary64) %246 %23) (fma.f64 #s(literal 1/2 binary64) %231 %378) (fma.f64 #s(literal 1/2 binary64) %231 %380) (fma.f64 #s(literal 1/2 binary64) %231 %383) (fma.f64 #s(literal 1/2 binary64) %231 %385) (fma.f64 #s(literal -2 binary64) %243 %23) (fma.f64 %249 %20 %23) (fma.f64 %17 %17 %231) (fma.f64 %226 %13 %378) (fma.f64 %226 %13 %380) (fma.f64 %226 %13 %383) (fma.f64 %226 %13 %385) (fma.f64 %226 x %23) (fma.f64 %167 %252 %23) (fma.f64 %167 %236 %23) (fma.f64 %5 %5 %231) (fma.f64 %20 %249 %23) (fma.f64 %20 %20 %231) (fma.f64 %236 %167 %23) (fma.f64 #s(literal 1 binary64) %223 %378) (fma.f64 #s(literal 1 binary64) %223 %380) (fma.f64 #s(literal 1 binary64) %223 %383) (fma.f64 #s(literal 1 binary64) %223 %385) (fma.f64 #s(literal 1 binary64) %231 %23) (fma.f64 #s(literal 1 binary64) %23 %231) (fma.f64 %231 #s(literal 1/2 binary64) %378) (fma.f64 %231 #s(literal 1/2 binary64) %380) (fma.f64 %231 #s(literal 1/2 binary64) %383) (fma.f64 %231 #s(literal 1/2 binary64) %385) (fma.f64 %231 #s(literal 1 binary64) %23) (fma.f64 y %1 %23) (fma.f64 y x %378) (fma.f64 y x %380) (fma.f64 y x %383) (fma.f64 y x %385) (fma.f64 %1 %324 %378) (fma.f64 %1 %324 %380) (fma.f64 %1 %324 %383) (fma.f64 %1 %324 %385) (fma.f64 %1 %13 %231) (fma.f64 %1 y %23) (fma.f64 #s(literal 2 binary64) %260 %23) (fma.f64 #s(literal 2 binary64) %330 %378) (fma.f64 #s(literal 2 binary64) %330 %380) (fma.f64 #s(literal 2 binary64) %330 %383) (fma.f64 #s(literal 2 binary64) %330 %385) (fma.f64 #s(literal 2 binary64) %27 %231) (fma.f64 #s(literal 2 binary64) %241 %378) (fma.f64 #s(literal 2 binary64) %241 %380) (fma.f64 #s(literal 2 binary64) %241 %383) (fma.f64 #s(literal 2 binary64) %241 %385) (fma.f64 #s(literal 2 binary64) %239 %23) (fma.f64 #s(literal 2 binary64) %223 %23) (fma.f64 %23 #s(literal 1 binary64) %231) (fma.f64 x %382 %223) (fma.f64 x %226 %23) (fma.f64 x y %378) (fma.f64 x y %380) (fma.f64 x y %383) (fma.f64 x y %385) (fma.f64 x x %231) (-.f64 (-.f64 %23 %243) %243) (-.f64 %231 %58) (-.f64 %23 %269) (+.f64 (fma.f64 x x %223) %223) (+.f64 %383 %223) (+.f64 %385 %223) (+.f64 %223 %378) (+.f64 %223 %380) (+.f64 %223 %383) (+.f64 %223 %385) (+.f64 %231 %23) (+.f64 %23 %231) (*.f64 %477 %476) (*.f64 %476 %477) (*.f64 %480 %480) (*.f64 %475 %475) (*.f64 %236 %236) (*.f64 #s(literal 1 binary64) %484) %484 (pow.f64 (pow.f64 y #s(literal 8 binary64)) #s(literal 1/4 binary64)) (pow.f64 %488 #s(literal 1/2 binary64)) (pow.f64 %476 #s(literal 4 binary64)) (pow.f64 %480 #s(literal 2 binary64)) (pow.f64 %475 #s(literal 2 binary64)) (pow.f64 %236 #s(literal 2 binary64)) (pow.f64 %484 #s(literal 1 binary64)) (pow.f64 y #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %488 #s(literal -1/2 binary64))) (/.f64 #s(literal 1 binary64) (pow.f64 %480 #s(literal -2 binary64))) (/.f64 #s(literal 1 binary64) (pow.f64 %475 #s(literal -2 binary64))) (/.f64 #s(literal 1 binary64) (pow.f64 %236 #s(literal -2 binary64))) (/.f64 #s(literal 1 binary64) (pow.f64 %484 #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal -2 binary64))) (neg.f64 %508) (sqrt.f64 %488) (fabs.f64 (*.f64 %236 %480)) (fabs.f64 (*.f64 y %480)) (fabs.f64 (*.f64 %236 %475)) (fabs.f64 (*.f64 y %475)) (fabs.f64 (*.f64 %480 %236)) (fabs.f64 (*.f64 %475 %236)) (fabs.f64 (*.f64 %480 y)) (fabs.f64 (*.f64 %475 y)) (fabs.f64 %508) (fabs.f64 %484) (*.f64 %529 %529) %531 (*.f64 #s(literal 1 binary64) %531) (pow.f64 %529 #s(literal 2 binary64)) (pow.f64 %382 #s(literal 2 binary64)) (pow.f64 %531 #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %529 #s(literal -2 binary64))) (/.f64 #s(literal 1 binary64) (pow.f64 %382 #s(literal -2 binary64))) (/.f64 #s(literal 1 binary64) (pow.f64 %531 #s(literal -1 binary64))) (neg.f64 (neg.f64 %531)) (fma.f64 %349 x %484) (fma.f64 %351 #s(literal 1/2 binary64) %484) (fma.f64 %353 %13 %484) (fma.f64 %224 #s(literal 1/2 binary64) %547) (fma.f64 %227 #s(literal 1/2 binary64) %547) (fma.f64 %2 #s(literal 1/2 binary64) %551) (fma.f64 %7 %6 %551) (fma.f64 %477 %476 %357) (fma.f64 %229 %13 %547) (fma.f64 %232 #s(literal 1/2 binary64) %547) (fma.f64 %234 #s(literal 4 binary64) %547) (fma.f64 %234 #s(literal 2 binary64) %558) (fma.f64 %234 #s(literal 2 binary64) %561) (fma.f64 %237 #s(literal 2 binary64) %547) (fma.f64 %239 #s(literal 2 binary64) %547) (fma.f64 %9 #s(literal 1/4 binary64) %551) (fma.f64 #s(literal 4 binary64) %241 %547) (fma.f64 #s(literal 4 binary64) %14 %551) (fma.f64 %355 %20 %484) (fma.f64 %243 #s(literal -2 binary64) %547) (fma.f64 %476 %477 %357) (fma.f64 %6 %7 %551) (fma.f64 %223 #s(literal 1 binary64) %558) (fma.f64 %223 #s(literal 1 binary64) %561) (fma.f64 %223 #s(literal 2 binary64) %547) (fma.f64 #s(literal 1/2 binary64) %246 %547) (fma.f64 #s(literal 1/2 binary64) %231 %558) (fma.f64 #s(literal 1/2 binary64) %231 %561) (fma.f64 %348 x %484) (fma.f64 %550 y %23) (fma.f64 #s(literal -2 binary64) %243 %547) (fma.f64 %249 %20 %547) (fma.f64 %17 %17 %551) (fma.f64 %480 %480 %357) (fma.f64 %226 %13 %558) (fma.f64 %226 %13 %561) (fma.f64 %226 x %547) (fma.f64 %167 %252 %547) (fma.f64 %167 %236 %547) (fma.f64 %5 %5 %551) (fma.f64 %475 %475 %357) (fma.f64 %20 %355 %484) (fma.f64 %20 %249 %547) (fma.f64 %20 %20 %551) (fma.f64 %236 %594 %23) (fma.f64 %236 %167 %547) (fma.f64 %236 %236 %357) (fma.f64 #s(literal 1 binary64) %547 %231) (fma.f64 #s(literal 1 binary64) %223 %558) (fma.f64 #s(literal 1 binary64) %223 %561) (fma.f64 #s(literal 1 binary64) %551 %23) (fma.f64 #s(literal 1 binary64) %484 %357) (fma.f64 #s(literal 1 binary64) %357 %484) (fma.f64 #s(literal 1 binary64) %231 %547) (fma.f64 #s(literal 1 binary64) %23 %551) (fma.f64 %357 #s(literal 1 binary64) %484) (fma.f64 %231 #s(literal 1/2 binary64) %558) (fma.f64 %231 #s(literal 1/2 binary64) %561) (fma.f64 %231 #s(literal 1 binary64) %547) (fma.f64 y %550 %23) (fma.f64 y y %357) (fma.f64 y %1 %547) (fma.f64 y x %558) (fma.f64 y x %561) (fma.f64 %1 %361 %484) (fma.f64 %1 %324 %558) (fma.f64 %1 %324 %561) (fma.f64 %1 %13 %551) (fma.f64 %1 y %547) (fma.f64 #s(literal 2 binary64) %363 %484) (fma.f64 #s(literal 2 binary64) %260 %547) (fma.f64 #s(literal 2 binary64) %330 %558) (fma.f64 #s(literal 2 binary64) %330 %561) (fma.f64 #s(literal 2 binary64) %27 %551) (fma.f64 #s(literal 2 binary64) %241 %558) (fma.f64 #s(literal 2 binary64) %241 %561) (fma.f64 #s(literal 2 binary64) %239 %547) (fma.f64 #s(literal 2 binary64) %223 %547) (fma.f64 %23 #s(literal 1 binary64) %551) (fma.f64 x %348 %484) (fma.f64 x %226 %547) (fma.f64 x y %558) (fma.f64 x y %561) (fma.f64 x x %551) (-.f64 (-.f64 %547 %243) %243) (-.f64 %547 %269) (-.f64 %551 %58) (-.f64 %484 %369) (-.f64 %357 %508) (-.f64 %231 %560) (-.f64 %23 (*.f64 %594 y)) (+.f64 (+.f64 %547 %223) %223) (+.f64 %547 %231) (+.f64 %223 %558) (+.f64 %223 %561) (+.f64 %551 %23) (+.f64 %484 %357) (+.f64 %357 %484) (+.f64 %231 %547) (+.f64 %23 %551) |
Compiled 515 to 698 computations (-35.5% saved)
Compiled 80 to 254 computations (-217.5% saved)
2 alts after pruning (2 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 78 | 2 | 80 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 79 | 2 | 81 |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 96.9% | (fma.f64 x x (*.f64 (fma.f64 #s(literal 2 binary64) x y) y)) |
| ▶ | 100.0% | %2 = (+.f64 y x) (*.f64 %2 %2) |
Compiled 2 to 8 computations (-300.0% saved)
| Inputs |
|---|
| Outputs |
|---|
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 114 | 446 |
| 1× | iter-limit |
| Inputs |
|---|
%3 = (+.f64 y x) %5 = (fma.f64 #s(literal 2 binary64) x y) %6 = (*.f64 %5 y) x #s(literal 2 binary64) y %3 (*.f64 %3 %3) %5 %6 (fma.f64 x x %6) |
| Outputs |
|---|
%5 = (+ y x) %9 = (* %5 %5) %11 = (pow.f64 y #s(literal 2 binary64)) %13 = (*.f64 x y) %22 = (+ (* 2 x) y) %23 = (*.f64 #s(literal 2 binary64) x) %24 = (+.f64 y %23) %27 = (/.f64 y x) %31 = (pow.f64 x #s(literal 2 binary64)) %46 = (* %22 y) %49 = (/.f64 %11 x) %54 = (*.f64 #s(literal -1 binary64) %27) %61 = (fma.f64 #s(literal -2 binary64) y (*.f64 #s(literal -1 binary64) %49)) %80 = (/.f64 x y) %85 = (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 2 binary64) %80)) (approx x #s(literal 0 binary64)) (approx x x) (approx %5 y) (approx %5 (+.f64 x y)) (approx %9 %11) (approx %9 (fma.f64 #s(literal 2 binary64) %13 %11)) (approx %9 (fma.f64 x (+.f64 x (*.f64 #s(literal 2 binary64) y)) %11)) (approx %22 %24) (approx %5 (*.f64 x (+.f64 #s(literal 1 binary64) %27))) (approx %9 %31) (approx %9 (*.f64 %31 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 2 binary64) %27)))) (approx %9 (*.f64 %31 (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 2 binary64) %27 (/.f64 %11 %31))))) (approx %22 %23) (approx %22 (*.f64 x (+.f64 #s(literal 2 binary64) %27))) (approx %46 (*.f64 #s(literal 2 binary64) %13)) (approx %46 (*.f64 x (fma.f64 #s(literal 2 binary64) y %49))) (approx %5 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 %54 #s(literal 1 binary64))))) (approx %9 (*.f64 %31 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 %61 x))))) (approx %22 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 %54 #s(literal 2 binary64))))) (approx %46 (*.f64 #s(literal -1 binary64) (*.f64 x %61))) (approx %9 (fma.f64 #s(literal 2 binary64) %13 %31)) (approx %9 (fma.f64 y %24 %31)) (approx %46 (*.f64 y %24)) (approx %5 (*.f64 y (+.f64 #s(literal 1 binary64) %80))) (approx %9 (*.f64 %11 %85)) (approx %9 (*.f64 %11 (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 2 binary64) %80 (/.f64 %31 %11))))) (approx %22 (*.f64 y %85)) (approx %5 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) %80) #s(literal 1 binary64))))) (approx %9 (*.f64 %11 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -2 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 %31 y))) y))))) (approx %22 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -2 binary64) %80) #s(literal 1 binary64))))) |
6 calls:
| Time | Variable | Point |
|---|---|---|
| 1.0ms | y | inf |
| 1.0ms | y | -inf |
| 1.0ms | x | -inf |
| 1.0ms | x | inf |
| 0.0ms | x | 0 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 32 |
| 0 | 15 | 26 |
| 1 | 57 | 26 |
| 2 | 203 | 26 |
| 3 | 787 | 26 |
| 4 | 2646 | 26 |
| 0 | 4019 | 26 |
| 0 | 4341 | 26 |
| 1× | iter-limit |
| 1× | iter-limit |
| 1× | node-limit |
| 1× | iter-limit |
| Inputs |
|---|
%3 = (+.f64 y x) %5 = (fma.f64 #s(literal 2 binary64) x y) %6 = (*.f64 %5 y) x #s(literal 2 binary64) y %3 (*.f64 %3 %3) %5 %6 (fma.f64 x x %6) |
| Outputs |
|---|
%4 = (+.f64 y x) %10 = (neg.f64 %4) %12 = (neg.f64 x) %14 = (neg.f64 y) %17 = (fabs.f64 %4) %18 = (sqrt.f64 %17) %19 = (*.f64 %18 %17) %20 = (*.f64 %19 %18) %21 = (*.f64 %18 %19) %22 = (neg.f64 %17) %23 = (*.f64 %22 %22) %24 = (*.f64 %17 %17) %25 = (*.f64 %10 %10) %26 = (*.f64 %4 %4) %27 = (*.f64 #s(literal 1 binary64) %26) %31 = (pow.f64 (pow.f64 %4 #s(literal 8 binary64)) #s(literal 1/4 binary64)) %32 = (*.f64 %26 %26) %34 = (pow.f64 %32 #s(literal 1/2 binary64)) %36 = (pow.f64 %18 #s(literal 4 binary64)) %37 = (pow.f64 %22 #s(literal 2 binary64)) %38 = (pow.f64 %17 #s(literal 2 binary64)) %39 = (pow.f64 %10 #s(literal 2 binary64)) %40 = (pow.f64 %26 #s(literal 1 binary64)) %41 = (pow.f64 %4 #s(literal 2 binary64)) %44 = (/.f64 #s(literal 1 binary64) (pow.f64 %32 #s(literal -1/2 binary64))) %47 = (/.f64 #s(literal 1 binary64) (pow.f64 %22 #s(literal -2 binary64))) %49 = (/.f64 #s(literal 1 binary64) (pow.f64 %17 #s(literal -2 binary64))) %51 = (/.f64 #s(literal 1 binary64) (pow.f64 %10 #s(literal -2 binary64))) %53 = (/.f64 #s(literal 1 binary64) (pow.f64 %26 #s(literal -1 binary64))) %55 = (/.f64 #s(literal 1 binary64) (pow.f64 %4 #s(literal -2 binary64))) %56 = (*.f64 %10 %4) %57 = (neg.f64 %56) %58 = (+.f64 x x) %60 = (fma.f64 #s(literal 2 binary64) x y) %61 = (*.f64 %60 y) %62 = (fma.f64 (*.f64 x %58) #s(literal 1/2 binary64) %61) %64 = (*.f64 %4 y) %65 = (fma.f64 (*.f64 %4 #s(literal 1 binary64)) x %64) %67 = (fma.f64 (*.f64 %4 %58) #s(literal 1/2 binary64) %64) %69 = (*.f64 #s(literal 1/2 binary64) x) %70 = (fma.f64 (*.f64 %4 #s(literal 2 binary64)) %69 %64) %71 = (+.f64 y y) %72 = (*.f64 %71 %58) %73 = (*.f64 x x) %74 = (fma.f64 y y %73) %75 = (fma.f64 %72 #s(literal 1/2 binary64) %74) %76 = (*.f64 %71 #s(literal 2 binary64)) %77 = (fma.f64 %76 %69 %74) %78 = (*.f64 y x) %79 = (*.f64 %78 #s(literal 4 binary64)) %80 = (fma.f64 %79 #s(literal 1/2 binary64) %74) %81 = (*.f64 %78 #s(literal 1/2 binary64)) %82 = (fma.f64 %81 #s(literal 4 binary64) %74) %83 = (fabs.f64 x) %84 = (sqrt.f64 %83) %85 = (*.f64 %84 %83) %86 = (fma.f64 %85 %84 %61) %87 = (*.f64 y #s(literal 1 binary64)) %88 = (fma.f64 %87 %58 %74) %89 = (fma.f64 %4 y %73) %90 = (fma.f64 %87 x %89) %91 = (*.f64 #s(literal -2 binary64) y) %92 = (fma.f64 %91 %12 %74) %93 = (*.f64 #s(literal 2 binary64) %14) %94 = (fma.f64 %93 %12 %74) %95 = (neg.f64 %71) %96 = (fma.f64 %95 %12 %74) %98 = (fma.f64 (*.f64 %58 %58) #s(literal 1/4 binary64) %61) %99 = (fabs.f64 y) %100 = (fabs.f64 %99) %101 = (fma.f64 y #s(literal 2 binary64) x) %102 = (*.f64 x %101) %103 = (fma.f64 %100 %100 %102) %104 = (neg.f64 %99) %105 = (fma.f64 %104 %104 %102) %106 = (fma.f64 %71 %69 %89) %107 = (fma.f64 %71 x %74) %108 = (*.f64 #s(literal 1/2 binary64) %78) %109 = (fma.f64 #s(literal 4 binary64) %108 %74) %111 = (fma.f64 #s(literal 4 binary64) (*.f64 %69 %69) %61) %112 = (*.f64 %14 x) %113 = (fma.f64 %112 #s(literal -2 binary64) %74) %114 = (fma.f64 %99 %99 %102) %115 = (fma.f64 %84 %85 %61) %116 = (*.f64 #s(literal 4 binary64) %78) %117 = (fma.f64 #s(literal 1/2 binary64) %116 %74) %118 = (*.f64 %58 y) %119 = (fma.f64 #s(literal 1/2 binary64) %118 %89) %120 = (fma.f64 %118 #s(literal 1/2 binary64) %89) %121 = (fma.f64 %118 #s(literal 1 binary64) %74) %122 = (fma.f64 #s(literal -2 binary64) %112 %74) %123 = (*.f64 #s(literal -2 binary64) x) %124 = (fma.f64 %123 %14 %74) %125 = (fma.f64 %78 #s(literal 1 binary64) %89) %126 = (fma.f64 %78 #s(literal 2 binary64) %74) %127 = (neg.f64 %83) %128 = (fma.f64 %127 %127 %61) %129 = (*.f64 %4 x) %130 = (fma.f64 %129 #s(literal 1 binary64) %64) %131 = (-.f64 %123 y) %132 = (fma.f64 %131 %14 %73) %133 = (fma.f64 %14 %131 %73) %134 = (fma.f64 %14 %14 %102) %135 = (fma.f64 %14 %10 %129) %136 = (fma.f64 %14 %12 %89) %137 = (fma.f64 %83 %83 %61) %138 = (fma.f64 %10 %14 %129) %139 = (fma.f64 %10 %12 %64) %141 = (*.f64 y y) %142 = (fma.f64 %12 (-.f64 %12 %71) %141) %143 = (fma.f64 %12 %14 %89) %144 = (fma.f64 %12 %10 %64) %145 = (fma.f64 %12 %12 %61) %146 = (fma.f64 #s(literal 1 binary64) %74 %118) %147 = (fma.f64 #s(literal 1 binary64) %89 %78) %148 = (fma.f64 #s(literal 1 binary64) %118 %74) %149 = (fma.f64 #s(literal 1 binary64) %141 %102) %150 = (fma.f64 #s(literal 1 binary64) %78 %89) %151 = (fma.f64 #s(literal 1 binary64) %102 %141) %152 = (fma.f64 #s(literal 1 binary64) %129 %64) %153 = (fma.f64 #s(literal 1 binary64) %64 %129) %154 = (fma.f64 #s(literal 1 binary64) %73 %61) %155 = (fma.f64 #s(literal 1 binary64) %61 %73) %156 = (fma.f64 %73 #s(literal 1 binary64) %61) %157 = (*.f64 #s(literal 1/2 binary64) y) %158 = (fma.f64 %58 %157 %89) %160 = (fma.f64 %58 (*.f64 #s(literal 1/2 binary64) %4) %64) %161 = (*.f64 #s(literal 1/2 binary64) %71) %162 = (fma.f64 %58 %161 %74) %163 = (fma.f64 %58 %69 %61) %164 = (fma.f64 %58 y %74) %165 = (fma.f64 %60 y %73) %166 = (fma.f64 %4 y %129) %167 = (fma.f64 %4 x %64) %168 = (fma.f64 y %58 %74) %169 = (fma.f64 y %60 %73) %170 = (fma.f64 y %4 %129) %171 = (fma.f64 y y %102) %172 = (fma.f64 y x %89) %174 = (fma.f64 #s(literal 2 binary64) (*.f64 %69 x) %61) %175 = (*.f64 %69 y) %176 = (fma.f64 #s(literal 2 binary64) %175 %89) %178 = (fma.f64 #s(literal 2 binary64) (*.f64 %69 %4) %64) %179 = (fma.f64 #s(literal 2 binary64) %108 %89) %180 = (*.f64 %69 %71) %181 = (fma.f64 #s(literal 2 binary64) %180 %74) %182 = (*.f64 #s(literal -1 binary64) %112) %183 = (fma.f64 #s(literal 2 binary64) %182 %74) %184 = (fma.f64 #s(literal 2 binary64) %78 %74) %186 = (fma.f64 x (+.f64 %4 y) %141) %188 = (fma.f64 x (+.f64 y %4) %141) %189 = (fma.f64 x %101 %141) %191 = (fma.f64 x (+.f64 x %71) %141) %193 = (fma.f64 x (-.f64 y %10) %141) %195 = (fma.f64 x (-.f64 %71 %12) %141) %196 = (fma.f64 x %71 %74) %197 = (fma.f64 x %4 %64) %198 = (fma.f64 x y %89) %199 = (fma.f64 x x %61) %200 = (*.f64 %91 x) %201 = (-.f64 %74 %200) %202 = (-.f64 %89 %112) %203 = (*.f64 %14 y) %205 = (-.f64 %118 (-.f64 %203 %73)) %206 = (*.f64 %12 x) %208 = (-.f64 %118 (fma.f64 %14 y %206)) %210 = (-.f64 %118 (neg.f64 %74)) %212 = (-.f64 %141 (-.f64 %112 %129)) %214 = (-.f64 %141 (neg.f64 %102)) %216 = (-.f64 %78 (-.f64 %203 %129)) %218 = (-.f64 %78 (-.f64 %206 %64)) %219 = (*.f64 %10 x) %221 = (-.f64 %78 (fma.f64 %14 y %219)) %222 = (*.f64 %14 %4) %224 = (-.f64 %78 (fma.f64 %12 x %222)) %226 = (-.f64 %78 (neg.f64 %89)) %227 = (-.f64 %102 %203) %228 = (-.f64 %129 %222) %229 = (-.f64 %64 %219) %230 = (*.f64 %131 y) %231 = (-.f64 %73 %230) %232 = (-.f64 %61 %206) %233 = (sqrt.f64 %32) %235 = (fabs.f64 (*.f64 %10 %22)) %237 = (fabs.f64 (*.f64 %4 %22)) %239 = (fabs.f64 (*.f64 %10 %17)) %241 = (fabs.f64 (*.f64 %4 %17)) %243 = (fabs.f64 (*.f64 %22 %10)) %245 = (fabs.f64 (*.f64 %17 %10)) %247 = (fabs.f64 (*.f64 %22 %4)) %249 = (fabs.f64 (*.f64 %17 %4)) %250 = (fabs.f64 %56) %251 = (fabs.f64 %26) %252 = (+.f64 %74 %118) %253 = (+.f64 %89 %78) %254 = (+.f64 %118 %74) %255 = (+.f64 %141 %102) %256 = (+.f64 %78 %89) %257 = (+.f64 %102 %141) %258 = (+.f64 %129 %64) %259 = (+.f64 %64 %129) %260 = (+.f64 %73 %61) %261 = (+.f64 %61 %73) %271 = (*.f64 #s(literal 2 binary64) %58) %312 = (*.f64 %14 %123) x #s(literal 2 binary64) y (*.f64 #s(literal 1 binary64) %4) (pow.f64 %4 #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %4 #s(literal -1 binary64))) (neg.f64 %10) (-.f64 y %12) (-.f64 x %14) %4 (+.f64 x y) %20 %21 %23 %24 %25 %27 %26 %31 %34 %36 %37 %38 %39 %40 %41 %44 %47 %49 %51 %53 %55 %57 %62 %65 %67 %70 %75 %77 %80 %82 %86 %88 %90 %92 %94 %96 %98 %103 %105 %106 %107 %109 %111 %113 %114 %115 %117 %119 %120 %121 %122 %124 %125 %126 %128 %130 %132 %133 %134 %135 %136 %137 %138 %139 %142 %143 %144 %145 %146 %147 %148 %149 %150 %151 %152 %153 %154 %155 %156 %158 %160 %162 %163 %164 %165 %166 %167 %168 %169 %170 %171 %172 %174 %176 %178 %179 %181 %183 %184 %186 %188 %189 %191 %193 %195 %196 %197 %198 %199 %201 %202 %205 %208 %210 %212 %214 %216 %218 %221 %224 %226 %227 %228 %229 %231 %232 %233 %235 %237 %239 %241 %243 %245 %247 %249 %250 %251 %252 %253 %254 %255 %256 %257 %258 %259 %260 %261 (*.f64 #s(literal 1 binary64) %60) (pow.f64 %60 #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %60 #s(literal -1 binary64))) (neg.f64 %131) (fma.f64 (*.f64 x #s(literal 4 binary64)) #s(literal 1/2 binary64) y) (fma.f64 (*.f64 %58 #s(literal 2 binary64)) #s(literal 1/2 binary64) y) (fma.f64 %271 #s(literal 1/2 binary64) y) (fma.f64 %69 #s(literal 4 binary64) y) (fma.f64 #s(literal 4 binary64) %69 y) (fma.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 4 binary64) x) y) (fma.f64 #s(literal 1/2 binary64) %271 y) (fma.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 2 binary64) x %58) y) (fma.f64 #s(literal -2 binary64) %12 y) (fma.f64 %123 #s(literal -1 binary64) y) (fma.f64 %12 #s(literal -2 binary64) y) (fma.f64 #s(literal 1 binary64) %58 y) (fma.f64 #s(literal 1 binary64) %4 x) (fma.f64 %58 #s(literal 1 binary64) y) %60 (fma.f64 x #s(literal 2 binary64) y) (-.f64 %58 %14) (-.f64 %4 %12) (-.f64 y %123) (-.f64 x %10) (+.f64 %58 y) (+.f64 %4 x) (+.f64 y %58) (+.f64 x %4) (*.f64 %131 %14) (*.f64 %14 %131) (*.f64 #s(literal 1 binary64) %61) %61 (*.f64 y %60) (pow.f64 %61 #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %61 #s(literal -1 binary64))) (neg.f64 %230) (fma.f64 %72 #s(literal 1/2 binary64) %141) (fma.f64 %76 %69 %141) (fma.f64 %79 #s(literal 1/2 binary64) %141) (fma.f64 %81 #s(literal 4 binary64) %141) (fma.f64 %87 %58 %141) (fma.f64 %87 x %64) (fma.f64 %91 %12 %141) (fma.f64 %93 %12 %141) (fma.f64 %95 %12 %141) (fma.f64 %100 %100 %312) (fma.f64 %100 %100 %118) (fma.f64 %104 %104 %312) (fma.f64 %104 %104 %118) (fma.f64 %71 %69 %64) (fma.f64 %71 x %141) (fma.f64 #s(literal 4 binary64) %108 %141) (fma.f64 %112 #s(literal -2 binary64) %141) (fma.f64 %99 %99 %312) (fma.f64 %99 %99 %118) (fma.f64 #s(literal 1/2 binary64) %116 %141) (fma.f64 #s(literal 1/2 binary64) %118 %64) (fma.f64 %118 #s(literal 1/2 binary64) %64) (fma.f64 %118 #s(literal 1 binary64) %141) (fma.f64 #s(literal -2 binary64) %112 %141) (fma.f64 %123 %14 %141) (fma.f64 %78 #s(literal 1 binary64) %64) (fma.f64 %78 #s(literal 2 binary64) %141) (fma.f64 %14 %123 %141) (fma.f64 %14 %14 %312) (fma.f64 %14 %14 %118) (fma.f64 %14 %10 %78) (fma.f64 %14 %12 %64) (fma.f64 %10 %14 %78) (fma.f64 %12 %14 %64) (fma.f64 #s(literal 1 binary64) %118 %141) (fma.f64 #s(literal 1 binary64) %141 %312) (fma.f64 #s(literal 1 binary64) %141 %118) (fma.f64 #s(literal 1 binary64) %78 %64) (fma.f64 #s(literal 1 binary64) %64 %78) (fma.f64 %58 %157 %64) (fma.f64 %58 %161 %141) (fma.f64 %58 y %141) (fma.f64 %4 y %78) (fma.f64 y %58 %141) (fma.f64 y %4 %78) (fma.f64 y y %312) (fma.f64 y y %118) (fma.f64 y x %64) (fma.f64 #s(literal 2 binary64) %175 %64) (fma.f64 #s(literal 2 binary64) %108 %64) (fma.f64 #s(literal 2 binary64) %180 %141) (fma.f64 #s(literal 2 binary64) %182 %141) (fma.f64 #s(literal 2 binary64) %78 %141) (fma.f64 x %71 %141) (fma.f64 x y %64) (-.f64 %118 %203) (-.f64 %141 %200) (-.f64 %78 %222) (-.f64 %64 %112) (+.f64 %312 %141) (+.f64 %118 %141) (+.f64 %141 %312) (+.f64 %141 %118) (+.f64 %78 %64) (+.f64 %64 %78) %20 %21 %23 %24 %25 %27 %26 %31 %34 %36 %37 %38 %39 %40 %41 %44 %47 %49 %51 %53 %55 %57 %62 %65 %67 %70 %75 %77 %80 %82 %86 %88 %90 %92 %94 %96 %98 %103 %105 %106 %107 %109 %111 %113 %114 %115 %117 %119 %120 %121 %122 %124 %125 %126 %128 %130 %132 %133 %134 %135 %136 %137 %138 %139 %142 %143 %144 %145 %146 %147 %148 %149 %150 %151 %152 %153 %154 %155 %156 %158 %160 %162 %163 %164 %165 %166 %167 %168 %169 %170 %171 %172 %174 %176 %178 %179 %181 %183 %184 %186 %188 %189 %191 %193 %195 %196 %197 %198 %199 %201 %202 %205 %208 %210 %212 %214 %216 %218 %221 %224 %226 %227 %228 %229 %231 %232 %233 %235 %237 %239 %241 %243 %245 %247 %249 %250 %251 %252 %253 %254 %255 %256 %257 %258 %259 %260 %261 |
Compiled 436 to 439 computations (-0.7% saved)
Compiled 61 to 172 computations (-182.0% saved)
4 alts after pruning (2 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 59 | 2 | 61 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 2 | 2 |
| Done | 0 | 0 | 0 |
| Total | 59 | 4 | 63 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 96.9% | (fma.f64 x x (*.f64 (fma.f64 #s(literal 2 binary64) x y) y)) |
| ▶ | 53.0% | (fma.f64 x x (*.f64 (approx (+ (* 2 x) y) (*.f64 #s(literal 2 binary64) x)) y)) |
| ✓ | 100.0% | %5 = (+.f64 y x) (*.f64 %5 %5) |
| ▶ | 57.4% | %3 = (approx (+ y x) y) (*.f64 %3 %3) |
Compiled 4 to 12 computations (-200.0% saved)
| Inputs |
|---|
| Outputs |
|---|
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 115 | 460 |
| 1× | iter-limit |
| Inputs |
|---|
%3 = (*.f64 #s(literal 2 binary64) x) %5 = (approx (+ y x) y) %9 = (approx (+ (* 2 x) y) %3) %10 = (*.f64 %9 y) x #s(literal 2 binary64) y %3 %5 %9 %10 (fma.f64 x x %10) (*.f64 %5 %5) |
| Outputs |
|---|
%5 = (* 2 x) %7 = (*.f64 #s(literal 2 binary64) x) %10 = (+ y x) %14 = (+ %5 y) %15 = (+.f64 y %7) %17 = (* %14 y) %18 = (pow.f64 y #s(literal 2 binary64)) %20 = (*.f64 x y) %24 = (+ (* x x) %17) %30 = (/.f64 y x) %39 = (/.f64 %18 x) %43 = (pow.f64 x #s(literal 2 binary64)) %55 = (*.f64 #s(literal -1 binary64) %30) %66 = (fma.f64 #s(literal -2 binary64) y (*.f64 #s(literal -1 binary64) %39)) %81 = (/.f64 x y) %86 = (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 2 binary64) %81)) (approx x #s(literal 0 binary64)) (approx x x) (approx %5 %7) (approx %10 y) (approx %10 (+.f64 x y)) (approx %14 %15) (approx %17 %18) (approx %17 (fma.f64 #s(literal 2 binary64) %20 %18)) (approx %24 (fma.f64 x (+.f64 x (*.f64 #s(literal 2 binary64) y)) %18)) (approx %10 (*.f64 x (+.f64 #s(literal 1 binary64) %30))) (approx %14 (*.f64 x (+.f64 #s(literal 2 binary64) %30))) (approx %17 (*.f64 #s(literal 2 binary64) %20)) (approx %17 (*.f64 x (fma.f64 #s(literal 2 binary64) y %39))) (approx %24 %43) (approx %24 (*.f64 %43 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 2 binary64) %30)))) (approx %24 (*.f64 %43 (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 2 binary64) %30 (/.f64 %18 %43))))) (approx %10 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 %55 #s(literal 1 binary64))))) (approx %14 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 %55 #s(literal 2 binary64))))) (approx %17 (*.f64 #s(literal -1 binary64) (*.f64 x %66))) (approx %24 (*.f64 %43 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 %66 x))))) (approx %17 (*.f64 y %15)) (approx %24 (fma.f64 #s(literal 2 binary64) %20 %43)) (approx %24 (fma.f64 y %15 %43)) (approx %10 (*.f64 y (+.f64 #s(literal 1 binary64) %81))) (approx %14 (*.f64 y %86)) (approx %17 (*.f64 %18 %86)) (approx %24 (*.f64 %18 (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 2 binary64) %81 (/.f64 %43 %18))))) (approx %10 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) %81) #s(literal 1 binary64))))) (approx %14 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -2 binary64) %81) #s(literal 1 binary64))))) (approx %24 (*.f64 %18 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -2 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 %43 y))) y))))) |
6 calls:
| Time | Variable | Point |
|---|---|---|
| 1.0ms | x | -inf |
| 1.0ms | x | inf |
| 1.0ms | y | inf |
| 1.0ms | y | -inf |
| 0.0ms | x | 0 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 12 | 56 |
| 0 | 17 | 52 |
| 1 | 55 | 52 |
| 2 | 153 | 52 |
| 3 | 430 | 52 |
| 4 | 1317 | 52 |
| 0 | 4032 | 52 |
| 0 | 4285 | 49 |
| 1× | iter-limit |
| 1× | iter-limit |
| 1× | node-limit |
| 1× | iter-limit |
| Inputs |
|---|
%3 = (*.f64 #s(literal 2 binary64) x) %5 = (approx (+ y x) y) %9 = (approx (+ (* 2 x) y) %3) %10 = (*.f64 %9 y) x #s(literal 2 binary64) y %3 %5 %9 %10 (fma.f64 x x %10) (*.f64 %5 %5) |
| Outputs |
|---|
%4 = (*.f64 x #s(literal 4 binary64)) %7 = (+.f64 x x) %8 = (*.f64 %7 #s(literal 2 binary64)) %10 = (*.f64 #s(literal 2 binary64) %7) %12 = (*.f64 #s(literal 1/2 binary64) x) %15 = (*.f64 #s(literal 4 binary64) x) %18 = (fma.f64 #s(literal 2 binary64) x %7) %21 = (neg.f64 x) %23 = (*.f64 #s(literal -2 binary64) x) %39 = (*.f64 %7 #s(literal 0 binary64)) %41 = (*.f64 #s(literal 0 binary64) %7) %74 = (+ y x) %75 = (approx %74 y) %80 = (neg.f64 %75) %83 = (approx (+ %74 x) %7) %88 = (neg.f64 %83) %90 = (neg.f64 y) %93 = (*.f64 %83 y) %99 = (*.f64 %88 y) %101 = (fma.f64 x x %93) %111 = (*.f64 x %7) %114 = (*.f64 %7 %7) %119 = (fabs.f64 x) %120 = (sqrt.f64 %119) %121 = (*.f64 %120 %119) %123 = (*.f64 %21 #s(literal -1 binary64)) %125 = (*.f64 #s(literal -1 binary64) %21) %131 = (*.f64 %12 %12) %136 = (neg.f64 %119) %138 = (*.f64 x x) %152 = (*.f64 %12 x) %161 = (fabs.f64 %75) %162 = (sqrt.f64 %161) %163 = (*.f64 %162 %161) %166 = (neg.f64 %161) %170 = (*.f64 %75 %75) %175 = (*.f64 %170 %170) %196 = (*.f64 %80 %75) %199 = (*.f64 %80 %166) %202 = (*.f64 %75 %166) %205 = (*.f64 %80 %161) %208 = (*.f64 %75 %161) %211 = (*.f64 %166 %80) %214 = (*.f64 %161 %80) %217 = (*.f64 %166 %75) %220 = (*.f64 %161 %75) x #s(literal 2 binary64) y (*.f64 %4 #s(literal 1/2 binary64)) (*.f64 %8 #s(literal 1/2 binary64)) (*.f64 %10 #s(literal 1/2 binary64)) (*.f64 %12 #s(literal 4 binary64)) (*.f64 #s(literal 4 binary64) %12) (*.f64 #s(literal 1/2 binary64) %15) (*.f64 #s(literal 1/2 binary64) %10) (*.f64 #s(literal 1/2 binary64) %18) (*.f64 #s(literal -2 binary64) %21) (*.f64 %23 #s(literal -1 binary64)) (*.f64 %21 #s(literal -2 binary64)) (*.f64 #s(literal 1 binary64) %7) (*.f64 %7 #s(literal 1 binary64)) (*.f64 #s(literal 2 binary64) x) (*.f64 x #s(literal 2 binary64)) (pow.f64 %7 #s(literal 1 binary64)) (/.f64 %8 #s(literal 2 binary64)) (/.f64 %10 #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %7 #s(literal -1 binary64))) (neg.f64 %23) (fma.f64 %4 #s(literal 1/2 binary64) %39) (fma.f64 %4 #s(literal 1/2 binary64) %41) (fma.f64 %8 #s(literal 1/2 binary64) %39) (fma.f64 %8 #s(literal 1/2 binary64) %41) (fma.f64 %10 #s(literal 1/2 binary64) %39) (fma.f64 %10 #s(literal 1/2 binary64) %41) (fma.f64 %12 #s(literal 4 binary64) %39) (fma.f64 %12 #s(literal 4 binary64) %41) (fma.f64 #s(literal 4 binary64) %12 %39) (fma.f64 #s(literal 4 binary64) %12 %41) (fma.f64 #s(literal 1/2 binary64) %15 %39) (fma.f64 #s(literal 1/2 binary64) %15 %41) (fma.f64 #s(literal 1/2 binary64) %10 %39) (fma.f64 #s(literal 1/2 binary64) %10 %41) (fma.f64 #s(literal 1/2 binary64) %18 %39) (fma.f64 #s(literal 1/2 binary64) %18 %41) (fma.f64 #s(literal -2 binary64) %21 %39) (fma.f64 #s(literal -2 binary64) %21 %41) (fma.f64 %23 #s(literal -1 binary64) %39) (fma.f64 %23 #s(literal -1 binary64) %41) (fma.f64 %21 #s(literal -2 binary64) %39) (fma.f64 %21 #s(literal -2 binary64) %41) (fma.f64 #s(literal 1 binary64) %7 %39) (fma.f64 #s(literal 1 binary64) %7 %41) (fma.f64 %7 #s(literal 1 binary64) %39) (fma.f64 %7 #s(literal 1 binary64) %41) (fma.f64 #s(literal 2 binary64) x %39) (fma.f64 #s(literal 2 binary64) x %41) (fma.f64 x #s(literal 2 binary64) %39) (fma.f64 x #s(literal 2 binary64) %41) (-.f64 x %21) (+.f64 %7 %39) (+.f64 %7 %41) %7 (*.f64 #s(literal 1 binary64) %75) (pow.f64 %75 #s(literal 1 binary64)) %75 (/.f64 #s(literal 1 binary64) (pow.f64 %75 #s(literal -1 binary64))) (neg.f64 %80) (*.f64 #s(literal 1 binary64) %83) (pow.f64 %83 #s(literal 1 binary64)) %83 (/.f64 #s(literal 1 binary64) (pow.f64 %83 #s(literal -1 binary64))) (neg.f64 %88) (*.f64 %88 %90) (*.f64 %90 %88) (*.f64 #s(literal 1 binary64) %93) %93 (*.f64 y %83) (pow.f64 %93 #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %93 #s(literal -1 binary64))) (neg.f64 %99) (*.f64 #s(literal 1 binary64) %101) (pow.f64 %101 #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %101 #s(literal -1 binary64))) (neg.f64 (neg.f64 %101)) (fma.f64 (fabs.f64 (*.f64 %21 %7)) #s(literal 1/2 binary64) %93) (fma.f64 (fabs.f64 %111) #s(literal 1/2 binary64) %93) (fma.f64 (fabs.f64 %114) #s(literal 1/4 binary64) %93) (fma.f64 %111 #s(literal 1/2 binary64) %93) (fma.f64 %121 %120 %93) (fma.f64 %123 %123 %93) (fma.f64 %125 %125 %93) (fma.f64 %114 #s(literal 1/4 binary64) %93) (fma.f64 (fabs.f64 %7) (*.f64 #s(literal 1/2 binary64) %119) %93) (fma.f64 #s(literal 4 binary64) (fabs.f64 %131) %93) (fma.f64 #s(literal 4 binary64) %131 %93) (fma.f64 %120 %121 %93) (fma.f64 %136 %136 %93) (fma.f64 %88 %90 %138) (fma.f64 %90 %88 %138) (fma.f64 %119 %119 %93) (fma.f64 %21 %21 %93) (fma.f64 #s(literal 1 binary64) %138 %93) (fma.f64 #s(literal 1 binary64) %93 %138) (fma.f64 %138 #s(literal 1 binary64) %93) (fma.f64 %83 y %138) (fma.f64 %7 %12 %93) (fma.f64 y %83 %138) (fma.f64 #s(literal 2 binary64) (fabs.f64 (*.f64 %12 %21)) %93) (fma.f64 #s(literal 2 binary64) (fabs.f64 %152) %93) (fma.f64 #s(literal 2 binary64) %152 %93) %101 (-.f64 %138 %99) (-.f64 %93 (*.f64 %21 x)) (+.f64 %138 %93) (+.f64 %93 %138) (*.f64 %163 %162) (*.f64 %162 %163) (*.f64 %166 %166) (*.f64 %161 %161) (*.f64 %80 %80) (*.f64 #s(literal 1 binary64) %170) %170 (pow.f64 (pow.f64 %75 #s(literal 8 binary64)) #s(literal 1/4 binary64)) (pow.f64 %175 #s(literal 1/2 binary64)) (pow.f64 %162 #s(literal 4 binary64)) (pow.f64 %166 #s(literal 2 binary64)) (pow.f64 %161 #s(literal 2 binary64)) (pow.f64 %80 #s(literal 2 binary64)) (pow.f64 %170 #s(literal 1 binary64)) (pow.f64 %75 #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %175 #s(literal -1/2 binary64))) (/.f64 #s(literal 1 binary64) (pow.f64 %166 #s(literal -2 binary64))) (/.f64 #s(literal 1 binary64) (pow.f64 %161 #s(literal -2 binary64))) (/.f64 #s(literal 1 binary64) (pow.f64 %80 #s(literal -2 binary64))) (/.f64 #s(literal 1 binary64) (pow.f64 %170 #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (pow.f64 %75 #s(literal -2 binary64))) (neg.f64 %196) (sqrt.f64 %175) (fabs.f64 (neg.f64 %199)) (fabs.f64 (neg.f64 %202)) (fabs.f64 (neg.f64 %205)) (fabs.f64 (neg.f64 %208)) (fabs.f64 (neg.f64 %211)) (fabs.f64 (neg.f64 %214)) (fabs.f64 (neg.f64 %217)) (fabs.f64 (neg.f64 %220)) (fabs.f64 %199) (fabs.f64 %202) (fabs.f64 %205) (fabs.f64 %208) (fabs.f64 %211) (fabs.f64 %214) (fabs.f64 %217) (fabs.f64 %220) (fabs.f64 %196) (fabs.f64 %170) |
Compiled 180 to 298 computations (-65.6% saved)
Compiled 42 to 130 computations (-209.5% saved)
4 alts after pruning (1 fresh and 3 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 41 | 1 | 42 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 1 | 2 |
| Done | 0 | 2 | 2 |
| Total | 42 | 4 | 46 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 96.9% | (fma.f64 x x (*.f64 (fma.f64 #s(literal 2 binary64) x y) y)) |
| ▶ | 53.0% | (fma.f64 x x (*.f64 (approx (+ (+ y x) x) (+.f64 x x)) y)) |
| ✓ | 100.0% | %5 = (+.f64 y x) (*.f64 %5 %5) |
| ✓ | 57.4% | %3 = (approx (+ y x) y) (*.f64 %3 %3) |
Compiled 4 to 12 computations (-200.0% saved)
| Inputs |
|---|
| Outputs |
|---|
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 99 | 424 |
| 1× | iter-limit |
| Inputs |
|---|
%2 = (+.f64 x x) %5 = (approx (+ (+ y x) x) %2) %6 = (*.f64 %5 y) x y %2 %5 %6 (fma.f64 x x %6) |
| Outputs |
|---|
%6 = (*.f64 #s(literal 2 binary64) x) %10 = (+ (+ y x) x) %12 = (+.f64 y %6) %14 = (* %10 y) %15 = (pow.f64 y #s(literal 2 binary64)) %17 = (*.f64 x y) %21 = (+ (* x x) %14) %26 = (/.f64 y x) %32 = (/.f64 %15 x) %36 = (pow.f64 x #s(literal 2 binary64)) %56 = (fma.f64 #s(literal -2 binary64) y (*.f64 #s(literal -1 binary64) %32)) %71 = (/.f64 x y) %73 = (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 2 binary64) %71)) (approx x #s(literal 0 binary64)) (approx x x) (approx (+ x x) %6) (approx %10 y) (approx %10 %12) (approx %14 %15) (approx %14 (fma.f64 #s(literal 2 binary64) %17 %15)) (approx %21 (fma.f64 x (+.f64 x (*.f64 #s(literal 2 binary64) y)) %15)) (approx %10 (*.f64 x (+.f64 #s(literal 2 binary64) %26))) (approx %14 (*.f64 #s(literal 2 binary64) %17)) (approx %14 (*.f64 x (fma.f64 #s(literal 2 binary64) y %32))) (approx %21 %36) (approx %21 (*.f64 %36 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 2 binary64) %26)))) (approx %21 (*.f64 %36 (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 2 binary64) %26 (/.f64 %15 %36))))) (approx %10 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) %26) #s(literal 2 binary64))))) (approx %14 (*.f64 #s(literal -1 binary64) (*.f64 x %56))) (approx %21 (*.f64 %36 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 %56 x))))) (approx %14 (*.f64 y %12)) (approx %21 (fma.f64 #s(literal 2 binary64) %17 %36)) (approx %21 (fma.f64 y %12 %36)) (approx %10 (*.f64 y %73)) (approx %14 (*.f64 %15 %73)) (approx %21 (*.f64 %15 (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 2 binary64) %71 (/.f64 %36 %15))))) (approx %10 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -2 binary64) %71) #s(literal 1 binary64))))) (approx %21 (*.f64 %15 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -2 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 %36 y))) y))))) |
6 calls:
| Time | Variable | Point |
|---|---|---|
| 1.0ms | y | inf |
| 1.0ms | y | -inf |
| 1.0ms | x | inf |
| 1.0ms | x | -inf |
| 0.0ms | x | 0 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 39 |
| 0 | 12 | 39 |
| 1 | 42 | 39 |
| 2 | 118 | 39 |
| 3 | 310 | 39 |
| 4 | 740 | 39 |
| 0 | 4165 | 39 |
| 0 | 4310 | 36 |
| 1× | iter-limit |
| 1× | iter-limit |
| 1× | node-limit |
| 1× | iter-limit |
| Inputs |
|---|
%2 = (+.f64 x x) %5 = (approx (+ (+ y x) x) %2) %6 = (*.f64 %5 y) x y %2 %5 %6 (fma.f64 x x %6) |
| Outputs |
|---|
%3 = (/.f64 x #s(literal -2 binary64)) %7 = (neg.f64 x) %8 = (*.f64 #s(literal 4 binary64) %7) %11 = (*.f64 #s(literal 4 binary64) x) %14 = (*.f64 #s(literal 1/2 binary64) x) %19 = (*.f64 #s(literal 1/4 binary64) %14) %23 = (*.f64 #s(literal 4 binary64) %11) %26 = (+.f64 x x) %27 = (*.f64 #s(literal 8 binary64) %26) %29 = (*.f64 #s(literal 1/8 binary64) %26) %31 = (*.f64 #s(literal 1/2 binary64) %14) %33 = (*.f64 #s(literal 16 binary64) %14) %36 = (*.f64 #s(literal 2 binary64) %11) %38 = (*.f64 #s(literal 4 binary64) %26) %40 = (*.f64 #s(literal -1/2 binary64) %7) %44 = (*.f64 #s(literal -2 binary64) x) %46 = (*.f64 #s(literal -4 binary64) %7) %108 = (*.f64 %14 #s(literal 3 binary64)) %110 = (*.f64 x #s(literal 3/2 binary64)) %112 = (*.f64 #s(literal 3 binary64) %14) %114 = (*.f64 #s(literal 3/2 binary64) x) %135 = (*.f64 #s(literal 1/8 binary64) x) %157 = (*.f64 #s(literal 1/4 binary64) x) %162 = (*.f64 %14 #s(literal 1/2 binary64)) %195 = (approx (+ (+ y x) x) %26) %200 = (neg.f64 %195) %202 = (neg.f64 y) %205 = (*.f64 %195 y) %211 = (*.f64 %200 y) %213 = (fma.f64 x x %205) %220 = (*.f64 %14 %14) %222 = (*.f64 %26 %26) %224 = (fabs.f64 x) %225 = (sqrt.f64 %224) %226 = (*.f64 %225 %224) %228 = (neg.f64 %225) %229 = (*.f64 %228 %224) %234 = (sqrt.f64 %225) %241 = (*.f64 x x) %243 = (neg.f64 %224) x y (*.f64 %3 #s(literal -4 binary64)) (*.f64 %8 #s(literal -1/2 binary64)) (*.f64 %11 #s(literal 1/2 binary64)) (*.f64 %14 #s(literal 4 binary64)) (*.f64 #s(literal -4 binary64) %3) (*.f64 #s(literal 16 binary64) %19) (*.f64 #s(literal -1/2 binary64) %8) (*.f64 #s(literal 1/8 binary64) %23) (*.f64 #s(literal 1/8 binary64) %27) (*.f64 #s(literal 8 binary64) %29) (*.f64 #s(literal 8 binary64) %31) (*.f64 #s(literal 1/4 binary64) %33) (*.f64 #s(literal 1/4 binary64) %36) (*.f64 #s(literal 1/4 binary64) %38) (*.f64 #s(literal 4 binary64) %40) (*.f64 #s(literal 4 binary64) %14) (*.f64 #s(literal -1 binary64) %44) (*.f64 #s(literal 1/2 binary64) %46) (*.f64 #s(literal 1/2 binary64) %11) (*.f64 #s(literal -2 binary64) %7) (*.f64 %44 #s(literal -1 binary64)) (*.f64 %7 #s(literal -2 binary64)) (*.f64 #s(literal 1 binary64) %26) (*.f64 #s(literal 2 binary64) x) (*.f64 %26 #s(literal 1 binary64)) (*.f64 x #s(literal 2 binary64)) (pow.f64 %26 #s(literal 1 binary64)) (/.f64 (*.f64 x #s(literal 8 binary64)) #s(literal 4 binary64)) (/.f64 (*.f64 #s(literal 8 binary64) x) #s(literal 4 binary64)) (/.f64 (/.f64 %11 #s(literal 1/2 binary64)) #s(literal 4 binary64)) (/.f64 %46 #s(literal 2 binary64)) (/.f64 (fma.f64 #s(literal 4 binary64) x %11) #s(literal 4 binary64)) (/.f64 %23 #s(literal 8 binary64)) (/.f64 (*.f64 #s(literal -2 binary64) %11) #s(literal -4 binary64)) (/.f64 %27 #s(literal 8 binary64)) (/.f64 (*.f64 %11 #s(literal 4 binary64)) #s(literal 8 binary64)) (/.f64 (*.f64 %11 #s(literal -2 binary64)) #s(literal -4 binary64)) (/.f64 (*.f64 %26 #s(literal 8 binary64)) #s(literal 8 binary64)) (/.f64 (*.f64 #s(literal -1 binary64) %11) #s(literal -2 binary64)) (/.f64 %36 #s(literal 4 binary64)) (/.f64 %38 #s(literal 4 binary64)) (/.f64 (*.f64 %11 #s(literal -1 binary64)) #s(literal -2 binary64)) (/.f64 (*.f64 %11 #s(literal 2 binary64)) #s(literal 4 binary64)) (/.f64 (*.f64 %26 #s(literal 4 binary64)) #s(literal 4 binary64)) (/.f64 (*.f64 %26 #s(literal -2 binary64)) #s(literal -2 binary64)) (/.f64 %8 #s(literal -2 binary64)) (/.f64 %11 #s(literal 2 binary64)) (/.f64 %44 #s(literal -1 binary64)) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) %11)) (/.f64 #s(literal 1 binary64) (pow.f64 %26 #s(literal -1 binary64))) (/.f64 %26 #s(literal 1 binary64)) (/.f64 x #s(literal 1/2 binary64)) (neg.f64 %44) (fma.f64 %3 #s(literal -4 binary64) #s(literal 0 binary64)) (fma.f64 #s(literal 3/2 binary64) x %14) (fma.f64 %8 #s(literal -1/2 binary64) #s(literal 0 binary64)) (fma.f64 %11 #s(literal 1/2 binary64) #s(literal 0 binary64)) (fma.f64 %14 #s(literal 3 binary64) %14) (fma.f64 %14 #s(literal 4 binary64) #s(literal 0 binary64)) (fma.f64 %14 #s(literal 1 binary64) %108) (fma.f64 %14 #s(literal 1 binary64) %110) (fma.f64 %14 #s(literal 1 binary64) %112) (fma.f64 %14 #s(literal 1 binary64) %114) (fma.f64 #s(literal -4 binary64) %3 #s(literal 0 binary64)) (fma.f64 #s(literal 16 binary64) %19 #s(literal 0 binary64)) (fma.f64 #s(literal -1/2 binary64) %8 #s(literal 0 binary64)) (fma.f64 #s(literal 1/8 binary64) %23 #s(literal 0 binary64)) (fma.f64 #s(literal 1/8 binary64) %27 #s(literal 0 binary64)) (fma.f64 #s(literal 1/8 binary64) %11 %108) (fma.f64 #s(literal 1/8 binary64) %11 %110) (fma.f64 #s(literal 1/8 binary64) %11 %112) (fma.f64 #s(literal 1/8 binary64) %11 %114) (fma.f64 #s(literal 8 binary64) %29 #s(literal 0 binary64)) (fma.f64 #s(literal 8 binary64) %31 #s(literal 0 binary64)) (fma.f64 #s(literal 1/4 binary64) %33 #s(literal 0 binary64)) (fma.f64 #s(literal 1/4 binary64) %36 #s(literal 0 binary64)) (fma.f64 #s(literal 1/4 binary64) %38 #s(literal 0 binary64)) (fma.f64 #s(literal 1/4 binary64) %26 %108) (fma.f64 #s(literal 1/4 binary64) %26 %110) (fma.f64 #s(literal 1/4 binary64) %26 %112) (fma.f64 #s(literal 1/4 binary64) %26 %114) (fma.f64 #s(literal 3 binary64) %14 %14) (fma.f64 #s(literal 4 binary64) %135 %108) (fma.f64 #s(literal 4 binary64) %135 %110) (fma.f64 #s(literal 4 binary64) %135 %112) (fma.f64 #s(literal 4 binary64) %135 %114) (fma.f64 #s(literal 4 binary64) %40 #s(literal 0 binary64)) (fma.f64 #s(literal 4 binary64) %14 #s(literal 0 binary64)) (fma.f64 #s(literal -1 binary64) %44 #s(literal 0 binary64)) (fma.f64 #s(literal 1/2 binary64) %46 #s(literal 0 binary64)) (fma.f64 #s(literal 1/2 binary64) %11 #s(literal 0 binary64)) (fma.f64 #s(literal 1/2 binary64) x %108) (fma.f64 #s(literal 1/2 binary64) x %110) (fma.f64 #s(literal 1/2 binary64) x %112) (fma.f64 #s(literal 1/2 binary64) x %114) (fma.f64 #s(literal -2 binary64) %7 #s(literal 0 binary64)) (fma.f64 %44 #s(literal -1 binary64) #s(literal 0 binary64)) (fma.f64 %7 #s(literal -2 binary64) #s(literal 0 binary64)) (fma.f64 #s(literal 1 binary64) %14 %108) (fma.f64 #s(literal 1 binary64) %14 %110) (fma.f64 #s(literal 1 binary64) %14 %112) (fma.f64 #s(literal 1 binary64) %14 %114) (fma.f64 #s(literal 1 binary64) %26 #s(literal 0 binary64)) (fma.f64 #s(literal 2 binary64) %157 %108) (fma.f64 #s(literal 2 binary64) %157 %110) (fma.f64 #s(literal 2 binary64) %157 %112) (fma.f64 #s(literal 2 binary64) %157 %114) (fma.f64 #s(literal 2 binary64) %162 %108) (fma.f64 #s(literal 2 binary64) %162 %110) (fma.f64 #s(literal 2 binary64) %162 %112) (fma.f64 #s(literal 2 binary64) %162 %114) (fma.f64 #s(literal 2 binary64) x #s(literal 0 binary64)) (fma.f64 %26 #s(literal 1/4 binary64) %108) (fma.f64 %26 #s(literal 1/4 binary64) %110) (fma.f64 %26 #s(literal 1/4 binary64) %112) (fma.f64 %26 #s(literal 1/4 binary64) %114) (fma.f64 %26 #s(literal 1 binary64) #s(literal 0 binary64)) (fma.f64 x #s(literal 3/2 binary64) %14) (fma.f64 x #s(literal 1/2 binary64) %108) (fma.f64 x #s(literal 1/2 binary64) %110) (fma.f64 x #s(literal 1/2 binary64) %112) (fma.f64 x #s(literal 1/2 binary64) %114) (fma.f64 x #s(literal 2 binary64) #s(literal 0 binary64)) (-.f64 %26 (*.f64 %44 #s(literal 0 binary64))) (-.f64 %26 #s(literal 0 binary64)) (-.f64 x %7) (+.f64 %108 %14) (+.f64 %110 %14) (+.f64 %112 %14) (+.f64 %114 %14) (+.f64 %14 %108) (+.f64 %14 %110) (+.f64 %14 %112) (+.f64 %14 %114) (+.f64 #s(literal 0 binary64) %26) (+.f64 %26 #s(literal 0 binary64)) %26 (*.f64 #s(literal 1 binary64) %195) (pow.f64 %195 #s(literal 1 binary64)) %195 (/.f64 #s(literal 1 binary64) (pow.f64 %195 #s(literal -1 binary64))) (neg.f64 %200) (*.f64 %202 %200) (*.f64 %200 %202) (*.f64 #s(literal 1 binary64) %205) %205 (*.f64 y %195) (pow.f64 %205 #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %205 #s(literal -1 binary64))) (neg.f64 %211) (*.f64 #s(literal 1 binary64) %213) (pow.f64 %213 #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %213 #s(literal -1 binary64))) (neg.f64 (neg.f64 %213)) (fma.f64 %220 #s(literal 4 binary64) %205) (fma.f64 %222 #s(literal 1/4 binary64) %205) (fma.f64 %226 %225 %205) (fma.f64 %229 %228 %205) (fma.f64 %14 %26 %205) (fma.f64 %228 %229 %205) (fma.f64 #s(literal 1/4 binary64) %222 %205) (fma.f64 %234 (*.f64 %234 %226) %205) (fma.f64 #s(literal 4 binary64) %220 %205) (fma.f64 %225 %226 %205) (fma.f64 #s(literal 1/2 binary64) (*.f64 %26 x) %205) (fma.f64 %202 %200 %241) (fma.f64 %243 %243 %205) (fma.f64 %200 %202 %241) (fma.f64 %224 %224 %205) (fma.f64 %7 %7 %205) (fma.f64 #s(literal 1 binary64) %241 %205) (fma.f64 #s(literal 1 binary64) %205 %241) (fma.f64 #s(literal 2 binary64) (*.f64 %14 x) %205) (fma.f64 %241 #s(literal 1 binary64) %205) (fma.f64 %195 y %241) (fma.f64 %26 %14 %205) (fma.f64 y %195 %241) %213 (-.f64 %241 %211) (-.f64 %205 (*.f64 %7 x)) (+.f64 %241 %205) (+.f64 %205 %241) |
Compiled 209 to 315 computations (-50.7% saved)
Compiled 30 to 102 computations (-240.0% saved)
5 alts after pruning (1 fresh and 4 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 29 | 1 | 30 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 3 | 3 |
| Total | 29 | 5 | 34 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 96.9% | (fma.f64 x x (*.f64 (fma.f64 #s(literal 2 binary64) x y) y)) |
| ✓ | 53.0% | (fma.f64 x x (*.f64 (approx (+ (+ y x) x) (+.f64 x x)) y)) |
| 98.7% | (fma.f64 x x (*.f64 (approx (+ (+ y x) x) y) y)) | |
| ✓ | 100.0% | %5 = (+.f64 y x) (*.f64 %5 %5) |
| ✓ | 57.4% | %3 = (approx (+ y x) y) (*.f64 %3 %3) |
Compiled 5 to 14 computations (-180.0% saved)
Total 0.0b remaining (0.0%)
Threshold costs 0.0b (0.0%)
| 0.0b | -0.0% |
| 0.0b | 0% |
| -0.0b | -0.0% |
| Inputs |
|---|
%3 = (approx (+ y x) y) (*.f64 %3 %3) |
| Outputs |
|---|
%3 = (approx (+ y x) y) (*.f64 %3 %3) |
| Inputs |
|---|
%2 = (+ y x) %3 = (approx %2 y) (*.f64 %3 %3) (fma.f64 x x (*.f64 (approx (+ %2 x) y) y)) |
| Outputs |
|---|
(fma.f64 x x (*.f64 (approx (+ (+ y x) x) y) y)) |
| Inputs |
|---|
%2 = (+ y x) %3 = (approx %2 y) %9 = (+.f64 y x) (*.f64 %3 %3) (fma.f64 x x (*.f64 (approx (+ %2 x) y) y)) (*.f64 %9 %9) |
| Outputs |
|---|
%2 = (+.f64 y x) (*.f64 %2 %2) |
3 calls:
| 4.0ms | x |
| 4.0ms | y |
| 4.0ms | (+.f64 (+.f64 (*.f64 x x) (*.f64 (*.f64 x #s(literal 2 binary64)) y)) (*.f64 y y)) |
| Accuracy | Segments | Branch |
|---|---|---|
| 57.4% | 1 | y |
| 57.4% | 1 | x |
| 57.4% | 1 | (+.f64 (+.f64 (*.f64 x x) (*.f64 (*.f64 x #s(literal 2 binary64)) y)) (*.f64 y y)) |
Compiled 10 to 32 computations (-220.0% saved)
| 1× | fuel |
Compiled 3 to 7 computations (-133.3% saved)
Compiled 10 to 36 computations (-260.0% saved)
| Allocated | Percent | Phase |
|---|---|---|
| 453.4 MiB | 54.1% | sample |
| 158.4 MiB | 18.9% | rewrite |
| 87.2 MiB | 10.4% | reconstruct |
| 36.8 MiB | 4.4% | series |
| 30.2 MiB | 3.6% | preprocess |
| 22.0 MiB | 2.6% | regimes |
| 19.4 MiB | 2.3% | eval |
| 16.0 MiB | 1.9% | derivations |
| 12.4 MiB | 1.5% | prune |
| 2.1 MiB | 0.2% | analyze |
| 0.1 MiB | 0.0% | bsearch |
| 0.0 MiB | 0.0% | start |
| 0.0 MiB | 0.0% | end |
| 837.9 MiB | 100.0% | total |
Loading profile data...