
Time bar (total: 2.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 13 to 10 computations (23.1% saved)
| 166.0ms | 7 586× | 0 | valid |
| 9.0ms | 399× | 1 | valid |
| 8.0ms | 203× | 2 | valid |
| 2.0ms | 68× | 3 | valid |
Add: 9.0ms (91.0% of total, 0.0 MiB)adjust: 1.0ms (10.1% of total, 0.0 MiB)Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 41 | 115 |
| 1 | 209 | 91 |
| 2 | 923 | 90 |
| 3 | 3581 | 90 |
| 1× | node-limit |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 99.9% | (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 x y) y) x) z) x) |
Compiled 2 to 16 computations (-700.0% saved)
| Inputs |
|---|
| Outputs |
|---|
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 159 | 707 |
| 1× | iter-limit |
| Inputs |
|---|
%2 = (+.f64 x y) %3 = (+.f64 %2 y) %4 = (+.f64 %3 x) %6 = (+.f64 %4 z) x y %2 %3 %4 z %6 (+.f64 %6 x) |
| Outputs |
|---|
%5 = (+ x y) %9 = (+ %5 y) %11 = (*.f64 #s(literal 2 binary64) y) %15 = (+ %9 x) %16 = (fma.f64 #s(literal 2 binary64) x %11) %19 = (+ %15 z) %20 = (+.f64 z %11) %22 = (+.f64 z %16) %24 = (+ %19 x) %26 = (*.f64 #s(literal 3 binary64) x) %31 = (/.f64 y x) %35 = (*.f64 #s(literal 2 binary64) %31) %39 = (*.f64 #s(literal 2 binary64) x) %45 = (fma.f64 #s(literal 2 binary64) %31 (/.f64 z x)) %60 = (*.f64 #s(literal -2 binary64) %31) %70 = (*.f64 #s(literal -1 binary64) (/.f64 %20 x)) %79 = (+.f64 z %39) %81 = (+.f64 x %79) %85 = (/.f64 x y) %96 = (/.f64 z y) %106 = (*.f64 #s(literal -1 binary64) %85) %133 = (+.f64 x %16) %135 = (/.f64 x z) %136 = (/.f64 y z) (approx x #s(literal 0 binary64)) (approx x x) (approx %5 y) (approx %5 (+.f64 x y)) (approx %9 %11) (approx %9 (+.f64 x %11)) (approx %15 %16) (approx %19 %20) (approx %19 %22) (approx %24 (+.f64 z (fma.f64 #s(literal 2 binary64) y %26))) (approx %5 (*.f64 x (+.f64 #s(literal 1 binary64) %31))) (approx %9 (*.f64 x (+.f64 #s(literal 1 binary64) %35))) (approx %15 %39) (approx %15 (*.f64 x (+.f64 #s(literal 2 binary64) %35))) (approx %19 (*.f64 x (+.f64 #s(literal 2 binary64) %45))) (approx %24 %26) (approx %24 (*.f64 x (+.f64 #s(literal 3 binary64) %45))) (approx %5 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) %31) #s(literal 1 binary64))))) (approx %9 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 %60 #s(literal 1 binary64))))) (approx %15 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 %60 #s(literal 2 binary64))))) (approx %19 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 %70 #s(literal 2 binary64))))) (approx %24 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 %70 #s(literal 3 binary64))))) (approx %19 %79) (approx %24 %81) (approx %24 (+.f64 x %22)) (approx %5 (*.f64 y (+.f64 #s(literal 1 binary64) %85))) (approx %9 (*.f64 y (+.f64 #s(literal 2 binary64) %85))) (approx %15 (*.f64 y (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) %85)))) (approx %19 (*.f64 y (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal 2 binary64) %85 %96)))) (approx %24 (*.f64 y (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal 2 binary64) %85 (+.f64 %85 %96))))) (approx %5 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 %106 #s(literal 1 binary64))))) (approx %9 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 %106 #s(literal 2 binary64))))) (approx %15 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -2 binary64) %85) #s(literal 2 binary64))))) (approx %19 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 %79 y)) #s(literal 2 binary64))))) (approx %24 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 %81 y)) #s(literal 2 binary64))))) (approx z z) (approx %24 %133) (approx %19 (*.f64 z (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 2 binary64) %135 (*.f64 #s(literal 2 binary64) %136))))) (approx %24 (*.f64 z (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 2 binary64) %135 (fma.f64 #s(literal 2 binary64) %136 %135))))) (approx %19 (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 %16 z)) #s(literal 1 binary64))))) (approx %24 (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 %133 z)) #s(literal 1 binary64))))) |
9 calls:
| Time | Variable | Point |
|---|---|---|
| 2.0ms | y | inf |
| 1.0ms | x | -inf |
| 1.0ms | x | inf |
| 1.0ms | y | -inf |
| 1.0ms | z | -inf |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 38 |
| 0 | 13 | 38 |
| 1 | 43 | 32 |
| 2 | 176 | 32 |
| 3 | 700 | 32 |
| 4 | 1490 | 32 |
| 5 | 2464 | 32 |
| 0 | 4050 | 32 |
| 0 | 4245 | 28 |
| 1× | iter-limit |
| 1× | iter-limit |
| 1× | node-limit |
| 1× | iter-limit |
| Inputs |
|---|
%2 = (+.f64 x y) %3 = (+.f64 %2 y) %4 = (+.f64 %3 x) %6 = (+.f64 %4 z) x y %2 %3 %4 z %6 (+.f64 %6 x) |
| Outputs |
|---|
%2 = (+.f64 y x) %4 = (*.f64 %2 #s(literal 1/2 binary64)) %7 = (*.f64 #s(literal 2 binary64) %2) %9 = (*.f64 #s(literal 1/2 binary64) %2) %16 = (neg.f64 %2) %17 = (*.f64 %16 #s(literal 1 binary64)) %21 = (*.f64 #s(literal -2 binary64) %2) %31 = (*.f64 %2 #s(literal 0 binary64)) %33 = (*.f64 #s(literal 0 binary64) %2) %49 = (neg.f64 x) %51 = (neg.f64 y) %60 = (fma.f64 #s(literal 2 binary64) y x) %64 = (+.f64 x x) %69 = (*.f64 #s(literal -2 binary64) y) %72 = (+.f64 y y) %79 = (*.f64 y #s(literal 4 binary64)) %82 = (*.f64 #s(literal 4 binary64) y) %85 = (*.f64 %51 #s(literal 4 binary64)) %88 = (*.f64 #s(literal 4 binary64) %51) %94 = (-.f64 %69 x) %97 = (*.f64 y #s(literal 1/2 binary64)) %120 = (*.f64 #s(literal 4 binary64) %2) %128 = (*.f64 y #s(literal 8 binary64)) %137 = (*.f64 #s(literal 8 binary64) y) %146 = (*.f64 x #s(literal 8 binary64)) %151 = (*.f64 x #s(literal 4 binary64)) %156 = (*.f64 #s(literal 8 binary64) x) %161 = (*.f64 #s(literal 4 binary64) x) %170 = (*.f64 %51 #s(literal 8 binary64)) %179 = (*.f64 #s(literal 8 binary64) %51) %188 = (*.f64 %49 #s(literal 8 binary64)) %193 = (*.f64 %49 #s(literal 4 binary64)) %198 = (*.f64 #s(literal 8 binary64) %49) %203 = (*.f64 #s(literal 4 binary64) %49) %208 = (*.f64 %2 #s(literal 8 binary64)) %212 = (*.f64 %2 #s(literal 4 binary64)) %215 = (*.f64 #s(literal 8 binary64) %2) %232 = (*.f64 x #s(literal 1/2 binary64)) %246 = (*.f64 #s(literal 3/2 binary64) %2) %259 = (fma.f64 #s(literal 2 binary64) x y) %270 = (*.f64 %2 #s(literal 3/2 binary64)) %279 = (*.f64 #s(literal -2 binary64) x) %286 = (-.f64 %279 y) %303 = (fma.f64 #s(literal 2 binary64) %2 z) %308 = (-.f64 %21 z) %311 = (+.f64 z x) %312 = (+.f64 %311 y) %314 = (fma.f64 #s(literal 2 binary64) x z) %316 = (fma.f64 #s(literal 2 binary64) y z) %333 = (+.f64 z y) %337 = (+.f64 %259 z) %339 = (fma.f64 #s(literal 2 binary64) y %311) %357 = (-.f64 %69 z) %361 = (neg.f64 z) %362 = (-.f64 %361 y) %366 = (-.f64 %279 z) %371 = (neg.f64 %311) %373 = (neg.f64 %312) %375 = (-.f64 %279 %333) %377 = (-.f64 %69 %311) %396 = (fma.f64 #s(literal 3 binary64) x %316) %406 = (fma.f64 #s(literal 3 binary64) x z) %425 = (*.f64 #s(literal 3 binary64) x) %427 = (fma.f64 #s(literal 3 binary64) x y) %432 = (fma.f64 #s(literal 3 binary64) x %333) %439 = (fma.f64 #s(literal 2 binary64) %2 x) %456 = (*.f64 #s(literal -3 binary64) x) x y (*.f64 %4 #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) %7) (*.f64 #s(literal 2 binary64) %9) (*.f64 #s(literal 1 binary64) %2) (*.f64 %7 #s(literal 1/2 binary64)) (*.f64 %2 #s(literal 1 binary64)) (pow.f64 %2 #s(literal 1 binary64)) (/.f64 %17 #s(literal -1 binary64)) (/.f64 %21 #s(literal -2 binary64)) (/.f64 %16 #s(literal -1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %2 #s(literal -1 binary64))) (/.f64 %7 #s(literal 2 binary64)) (/.f64 %2 #s(literal 1 binary64)) (neg.f64 %17) (neg.f64 %16) (fma.f64 %4 #s(literal 2 binary64) %31) (fma.f64 %4 #s(literal 2 binary64) %33) (fma.f64 #s(literal 1/2 binary64) %7 %31) (fma.f64 #s(literal 1/2 binary64) %7 %33) (fma.f64 #s(literal 1/2 binary64) %2 %9) (fma.f64 #s(literal 2 binary64) %9 %31) (fma.f64 #s(literal 2 binary64) %9 %33) (fma.f64 #s(literal 0 binary64) %2 %2) (fma.f64 #s(literal 1 binary64) %2 %31) (fma.f64 #s(literal 1 binary64) %2 %33) (fma.f64 %7 #s(literal 1/2 binary64) %31) (fma.f64 %7 #s(literal 1/2 binary64) %33) (fma.f64 %2 #s(literal 1/2 binary64) %4) (fma.f64 %2 #s(literal 0 binary64) %2) (fma.f64 %2 #s(literal 1 binary64) %31) (fma.f64 %2 #s(literal 1 binary64) %33) (-.f64 y %49) (-.f64 x %51) (+.f64 %4 %4) (+.f64 %31 %2) (+.f64 %9 %9) (+.f64 %33 %2) (+.f64 %2 %31) (+.f64 %2 %33) %2 (+.f64 x y) (*.f64 #s(literal 1 binary64) %60) (pow.f64 %60 #s(literal 1 binary64)) (/.f64 (fma.f64 y #s(literal 4 binary64) %64) #s(literal 2 binary64)) (/.f64 (fma.f64 #s(literal 4 binary64) y %64) #s(literal 2 binary64)) (/.f64 (fma.f64 #s(literal -2 binary64) %2 %69) #s(literal -2 binary64)) (/.f64 (fma.f64 #s(literal 2 binary64) %2 %72) #s(literal 2 binary64)) (/.f64 (fma.f64 #s(literal -2 binary64) y %21) #s(literal -2 binary64)) (/.f64 (fma.f64 #s(literal 2 binary64) y %7) #s(literal 2 binary64)) (/.f64 (fma.f64 #s(literal 2 binary64) x %79) #s(literal 2 binary64)) (/.f64 (fma.f64 #s(literal 2 binary64) x %82) #s(literal 2 binary64)) (/.f64 (-.f64 %64 %85) #s(literal 2 binary64)) (/.f64 (-.f64 %64 %88) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %60 #s(literal -1 binary64))) (/.f64 %60 #s(literal 1 binary64)) (neg.f64 %94) (fma.f64 %4 #s(literal 2 binary64) y) (fma.f64 %97 #s(literal 4 binary64) x) (fma.f64 #s(literal -2 binary64) %51 x) (fma.f64 #s(literal 1/2 binary64) %82 x) (fma.f64 #s(literal 1/2 binary64) %7 y) (fma.f64 #s(literal 2 binary64) %9 y) %60 (fma.f64 %72 #s(literal 1 binary64) x) (fma.f64 %51 #s(literal -2 binary64) x) (fma.f64 #s(literal 1 binary64) %72 x) (fma.f64 #s(literal 1 binary64) %2 y) (fma.f64 %7 #s(literal 1/2 binary64) y) (fma.f64 %2 #s(literal 1 binary64) y) (fma.f64 y #s(literal 2 binary64) x) (-.f64 %72 %49) (-.f64 %2 %51) (-.f64 y %16) (-.f64 x %69) (+.f64 %72 x) (+.f64 %2 y) (+.f64 y %2) (+.f64 x %72) (*.f64 %4 #s(literal 4 binary64)) (*.f64 #s(literal -2 binary64) %16) (*.f64 #s(literal 1/2 binary64) %120) %7 (*.f64 %16 #s(literal -2 binary64)) (*.f64 #s(literal 1 binary64) %7) (*.f64 %7 #s(literal 1 binary64)) (*.f64 %2 #s(literal 2 binary64)) (pow.f64 %7 #s(literal 1 binary64)) (/.f64 (fma.f64 x #s(literal 8 binary64) %128) #s(literal 4 binary64)) (/.f64 (fma.f64 #s(literal 8 binary64) x %128) #s(literal 4 binary64)) (/.f64 (fma.f64 x #s(literal 4 binary64) %79) #s(literal 2 binary64)) (/.f64 (fma.f64 #s(literal 4 binary64) x %79) #s(literal 2 binary64)) (/.f64 (fma.f64 x #s(literal 8 binary64) %137) #s(literal 4 binary64)) (/.f64 (fma.f64 #s(literal 8 binary64) x %137) #s(literal 4 binary64)) (/.f64 (fma.f64 x #s(literal 4 binary64) %82) #s(literal 2 binary64)) (/.f64 (fma.f64 #s(literal 4 binary64) x %82) #s(literal 2 binary64)) (/.f64 (fma.f64 y #s(literal 8 binary64) %146) #s(literal 4 binary64)) (/.f64 (fma.f64 #s(literal 8 binary64) y %146) #s(literal 4 binary64)) (/.f64 (fma.f64 y #s(literal 4 binary64) %151) #s(literal 2 binary64)) (/.f64 (fma.f64 #s(literal 4 binary64) y %151) #s(literal 2 binary64)) (/.f64 (fma.f64 y #s(literal 8 binary64) %156) #s(literal 4 binary64)) (/.f64 (fma.f64 #s(literal 8 binary64) y %156) #s(literal 4 binary64)) (/.f64 (fma.f64 y #s(literal 4 binary64) %161) #s(literal 2 binary64)) (/.f64 (fma.f64 #s(literal 4 binary64) y %161) #s(literal 2 binary64)) (/.f64 (fma.f64 #s(literal -2 binary64) %2 %21) #s(literal -2 binary64)) (/.f64 (fma.f64 #s(literal 2 binary64) %2 %7) #s(literal 2 binary64)) (/.f64 (-.f64 %146 %170) #s(literal 4 binary64)) (/.f64 (-.f64 %156 %170) #s(literal 4 binary64)) (/.f64 (-.f64 %151 %85) #s(literal 2 binary64)) (/.f64 (-.f64 %161 %85) #s(literal 2 binary64)) (/.f64 (-.f64 %146 %179) #s(literal 4 binary64)) (/.f64 (-.f64 %156 %179) #s(literal 4 binary64)) (/.f64 (-.f64 %151 %88) #s(literal 2 binary64)) (/.f64 (-.f64 %161 %88) #s(literal 2 binary64)) (/.f64 (-.f64 %128 %188) #s(literal 4 binary64)) (/.f64 (-.f64 %137 %188) #s(literal 4 binary64)) (/.f64 (-.f64 %79 %193) #s(literal 2 binary64)) (/.f64 (-.f64 %82 %193) #s(literal 2 binary64)) (/.f64 (-.f64 %128 %198) #s(literal 4 binary64)) (/.f64 (-.f64 %137 %198) #s(literal 4 binary64)) (/.f64 (-.f64 %79 %203) #s(literal 2 binary64)) (/.f64 (-.f64 %82 %203) #s(literal 2 binary64)) (/.f64 (neg.f64 %208) #s(literal -4 binary64)) (/.f64 (neg.f64 %212) #s(literal -2 binary64)) (/.f64 (neg.f64 %215) #s(literal -4 binary64)) (/.f64 (neg.f64 %120) #s(literal -2 binary64)) (/.f64 %208 #s(literal 4 binary64)) (/.f64 %212 #s(literal 2 binary64)) (/.f64 %215 #s(literal 4 binary64)) (/.f64 %120 #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %7 #s(literal -1 binary64))) (/.f64 %7 #s(literal 1 binary64)) (neg.f64 %21) (fma.f64 %4 #s(literal 4 binary64) %31) (fma.f64 %4 #s(literal 4 binary64) %33) (fma.f64 %4 #s(literal 2 binary64) %2) (fma.f64 %97 #s(literal 4 binary64) %64) (fma.f64 %232 #s(literal 4 binary64) %72) (fma.f64 #s(literal 3/2 binary64) %2 %9) (fma.f64 #s(literal -2 binary64) %16 %31) (fma.f64 #s(literal -2 binary64) %16 %33) (fma.f64 #s(literal -2 binary64) %49 %72) (fma.f64 #s(literal -2 binary64) %51 %64) (fma.f64 %64 #s(literal 1 binary64) %72) (fma.f64 #s(literal 1/2 binary64) %120 %31) (fma.f64 #s(literal 1/2 binary64) %120 %33) (fma.f64 #s(literal 1/2 binary64) %82 %64) (fma.f64 #s(literal 1/2 binary64) %161 %72) (fma.f64 #s(literal 1/2 binary64) %7 %2) (fma.f64 #s(literal 1/2 binary64) %2 %246) (fma.f64 #s(literal 2 binary64) %9 %2) (fma.f64 #s(literal 2 binary64) %2 %31) (fma.f64 #s(literal 2 binary64) %2 %33) (fma.f64 #s(literal 2 binary64) y %64) (fma.f64 #s(literal 2 binary64) x %72) (fma.f64 %16 #s(literal -2 binary64) %31) (fma.f64 %16 #s(literal -2 binary64) %33) (fma.f64 %72 #s(literal 1 binary64) %64) (fma.f64 %49 #s(literal -2 binary64) %72) (fma.f64 %51 #s(literal -2 binary64) %64) (fma.f64 #s(literal 1 binary64) %64 %72) (fma.f64 #s(literal 1 binary64) %259 y) (fma.f64 #s(literal 1 binary64) %72 %64) (fma.f64 #s(literal 1 binary64) %7 %31) (fma.f64 #s(literal 1 binary64) %7 %33) (fma.f64 #s(literal 1 binary64) %60 x) (fma.f64 #s(literal 1 binary64) %2 %2) (fma.f64 %7 #s(literal 1/2 binary64) %2) (fma.f64 %7 #s(literal 1 binary64) %31) (fma.f64 %7 #s(literal 1 binary64) %33) (fma.f64 %2 #s(literal 3/2 binary64) %4) (fma.f64 %2 #s(literal 1/2 binary64) %270) (fma.f64 %2 #s(literal 2 binary64) %31) (fma.f64 %2 #s(literal 2 binary64) %33) (fma.f64 %2 #s(literal 1 binary64) %2) (fma.f64 y #s(literal 2 binary64) %64) (fma.f64 x #s(literal 2 binary64) %72) (-.f64 %64 %69) (-.f64 %259 %51) (-.f64 %72 %279) (-.f64 %60 %49) (-.f64 %2 %17) (-.f64 %2 (*.f64 #s(literal -1 binary64) %2)) (-.f64 %2 %16) (-.f64 y %286) (-.f64 x %94) (+.f64 %270 %4) (+.f64 %4 %270) (+.f64 %246 %9) (+.f64 %9 %246) (+.f64 %64 %72) (+.f64 %259 y) (+.f64 %72 %64) (+.f64 %7 %31) (+.f64 %7 %33) (+.f64 %60 x) (+.f64 %2 %2) (+.f64 y %259) (+.f64 x %60) z (*.f64 #s(literal 1 binary64) %303) (pow.f64 %303 #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %303 #s(literal -1 binary64))) (neg.f64 %308) (fma.f64 %4 #s(literal 4 binary64) z) (fma.f64 %4 #s(literal 2 binary64) %312) (fma.f64 %97 #s(literal 4 binary64) %314) (fma.f64 %232 #s(literal 4 binary64) %316) (fma.f64 #s(literal -2 binary64) %16 z) (fma.f64 #s(literal -2 binary64) %49 %316) (fma.f64 #s(literal -2 binary64) %51 %314) (fma.f64 %64 #s(literal 1 binary64) %316) (fma.f64 #s(literal 1/2 binary64) %120 z) (fma.f64 #s(literal 1/2 binary64) %82 %314) (fma.f64 #s(literal 1/2 binary64) %161 %316) (fma.f64 #s(literal 1/2 binary64) %7 %312) (fma.f64 #s(literal 2 binary64) %9 %312) %303 (fma.f64 #s(literal 2 binary64) y %314) (fma.f64 #s(literal 2 binary64) x %316) (fma.f64 %16 #s(literal -2 binary64) z) (fma.f64 %72 #s(literal 1 binary64) %314) (fma.f64 %49 #s(literal -2 binary64) %316) (fma.f64 %51 #s(literal -2 binary64) %314) (fma.f64 #s(literal 1 binary64) %333 %259) (fma.f64 #s(literal 1 binary64) %316 %64) (fma.f64 #s(literal 1 binary64) %64 %316) (fma.f64 #s(literal 1 binary64) %337 y) (fma.f64 #s(literal 1 binary64) %339 x) (fma.f64 #s(literal 1 binary64) %259 %333) (fma.f64 #s(literal 1 binary64) %312 %2) (fma.f64 #s(literal 1 binary64) %314 %72) (fma.f64 #s(literal 1 binary64) %72 %314) (fma.f64 #s(literal 1 binary64) %311 %60) (fma.f64 #s(literal 1 binary64) %7 z) (fma.f64 #s(literal 1 binary64) %60 %311) (fma.f64 #s(literal 1 binary64) %2 %312) (fma.f64 %7 #s(literal 1/2 binary64) %312) (fma.f64 %7 #s(literal 1 binary64) z) (fma.f64 %2 #s(literal 2 binary64) z) (fma.f64 %2 #s(literal 1 binary64) %312) (fma.f64 y #s(literal 2 binary64) %314) (fma.f64 x #s(literal 2 binary64) %316) (-.f64 %333 %286) (-.f64 %316 %279) (-.f64 %64 %357) (-.f64 %337 %51) (-.f64 %339 %49) (-.f64 %259 %362) (-.f64 %312 %16) (-.f64 %314 %69) (-.f64 %72 %366) (-.f64 %311 %94) (-.f64 z %21) (-.f64 %7 %361) (-.f64 %60 %371) (-.f64 %2 %373) (-.f64 y %375) (-.f64 x %377) (+.f64 %333 %259) (+.f64 %316 %64) (+.f64 %64 %316) (+.f64 %337 y) (+.f64 %339 x) (+.f64 %259 %333) (+.f64 %312 %2) (+.f64 %314 %72) (+.f64 %72 %314) (+.f64 %311 %60) (+.f64 z %7) (+.f64 %7 z) (+.f64 %60 %311) (+.f64 %2 %312) (+.f64 y %337) (+.f64 x %339) (*.f64 #s(literal 1 binary64) %396) (pow.f64 %396 #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %396 #s(literal -1 binary64))) (neg.f64 (fma.f64 #s(literal -3 binary64) x %357)) (fma.f64 %4 #s(literal 4 binary64) %311) (fma.f64 %4 #s(literal 2 binary64) %337) (fma.f64 %97 #s(literal 4 binary64) %406) (fma.f64 %232 #s(literal 4 binary64) %339) %396 (fma.f64 #s(literal -2 binary64) %16 %311) (fma.f64 #s(literal -2 binary64) %49 %339) (fma.f64 #s(literal -2 binary64) %51 %406) (fma.f64 %64 #s(literal 1 binary64) %339) (fma.f64 #s(literal 1/2 binary64) %120 %311) (fma.f64 #s(literal 1/2 binary64) %82 %406) (fma.f64 #s(literal 1/2 binary64) %161 %339) (fma.f64 #s(literal 1/2 binary64) %7 %337) (fma.f64 #s(literal 2 binary64) %9 %337) (fma.f64 #s(literal 2 binary64) %2 %311) (fma.f64 #s(literal 2 binary64) y %406) (fma.f64 #s(literal 2 binary64) x %339) (fma.f64 %16 #s(literal -2 binary64) %311) (fma.f64 %72 #s(literal 1 binary64) %406) (fma.f64 %49 #s(literal -2 binary64) %339) (fma.f64 %51 #s(literal -2 binary64) %406) (fma.f64 #s(literal 1 binary64) %425 %316) (fma.f64 #s(literal 1 binary64) %333 %427) (fma.f64 #s(literal 1 binary64) %316 %425) (fma.f64 #s(literal 1 binary64) %427 %333) (fma.f64 #s(literal 1 binary64) %406 %72) (fma.f64 #s(literal 1 binary64) %432 y) (fma.f64 #s(literal 1 binary64) %64 %339) (fma.f64 #s(literal 1 binary64) %337 %2) (fma.f64 #s(literal 1 binary64) %339 %64) (fma.f64 #s(literal 1 binary64) %259 %312) (fma.f64 #s(literal 1 binary64) %312 %259) (fma.f64 #s(literal 1 binary64) %439 z) (fma.f64 #s(literal 1 binary64) %314 %60) (fma.f64 #s(literal 1 binary64) %72 %406) (fma.f64 #s(literal 1 binary64) %311 %7) (fma.f64 #s(literal 1 binary64) %303 x) (fma.f64 #s(literal 1 binary64) %7 %311) (fma.f64 #s(literal 1 binary64) %60 %314) (fma.f64 #s(literal 1 binary64) %2 %337) (fma.f64 %7 #s(literal 1/2 binary64) %337) (fma.f64 %7 #s(literal 1 binary64) %311) (fma.f64 %2 #s(literal 2 binary64) %311) (fma.f64 %2 #s(literal 1 binary64) %337) (fma.f64 y #s(literal 2 binary64) %406) (fma.f64 x #s(literal 3 binary64) %316) (fma.f64 x #s(literal 2 binary64) %339) (-.f64 %425 %357) (-.f64 %333 (-.f64 %456 y)) (-.f64 %316 %456) (-.f64 %427 %362) (-.f64 %406 %69) (-.f64 %432 %51) (-.f64 %64 %377) (-.f64 %337 %16) (-.f64 %339 %279) (-.f64 %259 %373) (-.f64 %312 %286) (-.f64 %439 %361) (-.f64 %314 %94) (-.f64 %72 (-.f64 %456 z)) (-.f64 %311 %21) (-.f64 %303 %49) (-.f64 z (fma.f64 #s(literal -3 binary64) x %69)) (-.f64 %7 %371) (-.f64 %60 %366) (-.f64 %2 %375) (-.f64 y (-.f64 %456 %333)) (-.f64 x %308) (+.f64 %425 %316) (+.f64 %333 %427) (+.f64 %316 %425) (+.f64 %427 %333) (+.f64 %406 %72) (+.f64 %432 y) (+.f64 %64 %339) (+.f64 %337 %2) (+.f64 %339 %64) (+.f64 %259 %312) (+.f64 %312 %259) (+.f64 %439 z) (+.f64 %314 %60) (+.f64 %72 %406) (+.f64 %311 %7) (+.f64 %303 x) (+.f64 z %439) (+.f64 %7 %311) (+.f64 %60 %314) (+.f64 %2 %337) (+.f64 y %432) (+.f64 x %303) |
Compiled 412 to 606 computations (-47.1% saved)
Compiled 55 to 216 computations (-292.7% saved)
4 alts after pruning (4 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 51 | 4 | 55 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 52 | 4 | 56 |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 100.0% | (fma.f64 #s(literal 3 binary64) x (fma.f64 #s(literal 2 binary64) y z)) |
| ▶ | 64.6% | (+.f64 (+.f64 (approx (+ (+ (+ x y) y) x) (*.f64 #s(literal 2 binary64) x)) z) x) |
| ▶ | 71.0% | (+.f64 (approx (+ (+ (+ (+ x y) y) x) z) (+.f64 z (*.f64 #s(literal 2 binary64) y))) x) |
| ▶ | 36.3% | (approx (+ (+ (+ (+ (+ x y) y) x) z) x) (*.f64 #s(literal 3 binary64) x)) |
Compiled 4 to 14 computations (-250.0% saved)
| Inputs |
|---|
| Outputs |
|---|
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 169 | 745 |
| 1× | iter-limit |
| Inputs |
|---|
%4 = (*.f64 #s(literal 2 binary64) y) %5 = (+.f64 z %4) %8 = (+ (+ (+ x y) y) x) %9 = (+ %8 z) %10 = (approx %9 %5) %12 = (*.f64 #s(literal 3 binary64) x) %13 = (*.f64 #s(literal 2 binary64) x) %14 = (approx %8 %13) %17 = (fma.f64 #s(literal 2 binary64) y z) %20 = (+.f64 %14 z) x y z #s(literal 2 binary64) %4 %5 %10 #s(literal 3 binary64) %12 %13 %14 (approx (+ %9 x) %12) %17 (fma.f64 #s(literal 3 binary64) x %17) (+.f64 %10 x) %20 (+.f64 %20 x) |
| Outputs |
|---|
%7 = (+ (+ (+ x y) y) x) %9 = (+ %7 z) %11 = (*.f64 #s(literal 2 binary64) y) %12 = (+.f64 z %11) %14 = (fma.f64 #s(literal 2 binary64) x %11) %15 = (+.f64 z %14) %18 = (* 3 x) %20 = (*.f64 #s(literal 3 binary64) x) %24 = (*.f64 #s(literal 2 binary64) x) %28 = (+ %9 x) %29 = (fma.f64 #s(literal 2 binary64) y %20) %32 = (/.f64 y x) %34 = (fma.f64 #s(literal 2 binary64) %32 (/.f64 z x)) %47 = (*.f64 #s(literal -1 binary64) (/.f64 %12 x)) %63 = (* 2 y) %64 = (+ z %63) %66 = (+.f64 z %24) %68 = (+.f64 x %66) %73 = (+ %18 (+ %63 z)) %74 = (+.f64 z %20) %76 = (/.f64 z y) %80 = (/.f64 x y) %126 = (+.f64 x %14) %130 = (/.f64 y z) %131 = (*.f64 #s(literal 2 binary64) %130) %135 = (/.f64 x z) (approx x #s(literal 0 binary64)) (approx x x) (approx %9 %12) (approx %9 %15) (approx %18 %20) (approx (* 2 x) %24) (approx %7 %11) (approx %7 %14) (approx %28 (+.f64 z %29)) (approx %9 (*.f64 x (+.f64 #s(literal 2 binary64) %34))) (approx %7 (*.f64 x (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) %32)))) (approx %28 (*.f64 x (+.f64 #s(literal 3 binary64) %34))) (approx %9 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 %47 #s(literal 2 binary64))))) (approx %7 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -2 binary64) %32) #s(literal 2 binary64))))) (approx %28 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 %47 #s(literal 3 binary64))))) (approx y y) (approx %64 z) (approx %9 %66) (approx %28 %68) (approx %28 (+.f64 x %15)) (approx %73 %74) (approx %64 (*.f64 y (+.f64 #s(literal 2 binary64) %76))) (approx %9 (*.f64 y (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal 2 binary64) %80 %76)))) (approx %7 (*.f64 y (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) %80)))) (approx %28 (*.f64 y (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal 2 binary64) %80 (+.f64 %80 %76))))) (approx %73 (*.f64 y (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal 3 binary64) %80 %76)))) (approx %64 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) %76) #s(literal 2 binary64))))) (approx %9 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 %66 y)) #s(literal 2 binary64))))) (approx %7 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -2 binary64) %80) #s(literal 2 binary64))))) (approx %28 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 %68 y)) #s(literal 2 binary64))))) (approx %73 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 %74 y)) #s(literal 2 binary64))))) (approx %28 %126) (approx %73 %29) (approx %64 (*.f64 z (+.f64 #s(literal 1 binary64) %131))) (approx %9 (*.f64 z (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 2 binary64) %135 %131)))) (approx %28 (*.f64 z (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 2 binary64) %135 (fma.f64 #s(literal 2 binary64) %130 %135))))) (approx %73 (*.f64 z (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 2 binary64) %130 (*.f64 #s(literal 3 binary64) %135))))) (approx %64 (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (*.f64 #s(literal -2 binary64) %130) #s(literal 1 binary64))))) (approx %9 (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 %14 z)) #s(literal 1 binary64))))) (approx %28 (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 %126 z)) #s(literal 1 binary64))))) (approx %73 (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 %29 z)) #s(literal 1 binary64))))) |
9 calls:
| Time | Variable | Point |
|---|---|---|
| 3.0ms | x | -inf |
| 2.0ms | x | inf |
| 2.0ms | y | -inf |
| 2.0ms | y | inf |
| 1.0ms | z | -inf |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 22 | 116 |
| 0 | 33 | 113 |
| 1 | 102 | 101 |
| 2 | 330 | 101 |
| 3 | 1101 | 99 |
| 4 | 2822 | 99 |
| 0 | 4027 | 99 |
| 0 | 4271 | 97 |
| 1× | iter-limit |
| 1× | iter-limit |
| 1× | node-limit |
| 1× | iter-limit |
| Inputs |
|---|
%4 = (*.f64 #s(literal 2 binary64) y) %5 = (+.f64 z %4) %8 = (+ (+ (+ x y) y) x) %9 = (+ %8 z) %10 = (approx %9 %5) %12 = (*.f64 #s(literal 3 binary64) x) %13 = (*.f64 #s(literal 2 binary64) x) %14 = (approx %8 %13) %17 = (fma.f64 #s(literal 2 binary64) y z) %20 = (+.f64 %14 z) x y z #s(literal 2 binary64) %4 %5 %10 #s(literal 3 binary64) %12 %13 %14 (approx (+ %9 x) %12) %17 (fma.f64 #s(literal 3 binary64) x %17) (+.f64 %10 x) %20 (+.f64 %20 x) |
| Outputs |
|---|
%5 = (*.f64 y #s(literal 4 binary64)) %8 = (+.f64 y y) %9 = (*.f64 %8 #s(literal 2 binary64)) %11 = (*.f64 #s(literal 2 binary64) %8) %13 = (*.f64 #s(literal 1/2 binary64) y) %16 = (*.f64 #s(literal 4 binary64) y) %19 = (fma.f64 #s(literal 2 binary64) y %8) %22 = (neg.f64 y) %24 = (*.f64 #s(literal -2 binary64) y) %31 = (*.f64 #s(literal -1 binary64) %22) %69 = (*.f64 %24 #s(literal 2 binary64)) %103 = (*.f64 %8 #s(literal 0 binary64)) %105 = (*.f64 #s(literal 0 binary64) %8) %142 = (fma.f64 #s(literal 2 binary64) y z) %143 = (*.f64 #s(literal 1 binary64) %142) %144 = (pow.f64 %142 #s(literal 1 binary64)) %146 = (/.f64 #s(literal 1 binary64) (pow.f64 %142 #s(literal -1 binary64))) %147 = (-.f64 %24 z) %148 = (neg.f64 %147) %149 = (fma.f64 %5 #s(literal 1/2 binary64) z) %150 = (fma.f64 %9 #s(literal 1/2 binary64) z) %151 = (fma.f64 %11 #s(literal 1/2 binary64) z) %152 = (fma.f64 %13 #s(literal 4 binary64) z) %153 = (fma.f64 #s(literal 4 binary64) %13 z) %154 = (fma.f64 #s(literal 1/2 binary64) %16 z) %155 = (fma.f64 #s(literal 1/2 binary64) %11 z) %156 = (fma.f64 #s(literal 1/2 binary64) %19 z) %157 = (fma.f64 #s(literal -2 binary64) %22 z) %158 = (fma.f64 %24 #s(literal -1 binary64) z) %159 = (fma.f64 %22 #s(literal -2 binary64) z) %160 = (+.f64 z y) %161 = (fma.f64 #s(literal 1 binary64) %160 y) %162 = (fma.f64 #s(literal 1 binary64) %8 z) %163 = (fma.f64 %8 #s(literal 1 binary64) z) %164 = (fma.f64 #s(literal 2 binary64) %31 z) %165 = (fma.f64 y #s(literal 2 binary64) z) %166 = (-.f64 %160 %22) %167 = (neg.f64 z) %168 = (-.f64 %8 %167) %169 = (-.f64 z %24) %170 = (neg.f64 %160) %171 = (-.f64 y %170) %172 = (+.f64 %160 y) %173 = (+.f64 %8 z) %174 = (+.f64 z %8) %175 = (+.f64 y %160) %178 = (* (+ y x) 2) %179 = (+ %178 z) %180 = (approx %179 %142) %185 = (neg.f64 %180) %188 = (+.f64 x x) %189 = (*.f64 #s(literal 3 binary64) %188) %192 = (*.f64 #s(literal 1/2 binary64) x) %195 = (neg.f64 x) %198 = (*.f64 #s(literal 3 binary64) x) %203 = (*.f64 %192 #s(literal 3 binary64)) %205 = (fma.f64 #s(literal 1/2 binary64) x x) %209 = (*.f64 %188 #s(literal 2 binary64)) %210 = (*.f64 %209 #s(literal 2 binary64)) %211 = (*.f64 #s(literal -2 binary64) x) %212 = (*.f64 #s(literal 2 binary64) %211) %215 = (*.f64 #s(literal 2 binary64) %188) %216 = (*.f64 %215 #s(literal 2 binary64)) %221 = (+.f64 %195 %211) %223 = (*.f64 #s(literal -3 binary64) x) %225 = (*.f64 x #s(literal 4 binary64)) %231 = (*.f64 #s(literal 4 binary64) x) %234 = (fma.f64 #s(literal 2 binary64) x %188) %317 = (*.f64 %188 #s(literal 0 binary64)) %319 = (*.f64 #s(literal 0 binary64) %188) %350 = (approx %178 %188) %355 = (neg.f64 %350) %358 = (approx (+ %179 x) %198) %363 = (fma.f64 #s(literal 3 binary64) x %142) %372 = (fma.f64 #s(literal 3 binary64) x z) %374 = (+.f64 y x) %376 = (+.f64 z x) %378 = (fma.f64 #s(literal 2 binary64) y %376) %380 = (*.f64 #s(literal 1/2 binary64) %374) %399 = (*.f64 %374 #s(literal 2 binary64)) %400 = (fma.f64 #s(literal 2 binary64) x %160) %403 = (neg.f64 %374) %411 = (fma.f64 #s(literal 3 binary64) x y) %413 = (fma.f64 #s(literal 3 binary64) x %160) %417 = (fma.f64 #s(literal 2 binary64) x y) %418 = (+.f64 %160 x) %422 = (fma.f64 #s(literal 2 binary64) x z) %423 = (fma.f64 #s(literal 2 binary64) y x) %425 = (fma.f64 #s(literal 3 binary64) x %8) %432 = (fma.f64 %374 #s(literal 2 binary64) z) %484 = (-.f64 %24 x) %495 = (*.f64 #s(literal -2 binary64) %374) %505 = (neg.f64 %376) %507 = (-.f64 %211 z) %553 = (+.f64 %180 x) %564 = (+.f64 %350 z) %569 = (neg.f64 %564) %575 = (+.f64 %564 x) %582 = (+.f64 %350 x) x y z #s(literal 2 binary64) (*.f64 %5 #s(literal 1/2 binary64)) (*.f64 %9 #s(literal 1/2 binary64)) (*.f64 %11 #s(literal 1/2 binary64)) (*.f64 %13 #s(literal 4 binary64)) (*.f64 #s(literal 4 binary64) %13) (*.f64 #s(literal 1/2 binary64) %16) (*.f64 #s(literal 1/2 binary64) %11) (*.f64 #s(literal 1/2 binary64) %19) (*.f64 #s(literal -2 binary64) %22) (*.f64 %24 #s(literal -1 binary64)) (*.f64 %22 #s(literal -2 binary64)) (*.f64 #s(literal 1 binary64) %8) (*.f64 %8 #s(literal 1 binary64)) (*.f64 #s(literal 2 binary64) %31) (*.f64 #s(literal 2 binary64) y) (*.f64 y #s(literal 2 binary64)) (pow.f64 %8 #s(literal 1 binary64)) (/.f64 (-.f64 %9 (*.f64 #s(literal 2 binary64) %24)) #s(literal 4 binary64)) (/.f64 (*.f64 #s(literal -4 binary64) %24) #s(literal 4 binary64)) (/.f64 (*.f64 %24 #s(literal -4 binary64)) #s(literal 4 binary64)) (/.f64 (*.f64 #s(literal 8 binary64) %8) #s(literal 8 binary64)) (/.f64 (*.f64 %8 #s(literal 8 binary64)) #s(literal 8 binary64)) (/.f64 (*.f64 #s(literal 4 binary64) %9) #s(literal 8 binary64)) (/.f64 (*.f64 #s(literal 4 binary64) %11) #s(literal 8 binary64)) (/.f64 (*.f64 #s(literal 1/2 binary64) %9) #s(literal 1 binary64)) (/.f64 (*.f64 #s(literal 1 binary64) %9) #s(literal 2 binary64)) (/.f64 (*.f64 #s(literal 1 binary64) %11) #s(literal 2 binary64)) (/.f64 (*.f64 #s(literal 4 binary64) %8) #s(literal 4 binary64)) (/.f64 (*.f64 #s(literal -2 binary64) %9) #s(literal -4 binary64)) (/.f64 (*.f64 #s(literal -2 binary64) %11) #s(literal -4 binary64)) (/.f64 (*.f64 #s(literal 2 binary64) %9) #s(literal 4 binary64)) (/.f64 (*.f64 #s(literal 2 binary64) %11) #s(literal 4 binary64)) (/.f64 (*.f64 %69 #s(literal -2 binary64)) #s(literal 4 binary64)) (/.f64 (*.f64 %69 #s(literal 2 binary64)) #s(literal -4 binary64)) (/.f64 (*.f64 %9 #s(literal -2 binary64)) #s(literal -4 binary64)) (/.f64 (*.f64 %11 #s(literal -2 binary64)) #s(literal -4 binary64)) (/.f64 (*.f64 %8 #s(literal 4 binary64)) #s(literal 4 binary64)) (/.f64 (*.f64 %9 #s(literal 4 binary64)) #s(literal 8 binary64)) (/.f64 (*.f64 %9 #s(literal 1 binary64)) #s(literal 2 binary64)) (/.f64 (*.f64 %9 #s(literal 2 binary64)) #s(literal 4 binary64)) (/.f64 (*.f64 %11 #s(literal 4 binary64)) #s(literal 8 binary64)) (/.f64 (*.f64 %11 #s(literal 1 binary64)) #s(literal 2 binary64)) (/.f64 (*.f64 %11 #s(literal 2 binary64)) #s(literal 4 binary64)) (/.f64 (neg.f64 %9) #s(literal -2 binary64)) (/.f64 (neg.f64 %11) #s(literal -2 binary64)) (/.f64 %9 #s(literal 2 binary64)) (/.f64 %11 #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %8 #s(literal -1 binary64))) (/.f64 %8 #s(literal 1 binary64)) (neg.f64 %24) (fma.f64 %5 #s(literal 1/2 binary64) %103) (fma.f64 %5 #s(literal 1/2 binary64) %105) (fma.f64 %9 #s(literal 1/2 binary64) %103) (fma.f64 %9 #s(literal 1/2 binary64) %105) (fma.f64 %11 #s(literal 1/2 binary64) %103) (fma.f64 %11 #s(literal 1/2 binary64) %105) (fma.f64 %13 #s(literal 4 binary64) %103) (fma.f64 %13 #s(literal 4 binary64) %105) (fma.f64 #s(literal 4 binary64) %13 %103) (fma.f64 #s(literal 4 binary64) %13 %105) (fma.f64 #s(literal 1/2 binary64) %16 %103) (fma.f64 #s(literal 1/2 binary64) %16 %105) (fma.f64 #s(literal 1/2 binary64) %11 %103) (fma.f64 #s(literal 1/2 binary64) %11 %105) (fma.f64 #s(literal 1/2 binary64) %19 %103) (fma.f64 #s(literal 1/2 binary64) %19 %105) (fma.f64 #s(literal -1 binary64) %22 %31) (fma.f64 #s(literal -2 binary64) %22 %103) (fma.f64 #s(literal -2 binary64) %22 %105) (fma.f64 %24 #s(literal -1 binary64) %103) (fma.f64 %24 #s(literal -1 binary64) %105) (fma.f64 %22 #s(literal -2 binary64) %103) (fma.f64 %22 #s(literal -2 binary64) %105) (fma.f64 #s(literal 1 binary64) %8 %103) (fma.f64 #s(literal 1 binary64) %8 %105) (fma.f64 %8 #s(literal 1 binary64) %103) (fma.f64 %8 #s(literal 1 binary64) %105) (fma.f64 #s(literal 2 binary64) %31 %103) (fma.f64 #s(literal 2 binary64) %31 %105) (fma.f64 #s(literal 2 binary64) y %103) (fma.f64 #s(literal 2 binary64) y %105) (fma.f64 y #s(literal 2 binary64) %103) (fma.f64 y #s(literal 2 binary64) %105) (-.f64 y %22) (+.f64 %31 %31) (+.f64 %8 %103) (+.f64 %8 %105) %8 %143 %144 %146 %148 %149 %150 %151 %152 %153 %154 %155 %156 %157 %158 %159 %161 %162 %163 %164 %142 %165 %166 %168 %169 %171 %172 %173 %174 %175 (*.f64 #s(literal 1 binary64) %180) (pow.f64 %180 #s(literal 1 binary64)) %180 (/.f64 #s(literal 1 binary64) (pow.f64 %180 #s(literal -1 binary64))) (neg.f64 %185) #s(literal 3 binary64) (*.f64 %189 #s(literal 1/2 binary64)) (*.f64 #s(literal 6 binary64) %192) (*.f64 #s(literal -3 binary64) %195) (*.f64 %195 #s(literal -3 binary64)) (*.f64 #s(literal 1 binary64) %198) (*.f64 %188 #s(literal 3/2 binary64)) (*.f64 %198 #s(literal 1 binary64)) %198 (*.f64 #s(literal 2 binary64) %203) (*.f64 #s(literal 2 binary64) %205) (*.f64 x #s(literal 3 binary64)) (pow.f64 %198 #s(literal 1 binary64)) (/.f64 (-.f64 %210 %212) #s(literal 4 binary64)) (/.f64 (-.f64 %216 %212) #s(literal 4 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %198 #s(literal -1 binary64))) (neg.f64 %221) (neg.f64 %223) (fma.f64 %225 #s(literal 1/2 binary64) x) (fma.f64 %209 #s(literal 1/2 binary64) x) (fma.f64 %215 #s(literal 1/2 binary64) x) (fma.f64 %192 #s(literal 4 binary64) x) (fma.f64 #s(literal 4 binary64) %192 x) (fma.f64 #s(literal 1/2 binary64) %231 x) (fma.f64 #s(literal 1/2 binary64) %215 x) (fma.f64 #s(literal 1/2 binary64) %234 x) (fma.f64 #s(literal -2 binary64) %195 x) (fma.f64 %195 #s(literal -2 binary64) x) (fma.f64 #s(literal 1 binary64) %188 x) (fma.f64 %188 #s(literal 1 binary64) x) (fma.f64 #s(literal 2 binary64) x x) (fma.f64 x #s(literal 2 binary64) x) (-.f64 %188 %195) (-.f64 x %211) (+.f64 %188 x) (+.f64 x %188) (*.f64 %225 #s(literal 1/2 binary64)) (*.f64 %209 #s(literal 1/2 binary64)) (*.f64 %215 #s(literal 1/2 binary64)) (*.f64 %192 #s(literal 4 binary64)) (*.f64 #s(literal 4 binary64) %192) (*.f64 #s(literal 1/2 binary64) %231) (*.f64 #s(literal 1/2 binary64) %215) (*.f64 #s(literal 1/2 binary64) %234) (*.f64 #s(literal -2 binary64) %195) (*.f64 %195 #s(literal -2 binary64)) (*.f64 #s(literal 1 binary64) %188) (*.f64 %188 #s(literal 1 binary64)) (*.f64 #s(literal 2 binary64) x) (*.f64 x #s(literal 2 binary64)) (pow.f64 %188 #s(literal 1 binary64)) (/.f64 (-.f64 %209 %212) #s(literal 4 binary64)) (/.f64 (*.f64 #s(literal -4 binary64) %211) #s(literal 4 binary64)) (/.f64 (*.f64 %211 #s(literal -4 binary64)) #s(literal 4 binary64)) (/.f64 (*.f64 #s(literal 4 binary64) %209) #s(literal 8 binary64)) (/.f64 (*.f64 #s(literal 4 binary64) %215) #s(literal 8 binary64)) (/.f64 (*.f64 #s(literal -2 binary64) %209) #s(literal -4 binary64)) (/.f64 (*.f64 #s(literal -2 binary64) %215) #s(literal -4 binary64)) (/.f64 (*.f64 %209 #s(literal 4 binary64)) #s(literal 8 binary64)) (/.f64 (*.f64 %209 #s(literal -2 binary64)) #s(literal -4 binary64)) (/.f64 (*.f64 %215 #s(literal 4 binary64)) #s(literal 8 binary64)) (/.f64 (*.f64 %215 #s(literal -2 binary64)) #s(literal -4 binary64)) (/.f64 (*.f64 #s(literal 8 binary64) %188) #s(literal 8 binary64)) (/.f64 (*.f64 %188 #s(literal 8 binary64)) #s(literal 8 binary64)) (/.f64 (*.f64 #s(literal 1/2 binary64) %209) #s(literal 1 binary64)) (/.f64 (*.f64 #s(literal 1 binary64) %209) #s(literal 2 binary64)) (/.f64 (*.f64 #s(literal 1 binary64) %215) #s(literal 2 binary64)) (/.f64 (*.f64 #s(literal 2 binary64) %209) #s(literal 4 binary64)) (/.f64 (*.f64 #s(literal 2 binary64) %215) #s(literal 4 binary64)) (/.f64 (*.f64 #s(literal 4 binary64) %188) #s(literal 4 binary64)) (/.f64 (*.f64 %209 #s(literal 1 binary64)) #s(literal 2 binary64)) (/.f64 %210 #s(literal 4 binary64)) (/.f64 (*.f64 %215 #s(literal 1 binary64)) #s(literal 2 binary64)) (/.f64 %216 #s(literal 4 binary64)) (/.f64 (*.f64 %188 #s(literal 4 binary64)) #s(literal 4 binary64)) (/.f64 (neg.f64 %209) #s(literal -2 binary64)) (/.f64 (neg.f64 %215) #s(literal -2 binary64)) (/.f64 %209 #s(literal 2 binary64)) (/.f64 %215 #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %188 #s(literal -1 binary64))) (/.f64 %188 #s(literal 1 binary64)) (neg.f64 %211) (fma.f64 %225 #s(literal 1/2 binary64) %317) (fma.f64 %225 #s(literal 1/2 binary64) %319) (fma.f64 %209 #s(literal 1/2 binary64) %317) (fma.f64 %209 #s(literal 1/2 binary64) %319) (fma.f64 %215 #s(literal 1/2 binary64) %317) (fma.f64 %215 #s(literal 1/2 binary64) %319) (fma.f64 %192 #s(literal 4 binary64) %317) (fma.f64 %192 #s(literal 4 binary64) %319) (fma.f64 #s(literal 4 binary64) %192 %317) (fma.f64 #s(literal 4 binary64) %192 %319) (fma.f64 #s(literal 1/2 binary64) %231 %317) (fma.f64 #s(literal 1/2 binary64) %231 %319) (fma.f64 #s(literal 1/2 binary64) %215 %317) (fma.f64 #s(literal 1/2 binary64) %215 %319) (fma.f64 #s(literal 1/2 binary64) %234 %317) (fma.f64 #s(literal 1/2 binary64) %234 %319) (fma.f64 #s(literal -2 binary64) %195 %317) (fma.f64 #s(literal -2 binary64) %195 %319) (fma.f64 %195 #s(literal -2 binary64) %317) (fma.f64 %195 #s(literal -2 binary64) %319) (fma.f64 #s(literal 1 binary64) %188 %317) (fma.f64 #s(literal 1 binary64) %188 %319) (fma.f64 %188 #s(literal 1 binary64) %317) (fma.f64 %188 #s(literal 1 binary64) %319) (fma.f64 #s(literal 2 binary64) x %317) (fma.f64 #s(literal 2 binary64) x %319) (fma.f64 x #s(literal 2 binary64) %317) (fma.f64 x #s(literal 2 binary64) %319) (-.f64 x %195) (+.f64 %188 %317) (+.f64 %188 %319) %188 (*.f64 #s(literal 1 binary64) %350) (pow.f64 %350 #s(literal 1 binary64)) %350 (/.f64 #s(literal 1 binary64) (pow.f64 %350 #s(literal -1 binary64))) (neg.f64 %355) (*.f64 #s(literal 1 binary64) %358) (pow.f64 %358 #s(literal 1 binary64)) %358 (/.f64 #s(literal 1 binary64) (pow.f64 %358 #s(literal -1 binary64))) %143 %144 %146 %148 %149 %150 %151 %152 %153 %154 %155 %156 %157 %158 %159 %161 %162 %163 %164 %142 %165 %166 %168 %169 %171 %172 %173 %174 %175 (*.f64 #s(literal 1 binary64) %363) (pow.f64 %363 #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %363 #s(literal -1 binary64))) (neg.f64 (fma.f64 #s(literal -3 binary64) x %147)) (fma.f64 %189 #s(literal 1/2 binary64) %142) (fma.f64 #s(literal 6 binary64) %192 %142) (fma.f64 %5 #s(literal 1/2 binary64) %372) (fma.f64 (*.f64 %374 #s(literal 4 binary64)) #s(literal 1/2 binary64) %376) (fma.f64 %225 #s(literal 1/2 binary64) %378) (fma.f64 %380 #s(literal 4 binary64) %376) (fma.f64 %9 #s(literal 1/2 binary64) %372) (fma.f64 %209 #s(literal 1/2 binary64) %378) (fma.f64 %11 #s(literal 1/2 binary64) %372) (fma.f64 %215 #s(literal 1/2 binary64) %378) (fma.f64 %192 #s(literal 4 binary64) %378) (fma.f64 %13 #s(literal 4 binary64) %372) (fma.f64 #s(literal 4 binary64) %380 %376) (fma.f64 #s(literal 4 binary64) %192 %378) (fma.f64 #s(literal 4 binary64) %13 %372) (fma.f64 #s(literal 1/2 binary64) %16 %372) (fma.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 4 binary64) %374) %376) (fma.f64 #s(literal 1/2 binary64) %231 %378) (fma.f64 #s(literal 1/2 binary64) %11 %372) (fma.f64 #s(literal 1/2 binary64) %215 %378) (fma.f64 #s(literal 1/2 binary64) %19 %372) (fma.f64 #s(literal 1/2 binary64) %234 %378) (fma.f64 #s(literal 1/2 binary64) %399 %400) (fma.f64 #s(literal -3 binary64) %195 %142) (fma.f64 #s(literal -2 binary64) %403 %376) (fma.f64 #s(literal -2 binary64) %195 %378) (fma.f64 #s(literal -2 binary64) %22 %372) (fma.f64 %24 #s(literal -1 binary64) %372) (fma.f64 %195 #s(literal -3 binary64) %142) (fma.f64 %195 #s(literal -2 binary64) %378) (fma.f64 %22 #s(literal -2 binary64) %372) (fma.f64 #s(literal 1 binary64) %411 %160) (fma.f64 #s(literal 1 binary64) %413 y) (fma.f64 #s(literal 1 binary64) %400 %374) (fma.f64 #s(literal 1 binary64) %372 %8) (fma.f64 #s(literal 1 binary64) %417 %418) (fma.f64 #s(literal 1 binary64) %418 %417) (fma.f64 #s(literal 1 binary64) %378 %188) (fma.f64 #s(literal 1 binary64) %422 %423) (fma.f64 #s(literal 1 binary64) %425 z) (fma.f64 #s(literal 1 binary64) %160 %411) (fma.f64 #s(literal 1 binary64) %376 %399) (fma.f64 #s(literal 1 binary64) %142 %198) (fma.f64 #s(literal 1 binary64) %188 %378) (fma.f64 #s(literal 1 binary64) %198 %142) (fma.f64 #s(literal 1 binary64) %432 x) (fma.f64 #s(literal 1 binary64) %399 %376) (fma.f64 #s(literal 1 binary64) %423 %422) (fma.f64 #s(literal 1 binary64) %374 %400) (fma.f64 #s(literal 1 binary64) %8 %372) (fma.f64 %188 #s(literal 3/2 binary64) %142) (fma.f64 %188 #s(literal 1 binary64) %378) (fma.f64 %198 #s(literal 1 binary64) %142) %363 (fma.f64 %399 #s(literal 1 binary64) %376) (fma.f64 %374 #s(literal 1 binary64) %400) (fma.f64 %374 #s(literal 2 binary64) %376) (fma.f64 %8 #s(literal 1 binary64) %372) (fma.f64 #s(literal 2 binary64) %203 %142) (fma.f64 #s(literal 2 binary64) %380 %400) (fma.f64 #s(literal 2 binary64) (fma.f64 #s(literal 1/2 binary64) y %192) %400) (fma.f64 #s(literal 2 binary64) (fma.f64 #s(literal 1/2 binary64) x %13) %400) (fma.f64 #s(literal 2 binary64) (+.f64 x %13) %418) (fma.f64 #s(literal 2 binary64) (fma.f64 #s(literal 1/2 binary64) y x) %418) (fma.f64 #s(literal 2 binary64) %205 %142) (fma.f64 #s(literal 2 binary64) (+.f64 y %192) %422) (fma.f64 #s(literal 2 binary64) (fma.f64 #s(literal 1/2 binary64) x y) %422) (fma.f64 #s(literal 2 binary64) (+.f64 %374 %192) z) (fma.f64 #s(literal 2 binary64) (fma.f64 #s(literal 1/2 binary64) x %374) z) (fma.f64 #s(literal 2 binary64) (-.f64 %192 %22) %422) (fma.f64 #s(literal 2 binary64) (-.f64 %192 %403) z) (fma.f64 #s(literal 2 binary64) %31 %372) (fma.f64 #s(literal 2 binary64) %374 %376) (fma.f64 #s(literal 2 binary64) y %372) (fma.f64 #s(literal 2 binary64) x %378) (fma.f64 y #s(literal 2 binary64) %372) (fma.f64 x #s(literal 3 binary64) %142) (fma.f64 x #s(literal 2 binary64) %378) (-.f64 %411 %170) (-.f64 %413 %22) (-.f64 %400 %403) (-.f64 %372 %24) (-.f64 %417 (neg.f64 %418)) (-.f64 %418 (-.f64 %211 y)) (-.f64 %378 %211) (-.f64 %422 %484) (-.f64 %425 %167) (-.f64 %160 (+.f64 %403 %211)) (-.f64 %160 (-.f64 %403 %188)) (-.f64 %160 (-.f64 %195 %417)) (-.f64 %160 (neg.f64 %411)) (-.f64 %376 %495) (-.f64 %142 (-.f64 %195 %188)) (-.f64 %142 %221) (-.f64 %142 %223) (-.f64 %188 (-.f64 %484 z)) (-.f64 %198 %147) (-.f64 %432 %195) (-.f64 %399 %505) (-.f64 %423 %507) (-.f64 %374 (-.f64 %211 %160)) (-.f64 %8 (-.f64 %505 %188)) (-.f64 %8 (-.f64 %195 %422)) (-.f64 %8 (+.f64 %195 %507)) (-.f64 %8 (+.f64 %505 %211)) (-.f64 %8 (-.f64 %223 z)) (-.f64 z (fma.f64 #s(literal -2 binary64) y %223)) (-.f64 y (-.f64 %167 %411)) (-.f64 y (-.f64 %505 %417)) (-.f64 y (neg.f64 %413)) (-.f64 x (-.f64 %495 z)) (+.f64 %411 %160) (+.f64 %413 y) (+.f64 %400 %374) (+.f64 %372 %8) (+.f64 %417 %418) (+.f64 %418 %417) (+.f64 %378 %188) (+.f64 %422 %423) (+.f64 %425 z) (+.f64 %160 %411) (+.f64 %376 %399) (+.f64 %142 %198) (+.f64 %188 %378) (+.f64 %198 %142) (+.f64 %432 x) (+.f64 %399 %376) (+.f64 %423 %422) (+.f64 %374 %400) (+.f64 %8 %372) (+.f64 z %425) (+.f64 y %413) (+.f64 x %432) (*.f64 #s(literal 1 binary64) %553) (pow.f64 %553 #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %553 #s(literal -1 binary64))) (neg.f64 (neg.f64 %553)) (fma.f64 #s(literal 1 binary64) %180 x) (-.f64 %180 %195) (-.f64 x %185) %553 (+.f64 x %180) (*.f64 #s(literal 1 binary64) %564) (pow.f64 %564 #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %564 #s(literal -1 binary64))) (neg.f64 %569) (fma.f64 #s(literal 1 binary64) %350 z) (-.f64 %350 %167) (-.f64 z %355) %564 (+.f64 z %350) (*.f64 #s(literal 1 binary64) %575) (pow.f64 %575 #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %575 #s(literal -1 binary64))) (neg.f64 (neg.f64 %575)) (fma.f64 #s(literal 1 binary64) %582 z) (fma.f64 #s(literal 1 binary64) %376 %350) (fma.f64 #s(literal 1 binary64) %564 x) (fma.f64 #s(literal 1 binary64) %350 %376) (-.f64 %582 %167) (-.f64 %376 %355) (-.f64 %564 %195) (-.f64 %350 %505) (-.f64 z (neg.f64 %582)) (-.f64 x %569) (+.f64 %582 z) (+.f64 %376 %350) %575 (+.f64 %350 %376) (+.f64 z %582) (+.f64 x %564) |
Compiled 494 to 698 computations (-41.3% saved)
Compiled 77 to 219 computations (-184.4% saved)
8 alts after pruning (6 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 71 | 6 | 77 |
| Fresh | 0 | 0 | 0 |
| Picked | 2 | 2 | 4 |
| Done | 0 | 0 | 0 |
| Total | 73 | 8 | 81 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 100.0% | (fma.f64 #s(literal 3 binary64) x (fma.f64 #s(literal 2 binary64) y z)) |
| ▶ | 64.6% | (+.f64 (+.f64 (approx (+ (+ (+ x y) y) x) (+.f64 x x)) z) x) |
| ▶ | 71.0% | (+.f64 (approx (+ (+ (+ (+ x y) y) x) z) (fma.f64 #s(literal 2 binary64) y z)) x) |
| ▶ | 35.8% | (+.f64 (approx (+ (+ (+ (+ x y) y) x) z) (approx (+ z (* 2 y)) z)) x) |
| ▶ | 2.3% | (approx (+ (+ (+ (+ (+ x y) y) x) z) x) (*.f64 #s(literal 3 binary64) (approx x #s(literal 0 binary64)))) |
| ✓ | 36.3% | (approx (+ (+ (+ (+ (+ x y) y) x) z) x) (*.f64 #s(literal 3 binary64) x)) |
| ▶ | 70.9% | (approx (+ (* 3 x) (+ (* 2 y) z)) (fma.f64 #s(literal 2 binary64) y (*.f64 #s(literal 3 binary64) x))) |
| ▶ | 64.6% | (approx (+ (* 3 x) (+ (* 2 y) z)) (+.f64 z (*.f64 #s(literal 3 binary64) x))) |
Compiled 8 to 17 computations (-112.5% saved)
| Inputs |
|---|
| Outputs |
|---|
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 202 | 853 |
| 1× | iter-limit |
| Inputs |
|---|
%4 = (approx x #s(literal 0 binary64)) %7 = (*.f64 #s(literal 3 binary64) x) %8 = (fma.f64 #s(literal 2 binary64) y %7) %9 = (+.f64 x x) %10 = (fma.f64 #s(literal 2 binary64) y z) %12 = (* 2 y) %14 = (approx (+ z %12) z) %15 = (+.f64 z %7) %19 = (+ (* 3 x) (+ %12 z)) %24 = (+ (+ (+ x y) y) x) %25 = (+ %24 z) %26 = (approx %25 %14) %28 = (approx %25 %10) %30 = (approx %24 %9) %31 = (+.f64 %30 z) %33 = (*.f64 #s(literal 3 binary64) %4) x y z #s(literal 0 binary64) %4 #s(literal 2 binary64) #s(literal 3 binary64) %7 %8 %9 %10 %14 %15 (approx %19 %15) (approx %19 %8) %26 (+.f64 %26 x) %28 (+.f64 %28 x) %30 %31 (+.f64 %31 x) %33 (approx (+ %25 x) %33) |
| Outputs |
|---|
%5 = (* 3 x) %7 = (*.f64 #s(literal 3 binary64) x) %11 = (* 2 y) %12 = (+ %11 %5) %14 = (*.f64 #s(literal 2 binary64) y) %16 = (fma.f64 #s(literal 2 binary64) y %7) %19 = (*.f64 #s(literal 2 binary64) x) %22 = (+ z %5) %24 = (+.f64 z %7) %26 = (+ %11 z) %27 = (+ %5 %26) %28 = (+.f64 z %14) %34 = (+ (+ (+ x y) y) x) %35 = (+ %34 z) %36 = (fma.f64 #s(literal 2 binary64) x %14) %37 = (+.f64 z %36) %40 = (/.f64 y x) %41 = (*.f64 #s(literal 2 binary64) %40) %45 = (/.f64 z x) %49 = (fma.f64 #s(literal 2 binary64) %40 %45) %61 = (*.f64 #s(literal -2 binary64) %40) %72 = (*.f64 #s(literal -1 binary64) (/.f64 %28 x)) %86 = (+.f64 z %19) %88 = (+ %35 x) %89 = (+.f64 x %86) %93 = (/.f64 x y) %98 = (/.f64 z y) %153 = (+.f64 x %36) %156 = (/.f64 y z) %157 = (*.f64 #s(literal 2 binary64) %156) %161 = (/.f64 x z) %162 = (*.f64 #s(literal 3 binary64) %161) (approx x #s(literal 0 binary64)) (approx x x) (approx %5 %7) (approx %12 %14) (approx %12 %16) (approx (+ x x) %19) (approx %22 z) (approx %22 %24) (approx %27 %28) (approx %27 (+.f64 z %16)) (approx %35 %37) (approx %34 %36) (approx %12 (*.f64 x (+.f64 #s(literal 3 binary64) %41))) (approx %22 (*.f64 x (+.f64 #s(literal 3 binary64) %45))) (approx %27 (*.f64 x (+.f64 #s(literal 3 binary64) %49))) (approx %35 (*.f64 x (+.f64 #s(literal 2 binary64) %49))) (approx %34 (*.f64 x (+.f64 #s(literal 2 binary64) %41))) (approx %12 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 %61 #s(literal 3 binary64))))) (approx %22 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) %45) #s(literal 3 binary64))))) (approx %27 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 %72 #s(literal 3 binary64))))) (approx %35 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 %72 #s(literal 2 binary64))))) (approx %34 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 %61 #s(literal 2 binary64))))) (approx y y) (approx %35 %86) (approx %88 %89) (approx %88 (+.f64 x %37)) (approx %12 (*.f64 y (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 3 binary64) %93)))) (approx %26 (*.f64 y (+.f64 #s(literal 2 binary64) %98))) (approx %27 (*.f64 y (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal 3 binary64) %93 %98)))) (approx %35 (*.f64 y (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal 2 binary64) %93 %98)))) (approx %88 (*.f64 y (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal 2 binary64) %93 (+.f64 %93 %98))))) (approx %34 (*.f64 y (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) %93)))) (approx %12 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -3 binary64) %93) #s(literal 2 binary64))))) (approx %26 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) %98) #s(literal 2 binary64))))) (approx %27 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 %24 y)) #s(literal 2 binary64))))) (approx %35 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 %86 y)) #s(literal 2 binary64))))) (approx %88 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 %89 y)) #s(literal 2 binary64))))) (approx %34 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -2 binary64) %93) #s(literal 2 binary64))))) (approx %88 %153) (approx %26 (*.f64 z (+.f64 #s(literal 1 binary64) %157))) (approx %22 (*.f64 z (+.f64 #s(literal 1 binary64) %162))) (approx %27 (*.f64 z (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 2 binary64) %156 %162)))) (approx %35 (*.f64 z (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 2 binary64) %161 %157)))) (approx %88 (*.f64 z (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 2 binary64) %161 (fma.f64 #s(literal 2 binary64) %156 %161))))) (approx %26 (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (*.f64 #s(literal -2 binary64) %156) #s(literal 1 binary64))))) (approx %22 (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (*.f64 #s(literal -3 binary64) %161) #s(literal 1 binary64))))) (approx %27 (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 %16 z)) #s(literal 1 binary64))))) (approx %35 (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 %36 z)) #s(literal 1 binary64))))) (approx %88 (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 %153 z)) #s(literal 1 binary64))))) |
9 calls:
| Time | Variable | Point |
|---|---|---|
| 2.0ms | x | inf |
| 2.0ms | x | -inf |
| 1.0ms | y | -inf |
| 1.0ms | y | inf |
| 1.0ms | z | -inf |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 34 | 193 |
| 0 | 43 | 190 |
| 1 | 136 | 174 |
| 2 | 392 | 174 |
| 3 | 1188 | 173 |
| 4 | 3065 | 173 |
| 0 | 4187 | 173 |
| 0 | 4531 | 164 |
| 1× | iter-limit |
| 1× | iter-limit |
| 1× | node-limit |
| 1× | iter-limit |
| Inputs |
|---|
%4 = (approx x #s(literal 0 binary64)) %7 = (*.f64 #s(literal 3 binary64) x) %8 = (fma.f64 #s(literal 2 binary64) y %7) %9 = (+.f64 x x) %10 = (fma.f64 #s(literal 2 binary64) y z) %12 = (* 2 y) %14 = (approx (+ z %12) z) %15 = (+.f64 z %7) %19 = (+ (* 3 x) (+ %12 z)) %24 = (+ (+ (+ x y) y) x) %25 = (+ %24 z) %26 = (approx %25 %14) %28 = (approx %25 %10) %30 = (approx %24 %9) %31 = (+.f64 %30 z) %33 = (*.f64 #s(literal 3 binary64) %4) x y z #s(literal 0 binary64) %4 #s(literal 2 binary64) #s(literal 3 binary64) %7 %8 %9 %10 %14 %15 (approx %19 %15) (approx %19 %8) %26 (+.f64 %26 x) %28 (+.f64 %28 x) %30 %31 (+.f64 %31 x) %33 (approx (+ %25 x) %33) |
| Outputs |
|---|
%5 = (approx x #s(literal 0 binary64)) %14 = (neg.f64 x) %17 = (*.f64 #s(literal 3 binary64) x) %24 = (*.f64 #s(literal -2 binary64) x) %25 = (+.f64 %14 %24) %27 = (*.f64 #s(literal -3 binary64) x) %30 = (*.f64 x #s(literal 4 binary64)) %33 = (+.f64 x x) %34 = (*.f64 %33 #s(literal 2 binary64)) %36 = (*.f64 x #s(literal 1/2 binary64)) %38 = (*.f64 #s(literal 1/2 binary64) x) %40 = (*.f64 #s(literal 4 binary64) x) %52 = (+.f64 y x) %53 = (fma.f64 %52 #s(literal 2 binary64) x) %60 = (fma.f64 #s(literal 2 binary64) y x) %62 = (*.f64 y #s(literal 4 binary64)) %69 = (+.f64 y y) %70 = (*.f64 %69 #s(literal 2 binary64)) %72 = (*.f64 #s(literal 2 binary64) %69) %75 = (*.f64 #s(literal 1/2 binary64) y) %77 = (*.f64 #s(literal 1/2 binary64) %52) %82 = (*.f64 #s(literal 4 binary64) y) %87 = (fma.f64 #s(literal 2 binary64) y %69) %89 = (*.f64 %52 #s(literal 2 binary64)) %90 = (fma.f64 #s(literal 2 binary64) x y) %92 = (neg.f64 %52) %94 = (neg.f64 y) %98 = (*.f64 #s(literal -2 binary64) y) %103 = (fma.f64 #s(literal 3 binary64) x y) %122 = (*.f64 #s(literal -1 binary64) %94) %134 = (-.f64 %24 y) %136 = (-.f64 %14 %33) %185 = (E.f64 ) %193 = (*.f64 %33 #s(literal 0 binary64)) %195 = (*.f64 #s(literal 0 binary64) %33) %224 = (fma.f64 #s(literal 2 binary64) y z) %242 = (+.f64 z y) %249 = (neg.f64 z) %260 = (approx (+ (+ z y) y) z) %265 = (fma.f64 #s(literal 3 binary64) x z) %270 = (+.f64 z x) %271 = (neg.f64 %270) %274 = (-.f64 %24 z) %290 = (fma.f64 #s(literal 2 binary64) x z) %317 = (+ (+ (* 3 x) z) (* 2 y)) %318 = (approx %317 %265) %323 = (approx %317 %53) %329 = (* (+ y x) 2) %330 = (+ %329 z) %331 = (approx %330 %260) %336 = (neg.f64 %331) %338 = (+.f64 %331 x) %349 = (approx %330 %224) %354 = (neg.f64 %349) %356 = (+.f64 %349 x) %367 = (approx %329 %33) %372 = (neg.f64 %367) %374 = (+.f64 %367 z) %379 = (neg.f64 %374) %385 = (+.f64 %374 x) %392 = (+.f64 %367 x) %409 = (neg.f64 %5) %412 = (*.f64 #s(literal 3 binary64) %5) %420 = (approx %317 %412) x y z #s(literal 0 binary64) (*.f64 #s(literal 1 binary64) %5) (pow.f64 %5 #s(literal 1 binary64)) %5 (/.f64 #s(literal 1 binary64) (pow.f64 %5 #s(literal -1 binary64))) #s(literal 2 binary64) #s(literal 3 binary64) (*.f64 #s(literal -3 binary64) %14) (*.f64 %14 #s(literal -3 binary64)) (*.f64 #s(literal 1 binary64) %17) %17 (*.f64 x #s(literal 3 binary64)) (pow.f64 %17 #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %17 #s(literal -1 binary64))) (neg.f64 %25) (neg.f64 %27) (fma.f64 %30 #s(literal 1/2 binary64) x) (fma.f64 %34 #s(literal 1/2 binary64) x) (fma.f64 %36 #s(literal 4 binary64) x) (fma.f64 #s(literal 4 binary64) %38 x) (fma.f64 #s(literal 1/2 binary64) %40 x) (fma.f64 #s(literal -2 binary64) %14 x) (fma.f64 %14 #s(literal -2 binary64) x) (fma.f64 #s(literal 1 binary64) %33 x) (fma.f64 %33 #s(literal 1 binary64) x) (fma.f64 #s(literal 2 binary64) x x) (fma.f64 x #s(literal 2 binary64) x) (-.f64 %33 %14) (-.f64 x %24) (+.f64 %33 x) (+.f64 x %33) (*.f64 #s(literal 1 binary64) %53) (pow.f64 %53 #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %53 #s(literal -1 binary64))) (neg.f64 (fma.f64 #s(literal -2 binary64) y %27)) (fma.f64 %30 #s(literal 1/2 binary64) %60) (fma.f64 %62 #s(literal 1/2 binary64) %17) (fma.f64 (*.f64 %52 #s(literal 4 binary64)) #s(literal 1/2 binary64) x) (fma.f64 (*.f64 %52 #s(literal 1/2 binary64)) #s(literal 4 binary64) x) (fma.f64 %34 #s(literal 1/2 binary64) %60) (fma.f64 %70 #s(literal 1/2 binary64) %17) (fma.f64 %72 #s(literal 1/2 binary64) %17) (fma.f64 %36 #s(literal 4 binary64) %60) (fma.f64 %75 #s(literal 4 binary64) %17) (fma.f64 #s(literal 4 binary64) %77 x) (fma.f64 #s(literal 4 binary64) %38 %60) (fma.f64 #s(literal 4 binary64) %75 %17) (fma.f64 #s(literal 1/2 binary64) %40 %60) (fma.f64 #s(literal 1/2 binary64) %82 %17) (fma.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 4 binary64) %52) x) (fma.f64 #s(literal 1/2 binary64) %72 %17) (fma.f64 #s(literal 1/2 binary64) %87 %17) (fma.f64 #s(literal 1/2 binary64) %89 %90) (fma.f64 #s(literal -2 binary64) %92 x) (fma.f64 #s(literal -2 binary64) %94 %17) (fma.f64 #s(literal -2 binary64) %14 %60) (fma.f64 #s(literal -3 binary64) %14 %69) (fma.f64 %98 #s(literal -1 binary64) %17) (fma.f64 %94 #s(literal -2 binary64) %17) (fma.f64 %14 #s(literal -2 binary64) %60) (fma.f64 %14 #s(literal -3 binary64) %69) (fma.f64 #s(literal 1 binary64) %103 y) (fma.f64 #s(literal 1 binary64) %90 %52) (fma.f64 #s(literal 1 binary64) %89 x) (fma.f64 #s(literal 1 binary64) %60 %33) (fma.f64 #s(literal 1 binary64) %52 %90) (fma.f64 #s(literal 1 binary64) %69 %17) (fma.f64 #s(literal 1 binary64) %33 %60) (fma.f64 #s(literal 1 binary64) %17 %69) (fma.f64 %89 #s(literal 1 binary64) x) (fma.f64 %52 #s(literal 1 binary64) %90) %53 (fma.f64 %69 #s(literal 1 binary64) %17) (fma.f64 %33 #s(literal 1 binary64) %60) (fma.f64 #s(literal 3 binary64) x %69) (fma.f64 #s(literal 2 binary64) %77 %90) (fma.f64 #s(literal 2 binary64) (+.f64 x %75) %52) (fma.f64 #s(literal 2 binary64) (fma.f64 #s(literal 1/2 binary64) y x) %52) (fma.f64 #s(literal 2 binary64) %122 %17) (fma.f64 #s(literal 2 binary64) %52 x) (fma.f64 #s(literal 2 binary64) y %17) (fma.f64 #s(literal 2 binary64) x %60) (fma.f64 y #s(literal 2 binary64) %17) (fma.f64 x #s(literal 3 binary64) %69) (fma.f64 x #s(literal 2 binary64) %60) (-.f64 %103 %94) (-.f64 %90 %92) (-.f64 %89 %14) (-.f64 %60 %24) (-.f64 %52 %134) (-.f64 %69 %136) (-.f64 %69 %25) (-.f64 %69 %27) (-.f64 %33 (-.f64 %98 x)) (-.f64 %17 %98) (-.f64 y (fma.f64 #s(literal -2 binary64) x %92)) (-.f64 y (+.f64 %92 %24)) (-.f64 y (-.f64 %134 x)) (-.f64 y (-.f64 %24 %52)) (-.f64 y (-.f64 %92 %33)) (-.f64 y (+.f64 %14 %134)) (-.f64 y (+.f64 %134 %14)) (-.f64 y (-.f64 %14 %90)) (-.f64 y (-.f64 %27 y)) (-.f64 x (*.f64 #s(literal -2 binary64) %52)) (+.f64 %103 y) (+.f64 %90 %52) (+.f64 %89 x) (+.f64 %60 %33) (+.f64 %52 %90) (+.f64 %69 %17) (+.f64 %33 %60) (+.f64 %17 %69) (+.f64 y %103) (+.f64 x %89) (*.f64 %30 #s(literal 1/2 binary64)) (*.f64 %34 #s(literal 1/2 binary64)) (*.f64 %36 #s(literal 4 binary64)) (*.f64 #s(literal 4 binary64) %38) (*.f64 #s(literal 1/2 binary64) %40) (*.f64 #s(literal -2 binary64) %14) (*.f64 %14 #s(literal -2 binary64)) (*.f64 #s(literal 1 binary64) %33) (*.f64 %33 #s(literal 1 binary64)) (*.f64 #s(literal 2 binary64) x) (*.f64 x #s(literal 2 binary64)) (pow.f64 %33 #s(literal 1 binary64)) (/.f64 (*.f64 %33 %185) %185) (/.f64 %34 #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %33 #s(literal -1 binary64))) (/.f64 %33 #s(literal 1 binary64)) (neg.f64 %24) (fma.f64 %30 #s(literal 1/2 binary64) %193) (fma.f64 %30 #s(literal 1/2 binary64) %195) (fma.f64 %34 #s(literal 1/2 binary64) %193) (fma.f64 %34 #s(literal 1/2 binary64) %195) (fma.f64 %36 #s(literal 4 binary64) %193) (fma.f64 %36 #s(literal 4 binary64) %195) (fma.f64 #s(literal 4 binary64) %38 %193) (fma.f64 #s(literal 4 binary64) %38 %195) (fma.f64 #s(literal 1/2 binary64) %40 %193) (fma.f64 #s(literal 1/2 binary64) %40 %195) (fma.f64 #s(literal -2 binary64) %14 %193) (fma.f64 #s(literal -2 binary64) %14 %195) (fma.f64 %14 #s(literal -2 binary64) %193) (fma.f64 %14 #s(literal -2 binary64) %195) (fma.f64 #s(literal 1 binary64) %33 %193) (fma.f64 #s(literal 1 binary64) %33 %195) (fma.f64 %33 #s(literal 1 binary64) %193) (fma.f64 %33 #s(literal 1 binary64) %195) (fma.f64 #s(literal 2 binary64) x %193) (fma.f64 #s(literal 2 binary64) x %195) (fma.f64 x #s(literal 2 binary64) %193) (fma.f64 x #s(literal 2 binary64) %195) (-.f64 x (*.f64 %14 #s(literal 1 binary64))) (-.f64 x (*.f64 #s(literal -1 binary64) x)) (-.f64 x %14) (+.f64 %33 %193) (+.f64 %33 %195) %33 (*.f64 #s(literal 1 binary64) %224) (pow.f64 %224 #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %224 #s(literal -1 binary64))) (neg.f64 (-.f64 %98 z)) (fma.f64 %62 #s(literal 1/2 binary64) z) (fma.f64 %70 #s(literal 1/2 binary64) z) (fma.f64 %72 #s(literal 1/2 binary64) z) (fma.f64 %75 #s(literal 4 binary64) z) (fma.f64 #s(literal 4 binary64) %75 z) (fma.f64 #s(literal 1/2 binary64) %82 z) (fma.f64 #s(literal 1/2 binary64) %72 z) (fma.f64 #s(literal 1/2 binary64) %87 z) (fma.f64 #s(literal -2 binary64) %94 z) (fma.f64 %98 #s(literal -1 binary64) z) (fma.f64 %94 #s(literal -2 binary64) z) (fma.f64 #s(literal 1 binary64) %242 y) (fma.f64 #s(literal 1 binary64) %69 z) (fma.f64 %69 #s(literal 1 binary64) z) (fma.f64 #s(literal 2 binary64) %122 z) %224 (fma.f64 y #s(literal 2 binary64) z) (-.f64 %242 %94) (-.f64 %69 %249) (-.f64 z %98) (-.f64 y (neg.f64 %242)) (+.f64 %242 y) (+.f64 %69 z) (+.f64 z %69) (+.f64 y %242) (*.f64 #s(literal 1 binary64) %260) (pow.f64 %260 #s(literal 1 binary64)) %260 (/.f64 #s(literal 1 binary64) (pow.f64 %260 #s(literal -1 binary64))) (*.f64 #s(literal 1 binary64) %265) (pow.f64 %265 #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %265 #s(literal -1 binary64))) (neg.f64 (+.f64 %271 %24)) (neg.f64 (+.f64 %14 %274)) (neg.f64 (-.f64 %274 x)) (neg.f64 (-.f64 %27 z)) (fma.f64 %30 #s(literal 1/2 binary64) %270) (fma.f64 %34 #s(literal 1/2 binary64) %270) (fma.f64 %36 #s(literal 4 binary64) %270) (fma.f64 #s(literal 4 binary64) %38 %270) (fma.f64 #s(literal 1/2 binary64) %40 %270) (fma.f64 #s(literal -2 binary64) %14 %270) (fma.f64 #s(literal -3 binary64) %14 z) (fma.f64 %14 #s(literal -2 binary64) %270) (fma.f64 %14 #s(literal -3 binary64) z) (fma.f64 #s(literal 1 binary64) %290 x) (fma.f64 #s(literal 1 binary64) %270 %33) (fma.f64 #s(literal 1 binary64) %33 %270) (fma.f64 #s(literal 1 binary64) %17 z) (fma.f64 %33 #s(literal 1 binary64) %270) %265 (fma.f64 #s(literal 2 binary64) x %270) (fma.f64 x #s(literal 3 binary64) z) (fma.f64 x #s(literal 2 binary64) %270) (-.f64 %290 %14) (-.f64 %270 %24) (-.f64 %33 %271) (-.f64 %17 %249) (-.f64 z %136) (-.f64 z %27) (-.f64 x %274) (+.f64 %290 x) (+.f64 %270 %33) (+.f64 %33 %270) (+.f64 %17 z) (+.f64 z %17) (+.f64 x %290) (*.f64 #s(literal 1 binary64) %318) (pow.f64 %318 #s(literal 1 binary64)) %318 (/.f64 #s(literal 1 binary64) (pow.f64 %318 #s(literal -1 binary64))) (*.f64 #s(literal 1 binary64) %323) (pow.f64 %323 #s(literal 1 binary64)) %323 (/.f64 #s(literal 1 binary64) (pow.f64 %323 #s(literal -1 binary64))) (*.f64 #s(literal 1 binary64) %331) (pow.f64 %331 #s(literal 1 binary64)) %331 (/.f64 #s(literal 1 binary64) (pow.f64 %331 #s(literal -1 binary64))) (neg.f64 %336) (*.f64 #s(literal 1 binary64) %338) (pow.f64 %338 #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %338 #s(literal -1 binary64))) (neg.f64 (neg.f64 %338)) (fma.f64 #s(literal 1 binary64) %331 x) (-.f64 %331 %14) (-.f64 x %336) %338 (+.f64 x %331) (*.f64 #s(literal 1 binary64) %349) (pow.f64 %349 #s(literal 1 binary64)) %349 (/.f64 #s(literal 1 binary64) (pow.f64 %349 #s(literal -1 binary64))) (neg.f64 %354) (*.f64 #s(literal 1 binary64) %356) (pow.f64 %356 #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %356 #s(literal -1 binary64))) (neg.f64 (neg.f64 %356)) (fma.f64 #s(literal 1 binary64) %349 x) (-.f64 %349 %14) (-.f64 x %354) %356 (+.f64 x %349) (*.f64 #s(literal 1 binary64) %367) (pow.f64 %367 #s(literal 1 binary64)) %367 (/.f64 #s(literal 1 binary64) (pow.f64 %367 #s(literal -1 binary64))) (neg.f64 %372) (*.f64 #s(literal 1 binary64) %374) (pow.f64 %374 #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %374 #s(literal -1 binary64))) (neg.f64 %379) (fma.f64 #s(literal 1 binary64) %367 z) (-.f64 %367 %249) (-.f64 z %372) %374 (+.f64 z %367) (*.f64 #s(literal 1 binary64) %385) (pow.f64 %385 #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %385 #s(literal -1 binary64))) (neg.f64 (neg.f64 %385)) (fma.f64 #s(literal 1 binary64) %392 z) (fma.f64 #s(literal 1 binary64) %270 %367) (fma.f64 #s(literal 1 binary64) %374 x) (fma.f64 #s(literal 1 binary64) %367 %270) (-.f64 %392 %249) (-.f64 %270 %372) (-.f64 %374 %14) (-.f64 %367 %271) (-.f64 z (neg.f64 %392)) (-.f64 x %379) (+.f64 %392 z) (+.f64 %270 %367) %385 (+.f64 %367 %270) (+.f64 z %392) (+.f64 x %374) (*.f64 %409 #s(literal -3 binary64)) (*.f64 #s(literal -3 binary64) %409) (*.f64 #s(literal 1 binary64) %412) %412 (*.f64 %5 #s(literal 3 binary64)) (pow.f64 %412 #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %412 #s(literal -1 binary64))) (neg.f64 (*.f64 #s(literal -3 binary64) %5)) (*.f64 #s(literal 1 binary64) %420) (pow.f64 %420 #s(literal 1 binary64)) %420 (/.f64 #s(literal 1 binary64) (pow.f64 %420 #s(literal -1 binary64))) |
Compiled 365 to 536 computations (-46.8% saved)
Compiled 88 to 226 computations (-156.8% saved)
7 alts after pruning (5 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 83 | 5 | 88 |
| Fresh | 0 | 0 | 0 |
| Picked | 5 | 1 | 6 |
| Done | 1 | 1 | 2 |
| Total | 89 | 7 | 96 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 35.8% | (+.f64 (approx (+ (+ (+ (+ x y) y) x) z) (approx (+ z (* 2 y)) z)) x) |
| ✓ | 36.3% | (approx (+ (+ (+ (+ (+ x y) y) x) z) x) (*.f64 #s(literal 3 binary64) x)) |
| ▶ | 64.6% | (approx (+ (+ (* 3 x) z) (* 2 y)) (fma.f64 #s(literal 3 binary64) x z)) |
| ▶ | 71.0% | (approx (+ (* 3 x) (+ (* 2 y) z)) (fma.f64 #s(literal 3 binary64) x (+.f64 y y))) |
| ▶ | 66.0% | (approx (+ (* 3 x) (+ (* 2 y) z)) (+.f64 z (*.f64 #s(literal 2 binary64) y))) |
| ▶ | 37.1% | %2 = (* 3 x) %5 = (* 2 y) (approx (+ %2 (+ %5 z)) (approx (+ %5 %2) (*.f64 #s(literal 2 binary64) y))) |
| ▶ | 30.7% | %2 = (* 3 x) (approx (+ %2 (+ (* 2 y) z)) (approx (+ z %2) z)) |
Compiled 7 to 12 computations (-71.4% saved)
| Inputs |
|---|
| Outputs |
|---|
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 119 | 405 |
| 1× | iter-limit |
| Inputs |
|---|
%4 = (*.f64 #s(literal 2 binary64) y) %5 = (+.f64 z %4) %7 = (+.f64 y y) %8 = (fma.f64 #s(literal 3 binary64) x z) %9 = (fma.f64 #s(literal 3 binary64) x %7) %11 = (* 2 y) %13 = (* 3 x) %15 = (approx (+ %11 %13) %4) %17 = (approx (+ z %13) z) %19 = (+ %13 (+ %11 z)) x y z #s(literal 2 binary64) %4 %5 #s(literal 3 binary64) %7 %8 %9 %15 %17 (approx %19 %5) (approx (+ (+ %13 z) %11) %8) (approx %19 %9) (approx %19 %15) (approx %19 %17) |
| Outputs |
|---|
%5 = (* 3 x) %7 = (+ %5 z) %10 = (*.f64 #s(literal 3 binary64) x) %11 = (+.f64 z %10) %15 = (+ %5 (+ y y)) %17 = (*.f64 #s(literal 2 binary64) y) %19 = (fma.f64 #s(literal 2 binary64) y %10) %22 = (* 2 y) %24 = (+ %5 (+ %22 z)) %25 = (+.f64 z %17) %30 = (/.f64 z x) %34 = (/.f64 y x) %62 = (+ z %22) %63 = (/.f64 z y) %67 = (/.f64 x y) %94 = (/.f64 y z) %99 = (/.f64 x z) %100 = (*.f64 #s(literal 3 binary64) %99) (approx x #s(literal 0 binary64)) (approx x x) (approx %7 z) (approx %7 %11) (approx %15 %17) (approx %15 %19) (approx %24 %25) (approx %24 (+.f64 z %19)) (approx %7 %10) (approx %7 (*.f64 x (+.f64 #s(literal 3 binary64) %30))) (approx %15 (*.f64 x (+.f64 #s(literal 3 binary64) (*.f64 #s(literal 2 binary64) %34)))) (approx %24 (*.f64 x (+.f64 #s(literal 3 binary64) (fma.f64 #s(literal 2 binary64) %34 %30)))) (approx %7 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) %30) #s(literal 3 binary64))))) (approx %15 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -2 binary64) %34) #s(literal 3 binary64))))) (approx %24 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 %25 x)) #s(literal 3 binary64))))) (approx y y) (approx %62 (*.f64 y (+.f64 #s(literal 2 binary64) %63))) (approx %15 (*.f64 y (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 3 binary64) %67)))) (approx %24 (*.f64 y (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal 3 binary64) %67 %63)))) (approx %62 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) %63) #s(literal 2 binary64))))) (approx %15 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -3 binary64) %67) #s(literal 2 binary64))))) (approx %24 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 %11 y)) #s(literal 2 binary64))))) (approx %62 (*.f64 z (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 2 binary64) %94)))) (approx %7 (*.f64 z (+.f64 #s(literal 1 binary64) %100))) (approx %24 (*.f64 z (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 2 binary64) %94 %100)))) (approx %62 (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (*.f64 #s(literal -2 binary64) %94) #s(literal 1 binary64))))) (approx %7 (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (*.f64 #s(literal -3 binary64) %99) #s(literal 1 binary64))))) (approx %24 (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 %19 z)) #s(literal 1 binary64))))) |
9 calls:
| Time | Variable | Point |
|---|---|---|
| 3.0ms | x | inf |
| 2.0ms | y | -inf |
| 1.0ms | y | inf |
| 1.0ms | x | -inf |
| 1.0ms | z | -inf |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 25 | 126 |
| 0 | 31 | 118 |
| 1 | 97 | 118 |
| 2 | 229 | 118 |
| 3 | 495 | 118 |
| 4 | 971 | 118 |
| 5 | 3633 | 118 |
| 0 | 4011 | 118 |
| 0 | 4172 | 111 |
| 1× | iter-limit |
| 1× | iter-limit |
| 1× | node-limit |
| 1× | iter-limit |
| Inputs |
|---|
%4 = (*.f64 #s(literal 2 binary64) y) %5 = (+.f64 z %4) %7 = (+.f64 y y) %8 = (fma.f64 #s(literal 3 binary64) x z) %9 = (fma.f64 #s(literal 3 binary64) x %7) %11 = (* 2 y) %13 = (* 3 x) %15 = (approx (+ %11 %13) %4) %17 = (approx (+ z %13) z) %19 = (+ %13 (+ %11 z)) x y z #s(literal 2 binary64) %4 %5 #s(literal 3 binary64) %7 %8 %9 %15 %17 (approx %19 %5) (approx (+ (+ %13 z) %11) %8) (approx %19 %9) (approx %19 %15) (approx %19 %17) |
| Outputs |
|---|
%5 = (*.f64 #s(literal 1/2 binary64) y) %7 = (*.f64 %5 #s(literal 16 binary64)) %9 = (*.f64 %7 #s(literal 1/4 binary64)) %10 = (*.f64 %5 #s(literal 1/4 binary64)) %11 = (*.f64 %10 #s(literal 16 binary64)) %12 = (+.f64 y y) %14 = (*.f64 %12 #s(literal 1/8 binary64)) %16 = (*.f64 %14 #s(literal 8 binary64)) %17 = (*.f64 %12 #s(literal 8 binary64)) %18 = (*.f64 %17 #s(literal 1/8 binary64)) %20 = (*.f64 %12 #s(literal 4 binary64)) %21 = (*.f64 %20 #s(literal 1/4 binary64)) %23 = (*.f64 #s(literal -2 binary64) y) %24 = (*.f64 %23 #s(literal 4 binary64)) %26 = (*.f64 %24 #s(literal -1/4 binary64)) %27 = (*.f64 #s(literal 4 binary64) y) %28 = (*.f64 %27 #s(literal 2 binary64)) %29 = (*.f64 %28 #s(literal 1/4 binary64)) %30 = (*.f64 #s(literal 1/4 binary64) y) %31 = (*.f64 %30 #s(literal 8 binary64)) %33 = (*.f64 #s(literal -4 binary64) y) %35 = (*.f64 %33 #s(literal -1/2 binary64)) %36 = (*.f64 %27 #s(literal 1/2 binary64)) %37 = (*.f64 #s(literal -1/2 binary64) y) %38 = (*.f64 %37 #s(literal -4 binary64)) %39 = (*.f64 #s(literal -4 binary64) %37) %40 = (*.f64 #s(literal 8 binary64) %30) %41 = (*.f64 %5 #s(literal 4 binary64)) %42 = (*.f64 #s(literal 4 binary64) %5) %43 = (*.f64 #s(literal -1/2 binary64) %33) %44 = (*.f64 #s(literal 1/2 binary64) %27) %46 = (*.f64 #s(literal -1 binary64) %23) %47 = (neg.f64 y) %48 = (*.f64 #s(literal -2 binary64) %47) %49 = (*.f64 %23 #s(literal -1 binary64)) %50 = (*.f64 %47 #s(literal -2 binary64)) %52 = (*.f64 #s(literal 1 binary64) %12) %53 = (*.f64 %12 #s(literal 1 binary64)) %54 = (*.f64 #s(literal 2 binary64) y) %55 = (*.f64 y #s(literal 2 binary64)) %56 = (pow.f64 %12 #s(literal 1 binary64)) %58 = (/.f64 (*.f64 y #s(literal 8 binary64)) #s(literal 4 binary64)) %60 = (/.f64 (*.f64 #s(literal 8 binary64) y) #s(literal 4 binary64)) %62 = (/.f64 (/.f64 %27 #s(literal 1/2 binary64)) #s(literal 4 binary64)) %64 = (/.f64 (fma.f64 #s(literal 4 binary64) y %27) #s(literal 4 binary64)) %66 = (/.f64 (-.f64 %27 %33) #s(literal 4 binary64)) %68 = (/.f64 (*.f64 #s(literal -4 binary64) %23) #s(literal 4 binary64)) %70 = (/.f64 (*.f64 %23 #s(literal -4 binary64)) #s(literal 4 binary64)) %72 = (/.f64 (*.f64 #s(literal 4 binary64) %27) #s(literal 8 binary64)) %74 = (/.f64 (*.f64 #s(literal 8 binary64) %12) #s(literal 8 binary64)) %75 = (/.f64 %17 #s(literal 8 binary64)) %76 = (/.f64 %20 #s(literal 4 binary64)) %78 = (/.f64 (*.f64 #s(literal 4 binary64) %12) #s(literal 4 binary64)) %80 = (/.f64 (*.f64 %27 #s(literal 4 binary64)) #s(literal 8 binary64)) %82 = (/.f64 (*.f64 #s(literal -2 binary64) %27) #s(literal -4 binary64)) %84 = (/.f64 (*.f64 #s(literal 2 binary64) %27) #s(literal 4 binary64)) %86 = (/.f64 (*.f64 %33 #s(literal -2 binary64)) #s(literal 4 binary64)) %88 = (/.f64 (*.f64 %33 #s(literal 2 binary64)) #s(literal -4 binary64)) %90 = (/.f64 (*.f64 %27 #s(literal -2 binary64)) #s(literal -4 binary64)) %91 = (/.f64 %28 #s(literal 4 binary64)) %92 = (/.f64 %33 #s(literal -2 binary64)) %93 = (/.f64 %27 #s(literal 2 binary64)) %94 = (/.f64 %23 #s(literal -1 binary64)) %96 = (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) %27)) %98 = (/.f64 #s(literal 1 binary64) (pow.f64 %12 #s(literal -1 binary64))) %99 = (/.f64 %12 #s(literal 1 binary64)) %100 = (/.f64 y #s(literal 1/2 binary64)) %101 = (neg.f64 %23) %102 = (*.f64 %5 #s(literal 1/8 binary64)) %103 = (fma.f64 #s(literal 1/2 binary64) y y) %104 = (fma.f64 %102 #s(literal 8 binary64) %103) %105 = (-.f64 %5 %47) %106 = (fma.f64 %102 #s(literal 8 binary64) %105) %108 = (*.f64 %5 #s(literal 3 binary64)) %109 = (fma.f64 %102 #s(literal 8 binary64) %108) %111 = (*.f64 y #s(literal 3/2 binary64)) %112 = (fma.f64 %102 #s(literal 8 binary64) %111) %113 = (*.f64 #s(literal 3 binary64) %5) %114 = (fma.f64 %102 #s(literal 8 binary64) %113) %115 = (*.f64 #s(literal 3/2 binary64) y) %116 = (fma.f64 %102 #s(literal 8 binary64) %115) %118 = (fma.f64 %7 #s(literal 1/4 binary64) #s(literal 0 binary64)) %119 = (fma.f64 %10 #s(literal 16 binary64) #s(literal 0 binary64)) %120 = (fma.f64 %10 #s(literal 4 binary64) %103) %121 = (fma.f64 %10 #s(literal 4 binary64) %105) %122 = (fma.f64 %10 #s(literal 4 binary64) %108) %123 = (fma.f64 %10 #s(literal 4 binary64) %111) %124 = (fma.f64 %10 #s(literal 4 binary64) %113) %125 = (fma.f64 %10 #s(literal 4 binary64) %115) %126 = (fma.f64 %14 #s(literal 8 binary64) #s(literal 0 binary64)) %127 = (fma.f64 %17 #s(literal 1/8 binary64) #s(literal 0 binary64)) %128 = (fma.f64 %20 #s(literal 1/4 binary64) #s(literal 0 binary64)) %129 = (fma.f64 %24 #s(literal -1/4 binary64) #s(literal 0 binary64)) %130 = (fma.f64 %28 #s(literal 1/4 binary64) #s(literal 0 binary64)) %131 = (fma.f64 #s(literal 3/2 binary64) y %5) %132 = (fma.f64 %30 #s(literal 8 binary64) #s(literal 0 binary64)) %133 = (fma.f64 %30 #s(literal 2 binary64) %103) %134 = (fma.f64 %30 #s(literal 2 binary64) %105) %135 = (fma.f64 %30 #s(literal 2 binary64) %108) %136 = (fma.f64 %30 #s(literal 2 binary64) %111) %137 = (fma.f64 %30 #s(literal 2 binary64) %113) %138 = (fma.f64 %30 #s(literal 2 binary64) %115) %139 = (fma.f64 %33 #s(literal -1/2 binary64) #s(literal 0 binary64)) %140 = (fma.f64 %27 #s(literal 1/8 binary64) %103) %141 = (fma.f64 %27 #s(literal 1/8 binary64) %105) %142 = (fma.f64 %27 #s(literal 1/8 binary64) %108) %143 = (fma.f64 %27 #s(literal 1/8 binary64) %111) %144 = (fma.f64 %27 #s(literal 1/8 binary64) %113) %145 = (fma.f64 %27 #s(literal 1/8 binary64) %115) %146 = (fma.f64 %27 #s(literal 1/2 binary64) #s(literal 0 binary64)) %147 = (fma.f64 %37 #s(literal -4 binary64) #s(literal 0 binary64)) %148 = (fma.f64 %37 #s(literal -1 binary64) %103) %149 = (fma.f64 %37 #s(literal -1 binary64) %105) %150 = (fma.f64 %37 #s(literal -1 binary64) %108) %151 = (fma.f64 %37 #s(literal -1 binary64) %111) %152 = (fma.f64 %37 #s(literal -1 binary64) %113) %153 = (fma.f64 %37 #s(literal -1 binary64) %115) %154 = (fma.f64 #s(literal -4 binary64) %37 #s(literal 0 binary64)) %155 = (fma.f64 #s(literal 1/4 binary64) %12 %103) %156 = (fma.f64 #s(literal 1/4 binary64) %12 %105) %157 = (fma.f64 #s(literal 1/4 binary64) %12 %108) %158 = (fma.f64 #s(literal 1/4 binary64) %12 %111) %159 = (fma.f64 #s(literal 1/4 binary64) %12 %113) %160 = (fma.f64 #s(literal 1/4 binary64) %12 %115) %161 = (fma.f64 #s(literal 8 binary64) %30 #s(literal 0 binary64)) %162 = (fma.f64 %5 #s(literal 4 binary64) #s(literal 0 binary64)) %163 = (fma.f64 %5 #s(literal 1 binary64) %103) %164 = (fma.f64 %5 #s(literal 1 binary64) %105) %165 = (fma.f64 %5 #s(literal 1 binary64) %108) %166 = (fma.f64 %5 #s(literal 1 binary64) %111) %167 = (fma.f64 %5 #s(literal 1 binary64) %113) %168 = (fma.f64 %5 #s(literal 1 binary64) %115) %169 = (fma.f64 %5 #s(literal 3 binary64) %5) %170 = (fma.f64 #s(literal 4 binary64) %5 #s(literal 0 binary64)) %171 = (fma.f64 #s(literal -1/2 binary64) %33 #s(literal 0 binary64)) %172 = (fma.f64 #s(literal -1/2 binary64) %47 %103) %173 = (fma.f64 #s(literal -1/2 binary64) %47 %105) %174 = (fma.f64 #s(literal -1/2 binary64) %47 %108) %175 = (fma.f64 #s(literal -1/2 binary64) %47 %111) %176 = (fma.f64 #s(literal -1/2 binary64) %47 %113) %177 = (fma.f64 #s(literal -1/2 binary64) %47 %115) %178 = (fma.f64 #s(literal 1/2 binary64) %27 #s(literal 0 binary64)) %179 = (fma.f64 #s(literal 1/2 binary64) y %103) %180 = (fma.f64 #s(literal 1/2 binary64) y %105) %181 = (fma.f64 #s(literal 1/2 binary64) y %108) %182 = (fma.f64 #s(literal 1/2 binary64) y %111) %183 = (fma.f64 #s(literal 1/2 binary64) y %113) %184 = (fma.f64 #s(literal 1/2 binary64) y %115) %185 = (fma.f64 #s(literal -1 binary64) %37 %103) %186 = (fma.f64 #s(literal -1 binary64) %37 %105) %187 = (fma.f64 #s(literal -1 binary64) %37 %108) %188 = (fma.f64 #s(literal -1 binary64) %37 %111) %189 = (fma.f64 #s(literal -1 binary64) %37 %113) %190 = (fma.f64 #s(literal -1 binary64) %37 %115) %191 = (fma.f64 #s(literal -1 binary64) %23 #s(literal 0 binary64)) %192 = (fma.f64 #s(literal -2 binary64) %47 #s(literal 0 binary64)) %193 = (fma.f64 %23 #s(literal -1 binary64) #s(literal 0 binary64)) %194 = (fma.f64 %47 #s(literal -1/2 binary64) %103) %195 = (fma.f64 %47 #s(literal -1/2 binary64) %105) %196 = (fma.f64 %47 #s(literal -1/2 binary64) %108) %197 = (fma.f64 %47 #s(literal -1/2 binary64) %111) %198 = (fma.f64 %47 #s(literal -1/2 binary64) %113) %199 = (fma.f64 %47 #s(literal -1/2 binary64) %115) %200 = (fma.f64 %47 #s(literal -2 binary64) #s(literal 0 binary64)) %201 = (fma.f64 #s(literal 1 binary64) %5 %103) %202 = (fma.f64 #s(literal 1 binary64) %5 %105) %203 = (fma.f64 #s(literal 1 binary64) %5 %108) %204 = (fma.f64 #s(literal 1 binary64) %5 %111) %205 = (fma.f64 #s(literal 1 binary64) %5 %113) %206 = (fma.f64 #s(literal 1 binary64) %5 %115) %207 = (fma.f64 #s(literal 1 binary64) %12 #s(literal 0 binary64)) %208 = (fma.f64 #s(literal 3 binary64) %5 %5) %209 = (fma.f64 %12 #s(literal 1/4 binary64) %103) %210 = (fma.f64 %12 #s(literal 1/4 binary64) %105) %211 = (fma.f64 %12 #s(literal 1/4 binary64) %108) %212 = (fma.f64 %12 #s(literal 1/4 binary64) %111) %213 = (fma.f64 %12 #s(literal 1/4 binary64) %113) %214 = (fma.f64 %12 #s(literal 1/4 binary64) %115) %215 = (fma.f64 %12 #s(literal 1 binary64) #s(literal 0 binary64)) %216 = (fma.f64 #s(literal 2 binary64) %30 %103) %217 = (fma.f64 #s(literal 2 binary64) %30 %105) %218 = (fma.f64 #s(literal 2 binary64) %30 %108) %219 = (fma.f64 #s(literal 2 binary64) %30 %111) %220 = (fma.f64 #s(literal 2 binary64) %30 %113) %221 = (fma.f64 #s(literal 2 binary64) %30 %115) %222 = (fma.f64 #s(literal 2 binary64) y #s(literal 0 binary64)) %223 = (fma.f64 y #s(literal 3/2 binary64) %5) %224 = (fma.f64 y #s(literal 1/2 binary64) %103) %225 = (fma.f64 y #s(literal 1/2 binary64) %105) %226 = (fma.f64 y #s(literal 1/2 binary64) %108) %227 = (fma.f64 y #s(literal 1/2 binary64) %111) %228 = (fma.f64 y #s(literal 1/2 binary64) %113) %229 = (fma.f64 y #s(literal 1/2 binary64) %115) %230 = (fma.f64 y #s(literal 2 binary64) #s(literal 0 binary64)) %232 = (-.f64 (-.f64 y %37) %37) %233 = (-.f64 %12 #s(literal 0 binary64)) %234 = (-.f64 y %47) %236 = (+.f64 (+.f64 y %5) %5) %237 = (+.f64 %108 %5) %238 = (+.f64 %111 %5) %239 = (+.f64 %113 %5) %240 = (+.f64 %115 %5) %241 = (+.f64 %5 %103) %242 = (+.f64 %5 %105) %243 = (+.f64 %5 %108) %244 = (+.f64 %5 %111) %245 = (+.f64 %5 %113) %246 = (+.f64 %5 %115) %247 = (+.f64 #s(literal 0 binary64) %12) %248 = (+.f64 %12 #s(literal 0 binary64)) %250 = (+.f64 y (-.f64 #s(literal 0 binary64) %47)) %251 = (fma.f64 #s(literal 2 binary64) y z) %254 = (+.f64 z y) %269 = (fma.f64 #s(literal 1/2 binary64) y %254) %271 = (-.f64 %47 z) %272 = (-.f64 %5 %271) %274 = (+.f64 #s(literal 0 binary64) z) %276 = (neg.f64 z) %277 = (-.f64 #s(literal 0 binary64) %276) %403 = (fma.f64 #s(literal 3 binary64) x z) %409 = (*.f64 #s(literal -3 binary64) x) %412 = (neg.f64 x) %415 = (*.f64 #s(literal 3 binary64) x) %422 = (fma.f64 #s(literal 3 binary64) x %12) %425 = (fma.f64 #s(literal 3 binary64) x y) %440 = (fma.f64 #s(literal 1/2 binary64) y %425) %442 = (-.f64 %409 y) %443 = (-.f64 %5 %442) %445 = (+.f64 #s(literal 0 binary64) %415) %447 = (-.f64 #s(literal 0 binary64) %409) %579 = (* 3 x) %581 = (* 2 y) %583 = (approx (+ %579 %581) %12) %591 = (approx (- z (* -3 x)) z) %597 = (+ (+ %581 z) %579) %598 = (approx %597 %251) %603 = (approx %597 %403) %608 = (approx %597 %422) %613 = (approx %597 %583) %618 = (approx %597 %591) x y z #s(literal 2 binary64) %9 %11 %16 %18 %21 %26 %29 %31 %35 %36 %38 %39 %40 %41 %42 %43 %44 %46 %48 %49 %50 %52 %53 %54 %55 %56 %58 %60 %62 %64 %66 %68 %70 %72 %74 %75 %76 %78 %80 %82 %84 %86 %88 %90 %91 %92 %93 %94 %96 %98 %99 %100 %101 %104 %106 %109 %112 %114 %116 %118 %119 %120 %121 %122 %123 %124 %125 %126 %127 %128 %129 %130 %131 %132 %133 %134 %135 %136 %137 %138 %139 %140 %141 %142 %143 %144 %145 %146 %147 %148 %149 %150 %151 %152 %153 %154 %155 %156 %157 %158 %159 %160 %161 %162 %163 %164 %165 %166 %167 %168 %169 %170 %171 %172 %173 %174 %175 %176 %177 %178 %179 %180 %181 %182 %183 %184 %185 %186 %187 %188 %189 %190 %191 %192 %193 %194 %195 %196 %197 %198 %199 %200 %201 %202 %203 %204 %205 %206 %207 %208 %209 %210 %211 %212 %213 %214 %215 %216 %217 %218 %219 %220 %221 %222 %223 %224 %225 %226 %227 %228 %229 %230 %232 %233 %234 %236 %237 %238 %239 %240 %241 %242 %243 %244 %245 %246 %247 %248 %250 %12 (*.f64 #s(literal 1 binary64) %251) (pow.f64 %251 #s(literal 1 binary64)) (/.f64 (fma.f64 %254 #s(literal 2 binary64) %12) #s(literal 2 binary64)) (/.f64 (fma.f64 z #s(literal 2 binary64) %27) #s(literal 2 binary64)) (/.f64 (-.f64 (*.f64 %254 #s(literal 2 binary64)) %23) #s(literal 2 binary64)) (/.f64 (-.f64 (*.f64 z #s(literal 2 binary64)) %33) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %251 #s(literal -1 binary64))) (neg.f64 (-.f64 %23 z)) (fma.f64 %102 #s(literal 8 binary64) %269) (fma.f64 %102 #s(literal 8 binary64) %272) (fma.f64 %7 #s(literal 1/4 binary64) %274) (fma.f64 %7 #s(literal 1/4 binary64) %277) (fma.f64 %7 #s(literal 1/4 binary64) z) (fma.f64 %10 #s(literal 16 binary64) %274) (fma.f64 %10 #s(literal 16 binary64) %277) (fma.f64 %10 #s(literal 16 binary64) z) (fma.f64 %10 #s(literal 4 binary64) %269) (fma.f64 %10 #s(literal 4 binary64) %272) (fma.f64 %14 #s(literal 8 binary64) %274) (fma.f64 %14 #s(literal 8 binary64) %277) (fma.f64 %14 #s(literal 8 binary64) z) (fma.f64 %17 #s(literal 1/8 binary64) %274) (fma.f64 %17 #s(literal 1/8 binary64) %277) (fma.f64 %17 #s(literal 1/8 binary64) z) (fma.f64 %20 #s(literal 1/4 binary64) %274) (fma.f64 %20 #s(literal 1/4 binary64) %277) (fma.f64 %20 #s(literal 1/4 binary64) z) (fma.f64 %24 #s(literal -1/4 binary64) %274) (fma.f64 %24 #s(literal -1/4 binary64) %277) (fma.f64 %24 #s(literal -1/4 binary64) z) (fma.f64 %28 #s(literal 1/4 binary64) %274) (fma.f64 %28 #s(literal 1/4 binary64) %277) (fma.f64 %28 #s(literal 1/4 binary64) z) (fma.f64 %30 #s(literal 8 binary64) %274) (fma.f64 %30 #s(literal 8 binary64) %277) (fma.f64 %30 #s(literal 8 binary64) z) (fma.f64 %30 #s(literal 2 binary64) %269) (fma.f64 %30 #s(literal 2 binary64) %272) (fma.f64 %33 #s(literal -1/2 binary64) %274) (fma.f64 %33 #s(literal -1/2 binary64) %277) (fma.f64 %33 #s(literal -1/2 binary64) z) (fma.f64 %27 #s(literal 1/8 binary64) %269) (fma.f64 %27 #s(literal 1/8 binary64) %272) (fma.f64 %27 #s(literal 1/2 binary64) %274) (fma.f64 %27 #s(literal 1/2 binary64) %277) (fma.f64 %27 #s(literal 1/2 binary64) z) (fma.f64 %37 #s(literal -4 binary64) %274) (fma.f64 %37 #s(literal -4 binary64) %277) (fma.f64 %37 #s(literal -4 binary64) z) (fma.f64 %37 #s(literal -1 binary64) %269) (fma.f64 %37 #s(literal -1 binary64) %272) (fma.f64 #s(literal -4 binary64) %37 %274) (fma.f64 #s(literal -4 binary64) %37 %277) (fma.f64 #s(literal -4 binary64) %37 z) (fma.f64 #s(literal 1/4 binary64) %12 %269) (fma.f64 #s(literal 1/4 binary64) %12 %272) (fma.f64 #s(literal 8 binary64) %30 %274) (fma.f64 #s(literal 8 binary64) %30 %277) (fma.f64 #s(literal 8 binary64) %30 z) (fma.f64 %5 #s(literal 4 binary64) %274) (fma.f64 %5 #s(literal 4 binary64) %277) (fma.f64 %5 #s(literal 4 binary64) z) (fma.f64 %5 #s(literal 1 binary64) %269) (fma.f64 %5 #s(literal 1 binary64) %272) (fma.f64 #s(literal 4 binary64) %5 %274) (fma.f64 #s(literal 4 binary64) %5 %277) (fma.f64 #s(literal 4 binary64) %5 z) (fma.f64 #s(literal -1/2 binary64) %33 %274) (fma.f64 #s(literal -1/2 binary64) %33 %277) (fma.f64 #s(literal -1/2 binary64) %33 z) (fma.f64 #s(literal -1/2 binary64) %47 %269) (fma.f64 #s(literal -1/2 binary64) %47 %272) (fma.f64 #s(literal 1/2 binary64) %27 %274) (fma.f64 #s(literal 1/2 binary64) %27 %277) (fma.f64 #s(literal 1/2 binary64) %27 z) (fma.f64 #s(literal 1/2 binary64) y %269) (fma.f64 #s(literal 1/2 binary64) y %272) (fma.f64 #s(literal -1 binary64) %37 %269) (fma.f64 #s(literal -1 binary64) %37 %272) (fma.f64 #s(literal -1 binary64) %23 %274) (fma.f64 #s(literal -1 binary64) %23 %277) (fma.f64 #s(literal -1 binary64) %23 z) (fma.f64 #s(literal -2 binary64) %47 %274) (fma.f64 #s(literal -2 binary64) %47 %277) (fma.f64 #s(literal -2 binary64) %47 z) (fma.f64 %23 #s(literal -1 binary64) %274) (fma.f64 %23 #s(literal -1 binary64) %277) (fma.f64 %23 #s(literal -1 binary64) z) (fma.f64 %47 #s(literal -1/2 binary64) %269) (fma.f64 %47 #s(literal -1/2 binary64) %272) (fma.f64 %47 #s(literal -2 binary64) %274) (fma.f64 %47 #s(literal -2 binary64) %277) (fma.f64 %47 #s(literal -2 binary64) z) (fma.f64 #s(literal 1 binary64) %5 %269) (fma.f64 #s(literal 1 binary64) %5 %272) (fma.f64 #s(literal 1 binary64) %254 y) (fma.f64 #s(literal 1 binary64) %251 #s(literal 0 binary64)) (fma.f64 #s(literal 1 binary64) %12 %274) (fma.f64 #s(literal 1 binary64) %12 %277) (fma.f64 #s(literal 1 binary64) %12 z) (fma.f64 %12 #s(literal 1/4 binary64) %269) (fma.f64 %12 #s(literal 1/4 binary64) %272) (fma.f64 %12 #s(literal 1 binary64) %274) (fma.f64 %12 #s(literal 1 binary64) %277) (fma.f64 %12 #s(literal 1 binary64) z) (fma.f64 #s(literal 2 binary64) %30 %269) (fma.f64 #s(literal 2 binary64) %30 %272) (fma.f64 #s(literal 2 binary64) y %274) (fma.f64 #s(literal 2 binary64) y %277) %251 (fma.f64 y #s(literal 1/2 binary64) %269) (fma.f64 y #s(literal 1/2 binary64) %272) (fma.f64 y #s(literal 2 binary64) %274) (fma.f64 y #s(literal 2 binary64) %277) (fma.f64 y #s(literal 2 binary64) z) (-.f64 (-.f64 %254 %37) %37) (-.f64 %254 %47) (-.f64 %251 #s(literal 0 binary64)) (-.f64 %12 %276) (-.f64 z %23) (-.f64 y %271) (+.f64 (+.f64 %254 %5) %5) (+.f64 %5 %269) (+.f64 %5 %272) (+.f64 %254 y) (+.f64 %251 #s(literal 0 binary64)) (+.f64 %12 %274) (+.f64 %12 %277) (+.f64 %12 z) (+.f64 z %12) (+.f64 y (+.f64 #s(literal 0 binary64) %254)) (+.f64 y (-.f64 #s(literal 0 binary64) %271)) (+.f64 y %254) #s(literal 3 binary64) %9 %11 %16 %18 %21 %26 %29 %31 %35 %36 %38 %39 %40 %41 %42 %43 %44 %46 %48 %49 %50 %52 %53 %54 %55 %56 %58 %60 %62 %64 %66 %68 %70 %72 %74 %75 %76 %78 %80 %82 %84 %86 %88 %90 %91 %92 %93 %94 %96 %98 %99 %100 %101 %104 %106 %109 %112 %114 %116 %118 %119 %120 %121 %122 %123 %124 %125 %126 %127 %128 %129 %130 %131 %132 %133 %134 %135 %136 %137 %138 %139 %140 %141 %142 %143 %144 %145 %146 %147 %148 %149 %150 %151 %152 %153 %154 %155 %156 %157 %158 %159 %160 %161 %162 %163 %164 %165 %166 %167 %168 %169 %170 %171 %172 %173 %174 %175 %176 %177 %178 %179 %180 %181 %182 %183 %184 %185 %186 %187 %188 %189 %190 %191 %192 %193 %194 %195 %196 %197 %198 %199 %200 %201 %202 %203 %204 %205 %206 %207 %208 %209 %210 %211 %212 %213 %214 %215 %216 %217 %218 %219 %220 %221 %222 %223 %224 %225 %226 %227 %228 %229 %230 %232 %233 %234 %236 %237 %238 %239 %240 %241 %242 %243 %244 %245 %246 %247 %248 %250 %12 (*.f64 #s(literal 1 binary64) %403) (pow.f64 %403 #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %403 #s(literal -1 binary64))) (neg.f64 (-.f64 %409 z)) (fma.f64 %412 #s(literal -3 binary64) z) (fma.f64 #s(literal -3 binary64) %412 z) (fma.f64 #s(literal 1 binary64) %415 z) %403 (fma.f64 x #s(literal 3 binary64) z) (-.f64 %415 %276) (-.f64 z %409) (+.f64 %415 z) (+.f64 z %415) (*.f64 #s(literal 1 binary64) %422) (pow.f64 %422 #s(literal 1 binary64)) (/.f64 (fma.f64 %425 #s(literal 2 binary64) %12) #s(literal 2 binary64)) (/.f64 (fma.f64 %415 #s(literal 2 binary64) %27) #s(literal 2 binary64)) (/.f64 (-.f64 (*.f64 %425 #s(literal 2 binary64)) %23) #s(literal 2 binary64)) (/.f64 (-.f64 (*.f64 %415 #s(literal 2 binary64)) %33) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %422 #s(literal -1 binary64))) (neg.f64 (fma.f64 #s(literal -2 binary64) y %409)) (fma.f64 %102 #s(literal 8 binary64) %440) (fma.f64 %102 #s(literal 8 binary64) %443) (fma.f64 %7 #s(literal 1/4 binary64) %445) (fma.f64 %7 #s(literal 1/4 binary64) %447) (fma.f64 %7 #s(literal 1/4 binary64) %415) (fma.f64 %10 #s(literal 16 binary64) %445) (fma.f64 %10 #s(literal 16 binary64) %447) (fma.f64 %10 #s(literal 16 binary64) %415) (fma.f64 %10 #s(literal 4 binary64) %440) (fma.f64 %10 #s(literal 4 binary64) %443) (fma.f64 %14 #s(literal 8 binary64) %445) (fma.f64 %14 #s(literal 8 binary64) %447) (fma.f64 %14 #s(literal 8 binary64) %415) (fma.f64 %17 #s(literal 1/8 binary64) %445) (fma.f64 %17 #s(literal 1/8 binary64) %447) (fma.f64 %17 #s(literal 1/8 binary64) %415) (fma.f64 %20 #s(literal 1/4 binary64) %445) (fma.f64 %20 #s(literal 1/4 binary64) %447) (fma.f64 %20 #s(literal 1/4 binary64) %415) (fma.f64 %24 #s(literal -1/4 binary64) %445) (fma.f64 %24 #s(literal -1/4 binary64) %447) (fma.f64 %24 #s(literal -1/4 binary64) %415) (fma.f64 %28 #s(literal 1/4 binary64) %445) (fma.f64 %28 #s(literal 1/4 binary64) %447) (fma.f64 %28 #s(literal 1/4 binary64) %415) (fma.f64 %30 #s(literal 8 binary64) %445) (fma.f64 %30 #s(literal 8 binary64) %447) (fma.f64 %30 #s(literal 8 binary64) %415) (fma.f64 %30 #s(literal 2 binary64) %440) (fma.f64 %30 #s(literal 2 binary64) %443) (fma.f64 %33 #s(literal -1/2 binary64) %445) (fma.f64 %33 #s(literal -1/2 binary64) %447) (fma.f64 %33 #s(literal -1/2 binary64) %415) (fma.f64 %27 #s(literal 1/8 binary64) %440) (fma.f64 %27 #s(literal 1/8 binary64) %443) (fma.f64 %27 #s(literal 1/2 binary64) %445) (fma.f64 %27 #s(literal 1/2 binary64) %447) (fma.f64 %27 #s(literal 1/2 binary64) %415) (fma.f64 %37 #s(literal -4 binary64) %445) (fma.f64 %37 #s(literal -4 binary64) %447) (fma.f64 %37 #s(literal -4 binary64) %415) (fma.f64 %37 #s(literal -1 binary64) %440) (fma.f64 %37 #s(literal -1 binary64) %443) (fma.f64 #s(literal -4 binary64) %37 %445) (fma.f64 #s(literal -4 binary64) %37 %447) (fma.f64 #s(literal -4 binary64) %37 %415) (fma.f64 #s(literal 1/4 binary64) %12 %440) (fma.f64 #s(literal 1/4 binary64) %12 %443) (fma.f64 #s(literal 8 binary64) %30 %445) (fma.f64 #s(literal 8 binary64) %30 %447) (fma.f64 #s(literal 8 binary64) %30 %415) (fma.f64 %5 #s(literal 4 binary64) %445) (fma.f64 %5 #s(literal 4 binary64) %447) (fma.f64 %5 #s(literal 4 binary64) %415) (fma.f64 %5 #s(literal 1 binary64) %440) (fma.f64 %5 #s(literal 1 binary64) %443) (fma.f64 #s(literal 4 binary64) %5 %445) (fma.f64 #s(literal 4 binary64) %5 %447) (fma.f64 #s(literal 4 binary64) %5 %415) (fma.f64 #s(literal -1/2 binary64) %33 %445) (fma.f64 #s(literal -1/2 binary64) %33 %447) (fma.f64 #s(literal -1/2 binary64) %33 %415) (fma.f64 #s(literal -1/2 binary64) %47 %440) (fma.f64 #s(literal -1/2 binary64) %47 %443) (fma.f64 #s(literal 1/2 binary64) %27 %445) (fma.f64 #s(literal 1/2 binary64) %27 %447) (fma.f64 #s(literal 1/2 binary64) %27 %415) (fma.f64 #s(literal 1/2 binary64) y %440) (fma.f64 #s(literal 1/2 binary64) y %443) (fma.f64 %412 #s(literal -3 binary64) %12) (fma.f64 #s(literal -1 binary64) %37 %440) (fma.f64 #s(literal -1 binary64) %37 %443) (fma.f64 #s(literal -1 binary64) %23 %445) (fma.f64 #s(literal -1 binary64) %23 %447) (fma.f64 #s(literal -1 binary64) %23 %415) (fma.f64 #s(literal -3 binary64) %412 %12) (fma.f64 #s(literal -2 binary64) %47 %445) (fma.f64 #s(literal -2 binary64) %47 %447) (fma.f64 #s(literal -2 binary64) %47 %415) (fma.f64 %23 #s(literal -1 binary64) %445) (fma.f64 %23 #s(literal -1 binary64) %447) (fma.f64 %23 #s(literal -1 binary64) %415) (fma.f64 %47 #s(literal -1/2 binary64) %440) (fma.f64 %47 #s(literal -1/2 binary64) %443) (fma.f64 %47 #s(literal -2 binary64) %445) (fma.f64 %47 #s(literal -2 binary64) %447) (fma.f64 %47 #s(literal -2 binary64) %415) (fma.f64 #s(literal 1 binary64) %5 %440) (fma.f64 #s(literal 1 binary64) %5 %443) (fma.f64 #s(literal 1 binary64) %425 y) (fma.f64 #s(literal 1 binary64) %422 #s(literal 0 binary64)) (fma.f64 #s(literal 1 binary64) %415 %12) (fma.f64 #s(literal 1 binary64) %12 %445) (fma.f64 #s(literal 1 binary64) %12 %447) (fma.f64 #s(literal 1 binary64) %12 %415) %422 (fma.f64 %12 #s(literal 1/4 binary64) %440) (fma.f64 %12 #s(literal 1/4 binary64) %443) (fma.f64 %12 #s(literal 1 binary64) %445) (fma.f64 %12 #s(literal 1 binary64) %447) (fma.f64 %12 #s(literal 1 binary64) %415) (fma.f64 #s(literal 2 binary64) %30 %440) (fma.f64 #s(literal 2 binary64) %30 %443) (fma.f64 #s(literal 2 binary64) y %445) (fma.f64 #s(literal 2 binary64) y %447) (fma.f64 #s(literal 2 binary64) y %415) (fma.f64 y #s(literal 1/2 binary64) %440) (fma.f64 y #s(literal 1/2 binary64) %443) (fma.f64 y #s(literal 2 binary64) %445) (fma.f64 y #s(literal 2 binary64) %447) (fma.f64 y #s(literal 2 binary64) %415) (fma.f64 x #s(literal 3 binary64) %12) (-.f64 (-.f64 %425 %37) %37) (-.f64 %425 %47) (-.f64 %422 #s(literal 0 binary64)) (-.f64 %415 %23) (-.f64 %12 %409) (-.f64 y %442) (+.f64 (+.f64 %425 %5) %5) (+.f64 %5 %440) (+.f64 %5 %443) (+.f64 %425 y) (+.f64 %422 #s(literal 0 binary64)) (+.f64 %415 %12) (+.f64 %12 %445) (+.f64 %12 %447) (+.f64 %12 %415) (+.f64 y (+.f64 #s(literal 0 binary64) %425)) (+.f64 y (-.f64 #s(literal 0 binary64) %442)) (+.f64 y %425) (*.f64 #s(literal 1 binary64) %583) (pow.f64 %583 #s(literal 1 binary64)) %583 (/.f64 #s(literal 1 binary64) (pow.f64 %583 #s(literal -1 binary64))) (*.f64 #s(literal 1 binary64) %591) (pow.f64 %591 #s(literal 1 binary64)) %591 (/.f64 #s(literal 1 binary64) (pow.f64 %591 #s(literal -1 binary64))) (*.f64 #s(literal 1 binary64) %598) (pow.f64 %598 #s(literal 1 binary64)) %598 (/.f64 #s(literal 1 binary64) (pow.f64 %598 #s(literal -1 binary64))) (*.f64 #s(literal 1 binary64) %603) (pow.f64 %603 #s(literal 1 binary64)) %603 (/.f64 #s(literal 1 binary64) (pow.f64 %603 #s(literal -1 binary64))) (*.f64 #s(literal 1 binary64) %608) (pow.f64 %608 #s(literal 1 binary64)) %608 (/.f64 #s(literal 1 binary64) (pow.f64 %608 #s(literal -1 binary64))) (*.f64 #s(literal 1 binary64) %613) (pow.f64 %613 #s(literal 1 binary64)) %613 (/.f64 #s(literal 1 binary64) (pow.f64 %613 #s(literal -1 binary64))) (*.f64 #s(literal 1 binary64) %618) (pow.f64 %618 #s(literal 1 binary64)) %618 (/.f64 #s(literal 1 binary64) (pow.f64 %618 #s(literal -1 binary64))) |
Compiled 725 to 678 computations (6.5% saved)
Compiled 60 to 119 computations (-98.3% saved)
7 alts after pruning (2 fresh and 5 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 58 | 2 | 60 |
| Fresh | 0 | 0 | 0 |
| Picked | 2 | 3 | 5 |
| Done | 0 | 2 | 2 |
| Total | 60 | 7 | 67 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 35.8% | (+.f64 (approx (+ (+ (+ (+ x y) y) x) z) (approx (+ z (* 2 y)) z)) x) |
| ✓ | 36.3% | (approx (+ (+ (+ (+ (+ x y) y) x) z) x) (*.f64 #s(literal 3 binary64) x)) |
| ✓ | 64.6% | (approx (+ (+ (* 3 x) z) (* 2 y)) (fma.f64 #s(literal 3 binary64) x z)) |
| 66.0% | (approx (+ (+ (* 2 y) z) (* 3 x)) (fma.f64 #s(literal 2 binary64) y z)) | |
| 37.1% | %2 = (* 3 x) %5 = (* 2 y) (approx (+ (+ %5 z) %2) (approx (+ %2 %5) (+.f64 y y))) | |
| ✓ | 71.0% | (approx (+ (* 3 x) (+ (* 2 y) z)) (fma.f64 #s(literal 3 binary64) x (+.f64 y y))) |
| ✓ | 30.7% | %2 = (* 3 x) (approx (+ %2 (+ (* 2 y) z)) (approx (+ z %2) z)) |
Compiled 7 to 11 computations (-57.1% saved)
Total 58.8b remaining (40.1%)
Threshold costs 0.0b (0.0%)
| 18.7b | 52.1% |
| 11.0b | 48.6% |
| 6.7b | 68.8% |
| 6.1b | 70.7% |
| 5.9b | 67.0% |
| Inputs |
|---|
%2 = (* 3 x) (approx (+ %2 (+ (* 2 y) z)) (approx (+ z %2) z)) |
| Outputs |
|---|
%2 = (* 3 x) (approx (+ %2 (+ (* 2 y) z)) (approx (+ z %2) z)) |
| Inputs |
|---|
%2 = (* 3 x) %5 = (* 2 y) %7 = (+ %5 z) (approx (+ %2 %7) (approx (+ z %2) z)) (approx (+ %7 %2) (approx (+ %2 %5) (+.f64 y y))) |
| Outputs |
|---|
%2 = (* 2 y) %4 = (+ %2 z) %7 = (* 3 x) %12 = (approx (+ %4 %7) (approx (+ %7 %2) (+.f64 y y))) %12 (approx (+ %7 %4) (approx (+ z %7) z)) %12 |
| Inputs |
|---|
%2 = (* 3 x) %5 = (* 2 y) %7 = (+ %5 z) (approx (+ %2 %7) (approx (+ z %2) z)) (approx (+ %7 %2) (approx (+ %2 %5) (+.f64 y y))) (+.f64 (approx (+ (+ (+ (+ x y) y) x) z) (approx (+ z %5) z)) x) |
| Outputs |
|---|
%2 = (* 2 y) %7 = (* 3 x) %12 = (approx (+ (+ %2 z) %7) (approx (+ %7 %2) (+.f64 y y))) %12 (+.f64 (approx (+ (+ (+ (+ x y) y) x) z) (approx (+ z %2) z)) x) %12 |
| Inputs |
|---|
%2 = (* 3 x) %5 = (* 2 y) %7 = (+ %5 z) %8 = (+ %2 %7) %20 = (+ (+ (+ (+ x y) y) x) z) (approx %8 (approx (+ z %2) z)) (approx (+ %7 %2) (approx (+ %2 %5) (+.f64 y y))) (+.f64 (approx %20 (approx (+ z %5) z)) x) (approx %8 (approx (+ %5 %2) (*.f64 #s(literal 2 binary64) y))) (approx (+ %20 x) (*.f64 #s(literal 3 binary64) x)) |
| Outputs |
|---|
%2 = (* 2 y) %7 = (* 3 x) %12 = (approx (+ (+ %2 z) %7) (approx (+ %7 %2) (+.f64 y y))) %16 = (+ (+ (+ (+ x y) y) x) z) %20 = (+.f64 (approx %16 (approx (+ z %2) z)) x) %24 = (approx (+ %16 x) (*.f64 #s(literal 3 binary64) x)) %12 %20 %24 %20 %24 %12 |
| Inputs |
|---|
%2 = (* 3 x) %5 = (* 2 y) %7 = (+ %5 z) %8 = (+ %2 %7) %12 = (+ %7 %2) %20 = (+ (+ (+ (+ x y) y) x) z) %30 = (+ %20 x) (approx %8 (approx (+ z %2) z)) (approx %12 (approx (+ %2 %5) (+.f64 y y))) (+.f64 (approx %20 (approx (+ z %5) z)) x) (approx %8 (approx (+ %5 %2) (*.f64 #s(literal 2 binary64) y))) (approx %30 (*.f64 #s(literal 3 binary64) x)) (approx %30 (*.f64 #s(literal 3 binary64) (approx x #s(literal 0 binary64)))) (approx %12 (fma.f64 #s(literal 2 binary64) y z)) |
| Outputs |
|---|
%10 = (approx (+ (+ (+ (+ (+ x y) y) x) z) x) (*.f64 #s(literal 3 binary64) x)) %10 (approx (+ (+ (* 2 y) z) (* 3 x)) (fma.f64 #s(literal 2 binary64) y z)) %10 |
| Inputs |
|---|
%2 = (* 3 x) %5 = (* 2 y) %7 = (+ %5 z) %8 = (+ %2 %7) %12 = (+ %7 %2) %20 = (+ (+ (+ (+ x y) y) x) z) %30 = (+ %20 x) (approx %8 (approx (+ z %2) z)) (approx %12 (approx (+ %2 %5) (+.f64 y y))) (+.f64 (approx %20 (approx (+ z %5) z)) x) (approx %8 (approx (+ %5 %2) (*.f64 #s(literal 2 binary64) y))) (approx %30 (*.f64 #s(literal 3 binary64) x)) (approx %30 (*.f64 #s(literal 3 binary64) (approx x #s(literal 0 binary64)))) (approx %12 (fma.f64 #s(literal 2 binary64) y z)) (approx (+ (+ %2 z) %5) (fma.f64 #s(literal 3 binary64) x z)) |
| Outputs |
|---|
%2 = (* 2 y) %7 = (* 3 x) %11 = (approx (+ (+ %2 z) %7) (fma.f64 #s(literal 2 binary64) y z)) %11 (approx (+ (+ %7 z) %2) (fma.f64 #s(literal 3 binary64) x z)) %11 |
| Inputs |
|---|
%2 = (* 3 x) %5 = (* 2 y) %7 = (+ %5 z) %8 = (+ %2 %7) %12 = (+ %7 %2) %14 = (+.f64 y y) %20 = (+ (+ (+ (+ x y) y) x) z) %27 = (*.f64 #s(literal 2 binary64) y) %30 = (+ %20 x) %32 = (*.f64 #s(literal 3 binary64) x) (approx %8 (approx (+ z %2) z)) (approx %12 (approx (+ %2 %5) %14)) (+.f64 (approx %20 (approx (+ z %5) z)) x) (approx %8 (approx (+ %5 %2) %27)) (approx %30 %32) (approx %30 (*.f64 #s(literal 3 binary64) (approx x #s(literal 0 binary64)))) (approx %12 (fma.f64 #s(literal 2 binary64) y z)) (approx (+ (+ %2 z) %5) (fma.f64 #s(literal 3 binary64) x z)) (approx %8 (+.f64 z %27)) (approx %8 (+.f64 z %32)) (approx %8 (fma.f64 #s(literal 3 binary64) x %14)) |
| Outputs |
|---|
%2 = (* 2 y) %4 = (+ %2 z) %7 = (* 3 x) %11 = (approx (+ %4 %7) (fma.f64 #s(literal 2 binary64) y z)) %11 (approx (+ %7 %4) (fma.f64 #s(literal 3 binary64) x (+.f64 y y))) (approx (+ (+ %7 z) %2) (fma.f64 #s(literal 3 binary64) x z)) %11 |
| Inputs |
|---|
%2 = (* 3 x) %5 = (* 2 y) %7 = (+ %5 z) %8 = (+ %2 %7) %12 = (+ %7 %2) %14 = (+.f64 y y) %20 = (+ (+ (+ (+ x y) y) x) z) %27 = (*.f64 #s(literal 2 binary64) y) %30 = (+ %20 x) %32 = (*.f64 #s(literal 3 binary64) x) %38 = (fma.f64 #s(literal 2 binary64) y z) (approx %8 (approx (+ z %2) z)) (approx %12 (approx (+ %2 %5) %14)) (+.f64 (approx %20 (approx (+ z %5) z)) x) (approx %8 (approx (+ %5 %2) %27)) (approx %30 %32) (approx %30 (*.f64 #s(literal 3 binary64) (approx x #s(literal 0 binary64)))) (approx %12 %38) (approx (+ (+ %2 z) %5) (fma.f64 #s(literal 3 binary64) x z)) (approx %8 (+.f64 z %27)) (approx %8 (+.f64 z %32)) (approx %8 (fma.f64 #s(literal 3 binary64) x %14)) (+.f64 (approx %20 %38) x) |
| Outputs |
|---|
%2 = (* 2 y) %4 = (+ %2 z) %7 = (* 3 x) %10 = (fma.f64 #s(literal 2 binary64) y z) (approx (+ %4 %7) %10) (approx (+ %7 %4) (fma.f64 #s(literal 3 binary64) x (+.f64 y y))) (approx (+ (+ %7 z) %2) (fma.f64 #s(literal 3 binary64) x z)) (+.f64 (approx (+ (+ (+ (+ x y) y) x) z) %10) x) |
| Inputs |
|---|
%2 = (* 3 x) %5 = (* 2 y) %7 = (+ %5 z) %8 = (+ %2 %7) %12 = (+ %7 %2) %14 = (+.f64 y y) %19 = (+ (+ (+ x y) y) x) %20 = (+ %19 z) %27 = (*.f64 #s(literal 2 binary64) y) %30 = (+ %20 x) %32 = (*.f64 #s(literal 3 binary64) x) %38 = (fma.f64 #s(literal 2 binary64) y z) %44 = (+.f64 z %27) (approx %8 (approx (+ z %2) z)) (approx %12 (approx (+ %2 %5) %14)) (+.f64 (approx %20 (approx (+ z %5) z)) x) (approx %8 (approx (+ %5 %2) %27)) (approx %30 %32) (approx %30 (*.f64 #s(literal 3 binary64) (approx x #s(literal 0 binary64)))) (approx %12 %38) (approx (+ (+ %2 z) %5) (fma.f64 #s(literal 3 binary64) x z)) (approx %8 %44) (approx %8 (+.f64 z %32)) (approx %8 (fma.f64 #s(literal 3 binary64) x %14)) (+.f64 (approx %20 %38) x) (+.f64 (+.f64 (approx %19 (+.f64 x x)) z) x) (approx %8 (fma.f64 #s(literal 2 binary64) y %32)) (+.f64 (approx %20 %44) x) (+.f64 (+.f64 (approx %19 (*.f64 #s(literal 2 binary64) x)) z) x) (fma.f64 #s(literal 3 binary64) x %38) |
| Outputs |
|---|
(fma.f64 #s(literal 3 binary64) x (fma.f64 #s(literal 2 binary64) y z)) |
4 calls:
| 19.0ms | y |
| 17.0ms | x |
| 17.0ms | z |
| 16.0ms | (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 x y) y) x) z) x) |
| Accuracy | Segments | Branch |
|---|---|---|
| 30.7% | 1 | z |
| 30.7% | 1 | y |
| 30.7% | 1 | x |
| 30.7% | 1 | (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 x y) y) x) z) x) |
Compiled 22 to 39 computations (-77.3% saved)
| 3× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 7.0ms | 9.178439732671453e+119 | 2.863469434308484e+120 |
| 12.0ms | -5.0259291606181536e+89 | -6.742668220036118e+82 |
| 8.0ms | -2.034826382675621e+177 | -8.508382487259201e+176 |
| 12.0ms | 287× | 0 | valid |
| 1.0ms | 14× | 1 | valid |
| 0.0ms | 3× | 2 | valid |
Compiled 20 to 35 computations (-75.0% saved)
Add: 1.0ms (178.0% of total, 0.0 MiB)adjust: 0.0ms (0.0% of total, 0.0 MiB)| 3× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 9.178439732671453e+119 | 2.863469434308484e+120 |
| 0.0ms | -5.0259291606181536e+89 | -6.742668220036118e+82 |
| 0.0ms | -2.034826382675621e+177 | -8.508382487259201e+176 |
Compiled 20 to 34 computations (-70.0% saved)
| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 9.178439732671453e+119 | 2.863469434308484e+120 |
| 14.0ms | -1.3553592856625129e-62 | -8.429824474477093e-68 |
| 6.0ms | 135× | 0 | valid |
| 0.0ms | 8× | 1 | valid |
| 0.0ms | 1× | 2 | valid |
Compiled 18 to 26 computations (-44.4% saved)
adjust: 0.0ms (0.0% of total, 0.0 MiB)Add: 0.0ms (0.0% of total, 0.0 MiB)| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 16.0ms | 1.9020764812184198e+93 | 5.047470767888099e+105 |
| 15.0ms | -5.92614486843435e+127 | -4.0985376319167914e+124 |
| 12.0ms | 273× | 0 | valid |
| 1.0ms | 14× | 1 | valid |
| 0.0ms | 1× | 2 | valid |
Compiled 18 to 26 computations (-44.4% saved)
Add: 1.0ms (187.4% of total, 0.0 MiB)adjust: 0.0ms (0.0% of total, 0.0 MiB)| 5× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| 1× | narrow-enough |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 9.178439732671453e+119 | 2.863469434308484e+120 |
| 12.0ms | 7.258619132602248e-169 | 1.2564824626374914e-156 |
| 9.0ms | -2.0371889702046085e-252 | -8.587998524449204e-253 |
| 8.0ms | -3.1789006437251225e-121 | -2.1631561410946913e-122 |
| 0.0ms | -5.0259291606181536e+89 | -6.742668220036118e+82 |
| 11.0ms | 318× | 0 | valid |
| 1.0ms | 15× | 1 | valid |
| 0.0ms | 3× | 2 | valid |
Compiled 24 to 37 computations (-54.2% saved)
Add: 1.0ms (168.7% of total, 0.0 MiB)adjust: 0.0ms (0.0% of total, 0.0 MiB)| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 8.0ms | 7.350441746091948e+110 | 7.049565107132657e+112 |
| 0.0ms | -5.0259291606181536e+89 | -6.742668220036118e+82 |
| 3.0ms | 105× | 0 | valid |
| 0.0ms | 6× | 1 | valid |
| 0.0ms | 1× | 2 | valid |
Compiled 18 to 22 computations (-22.2% saved)
adjust: 0.0ms (0.0% of total, 0.0 MiB)Add: 0.0ms (0.0% of total, 0.0 MiB)| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 7.350441746091948e+110 | 7.049565107132657e+112 |
| 36.0ms | -6.742668220036118e+82 | -3.452883268481648e+79 |
| 30.0ms | 116× | 0 | valid |
| 0.0ms | 10× | 1 | valid |
| 0.0ms | 2× | 3 | valid |
Compiled 18 to 18 computations (0.0% saved)
Add: 0.0ms (0.0% of total, 0.0 MiB)adjust: 0.0ms (0.0% of total, 0.0 MiB)| 1× | fuel |
Compiled 9 to 53 computations (-488.9% saved)
Compiled 10 to 61 computations (-510.0% saved)
| Allocated | Percent | Phase |
|---|---|---|
| 792.9 MiB | 31.2% | rewrite |
| 439.0 MiB | 17.3% | sample |
| 386.3 MiB | 15.2% | reconstruct |
| 240.9 MiB | 9.5% | bsearch |
| 176.4 MiB | 6.9% | series |
| 162.9 MiB | 6.4% | preprocess |
| 125.5 MiB | 4.9% | regimes |
| 102.9 MiB | 4.1% | derivations |
| 84.5 MiB | 3.3% | eval |
| 27.7 MiB | 1.1% | prune |
| 0.1 MiB | 0.0% | analyze |
| 0.0 MiB | 0.0% | start |
| 0.0 MiB | 0.0% | end |
| 2 539.2 MiB | 100.0% | total |
Loading profile data...