
Time bar (total: 1.0s)
| 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 11 to 9 computations (18.2% saved)
| 166.0ms | 8 256× | 0 | valid |
Mul: 6.0ms (72.0% of total, 0.0 MiB)Sub: 2.0ms (24.0% of total, 0.0 MiB)Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 22 | 46 |
| 1 | 115 | 42 |
| 2 | 414 | 42 |
| 3 | 1571 | 42 |
| 1× | node-limit |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 95.3% | (*.f64 #s(literal 2 binary64) (-.f64 (*.f64 x x) (*.f64 x y))) |
Compiled 2 to 14 computations (-600.0% saved)
| Inputs |
|---|
| Outputs |
|---|
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 64 | 259 |
| 1× | iter-limit |
| Inputs |
|---|
%2 = (*.f64 x x) %4 = (*.f64 x y) %5 = (-.f64 %2 %4) #s(literal 2 binary64) x %2 y %4 %5 (*.f64 #s(literal 2 binary64) %5) |
| Outputs |
|---|
%5 = (* x x) %7 = (pow.f64 x #s(literal 2 binary64)) %10 = (* x y) %11 = (*.f64 x y) %13 = (- %5 %10) %20 = (* 2 %13) %24 = (*.f64 #s(literal 2 binary64) x) %29 = (/.f64 y x) %34 = (*.f64 #s(literal 2 binary64) %7) %45 = (/.f64 %7 y) (approx 2 #s(literal 0 binary64)) (approx x x) (approx %5 %7) (approx %10 %11) (approx %13 (*.f64 #s(literal -1 binary64) %11)) (approx %13 (*.f64 x (-.f64 x y))) (approx %20 (*.f64 #s(literal -2 binary64) %11)) (approx %20 (*.f64 x (fma.f64 #s(literal -2 binary64) y %24))) (approx %13 (*.f64 %7 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) %29)))) (approx %20 %34) (approx %20 (*.f64 %7 (+.f64 #s(literal 2 binary64) (*.f64 #s(literal -2 binary64) %29)))) (approx y y) (approx %13 (fma.f64 #s(literal -1 binary64) %11 %7)) (approx %20 (fma.f64 #s(literal -2 binary64) %11 %34)) (approx %13 (*.f64 y (-.f64 %45 x))) (approx %20 (*.f64 y (fma.f64 #s(literal -2 binary64) x (*.f64 #s(literal 2 binary64) %45)))) (approx %13 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) %45) (*.f64 #s(literal -1 binary64) x))))) (approx %20 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -2 binary64) %45 %24)))) |
6 calls:
| Time | Variable | Point |
|---|---|---|
| 53.0ms | x | inf |
| 1.0ms | y | inf |
| 1.0ms | x | -inf |
| 1.0ms | y | -inf |
| 1.0ms | x | 0 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 25 |
| 0 | 11 | 21 |
| 1 | 36 | 21 |
| 2 | 132 | 21 |
| 3 | 575 | 21 |
| 4 | 2812 | 21 |
| 0 | 4835 | 21 |
| 0 | 5051 | 21 |
| 1× | iter-limit |
| 1× | iter-limit |
| 1× | node-limit |
| 1× | iter-limit |
| Inputs |
|---|
%2 = (*.f64 x x) %4 = (*.f64 x y) %5 = (-.f64 %2 %4) #s(literal 2 binary64) x %2 y %4 %5 (*.f64 #s(literal 2 binary64) %5) |
| Outputs |
|---|
%2 = (fabs.f64 x) %3 = (sqrt.f64 %2) %4 = (*.f64 %3 %2) %6 = (*.f64 x x) %8 = (*.f64 %6 #s(literal 1/2 binary64)) %10 = (neg.f64 %2) %12 = (*.f64 %10 #s(literal 1 binary64)) %15 = (+.f64 x x) %16 = (*.f64 %15 x) %22 = (neg.f64 x) %26 = (*.f64 #s(literal 1/2 binary64) %6) %33 = (*.f64 %6 %6) %58 = (*.f64 %6 #s(literal -1 binary64)) %60 = (*.f64 #s(literal -1 binary64) %6) %62 = (*.f64 %22 x) %63 = (*.f64 %62 #s(literal 1 binary64)) %67 = (*.f64 %6 #s(literal 0 binary64)) %69 = (*.f64 #s(literal 0 binary64) %6) %104 = (*.f64 %22 %10) %107 = (*.f64 x %10) %110 = (*.f64 %22 %2) %113 = (*.f64 x %2) %116 = (*.f64 %10 %22) %119 = (*.f64 %2 %22) %122 = (*.f64 %10 x) %125 = (*.f64 %2 x) %204 = (neg.f64 y) %207 = (*.f64 y x) %213 = (*.f64 %22 y) %215 = (neg.f64 %15) %216 = (-.f64 y x) %217 = (*.f64 %216 #s(literal 1/2 binary64)) %219 = (-.f64 x y) %220 = (*.f64 #s(literal 1/2 binary64) %219) %221 = (*.f64 %220 x) %223 = (*.f64 #s(literal 1/2 binary64) %221) %225 = (*.f64 %216 x) %226 = (*.f64 %225 #s(literal 1/2 binary64)) %228 = (*.f64 %219 #s(literal 1/2 binary64)) %230 = (*.f64 %219 #s(literal 2 binary64)) %231 = (*.f64 x #s(literal 1/2 binary64)) %233 = (*.f64 %15 %219) %235 = (*.f64 %215 #s(literal 1/2 binary64)) %239 = (*.f64 %219 x) %255 = (*.f64 %213 #s(literal 1/2 binary64)) %264 = (*.f64 %239 #s(literal 0 binary64)) %266 = (*.f64 #s(literal 0 binary64) %239) %280 = (*.f64 #s(literal -2 binary64) %207) %303 = (*.f64 y #s(literal 1 binary64)) %321 = (*.f64 %204 #s(literal 1 binary64)) %327 = (*.f64 #s(literal 1/2 binary64) %213) %345 = (*.f64 #s(literal -2 binary64) %216) %347 = (*.f64 %239 #s(literal 4 binary64)) %349 = (*.f64 %233 #s(literal 2 binary64)) %351 = (*.f64 #s(literal 2 binary64) %233) %353 = (*.f64 #s(literal -2 binary64) %219) %355 = (*.f64 #s(literal -2 binary64) x) %357 = (*.f64 #s(literal -2 binary64) %22) %362 = (*.f64 %216 #s(literal 2 binary64)) %366 = (*.f64 #s(literal 4 binary64) %239) %369 = (fma.f64 %15 %219 %233) %371 = (*.f64 x #s(literal -2 binary64)) %374 = (*.f64 %15 %216) %376 = (*.f64 %22 #s(literal -2 binary64)) %380 = (fma.f64 y #s(literal 2 binary64) %215) %382 = (+.f64 y y) %383 = (fma.f64 %22 #s(literal 2 binary64) %382) %385 = (*.f64 %219 #s(literal -2 binary64)) %399 = (*.f64 %233 #s(literal 0 binary64)) %401 = (*.f64 #s(literal 0 binary64) %233) %407 = (fabs.f64 %15) %410 = (-.f64 %219 y) %411 = (*.f64 %410 x) %412 = (*.f64 %411 #s(literal 1 binary64)) %415 = (*.f64 #s(literal 4 binary64) %6) %426 = (-.f64 x %216) %427 = (*.f64 %426 x) %428 = (*.f64 %427 #s(literal 1 binary64)) %442 = (neg.f64 %382) %445 = (neg.f64 %407) %458 = (-.f64 %216 x) %467 = (-.f64 y %219) #s(literal 2 binary64) x (*.f64 %4 %3) (*.f64 %8 #s(literal 2 binary64)) (*.f64 %12 %12) (*.f64 %3 %4) (*.f64 #s(literal 1/2 binary64) %16) (*.f64 %16 #s(literal 1/2 binary64)) (*.f64 %10 %12) (*.f64 %10 %10) (*.f64 %2 %2) (*.f64 %22 %22) (*.f64 #s(literal 1 binary64) %6) (*.f64 %6 #s(literal 1 binary64)) %6 (*.f64 #s(literal 2 binary64) %26) (pow.f64 %12 #s(literal 2 binary64)) (pow.f64 (pow.f64 x #s(literal 8 binary64)) #s(literal 1/4 binary64)) (pow.f64 %33 #s(literal 1/2 binary64)) (pow.f64 %3 #s(literal 4 binary64)) (pow.f64 %10 #s(literal 2 binary64)) (pow.f64 %2 #s(literal 2 binary64)) (pow.f64 %22 #s(literal 2 binary64)) (pow.f64 %6 #s(literal 1 binary64)) (pow.f64 x #s(literal 2 binary64)) (/.f64 %16 #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %33 #s(literal -1/2 binary64))) (/.f64 #s(literal 1 binary64) (pow.f64 %10 #s(literal -2 binary64))) (/.f64 #s(literal 1 binary64) (pow.f64 %2 #s(literal -2 binary64))) (/.f64 #s(literal 1 binary64) (pow.f64 %22 #s(literal -2 binary64))) (/.f64 #s(literal 1 binary64) (pow.f64 %6 #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal -2 binary64))) (neg.f64 %58) (neg.f64 %60) (neg.f64 %63) (neg.f64 %62) (fma.f64 %4 %3 %67) (fma.f64 %4 %3 %69) (fma.f64 %8 #s(literal 2 binary64) %67) (fma.f64 %8 #s(literal 2 binary64) %69) (fma.f64 %12 %12 %67) (fma.f64 %12 %12 %69) (fma.f64 %3 %4 %67) (fma.f64 %3 %4 %69) (fma.f64 #s(literal 1/2 binary64) %16 %67) (fma.f64 #s(literal 1/2 binary64) %16 %69) (fma.f64 #s(literal 1/2 binary64) %6 %26) (fma.f64 %16 #s(literal 1/2 binary64) %67) (fma.f64 %16 #s(literal 1/2 binary64) %69) (fma.f64 %10 %12 %67) (fma.f64 %10 %12 %69) (fma.f64 %10 %10 %67) (fma.f64 %10 %10 %69) (fma.f64 %2 %2 %67) (fma.f64 %2 %2 %69) (fma.f64 %22 %22 %67) (fma.f64 %22 %22 %69) (fma.f64 #s(literal 1 binary64) %6 %67) (fma.f64 #s(literal 1 binary64) %6 %69) (fma.f64 %6 #s(literal 1/2 binary64) %8) (fma.f64 %6 #s(literal 1 binary64) %67) (fma.f64 %6 #s(literal 1 binary64) %69) (fma.f64 x x %67) (fma.f64 x x %69) (fma.f64 #s(literal 2 binary64) %26 %67) (fma.f64 #s(literal 2 binary64) %26 %69) (sqrt.f64 (*.f64 %33 #s(literal 1 binary64))) (sqrt.f64 %33) (fabs.f64 (*.f64 #s(literal -1 binary64) %63)) (fabs.f64 (*.f64 #s(literal -1 binary64) %104)) (fabs.f64 (*.f64 #s(literal -1 binary64) %107)) (fabs.f64 (*.f64 #s(literal -1 binary64) %110)) (fabs.f64 (*.f64 #s(literal -1 binary64) %113)) (fabs.f64 (*.f64 #s(literal -1 binary64) %116)) (fabs.f64 (*.f64 #s(literal -1 binary64) %119)) (fabs.f64 (*.f64 #s(literal -1 binary64) %122)) (fabs.f64 (*.f64 #s(literal -1 binary64) %125)) (fabs.f64 (*.f64 #s(literal -1 binary64) %62)) (fabs.f64 (*.f64 #s(literal 1 binary64) %63)) (fabs.f64 (*.f64 #s(literal 1 binary64) %104)) (fabs.f64 (*.f64 #s(literal 1 binary64) %107)) (fabs.f64 (*.f64 #s(literal 1 binary64) %110)) (fabs.f64 (*.f64 #s(literal 1 binary64) %113)) (fabs.f64 (*.f64 #s(literal 1 binary64) %116)) (fabs.f64 (*.f64 #s(literal 1 binary64) %119)) (fabs.f64 (*.f64 #s(literal 1 binary64) %122)) (fabs.f64 (*.f64 #s(literal 1 binary64) %125)) (fabs.f64 (*.f64 %63 #s(literal -1 binary64))) (fabs.f64 (*.f64 %63 #s(literal 1 binary64))) (fabs.f64 (*.f64 %104 #s(literal -1 binary64))) (fabs.f64 (*.f64 %104 #s(literal 1 binary64))) (fabs.f64 (*.f64 %107 #s(literal -1 binary64))) (fabs.f64 (*.f64 %107 #s(literal 1 binary64))) (fabs.f64 (*.f64 %110 #s(literal -1 binary64))) (fabs.f64 (*.f64 %110 #s(literal 1 binary64))) (fabs.f64 (*.f64 %113 #s(literal -1 binary64))) (fabs.f64 (*.f64 %113 #s(literal 1 binary64))) (fabs.f64 (*.f64 %116 #s(literal -1 binary64))) (fabs.f64 (*.f64 %116 #s(literal 1 binary64))) (fabs.f64 (*.f64 %119 #s(literal -1 binary64))) (fabs.f64 (*.f64 %119 #s(literal 1 binary64))) (fabs.f64 (*.f64 %122 #s(literal -1 binary64))) (fabs.f64 (*.f64 %122 #s(literal 1 binary64))) (fabs.f64 (*.f64 %125 #s(literal -1 binary64))) (fabs.f64 (*.f64 %125 #s(literal 1 binary64))) (fabs.f64 (*.f64 %62 #s(literal -1 binary64))) (fabs.f64 %58) (fabs.f64 %60) (fabs.f64 %63) (fabs.f64 %104) (fabs.f64 %107) (fabs.f64 %110) (fabs.f64 %113) (fabs.f64 %116) (fabs.f64 %119) (fabs.f64 %122) (fabs.f64 %125) (fabs.f64 %62) (fabs.f64 %6) (+.f64 %8 %8) (+.f64 %26 %26) (+.f64 %6 %67) (+.f64 %6 %69) y (*.f64 %204 %22) (*.f64 %22 %204) (*.f64 #s(literal 1 binary64) %207) %207 (*.f64 x y) (pow.f64 %207 #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %207 #s(literal -1 binary64))) (neg.f64 %213) (*.f64 %215 %217) (*.f64 %221 #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) %223) (*.f64 #s(literal -2 binary64) %226) (*.f64 %15 %228) (*.f64 %230 %231) (*.f64 #s(literal 1/2 binary64) %233) (*.f64 %216 %235) (*.f64 %216 %22) (*.f64 #s(literal -1 binary64) %225) %239 (*.f64 %225 #s(literal -1 binary64)) (*.f64 %22 %216) (*.f64 #s(literal 1 binary64) %239) (*.f64 %233 #s(literal 1/2 binary64)) (*.f64 %239 #s(literal 1 binary64)) (*.f64 x %219) (*.f64 #s(literal 2 binary64) %221) (pow.f64 %239 #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %239 #s(literal -1 binary64))) (/.f64 %233 #s(literal 2 binary64)) (neg.f64 %225) (fma.f64 %4 %3 %213) (fma.f64 (*.f64 #s(literal 1/2 binary64) %22) %216 %221) (fma.f64 %255 #s(literal 2 binary64) %6) (fma.f64 %8 #s(literal 2 binary64) %213) (fma.f64 %220 x %221) (fma.f64 (*.f64 #s(literal 1/2 binary64) %216) %22 %221) (fma.f64 (*.f64 #s(literal 1/2 binary64) x) %219 %221) (fma.f64 %12 %12 %213) (fma.f64 %215 %217 %264) (fma.f64 %215 %217 %266) (fma.f64 %221 #s(literal 1 binary64) %221) (fma.f64 %221 #s(literal 2 binary64) %264) (fma.f64 %221 #s(literal 2 binary64) %266) (fma.f64 #s(literal 4 binary64) %223 %264) (fma.f64 #s(literal 4 binary64) %223 %266) (fma.f64 #s(literal -2 binary64) %226 %264) (fma.f64 #s(literal -2 binary64) %226 %266) (fma.f64 %3 %4 %213) (fma.f64 %15 %228 %264) (fma.f64 %15 %228 %266) (fma.f64 %230 %231 %264) (fma.f64 %230 %231 %266) (fma.f64 #s(literal 1/2 binary64) %280 %6) (fma.f64 #s(literal 1/2 binary64) %16 %213) (fma.f64 #s(literal 1/2 binary64) %233 %264) (fma.f64 #s(literal 1/2 binary64) %233 %266) (fma.f64 #s(literal 1/2 binary64) %239 %221) (fma.f64 %280 #s(literal 1/2 binary64) %6) (fma.f64 %16 #s(literal 1/2 binary64) %213) (fma.f64 %216 %235 %264) (fma.f64 %216 %235 %266) (fma.f64 %216 %22 %264) (fma.f64 %216 %22 %266) (fma.f64 %204 x %6) (fma.f64 #s(literal -1 binary64) %225 %264) (fma.f64 #s(literal -1 binary64) %225 %266) (fma.f64 %10 %12 %213) (fma.f64 %10 %10 %213) (fma.f64 %219 x %264) (fma.f64 %219 x %266) (fma.f64 %213 #s(literal 1 binary64) %6) (fma.f64 %225 #s(literal -1 binary64) %264) (fma.f64 %225 #s(literal -1 binary64) %266) (fma.f64 %2 %2 %213) (fma.f64 %22 %303 %6) (fma.f64 %22 %216 %264) (fma.f64 %22 %216 %266) (fma.f64 %22 %22 %213) (fma.f64 %22 y %6) (fma.f64 #s(literal 1 binary64) %221 %221) (fma.f64 #s(literal 1 binary64) %213 %6) (fma.f64 #s(literal 1 binary64) %239 %264) (fma.f64 #s(literal 1 binary64) %239 %266) (fma.f64 #s(literal 1 binary64) %6 %213) (fma.f64 %233 #s(literal 1/2 binary64) %264) (fma.f64 %233 #s(literal 1/2 binary64) %266) (fma.f64 %239 #s(literal 1/2 binary64) %221) (fma.f64 %239 #s(literal 1 binary64) %264) (fma.f64 %239 #s(literal 1 binary64) %266) (fma.f64 y %22 %6) (fma.f64 %6 #s(literal 1 binary64) %213) (fma.f64 x %321 %6) (fma.f64 x %204 %6) (fma.f64 x %219 %264) (fma.f64 x %219 %266) (fma.f64 x x %213) (fma.f64 #s(literal 2 binary64) %327 %6) (fma.f64 #s(literal 2 binary64) %26 %213) (fma.f64 #s(literal 2 binary64) %221 %264) (fma.f64 #s(literal 2 binary64) %221 %266) (-.f64 %213 %60) (-.f64 %213 %63) (-.f64 %213 %62) (-.f64 %6 (*.f64 %207 #s(literal 1 binary64))) (-.f64 %6 (*.f64 #s(literal -1 binary64) %213)) (-.f64 %6 %207) (+.f64 %221 %221) (+.f64 %213 %6) (+.f64 %239 %264) (+.f64 %239 %266) (+.f64 %6 %213) (*.f64 %345 x) (*.f64 %347 #s(literal 1/2 binary64)) (*.f64 %349 #s(literal 1/2 binary64)) (*.f64 %351 #s(literal 1/2 binary64)) (*.f64 %353 %22) (*.f64 %355 %216) (*.f64 %357 %219) (*.f64 %215 %216) (*.f64 %221 #s(literal 4 binary64)) (*.f64 #s(literal 4 binary64) %221) (*.f64 %362 %22) (*.f64 #s(literal -2 binary64) %225) %233 (*.f64 %230 x) (*.f64 #s(literal 1/2 binary64) %366) (*.f64 #s(literal 1/2 binary64) %351) (*.f64 #s(literal 1/2 binary64) %369) (*.f64 %216 %371) (*.f64 %216 %215) (*.f64 %374 #s(literal -1 binary64)) (*.f64 %219 %376) (*.f64 %219 %15) (*.f64 %225 #s(literal -2 binary64)) (*.f64 %22 %380) (*.f64 %22 %383) (*.f64 %22 %385) (*.f64 %22 %362) (*.f64 #s(literal 1 binary64) %233) (*.f64 %233 #s(literal 1 binary64)) (*.f64 %239 #s(literal 2 binary64)) (*.f64 x %230) (*.f64 #s(literal 2 binary64) %239) (pow.f64 %233 #s(literal 1 binary64)) (/.f64 %349 #s(literal 2 binary64)) (/.f64 %351 #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %233 #s(literal -1 binary64))) (neg.f64 %374) (fma.f64 %345 x %399) (fma.f64 %345 x %401) (fma.f64 %347 #s(literal 1/2 binary64) %399) (fma.f64 %347 #s(literal 1/2 binary64) %401) (fma.f64 (*.f64 %213 #s(literal 4 binary64)) #s(literal 1/2 binary64) %16) (fma.f64 (*.f64 %407 %3) %3 %280) (fma.f64 %4 %3 %412) (fma.f64 %4 %3 %411) (fma.f64 %415 #s(literal 1/2 binary64) %280) (fma.f64 %349 #s(literal 1/2 binary64) %399) (fma.f64 %349 #s(literal 1/2 binary64) %401) (fma.f64 (*.f64 %280 #s(literal 2 binary64)) #s(literal 1/2 binary64) %16) (fma.f64 (*.f64 %16 #s(literal 2 binary64)) #s(literal 1/2 binary64) %280) (fma.f64 %351 #s(literal 1/2 binary64) %399) (fma.f64 %351 #s(literal 1/2 binary64) %401) (fma.f64 %255 #s(literal 4 binary64) %16) (fma.f64 %255 #s(literal 2 binary64) %428) (fma.f64 %255 #s(literal 2 binary64) %427) (fma.f64 %8 #s(literal 4 binary64) %280) (fma.f64 %8 #s(literal 2 binary64) %412) (fma.f64 %8 #s(literal 2 binary64) %411) (fma.f64 %353 %22 %399) (fma.f64 %353 %22 %401) (fma.f64 %355 %216 %399) (fma.f64 %355 %216 %401) (fma.f64 %357 %219 %399) (fma.f64 %357 %219 %401) (fma.f64 %12 %12 %412) (fma.f64 %12 %12 %411) (fma.f64 %442 x %16) (fma.f64 %382 %22 %16) (fma.f64 %445 %12 %280) (fma.f64 %445 %10 %280) (fma.f64 %407 %2 %280) (fma.f64 %215 %217 %239) (fma.f64 %215 %303 %16) (fma.f64 %215 %216 %399) (fma.f64 %215 %216 %401) (fma.f64 %215 %22 %280) (fma.f64 %215 y %16) (fma.f64 %221 #s(literal 4 binary64) %399) (fma.f64 %221 #s(literal 4 binary64) %401) (fma.f64 %221 #s(literal 2 binary64) %239) (fma.f64 %458 %22 %213) (fma.f64 %426 x %213) (fma.f64 %410 x %6) (fma.f64 #s(literal 4 binary64) %223 %239) (fma.f64 #s(literal 4 binary64) %327 %16) (fma.f64 #s(literal 4 binary64) %26 %280) (fma.f64 #s(literal 4 binary64) %221 %399) (fma.f64 #s(literal 4 binary64) %221 %401) (fma.f64 %467 %22 %6) (fma.f64 %362 %22 %399) (fma.f64 %362 %22 %401) (fma.f64 #s(literal -2 binary64) %226 %239) (fma.f64 #s(literal -2 binary64) %62 %280) (fma.f64 #s(literal -2 binary64) %225 %399) (fma.f64 #s(literal -2 binary64) %225 %401) (fma.f64 #s(literal -2 binary64) %207 %16) (fma.f64 %3 %4 %412) (fma.f64 %3 %4 %411) (fma.f64 %3 (*.f64 %3 %407) %280) (fma.f64 %411 #s(literal 1 binary64) %6) (fma.f64 %427 #s(literal 1 binary64) %213) (fma.f64 %15 %228 %239) (fma.f64 %15 %321 %16) (fma.f64 %15 %204 %16) (fma.f64 %15 %219 %399) (fma.f64 %15 %219 %401) (fma.f64 %15 x %280) (fma.f64 %230 %231 %239) (fma.f64 %230 x %399) (fma.f64 %230 x %401) (fma.f64 #s(literal 1/2 binary64) %366 %399) (fma.f64 #s(literal 1/2 binary64) %366 %401) (fma.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 4 binary64) %213) %16) (fma.f64 #s(literal 1/2 binary64) %415 %280) (fma.f64 #s(literal 1/2 binary64) %351 %399) (fma.f64 #s(literal 1/2 binary64) %351 %401) (fma.f64 #s(literal 1/2 binary64) %369 %399) (fma.f64 #s(literal 1/2 binary64) %369 %401) (fma.f64 #s(literal 1/2 binary64) %280 %428) (fma.f64 #s(literal 1/2 binary64) %280 %427) (fma.f64 #s(literal 1/2 binary64) %16 %412) (fma.f64 #s(literal 1/2 binary64) %16 %411) (fma.f64 #s(literal 1/2 binary64) %233 %239) (fma.f64 %280 #s(literal 1/2 binary64) %428) (fma.f64 %280 #s(literal 1/2 binary64) %427) (fma.f64 %280 #s(literal 1 binary64) %16) (fma.f64 %16 #s(literal 1/2 binary64) %412) (fma.f64 %16 #s(literal 1/2 binary64) %411) (fma.f64 %16 #s(literal 1 binary64) %280) (fma.f64 %216 %235 %239) (fma.f64 %216 %371 %399) (fma.f64 %216 %371 %401) (fma.f64 %216 %215 %399) (fma.f64 %216 %215 %401) (fma.f64 %216 %22 %239) (fma.f64 %374 #s(literal -1 binary64) %399) (fma.f64 %374 #s(literal -1 binary64) %401) (fma.f64 %62 #s(literal -2 binary64) %280) (fma.f64 %204 %15 %16) (fma.f64 %204 x %428) (fma.f64 %204 x %427) (fma.f64 #s(literal -1 binary64) %225 %239) (fma.f64 %10 %12 %412) (fma.f64 %10 %12 %411) (fma.f64 %10 %445 %280) (fma.f64 %10 %10 %412) (fma.f64 %10 %10 %411) (fma.f64 %219 %376 %399) (fma.f64 %219 %376 %401) (fma.f64 %219 %15 %399) (fma.f64 %219 %15 %401) (fma.f64 %219 x %239) (fma.f64 %213 #s(literal 1 binary64) %428) (fma.f64 %213 #s(literal 1 binary64) %427) (fma.f64 %213 #s(literal 2 binary64) %16) (fma.f64 %225 #s(literal -2 binary64) %399) (fma.f64 %225 #s(literal -2 binary64) %401) (fma.f64 %225 #s(literal -1 binary64) %239) (fma.f64 %2 %407 %280) (fma.f64 %2 %2 %412) (fma.f64 %2 %2 %411) (fma.f64 %22 %303 %428) (fma.f64 %22 %303 %427) (fma.f64 %22 %380 %399) (fma.f64 %22 %380 %401) (fma.f64 %22 %383 %399) (fma.f64 %22 %383 %401) (fma.f64 %22 %385 %399) (fma.f64 %22 %385 %401) (fma.f64 %22 %382 %16) (fma.f64 %22 %215 %280) (fma.f64 %22 %458 %213) (fma.f64 %22 %467 %6) (fma.f64 %22 %362 %399) (fma.f64 %22 %362 %401) (fma.f64 %22 %216 %239) (fma.f64 %22 %22 %412) (fma.f64 %22 %22 %411) (fma.f64 %22 y %428) (fma.f64 %22 y %427) (fma.f64 #s(literal 1 binary64) %411 %6) (fma.f64 #s(literal 1 binary64) %427 %213) (fma.f64 #s(literal 1 binary64) %280 %16) (fma.f64 #s(literal 1 binary64) %16 %280) (fma.f64 #s(literal 1 binary64) %213 %428) (fma.f64 #s(literal 1 binary64) %213 %427) (fma.f64 #s(literal 1 binary64) %233 %399) (fma.f64 #s(literal 1 binary64) %233 %401) (fma.f64 #s(literal 1 binary64) %239 %239) (fma.f64 #s(literal 1 binary64) %6 %412) (fma.f64 #s(literal 1 binary64) %6 %411) (fma.f64 %233 #s(literal 1/2 binary64) %239) (fma.f64 %233 #s(literal 1 binary64) %399) (fma.f64 %233 #s(literal 1 binary64) %401) (fma.f64 %239 #s(literal 1 binary64) %239) (fma.f64 %239 #s(literal 2 binary64) %399) (fma.f64 %239 #s(literal 2 binary64) %401) (fma.f64 %207 #s(literal -2 binary64) %16) (fma.f64 y %215 %16) (fma.f64 y %22 %428) (fma.f64 y %22 %427) (fma.f64 %6 #s(literal 1 binary64) %412) (fma.f64 %6 #s(literal 1 binary64) %411) (fma.f64 %6 #s(literal 2 binary64) %280) (fma.f64 x %321 %428) (fma.f64 x %321 %427) (fma.f64 x %442 %16) (fma.f64 x %426 %213) (fma.f64 x %410 %6) (fma.f64 x %15 %280) (fma.f64 x %230 %399) (fma.f64 x %230 %401) (fma.f64 x %204 %428) (fma.f64 x %204 %427) (fma.f64 x %219 %239) (fma.f64 x x %412) (fma.f64 x x %411) (fma.f64 #s(literal 2 binary64) %327 %428) (fma.f64 #s(literal 2 binary64) %327 %427) (fma.f64 #s(literal 2 binary64) %26 %412) (fma.f64 #s(literal 2 binary64) %26 %411) (fma.f64 #s(literal 2 binary64) %221 %239) (fma.f64 #s(literal 2 binary64) %213 %16) (fma.f64 #s(literal 2 binary64) %239 %399) (fma.f64 #s(literal 2 binary64) %239 %401) (fma.f64 #s(literal 2 binary64) %6 %280) (-.f64 %411 %62) (-.f64 %427 %207) (-.f64 %280 (*.f64 (neg.f64 %445) %10)) (-.f64 %280 (*.f64 #s(literal -2 binary64) %6)) (-.f64 %280 (*.f64 %15 %22)) (-.f64 %16 (*.f64 %382 x)) (-.f64 %213 (*.f64 x %458)) (-.f64 %239 %225) (-.f64 %6 (*.f64 %467 x)) (+.f64 %428 %213) (+.f64 %412 %6) (+.f64 %411 %6) (+.f64 %427 %213) (+.f64 %280 %16) (+.f64 %16 %280) (+.f64 %213 %428) (+.f64 %213 %427) (+.f64 %233 %399) (+.f64 %233 %401) (+.f64 %239 %239) (+.f64 %6 %412) (+.f64 %6 %411) |
Compiled 501 to 666 computations (-32.9% saved)
Compiled 46 to 141 computations (-206.5% saved)
3 alts after pruning (2 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 44 | 2 | 46 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 44 | 3 | 47 |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 100.0% | (*.f64 (+.f64 x x) (-.f64 x y)) |
| ✓ | 95.3% | (*.f64 #s(literal 2 binary64) (-.f64 (*.f64 x x) (*.f64 x y))) |
| ▶ | 55.8% | (approx (* 2 (- (* x x) (* x y))) (*.f64 #s(literal -2 binary64) (*.f64 x y))) |
Compiled 3 to 12 computations (-300.0% saved)
| Inputs |
|---|
| Outputs |
|---|
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 68 | 229 |
| 1× | iter-limit |
| Inputs |
|---|
%2 = (*.f64 x y) %3 = (-.f64 x y) %5 = (*.f64 #s(literal -2 binary64) %2) %12 = (+.f64 x x) x y %2 %3 #s(literal -2 binary64) %5 (approx (* 2 (- (* x x) (* x y))) %5) %12 (*.f64 %12 %3) |
| Outputs |
|---|
%5 = (* x y) %6 = (*.f64 x y) %8 = (- x y) %10 = (*.f64 #s(literal -1 binary64) y) %22 = (* 2 (- (* x x) %5)) %24 = (*.f64 #s(literal 2 binary64) x) %31 = (/.f64 y x) %36 = (pow.f64 x #s(literal 2 binary64)) %37 = (*.f64 #s(literal 2 binary64) %36) %52 = (/.f64 x y) %56 = (/.f64 %36 y) (approx x #s(literal 0 binary64)) (approx x x) (approx %5 %6) (approx %8 %10) (approx %8 (-.f64 x y)) (approx (* -2 %5) (*.f64 #s(literal -2 binary64) %6)) (approx %22 (*.f64 x (fma.f64 #s(literal -2 binary64) y %24))) (approx (+ x x) %24) (approx %8 (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) %31)))) (approx %22 %37) (approx %22 (*.f64 %36 (+.f64 #s(literal 2 binary64) (*.f64 #s(literal -2 binary64) %31)))) (approx %8 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 %31 #s(literal 1 binary64))))) (approx y y) (approx %8 (+.f64 x %10)) (approx %22 (fma.f64 #s(literal -2 binary64) %6 %37)) (approx %8 (*.f64 y (-.f64 %52 #s(literal 1 binary64)))) (approx %22 (*.f64 y (fma.f64 #s(literal -2 binary64) x (*.f64 #s(literal 2 binary64) %56)))) (approx %8 (*.f64 #s(literal -1 binary64) (*.f64 y (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) %52))))) (approx %22 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -2 binary64) %56 %24)))) |
6 calls:
| Time | Variable | Point |
|---|---|---|
| 5.0ms | x | 0 |
| 3.0ms | x | inf |
| 2.0ms | x | -inf |
| 2.0ms | y | inf |
| 2.0ms | y | -inf |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 14 | 39 |
| 0 | 19 | 37 |
| 1 | 59 | 37 |
| 2 | 178 | 37 |
| 3 | 676 | 37 |
| 4 | 3044 | 37 |
| 0 | 4158 | 37 |
| 0 | 4379 | 37 |
| 1× | iter-limit |
| 1× | iter-limit |
| 1× | node-limit |
| 1× | iter-limit |
| Inputs |
|---|
%2 = (*.f64 x y) %3 = (-.f64 x y) %5 = (*.f64 #s(literal -2 binary64) %2) %12 = (+.f64 x x) x y %2 %3 #s(literal -2 binary64) %5 (approx (* 2 (- (* x x) (* x y))) %5) %12 (*.f64 %12 %3) |
| Outputs |
|---|
%2 = (neg.f64 y) %3 = (neg.f64 x) %7 = (*.f64 y x) %14 = (*.f64 %2 x) %16 = (-.f64 x y) %18 = (*.f64 %16 #s(literal 1/2 binary64)) %21 = (-.f64 y x) %23 = (*.f64 %21 #s(literal -2 binary64)) %27 = (*.f64 #s(literal 1/2 binary64) %16) %40 = (*.f64 %16 #s(literal 0 binary64)) %42 = (*.f64 #s(literal 0 binary64) %16) %61 = (*.f64 %2 #s(literal 1 binary64)) %69 = (*.f64 %14 #s(literal 4 binary64)) %71 = (*.f64 #s(literal -2 binary64) x) %72 = (*.f64 %71 y) %73 = (*.f64 %72 #s(literal 2 binary64)) %75 = (*.f64 %14 #s(literal 1/2 binary64)) %77 = (*.f64 #s(literal -2 binary64) %3) %79 = (*.f64 #s(literal -2 binary64) %2) %81 = (+.f64 y y) %83 = (*.f64 #s(literal 1/2 binary64) %14) %85 = (*.f64 #s(literal -2 binary64) y) %87 = (*.f64 #s(literal 4 binary64) %14) %90 = (*.f64 y #s(literal 1 binary64)) %93 = (*.f64 %3 #s(literal -2 binary64)) %95 = (+.f64 x x) %97 = (*.f64 %2 #s(literal -2 binary64)) %112 = (*.f64 %95 y) %114 = (*.f64 %72 #s(literal 0 binary64)) %116 = (*.f64 #s(literal 0 binary64) %72) %190 = (approx (* (* (- x y) x) 2) %72) %195 = (*.f64 x #s(literal 4 binary64)) %197 = (*.f64 %95 #s(literal 2 binary64)) %199 = (*.f64 x #s(literal 1/2 binary64)) %201 = (*.f64 #s(literal 1/2 binary64) x) %203 = (*.f64 #s(literal 4 binary64) x) %214 = (*.f64 %95 #s(literal 0 binary64)) %216 = (*.f64 #s(literal 0 binary64) %95) %239 = (*.f64 %16 x) %240 = (*.f64 %239 #s(literal 4 binary64)) %242 = (*.f64 %95 %16) %243 = (*.f64 %242 #s(literal 2 binary64)) %245 = (*.f64 #s(literal 2 binary64) %242) %247 = (*.f64 #s(literal -2 binary64) %16) %249 = (*.f64 #s(literal -2 binary64) %21) %252 = (*.f64 #s(literal 1/2 binary64) %239) %255 = (*.f64 %21 #s(literal 2 binary64)) %258 = (*.f64 #s(literal 4 binary64) %239) %261 = (fma.f64 %95 %16 %242) %263 = (*.f64 %21 %95) %267 = (*.f64 %21 x) %269 = (*.f64 %16 #s(literal -2 binary64)) %286 = (fabs.f64 x) %287 = (neg.f64 %286) %288 = (*.f64 x x) %291 = (sqrt.f64 (fabs.f64 (*.f64 %287 %288))) %292 = (sqrt.f64 %286) %293 = (fma.f64 #s(literal -2 binary64) y x) %294 = (*.f64 %293 x) %295 = (*.f64 %294 #s(literal 1 binary64)) %300 = (sqrt.f64 (fabs.f64 (*.f64 %286 %288))) %305 = (sqrt.f64 (fabs.f64 (*.f64 %3 %288))) %310 = (sqrt.f64 (fabs.f64 (*.f64 %288 x))) %313 = (*.f64 %242 #s(literal 0 binary64)) %315 = (*.f64 #s(literal 0 binary64) %242) %317 = (*.f64 %286 #s(literal 2 binary64)) %320 = (*.f64 #s(literal 4 binary64) %288) %322 = (*.f64 %95 x) %324 = (*.f64 %292 %286) %335 = (-.f64 %95 y) %336 = (*.f64 %335 x) %337 = (*.f64 %336 #s(literal 1 binary64)) %340 = (*.f64 %288 #s(literal 1/2 binary64)) %352 = (*.f64 %287 #s(literal 1 binary64)) %356 = (*.f64 %287 #s(literal 2 binary64)) %363 = (-.f64 %21 x) %369 = (*.f64 #s(literal 1/2 binary64) %288) %374 = (-.f64 y %16) %417 = (*.f64 %3 x) x y (*.f64 %2 %3) (*.f64 %3 %2) (*.f64 #s(literal 1 binary64) %7) %7 (*.f64 x y) (pow.f64 %7 #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %7 #s(literal -1 binary64))) (neg.f64 %14) (*.f64 %18 #s(literal 2 binary64)) (*.f64 %23 #s(literal 1/2 binary64)) (*.f64 #s(literal 1/2 binary64) %23) (*.f64 #s(literal 1 binary64) %16) (*.f64 #s(literal 2 binary64) %27) (*.f64 %16 #s(literal 1 binary64)) (pow.f64 %16 #s(literal 1 binary64)) (/.f64 %23 #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %16 #s(literal -1 binary64))) (neg.f64 (*.f64 %16 #s(literal -1 binary64))) (neg.f64 (*.f64 #s(literal -1 binary64) %16)) (neg.f64 %21) (fma.f64 %18 #s(literal 2 binary64) %40) (fma.f64 %18 #s(literal 2 binary64) %42) (fma.f64 %23 #s(literal 1/2 binary64) %40) (fma.f64 %23 #s(literal 1/2 binary64) %42) (fma.f64 #s(literal 1/2 binary64) %23 %40) (fma.f64 #s(literal 1/2 binary64) %23 %42) (fma.f64 #s(literal 1/2 binary64) %16 %27) (fma.f64 %2 #s(literal 1 binary64) x) (fma.f64 #s(literal 1 binary64) %2 x) (fma.f64 #s(literal 1 binary64) %16 %40) (fma.f64 #s(literal 1 binary64) %16 %42) (fma.f64 #s(literal 2 binary64) %27 %40) (fma.f64 #s(literal 2 binary64) %27 %42) (fma.f64 %16 #s(literal 1/2 binary64) %18) (fma.f64 %16 #s(literal 1 binary64) %40) (fma.f64 %16 #s(literal 1 binary64) %42) (-.f64 %2 %3) %16 (+.f64 %18 %18) (+.f64 %27 %27) (+.f64 %61 x) (+.f64 %2 x) (+.f64 %16 %40) (+.f64 %16 %42) (+.f64 x %61) (+.f64 x %2) #s(literal -2 binary64) (*.f64 %69 #s(literal 1/2 binary64)) (*.f64 %73 #s(literal 1/2 binary64)) (*.f64 %75 #s(literal 4 binary64)) (*.f64 %77 %2) (*.f64 %79 %3) (*.f64 %81 %3) (*.f64 #s(literal 4 binary64) %83) (*.f64 %85 x) (*.f64 #s(literal 1/2 binary64) %87) (*.f64 %72 #s(literal 1 binary64)) (*.f64 %71 %90) %72 (*.f64 %14 #s(literal 2 binary64)) (*.f64 %2 %93) (*.f64 %2 %95) (*.f64 %3 %97) (*.f64 %3 %81) (*.f64 #s(literal 1 binary64) %72) (*.f64 %95 %61) (*.f64 %95 %2) (*.f64 #s(literal 2 binary64) %14) (*.f64 #s(literal -2 binary64) %7) (*.f64 %7 #s(literal -2 binary64)) (*.f64 y %71) (*.f64 x %85) (pow.f64 %72 #s(literal 1 binary64)) (/.f64 %73 #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %72 #s(literal -1 binary64))) (neg.f64 %112) (fma.f64 %69 #s(literal 1/2 binary64) %114) (fma.f64 %69 #s(literal 1/2 binary64) %116) (fma.f64 %73 #s(literal 1/2 binary64) %114) (fma.f64 %73 #s(literal 1/2 binary64) %116) (fma.f64 %75 #s(literal 4 binary64) %114) (fma.f64 %75 #s(literal 4 binary64) %116) (fma.f64 %75 #s(literal 2 binary64) %14) (fma.f64 %77 %2 %114) (fma.f64 %77 %2 %116) (fma.f64 %79 %3 %114) (fma.f64 %79 %3 %116) (fma.f64 %81 %3 %114) (fma.f64 %81 %3 %116) (fma.f64 #s(literal 4 binary64) %83 %114) (fma.f64 #s(literal 4 binary64) %83 %116) (fma.f64 %85 x %114) (fma.f64 %85 x %116) (fma.f64 #s(literal 1/2 binary64) %87 %114) (fma.f64 #s(literal 1/2 binary64) %87 %116) (fma.f64 #s(literal 1/2 binary64) %72 %14) (fma.f64 %72 #s(literal 1/2 binary64) %14) (fma.f64 %72 #s(literal 1 binary64) %114) (fma.f64 %72 #s(literal 1 binary64) %116) (fma.f64 %71 %90 %114) (fma.f64 %71 %90 %116) (fma.f64 %71 y %114) (fma.f64 %71 y %116) (fma.f64 %14 #s(literal 1 binary64) %14) (fma.f64 %14 #s(literal 2 binary64) %114) (fma.f64 %14 #s(literal 2 binary64) %116) (fma.f64 %2 %93 %114) (fma.f64 %2 %93 %116) (fma.f64 %2 %95 %114) (fma.f64 %2 %95 %116) (fma.f64 %2 x %14) (fma.f64 %3 %90 %14) (fma.f64 %3 %97 %114) (fma.f64 %3 %97 %116) (fma.f64 %3 %81 %114) (fma.f64 %3 %81 %116) (fma.f64 %3 y %14) (fma.f64 #s(literal 1 binary64) %72 %114) (fma.f64 #s(literal 1 binary64) %72 %116) (fma.f64 #s(literal 1 binary64) %14 %14) (fma.f64 %95 %61 %114) (fma.f64 %95 %61 %116) (fma.f64 %95 %2 %114) (fma.f64 %95 %2 %116) (fma.f64 #s(literal 2 binary64) %83 %14) (fma.f64 #s(literal 2 binary64) %14 %114) (fma.f64 #s(literal 2 binary64) %14 %116) (fma.f64 #s(literal -2 binary64) %7 %114) (fma.f64 #s(literal -2 binary64) %7 %116) (fma.f64 %7 #s(literal -2 binary64) %114) (fma.f64 %7 #s(literal -2 binary64) %116) (fma.f64 y %71 %114) (fma.f64 y %71 %116) (fma.f64 y %3 %14) (fma.f64 x %61 %14) (fma.f64 x %85 %114) (fma.f64 x %85 %116) (fma.f64 x %2 %14) (-.f64 %14 (*.f64 %7 #s(literal 1 binary64))) (-.f64 %14 (*.f64 #s(literal -1 binary64) %14)) (-.f64 %14 %7) (+.f64 %72 %114) (+.f64 %72 %116) (+.f64 %14 %14) (*.f64 #s(literal 1 binary64) %190) (pow.f64 %190 #s(literal 1 binary64)) %190 (/.f64 #s(literal 1 binary64) (pow.f64 %190 #s(literal -1 binary64))) (*.f64 %195 #s(literal 1/2 binary64)) (*.f64 %197 #s(literal 1/2 binary64)) (*.f64 %199 #s(literal 4 binary64)) (*.f64 #s(literal 4 binary64) %201) (*.f64 #s(literal 1/2 binary64) %203) (*.f64 #s(literal 1 binary64) %95) (*.f64 %95 #s(literal 1 binary64)) (*.f64 #s(literal 2 binary64) x) (*.f64 x #s(literal 2 binary64)) (pow.f64 %95 #s(literal 1 binary64)) (/.f64 %197 #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %95 #s(literal -1 binary64))) (neg.f64 %71) (fma.f64 %195 #s(literal 1/2 binary64) %214) (fma.f64 %195 #s(literal 1/2 binary64) %216) (fma.f64 %197 #s(literal 1/2 binary64) %214) (fma.f64 %197 #s(literal 1/2 binary64) %216) (fma.f64 %199 #s(literal 4 binary64) %214) (fma.f64 %199 #s(literal 4 binary64) %216) (fma.f64 #s(literal 4 binary64) %201 %214) (fma.f64 #s(literal 4 binary64) %201 %216) (fma.f64 #s(literal 1/2 binary64) %203 %214) (fma.f64 #s(literal 1/2 binary64) %203 %216) (fma.f64 #s(literal 1 binary64) %95 %214) (fma.f64 #s(literal 1 binary64) %95 %216) (fma.f64 %95 #s(literal 1 binary64) %214) (fma.f64 %95 #s(literal 1 binary64) %216) (fma.f64 #s(literal 2 binary64) x %214) (fma.f64 #s(literal 2 binary64) x %216) (fma.f64 x #s(literal 2 binary64) %214) (fma.f64 x #s(literal 2 binary64) %216) (-.f64 x (*.f64 #s(literal -1 binary64) x)) (-.f64 x %3) (+.f64 %95 %214) (+.f64 %95 %216) %95 (*.f64 %240 #s(literal 1/2 binary64)) (*.f64 %243 #s(literal 1/2 binary64)) (*.f64 %245 #s(literal 1/2 binary64)) (*.f64 %247 %3) (*.f64 %249 x) (*.f64 %77 %16) (*.f64 %252 #s(literal 4 binary64)) (*.f64 #s(literal 4 binary64) %252) (*.f64 %255 %3) (*.f64 %23 x) (*.f64 #s(literal 1/2 binary64) %258) (*.f64 #s(literal 1/2 binary64) %245) (*.f64 #s(literal 1/2 binary64) %261) (*.f64 %263 #s(literal -1 binary64)) (*.f64 %71 %21) (*.f64 %21 %71) (*.f64 %267 #s(literal -2 binary64)) (*.f64 %3 %269) (*.f64 %3 %255) (*.f64 #s(literal 1 binary64) %242) %242 (*.f64 %242 #s(literal 1 binary64)) (*.f64 %239 #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) %239) (*.f64 #s(literal -2 binary64) %267) (*.f64 %16 %93) (*.f64 %16 %95) (*.f64 x %23) (pow.f64 %242 #s(literal 1 binary64)) (/.f64 %243 #s(literal 2 binary64)) (/.f64 %245 #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %242 #s(literal -1 binary64))) (neg.f64 %263) (fma.f64 %291 %292 %295) (fma.f64 %291 %292 %294) (fma.f64 %300 %292 %295) (fma.f64 %300 %292 %294) (fma.f64 %305 %292 %295) (fma.f64 %305 %292 %294) (fma.f64 %310 %292 %295) (fma.f64 %310 %292 %294) (fma.f64 %240 #s(literal 1/2 binary64) %313) (fma.f64 %240 #s(literal 1/2 binary64) %315) (fma.f64 (*.f64 %317 %292) %292 %72) (fma.f64 %320 #s(literal 1/2 binary64) %72) (fma.f64 %69 #s(literal 1/2 binary64) %322) (fma.f64 %324 %292 %295) (fma.f64 %324 %292 %294) (fma.f64 %243 #s(literal 1/2 binary64) %313) (fma.f64 %243 #s(literal 1/2 binary64) %315) (fma.f64 (*.f64 %322 #s(literal 2 binary64)) #s(literal 1/2 binary64) %72) (fma.f64 %73 #s(literal 1/2 binary64) %322) (fma.f64 %245 #s(literal 1/2 binary64) %313) (fma.f64 %245 #s(literal 1/2 binary64) %315) (fma.f64 %75 #s(literal 4 binary64) %322) (fma.f64 %75 #s(literal 2 binary64) %337) (fma.f64 %75 #s(literal 2 binary64) %336) (fma.f64 %340 #s(literal 4 binary64) %72) (fma.f64 %340 #s(literal 2 binary64) %295) (fma.f64 %340 #s(literal 2 binary64) %294) (fma.f64 %247 %3 %313) (fma.f64 %247 %3 %315) (fma.f64 %249 x %313) (fma.f64 %249 x %315) (fma.f64 %77 %2 %322) (fma.f64 %77 %16 %313) (fma.f64 %77 %16 %315) (fma.f64 %79 %3 %322) (fma.f64 %352 %352 %295) (fma.f64 %352 %352 %294) (fma.f64 %81 %3 %322) (fma.f64 %356 %352 %72) (fma.f64 %356 %287 %72) (fma.f64 %317 %286 %72) (fma.f64 %252 #s(literal 4 binary64) %313) (fma.f64 %252 #s(literal 4 binary64) %315) (fma.f64 %252 #s(literal 2 binary64) %239) (fma.f64 %363 %3 %14) (fma.f64 %293 x %288) (fma.f64 #s(literal 4 binary64) (*.f64 #s(literal 1/2 binary64) %252) %239) (fma.f64 #s(literal 4 binary64) %83 %322) (fma.f64 #s(literal 4 binary64) %369 %72) (fma.f64 #s(literal 4 binary64) %252 %313) (fma.f64 #s(literal 4 binary64) %252 %315) (fma.f64 %335 x %14) (fma.f64 %374 %3 %288) (fma.f64 %255 %3 %313) (fma.f64 %255 %3 %315) (fma.f64 %292 %291 %295) (fma.f64 %292 %291 %294) (fma.f64 %292 %300 %295) (fma.f64 %292 %300 %294) (fma.f64 %292 %305 %295) (fma.f64 %292 %305 %294) (fma.f64 %292 %310 %295) (fma.f64 %292 %310 %294) (fma.f64 %292 (*.f64 %292 %317) %72) (fma.f64 %292 %324 %295) (fma.f64 %292 %324 %294) (fma.f64 %294 #s(literal 1 binary64) %288) (fma.f64 %336 #s(literal 1 binary64) %14) (fma.f64 %85 x %322) (fma.f64 %23 %199 %239) (fma.f64 %23 x %313) (fma.f64 %23 x %315) (fma.f64 #s(literal 1/2 binary64) %320 %72) (fma.f64 #s(literal 1/2 binary64) %258 %313) (fma.f64 #s(literal 1/2 binary64) %258 %315) (fma.f64 #s(literal 1/2 binary64) %87 %322) (fma.f64 #s(literal 1/2 binary64) %245 %313) (fma.f64 #s(literal 1/2 binary64) %245 %315) (fma.f64 #s(literal 1/2 binary64) %261 %313) (fma.f64 #s(literal 1/2 binary64) %261 %315) (fma.f64 #s(literal 1/2 binary64) %72 %337) (fma.f64 #s(literal 1/2 binary64) %72 %336) (fma.f64 #s(literal 1/2 binary64) %322 %295) (fma.f64 #s(literal 1/2 binary64) %322 %294) (fma.f64 #s(literal 1/2 binary64) %242 %239) (fma.f64 %72 #s(literal 1/2 binary64) %337) (fma.f64 %72 #s(literal 1/2 binary64) %336) (fma.f64 %72 #s(literal 1 binary64) %322) (fma.f64 %322 #s(literal 1/2 binary64) %295) (fma.f64 %322 #s(literal 1/2 binary64) %294) (fma.f64 %322 #s(literal 1 binary64) %72) (fma.f64 %263 #s(literal -1 binary64) %313) (fma.f64 %263 #s(literal -1 binary64) %315) (fma.f64 %417 #s(literal -2 binary64) %72) (fma.f64 %71 %90 %322) (fma.f64 %71 (*.f64 %21 #s(literal 1/2 binary64)) %239) (fma.f64 %71 %21 %313) (fma.f64 %71 %21 %315) (fma.f64 %71 %3 %72) (fma.f64 %71 y %322) (fma.f64 #s(literal -1 binary64) %267 %239) (fma.f64 %287 %352 %295) (fma.f64 %287 %352 %294) (fma.f64 %287 %356 %72) (fma.f64 %287 %287 %295) (fma.f64 %287 %287 %294) (fma.f64 %14 #s(literal 1 binary64) %337) (fma.f64 %14 #s(literal 1 binary64) %336) (fma.f64 %14 #s(literal 2 binary64) %322) (fma.f64 %2 %93 %322) (fma.f64 %2 %95 %322) (fma.f64 %2 x %337) (fma.f64 %2 x %336) (fma.f64 %21 (*.f64 %71 #s(literal 1/2 binary64)) %239) (fma.f64 %21 %71 %313) (fma.f64 %21 %71 %315) (fma.f64 %21 %3 %239) (fma.f64 %267 #s(literal -1 binary64) %239) (fma.f64 %267 #s(literal -2 binary64) %313) (fma.f64 %267 #s(literal -2 binary64) %315) (fma.f64 %286 %317 %72) (fma.f64 %286 %286 %295) (fma.f64 %286 %286 %294) (fma.f64 %3 %90 %337) (fma.f64 %3 %90 %336) (fma.f64 %3 %269 %313) (fma.f64 %3 %269 %315) (fma.f64 %3 %97 %322) (fma.f64 %3 %81 %322) (fma.f64 %3 %363 %14) (fma.f64 %3 %374 %288) (fma.f64 %3 %255 %313) (fma.f64 %3 %255 %315) (fma.f64 %3 %71 %72) (fma.f64 %3 %21 %239) (fma.f64 %3 %3 %295) (fma.f64 %3 %3 %294) (fma.f64 %3 y %337) (fma.f64 %3 y %336) (fma.f64 #s(literal 1 binary64) %294 %288) (fma.f64 #s(literal 1 binary64) %336 %14) (fma.f64 #s(literal 1 binary64) %72 %322) (fma.f64 #s(literal 1 binary64) %322 %72) (fma.f64 #s(literal 1 binary64) %14 %337) (fma.f64 #s(literal 1 binary64) %14 %336) (fma.f64 #s(literal 1 binary64) %242 %313) (fma.f64 #s(literal 1 binary64) %242 %315) (fma.f64 #s(literal 1 binary64) %239 %239) (fma.f64 #s(literal 1 binary64) %288 %295) (fma.f64 #s(literal 1 binary64) %288 %294) (fma.f64 %95 %18 %239) (fma.f64 %95 %61 %322) (fma.f64 %95 %2 %322) (fma.f64 %95 %16 %313) (fma.f64 %95 %16 %315) (fma.f64 %95 x %72) (fma.f64 %242 #s(literal 1/2 binary64) %239) (fma.f64 %242 #s(literal 1 binary64) %313) (fma.f64 %242 #s(literal 1 binary64) %315) (fma.f64 %239 #s(literal 1 binary64) %239) (fma.f64 %239 #s(literal 2 binary64) %313) (fma.f64 %239 #s(literal 2 binary64) %315) (fma.f64 %288 #s(literal 1 binary64) %295) (fma.f64 %288 #s(literal 1 binary64) %294) (fma.f64 %288 #s(literal 2 binary64) %72) (fma.f64 #s(literal 2 binary64) %83 %337) (fma.f64 #s(literal 2 binary64) %83 %336) (fma.f64 #s(literal 2 binary64) %369 %295) (fma.f64 #s(literal 2 binary64) %369 %294) (fma.f64 #s(literal 2 binary64) %252 %239) (fma.f64 #s(literal 2 binary64) %14 %322) (fma.f64 #s(literal 2 binary64) %239 %313) (fma.f64 #s(literal 2 binary64) %239 %315) (fma.f64 #s(literal 2 binary64) %288 %72) (fma.f64 #s(literal -2 binary64) (*.f64 %267 #s(literal 1/2 binary64)) %239) (fma.f64 #s(literal -2 binary64) %417 %72) (fma.f64 #s(literal -2 binary64) %267 %313) (fma.f64 #s(literal -2 binary64) %267 %315) (fma.f64 #s(literal -2 binary64) %7 %322) (fma.f64 %16 %93 %313) (fma.f64 %16 %93 %315) (fma.f64 %16 %95 %313) (fma.f64 %16 %95 %315) (fma.f64 %16 x %239) (fma.f64 %7 #s(literal -2 binary64) %322) (fma.f64 y %71 %322) (fma.f64 y %3 %337) (fma.f64 y %3 %336) (fma.f64 x %61 %337) (fma.f64 x %61 %336) (fma.f64 x %293 %288) (fma.f64 x %335 %14) (fma.f64 x %85 %322) (fma.f64 x %23 %313) (fma.f64 x %23 %315) (fma.f64 x %2 %337) (fma.f64 x %2 %336) (fma.f64 x %95 %72) (fma.f64 x %16 %239) (fma.f64 x x %295) (fma.f64 x x %294) (-.f64 %294 %417) (-.f64 %336 %7) (-.f64 %72 (*.f64 (neg.f64 %356) %287)) (-.f64 %72 (*.f64 #s(literal -2 binary64) %288)) (-.f64 %72 (*.f64 %71 x)) (-.f64 %322 %112) (-.f64 %14 (*.f64 x %363)) (-.f64 %239 %267) (-.f64 %288 (*.f64 %374 x)) (+.f64 %337 %14) (+.f64 %295 %288) (+.f64 %294 %288) (+.f64 %336 %14) (+.f64 %72 %322) (+.f64 %322 %72) (+.f64 %14 %337) (+.f64 %14 %336) (+.f64 %242 %313) (+.f64 %242 %315) (+.f64 %239 %239) (+.f64 %288 %295) (+.f64 %288 %294) |
Compiled 461 to 584 computations (-26.7% saved)
Compiled 46 to 113 computations (-145.7% saved)
4 alts after pruning (2 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 44 | 2 | 46 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 1 | 2 |
| Done | 0 | 1 | 1 |
| Total | 45 | 4 | 49 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 100.0% | (*.f64 (+.f64 x x) (-.f64 x y)) |
| ✓ | 95.3% | (*.f64 #s(literal 2 binary64) (-.f64 (*.f64 x x) (*.f64 x y))) |
| ▶ | 55.8% | (approx (* (* (- x y) x) 2) (*.f64 (*.f64 #s(literal -2 binary64) x) y)) |
| ▶ | 11.0% | (approx (* 2 (- (* x x) (* x y))) (*.f64 #s(literal -2 binary64) (*.f64 (approx x #s(literal 0 binary64)) y))) |
Compiled 4 to 16 computations (-300.0% saved)
| Inputs |
|---|
| Outputs |
|---|
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 44 | 142 |
| 1× | iter-limit |
| Inputs |
|---|
%4 = (*.f64 #s(literal -2 binary64) x) %5 = (approx x #s(literal 0 binary64)) %6 = (*.f64 %4 y) %12 = (*.f64 %5 y) %13 = (*.f64 #s(literal -2 binary64) %12) x y #s(literal 0 binary64) #s(literal -2 binary64) %4 %5 %6 (approx (* (* (- x y) x) 2) %6) %12 %13 (approx (* 2 (- (* x x) (* x y))) %13) |
| Outputs |
|---|
%5 = (* -2 x) %11 = (*.f64 x y) %17 = (* (* (- x y) x) 2) %19 = (*.f64 #s(literal 2 binary64) x) %25 = (pow.f64 x #s(literal 2 binary64)) %26 = (*.f64 #s(literal 2 binary64) %25) %36 = (/.f64 %25 y) (approx x #s(literal 0 binary64)) (approx x x) (approx %5 (*.f64 #s(literal -2 binary64) x)) (approx (* %5 y) (*.f64 #s(literal -2 binary64) %11)) (approx %17 (*.f64 x (fma.f64 #s(literal -2 binary64) y %19))) (approx (* x y) %11) (approx %17 %26) (approx %17 (*.f64 %25 (+.f64 #s(literal 2 binary64) (*.f64 #s(literal -2 binary64) (/.f64 y x))))) (approx y y) (approx %17 (fma.f64 #s(literal -2 binary64) %11 %26)) (approx %17 (*.f64 y (fma.f64 #s(literal -2 binary64) x (*.f64 #s(literal 2 binary64) %36)))) (approx %17 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -2 binary64) %36 %19)))) |
6 calls:
| Time | Variable | Point |
|---|---|---|
| 2.0ms | x | inf |
| 2.0ms | x | -inf |
| 1.0ms | y | inf |
| 1.0ms | y | -inf |
| 1.0ms | x | 0 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 19 | 57 |
| 0 | 23 | 55 |
| 1 | 75 | 55 |
| 2 | 202 | 55 |
| 3 | 738 | 55 |
| 4 | 3453 | 55 |
| 0 | 4052 | 55 |
| 0 | 4136 | 55 |
| 1× | iter-limit |
| 1× | iter-limit |
| 1× | node-limit |
| 1× | iter-limit |
| Inputs |
|---|
%4 = (*.f64 #s(literal -2 binary64) x) %5 = (approx x #s(literal 0 binary64)) %6 = (*.f64 %4 y) %12 = (*.f64 %5 y) %13 = (*.f64 #s(literal -2 binary64) %12) x y #s(literal 0 binary64) #s(literal -2 binary64) %4 %5 %6 (approx (* (* (- x y) x) 2) %6) %12 %13 (approx (* 2 (- (* x x) (* x y))) %13) |
| Outputs |
|---|
%4 = (+.f64 x x) %8 = (neg.f64 x) %12 = (*.f64 %8 #s(literal 1/2 binary64)) %15 = (*.f64 #s(literal 1/2 binary64) x) %17 = (*.f64 #s(literal -2 binary64) x) %20 = (*.f64 #s(literal 1/2 binary64) %8) %37 = (*.f64 #s(literal -2 binary64) %8) %39 = (*.f64 %8 #s(literal -2 binary64)) %59 = (approx x #s(literal 0 binary64)) %63 = (*.f64 #s(literal -2 binary64) y) %64 = (*.f64 %63 %4) %66 = (*.f64 %63 #s(literal 2 binary64)) %68 = (neg.f64 y) %69 = (*.f64 %68 x) %70 = (*.f64 %69 #s(literal 4 binary64)) %72 = (*.f64 y x) %73 = (*.f64 %72 #s(literal -2 binary64)) %74 = (*.f64 %73 #s(literal 2 binary64)) %76 = (*.f64 %68 #s(literal 1 binary64)) %78 = (*.f64 %69 #s(literal 1/2 binary64)) %81 = (*.f64 #s(literal -2 binary64) %68) %83 = (+.f64 y y) %85 = (*.f64 y #s(literal 1 binary64)) %88 = (*.f64 #s(literal 1/2 binary64) %69) %91 = (*.f64 #s(literal 4 binary64) %69) %94 = (*.f64 #s(literal 1/2 binary64) %63) %97 = (*.f64 #s(literal 1 binary64) %68) %103 = (*.f64 %68 #s(literal -2 binary64)) %107 = (*.f64 %15 %63) %114 = (E.f64 ) %123 = (*.f64 %73 #s(literal 0 binary64)) %125 = (*.f64 #s(literal 0 binary64) %73) %218 = (* (* (- x y) x) 2) %219 = (approx %218 %73) %223 = (*.f64 %59 y) %233 = (*.f64 %59 #s(literal -2 binary64)) %235 = (*.f64 %223 #s(literal -2 binary64)) %250 = (approx %218 %235) x y #s(literal 0 binary64) #s(literal -2 binary64) (*.f64 (*.f64 #s(literal -2 binary64) %4) #s(literal 1/2 binary64)) (*.f64 (*.f64 %8 #s(literal 4 binary64)) #s(literal 1/2 binary64)) (*.f64 %12 #s(literal 4 binary64)) (*.f64 #s(literal -4 binary64) %15) (*.f64 %17 #s(literal 1 binary64)) (*.f64 #s(literal 4 binary64) %20) (*.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 4 binary64) %8)) (*.f64 #s(literal -1 binary64) %4) (*.f64 %4 #s(literal -1 binary64)) (*.f64 %8 #s(literal 2 binary64)) (*.f64 #s(literal 1 binary64) %17) (*.f64 #s(literal 2 binary64) (*.f64 %15 #s(literal -2 binary64))) (*.f64 #s(literal 2 binary64) %8) %17 (*.f64 x #s(literal -2 binary64)) (pow.f64 %17 #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %17 #s(literal -1 binary64))) (neg.f64 %37) (neg.f64 %39) (neg.f64 %4) (fma.f64 %12 #s(literal 2 binary64) %8) (fma.f64 %17 #s(literal 1/2 binary64) %8) (fma.f64 #s(literal 1/2 binary64) %17 %8) (fma.f64 #s(literal -1 binary64) x %8) (fma.f64 %4 #s(literal -1/2 binary64) %8) (fma.f64 %8 #s(literal 1 binary64) %8) (fma.f64 #s(literal 1 binary64) %8 %8) (fma.f64 #s(literal 2 binary64) (*.f64 #s(literal -1/2 binary64) x) %8) (fma.f64 #s(literal 2 binary64) (neg.f64 %15) %8) (fma.f64 #s(literal 2 binary64) %20 %8) (fma.f64 #s(literal -2 binary64) %15 %8) (fma.f64 x #s(literal -1 binary64) %8) (-.f64 %8 x) (+.f64 %8 %8) (pow.f64 %59 #s(literal 1 binary64)) %59 (/.f64 #s(literal 1 binary64) (pow.f64 %59 #s(literal -1 binary64))) (*.f64 %64 #s(literal 1/2 binary64)) (*.f64 %66 %15) (*.f64 %70 #s(literal 1/2 binary64)) (*.f64 %74 #s(literal 1/2 binary64)) (*.f64 %76 %4) (*.f64 %78 #s(literal 4 binary64)) (*.f64 %37 %68) (*.f64 %81 %8) (*.f64 %83 %8) (*.f64 %17 %85) (*.f64 %17 y) (*.f64 #s(literal 4 binary64) %88) (*.f64 %63 x) (*.f64 #s(literal 1/2 binary64) %91) (*.f64 %73 #s(literal 1 binary64)) (*.f64 %4 %94) (*.f64 %4 %76) (*.f64 %4 %97) (*.f64 %4 %68) (*.f64 %69 #s(literal 2 binary64)) (*.f64 %68 %39) (*.f64 %68 %4) (*.f64 %8 %103) (*.f64 %8 %83) (*.f64 #s(literal 1 binary64) %73) %73 (*.f64 #s(literal 2 binary64) %107) (*.f64 #s(literal 2 binary64) %69) (*.f64 #s(literal -2 binary64) %72) (*.f64 y %17) (*.f64 x %63) (pow.f64 %73 #s(literal 1 binary64)) (/.f64 (*.f64 %73 %114) %114) (/.f64 %74 #s(literal 2 binary64)) (/.f64 %73 #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %73 #s(literal -1 binary64))) (neg.f64 (*.f64 %4 y)) (fma.f64 %64 #s(literal 1/2 binary64) %123) (fma.f64 %64 #s(literal 1/2 binary64) %125) (fma.f64 %66 %15 %123) (fma.f64 %66 %15 %125) (fma.f64 %70 #s(literal 1/2 binary64) %123) (fma.f64 %70 #s(literal 1/2 binary64) %125) (fma.f64 %74 #s(literal 1/2 binary64) %123) (fma.f64 %74 #s(literal 1/2 binary64) %125) (fma.f64 %76 %4 %123) (fma.f64 %76 %4 %125) (fma.f64 %76 x %69) (fma.f64 (*.f64 #s(literal 1 binary64) y) %8 %69) (fma.f64 %97 x %69) (fma.f64 %78 #s(literal 4 binary64) %123) (fma.f64 %78 #s(literal 4 binary64) %125) (fma.f64 %78 #s(literal 2 binary64) %69) (fma.f64 %37 %68 %123) (fma.f64 %37 %68 %125) (fma.f64 %81 %8 %123) (fma.f64 %81 %8 %125) (fma.f64 %83 %8 %123) (fma.f64 %83 %8 %125) (fma.f64 %17 %85 %123) (fma.f64 %17 %85 %125) (fma.f64 %17 y %123) (fma.f64 %17 y %125) (fma.f64 #s(literal 4 binary64) %88 %123) (fma.f64 #s(literal 4 binary64) %88 %125) (fma.f64 %63 %15 %69) (fma.f64 %63 x %123) (fma.f64 %63 x %125) (fma.f64 #s(literal 1/2 binary64) %91 %123) (fma.f64 #s(literal 1/2 binary64) %91 %125) (fma.f64 #s(literal 1/2 binary64) %73 %69) (fma.f64 %73 #s(literal 1/2 binary64) %69) (fma.f64 %73 #s(literal 1 binary64) %123) (fma.f64 %73 #s(literal 1 binary64) %125) (fma.f64 %4 %94 %123) (fma.f64 %4 %94 %125) (fma.f64 %4 (*.f64 #s(literal 1/2 binary64) %68) %69) (fma.f64 %4 %76 %123) (fma.f64 %4 %76 %125) (fma.f64 %4 %97 %123) (fma.f64 %4 %97 %125) (fma.f64 %4 %68 %123) (fma.f64 %4 %68 %125) (fma.f64 %69 #s(literal 1 binary64) %69) (fma.f64 %69 #s(literal 2 binary64) %123) (fma.f64 %69 #s(literal 2 binary64) %125) (fma.f64 %68 %39 %123) (fma.f64 %68 %39 %125) (fma.f64 %68 %4 %123) (fma.f64 %68 %4 %125) (fma.f64 %68 x %69) (fma.f64 %8 %85 %69) (fma.f64 %8 %103 %123) (fma.f64 %8 %103 %125) (fma.f64 %8 %83 %123) (fma.f64 %8 %83 %125) (fma.f64 %8 y %69) (fma.f64 #s(literal 1 binary64) %73 %123) (fma.f64 #s(literal 1 binary64) %73 %125) (fma.f64 #s(literal 1 binary64) %69 %69) (fma.f64 %72 #s(literal -2 binary64) %123) (fma.f64 %72 #s(literal -2 binary64) %125) (fma.f64 #s(literal 2 binary64) %107 %123) (fma.f64 #s(literal 2 binary64) %107 %125) (fma.f64 #s(literal 2 binary64) (*.f64 %15 %68) %69) (fma.f64 #s(literal 2 binary64) %88 %69) (fma.f64 #s(literal 2 binary64) %69 %123) (fma.f64 #s(literal 2 binary64) %69 %125) (fma.f64 #s(literal -2 binary64) %72 %123) (fma.f64 #s(literal -2 binary64) %72 %125) (fma.f64 y %17 %123) (fma.f64 y %17 %125) (fma.f64 y %8 %69) (fma.f64 x %76 %69) (fma.f64 x %97 %69) (fma.f64 x %63 %123) (fma.f64 x %63 %125) (fma.f64 x %68 %69) (-.f64 %69 (*.f64 #s(literal -1 binary64) %69)) (-.f64 %69 %72) (+.f64 %73 %123) (+.f64 %73 %125) (+.f64 %69 %69) (pow.f64 %219 #s(literal 1 binary64)) %219 (/.f64 #s(literal 1 binary64) (pow.f64 %219 #s(literal -1 binary64))) %223 (*.f64 y %59) (pow.f64 %223 #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %223 #s(literal -1 binary64))) (neg.f64 (*.f64 %68 %59)) (neg.f64 (*.f64 %59 %68)) (*.f64 %63 %59) (*.f64 %233 y) %235 (*.f64 %59 %63) (*.f64 #s(literal -2 binary64) %223) (*.f64 y %233) (pow.f64 %235 #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %235 #s(literal -1 binary64))) (neg.f64 (*.f64 #s(literal 2 binary64) %223)) (neg.f64 (*.f64 %68 %233)) (neg.f64 (*.f64 %233 %68)) (neg.f64 (*.f64 %223 #s(literal 2 binary64))) (pow.f64 %250 #s(literal 1 binary64)) %250 (/.f64 #s(literal 1 binary64) (pow.f64 %250 #s(literal -1 binary64))) |
Compiled 200 to 266 computations (-33.0% saved)
Compiled 27 to 66 computations (-144.4% saved)
4 alts after pruning (0 fresh and 4 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 27 | 0 | 27 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 2 | 2 |
| Done | 0 | 2 | 2 |
| Total | 27 | 4 | 31 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 100.0% | (*.f64 (+.f64 x x) (-.f64 x y)) |
| ✓ | 95.3% | (*.f64 #s(literal 2 binary64) (-.f64 (*.f64 x x) (*.f64 x y))) |
| ✓ | 55.8% | (approx (* (* (- x y) x) 2) (*.f64 (*.f64 #s(literal -2 binary64) x) y)) |
| ✓ | 11.0% | (approx (* 2 (- (* x x) (* x y))) (*.f64 #s(literal -2 binary64) (*.f64 (approx x #s(literal 0 binary64)) y))) |
Compiled 4 to 16 computations (-300.0% saved)
Total 0.2b remaining (0.3%)
Threshold costs 0.2b (0.3%)
| 0.2b | 0.0% |
| 0.0b | 0% |
| 0.0b | 0% |
| Inputs |
|---|
(approx (* 2 (- (* x x) (* x y))) (*.f64 #s(literal -2 binary64) (*.f64 x y))) |
| Outputs |
|---|
(approx (* 2 (- (* x x) (* x y))) (*.f64 #s(literal -2 binary64) (*.f64 x y))) |
| Inputs |
|---|
%6 = (* 2 (- (* x x) (* x y))) (approx %6 (*.f64 #s(literal -2 binary64) (*.f64 x y))) (approx %6 (*.f64 #s(literal -2 binary64) (*.f64 (approx x #s(literal 0 binary64)) y))) (approx (* (* (- x y) x) 2) (*.f64 (*.f64 #s(literal -2 binary64) x) y)) |
| Outputs |
|---|
(approx (* (* (- x y) x) 2) (*.f64 (*.f64 #s(literal -2 binary64) x) y)) |
| Inputs |
|---|
%6 = (* 2 (- (* x x) (* x y))) (approx %6 (*.f64 #s(literal -2 binary64) (*.f64 x y))) (approx %6 (*.f64 #s(literal -2 binary64) (*.f64 (approx x #s(literal 0 binary64)) y))) (approx (* (* (- x y) x) 2) (*.f64 (*.f64 #s(literal -2 binary64) x) y)) (*.f64 (+.f64 x x) (-.f64 x y)) |
| Outputs |
|---|
(*.f64 (+.f64 x x) (-.f64 x y)) |
4 calls:
| 4.0ms | (*.f64 #s(literal 2 binary64) (-.f64 (*.f64 x x) (*.f64 x y))) |
| 3.0ms | x |
| 3.0ms | y |
| 3.0ms | (-.f64 (*.f64 x x) (*.f64 x y)) |
| Accuracy | Segments | Branch |
|---|---|---|
| 55.8% | 1 | y |
| 55.8% | 1 | x |
| 55.8% | 1 | (*.f64 #s(literal 2 binary64) (-.f64 (*.f64 x x) (*.f64 x y))) |
| 55.8% | 1 | (-.f64 (*.f64 x x) (*.f64 x y)) |
Compiled 9 to 24 computations (-166.7% saved)
| 1× | done |
Compiled 3 to 10 computations (-233.3% saved)
Compiled 4 to 17 computations (-325.0% saved)
| Allocated | Percent | Phase |
|---|---|---|
| 366.1 MiB | 33.7% | sample |
| 290.7 MiB | 26.8% | rewrite |
| 198.8 MiB | 18.3% | reconstruct |
| 72.9 MiB | 6.7% | series |
| 53.0 MiB | 4.9% | preprocess |
| 38.1 MiB | 3.5% | derivations |
| 28.8 MiB | 2.6% | eval |
| 25.9 MiB | 2.4% | regimes |
| 11.7 MiB | 1.1% | prune |
| 0.5 MiB | 0.0% | analyze |
| 0.1 MiB | 0.0% | bsearch |
| 0.0 MiB | 0.0% | start |
| 0.0 MiB | 0.0% | end |
| 1 086.8 MiB | 100.0% | total |
Loading profile data...