
Time bar (total: 1.5s)
| 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 7 to 6 computations (14.3% saved)
| 327.0ms | 8 256× | 0 | valid |
Add: 7.0ms (104.4% of total, 0.0 MiB)Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 14 | 32 |
| 1 | 56 | 30 |
| 2 | 144 | 30 |
| 3 | 212 | 30 |
| 4 | 286 | 30 |
| 5 | 782 | 30 |
| 1× | node-limit |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 100.0% | (+.f64 (+.f64 x y) x) |
Compiled 2 to 8 computations (-300.0% saved)
| Inputs |
|---|
| Outputs |
|---|
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 51 | 152 |
| 1× | iter-limit |
| Inputs |
|---|
%2 = (+.f64 x y) x y %2 (+.f64 %2 x) |
| Outputs |
|---|
%5 = (+ x y) %9 = (+ %5 x) %11 = (*.f64 #s(literal 2 binary64) x) %15 = (/.f64 y x) %24 = (*.f64 #s(literal -1 binary64) %15) %33 = (/.f64 x y) (approx x #s(literal 0 binary64)) (approx x x) (approx %5 y) (approx %5 (+.f64 x y)) (approx %9 (+.f64 y %11)) (approx %5 (*.f64 x (+.f64 #s(literal 1 binary64) %15))) (approx %9 %11) (approx %9 (*.f64 x (+.f64 #s(literal 2 binary64) %15))) (approx %5 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 %24 #s(literal 1 binary64))))) (approx %9 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 %24 #s(literal 2 binary64))))) (approx %5 (*.f64 y (+.f64 #s(literal 1 binary64) %33))) (approx %9 (*.f64 y (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 2 binary64) %33)))) (approx %5 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) %33) #s(literal 1 binary64))))) (approx %9 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -2 binary64) %33) #s(literal 1 binary64))))) |
6 calls:
| Time | Variable | Point |
|---|---|---|
| 1.0ms | x | -inf |
| 1.0ms | x | inf |
| 1.0ms | y | -inf |
| 1.0ms | y | inf |
| 0.0ms | x | 0 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 4 | 10 |
| 0 | 6 | 10 |
| 1 | 18 | 10 |
| 2 | 47 | 10 |
| 3 | 99 | 10 |
| 4 | 164 | 10 |
| 5 | 567 | 10 |
| 0 | 4017 | 10 |
| 0 | 4186 | 9 |
| 1× | iter-limit |
| 1× | iter-limit |
| 1× | node-limit |
| 1× | iter-limit |
| Inputs |
|---|
%2 = (+.f64 x y) x y %2 (+.f64 %2 x) |
| Outputs |
|---|
%3 = (+.f64 y x) %4 = (neg.f64 %3) %12 = (*.f64 x #s(literal 1 binary64)) %14 = (*.f64 y #s(literal 1 binary64)) %16 = (neg.f64 x) %18 = (neg.f64 y) %24 = (*.f64 #s(literal -2 binary64) x) %25 = (-.f64 %24 y) %28 = (fma.f64 #s(literal 2 binary64) x y) %33 = (*.f64 x #s(literal 8 binary64)) %36 = (*.f64 x #s(literal 4 binary64)) %39 = (*.f64 #s(literal 8 binary64) x) %42 = (*.f64 #s(literal 4 binary64) x) %50 = (*.f64 #s(literal 4 binary64) %16) %66 = (*.f64 x #s(literal 1/2 binary64)) %79 = (+.f64 x x) %94 = (*.f64 %3 #s(literal 1 binary64)) x y (*.f64 #s(literal -1 binary64) %4) (*.f64 #s(literal 1 binary64) %3) (pow.f64 %3 #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %3 #s(literal -1 binary64))) (neg.f64 %4) (fma.f64 y #s(literal 1 binary64) %12) (fma.f64 x #s(literal 1 binary64) %14) (-.f64 y %16) (-.f64 x %18) (+.f64 %14 %12) (+.f64 %12 %14) %3 (+.f64 x y) (*.f64 #s(literal -1 binary64) %25) (*.f64 #s(literal 1 binary64) %28) (pow.f64 %28 #s(literal 1 binary64)) (/.f64 (fma.f64 y #s(literal 4 binary64) %33) #s(literal 4 binary64)) (/.f64 (fma.f64 y #s(literal 2 binary64) %36) #s(literal 2 binary64)) (/.f64 (fma.f64 y #s(literal 4 binary64) %39) #s(literal 4 binary64)) (/.f64 (fma.f64 y #s(literal 2 binary64) %42) #s(literal 2 binary64)) (/.f64 (-.f64 (*.f64 y #s(literal 4 binary64)) (*.f64 #s(literal 8 binary64) %16)) #s(literal 4 binary64)) (/.f64 (-.f64 (*.f64 y #s(literal 2 binary64)) %50) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %28 #s(literal -1 binary64))) (neg.f64 %25) (fma.f64 %33 #s(literal 1/4 binary64) %14) (fma.f64 %33 #s(literal 1/4 binary64) y) (fma.f64 %36 #s(literal 1/2 binary64) %14) (fma.f64 %36 #s(literal 1/2 binary64) y) (fma.f64 %39 #s(literal 1/4 binary64) %14) (fma.f64 %39 #s(literal 1/4 binary64) y) (fma.f64 %42 #s(literal 1/2 binary64) %14) (fma.f64 %42 #s(literal 1/2 binary64) y) (fma.f64 %66 #s(literal 4 binary64) %14) (fma.f64 %66 #s(literal 4 binary64) y) (fma.f64 %12 #s(literal 2 binary64) %14) (fma.f64 %12 #s(literal 2 binary64) y) (fma.f64 #s(literal -1/2 binary64) %50 %14) (fma.f64 #s(literal -1/2 binary64) %50 y) (fma.f64 #s(literal -2 binary64) %16 %14) (fma.f64 #s(literal -2 binary64) %16 y) (fma.f64 #s(literal -1 binary64) %24 %14) (fma.f64 #s(literal -1 binary64) %24 y) (fma.f64 #s(literal -1 binary64) %4 x) (fma.f64 %79 #s(literal 1 binary64) %14) (fma.f64 %79 #s(literal 1 binary64) y) (fma.f64 #s(literal 1/2 binary64) %42 %14) (fma.f64 #s(literal 1/2 binary64) %42 y) (fma.f64 #s(literal 2 binary64) x %14) %28 (fma.f64 %16 #s(literal -2 binary64) %14) (fma.f64 %16 #s(literal -2 binary64) y) (fma.f64 #s(literal 1 binary64) %79 %14) (fma.f64 #s(literal 1 binary64) %79 y) (fma.f64 #s(literal 1 binary64) %3 x) (fma.f64 %3 #s(literal 1 binary64) %12) (fma.f64 y #s(literal 1 binary64) %79) (fma.f64 x #s(literal 2 binary64) %14) (fma.f64 x #s(literal 2 binary64) y) (fma.f64 x #s(literal 1 binary64) %94) (-.f64 %79 %18) (-.f64 %3 %16) (-.f64 y %24) (-.f64 x %4) (+.f64 %94 %12) (+.f64 %14 %79) (+.f64 %12 %94) (+.f64 %79 %14) (+.f64 %79 y) (+.f64 %3 x) (+.f64 y %79) (+.f64 x %3) |
Compiled 87 to 137 computations (-57.5% saved)
Compiled 13 to 34 computations (-161.5% saved)
3 alts after pruning (3 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 10 | 3 | 13 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 11 | 3 | 14 |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 100.0% | (fma.f64 #s(literal 2 binary64) x y) |
| ▶ | 58.9% | (+.f64 (approx (+ x y) y) x) |
| ▶ | 49.9% | (approx (+ (+ x y) x) (*.f64 #s(literal 2 binary64) x)) |
Compiled 3 to 6 computations (-100.0% saved)
| Inputs |
|---|
| Outputs |
|---|
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 51 | 150 |
| 1× | iter-limit |
| Inputs |
|---|
%2 = (+ x y) %3 = (approx %2 y) %5 = (*.f64 #s(literal 2 binary64) x) x y %3 #s(literal 2 binary64) %5 (approx (+ %2 x) %5) (fma.f64 #s(literal 2 binary64) x y) (+.f64 %3 x) |
| Outputs |
|---|
%5 = (+ x y) %12 = (*.f64 #s(literal 2 binary64) x) %14 = (+ %5 x) %18 = (/.f64 y x) %26 = (*.f64 #s(literal -1 binary64) %18) %35 = (/.f64 x y) (approx x #s(literal 0 binary64)) (approx x x) (approx %5 y) (approx %5 (+.f64 x y)) (approx (* 2 x) %12) (approx %14 (+.f64 y %12)) (approx %5 (*.f64 x (+.f64 #s(literal 1 binary64) %18))) (approx %14 (*.f64 x (+.f64 #s(literal 2 binary64) %18))) (approx %5 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 %26 #s(literal 1 binary64))))) (approx %14 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 %26 #s(literal 2 binary64))))) (approx %5 (*.f64 y (+.f64 #s(literal 1 binary64) %35))) (approx %14 (*.f64 y (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 2 binary64) %35)))) (approx %5 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) %35) #s(literal 1 binary64))))) (approx %14 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -2 binary64) %35) #s(literal 1 binary64))))) |
6 calls:
| Time | Variable | Point |
|---|---|---|
| 14.0ms | x | -inf |
| 2.0ms | x | inf |
| 1.0ms | y | -inf |
| 1.0ms | y | inf |
| 1.0ms | x | 0 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 31 |
| 0 | 14 | 31 |
| 1 | 39 | 30 |
| 2 | 86 | 30 |
| 3 | 208 | 30 |
| 4 | 546 | 30 |
| 5 | 2928 | 30 |
| 0 | 4003 | 30 |
| 0 | 4223 | 30 |
| 1× | iter-limit |
| 1× | iter-limit |
| 1× | node-limit |
| 1× | iter-limit |
| Inputs |
|---|
%2 = (+ x y) %3 = (approx %2 y) %5 = (*.f64 #s(literal 2 binary64) x) x y %3 #s(literal 2 binary64) %5 (approx (+ %2 x) %5) (fma.f64 #s(literal 2 binary64) x y) (+.f64 %3 x) |
| Outputs |
|---|
%4 = (approx (+ y x) y) %10 = (neg.f64 %4) %14 = (*.f64 #s(literal 1/2 binary64) x) %16 = (*.f64 %14 #s(literal 16 binary64)) %19 = (+.f64 x x) %21 = (*.f64 %19 #s(literal 1/8 binary64)) %24 = (*.f64 %14 #s(literal 1/4 binary64)) %26 = (*.f64 %19 #s(literal 8 binary64)) %29 = (*.f64 #s(literal -2 binary64) x) %31 = (*.f64 %29 #s(literal 4 binary64)) %34 = (*.f64 #s(literal 4 binary64) x) %35 = (*.f64 %34 #s(literal 2 binary64)) %37 = (*.f64 %19 #s(literal 4 binary64)) %39 = (*.f64 #s(literal 1/4 binary64) x) %42 = (*.f64 #s(literal -4 binary64) x) %46 = (*.f64 #s(literal -1/2 binary64) x) %48 = (*.f64 #s(literal 1/4 binary64) %14) %51 = (*.f64 #s(literal 8 binary64) %19) %53 = (*.f64 #s(literal 16 binary64) %14) %55 = (*.f64 #s(literal 4 binary64) %19) %57 = (*.f64 #s(literal 1/8 binary64) %19) %64 = (neg.f64 x) %120 = (*.f64 %14 #s(literal 1/8 binary64)) %121 = (fma.f64 #s(literal 1/2 binary64) x x) %123 = (-.f64 %14 %64) %126 = (*.f64 %14 #s(literal 3 binary64)) %129 = (*.f64 x #s(literal 3/2 binary64)) %131 = (*.f64 #s(literal 3 binary64) %14) %133 = (*.f64 #s(literal 3/2 binary64) x) %187 = (*.f64 #s(literal 1/8 binary64) %14) %204 = (*.f64 %39 #s(literal 1/2 binary64)) %232 = (*.f64 #s(literal -1/2 binary64) %14) %307 = (approx (+ (* 2 x) y) %19) %312 = (fma.f64 #s(literal 2 binary64) x y) %315 = (+.f64 y x) %330 = (+.f64 #s(literal 0 binary64) y) %332 = (neg.f64 y) %333 = (-.f64 #s(literal 0 binary64) %332) %339 = (fma.f64 #s(literal 1/2 binary64) x %315) %341 = (neg.f64 %315) %342 = (-.f64 %14 %341) %489 = (+.f64 %4 x) %501 = (fma.f64 #s(literal 1/2 binary64) x %4) %503 = (-.f64 %14 %10) x y (*.f64 #s(literal 1 binary64) %4) (pow.f64 %4 #s(literal 1 binary64)) %4 (/.f64 #s(literal 1 binary64) (pow.f64 %4 #s(literal -1 binary64))) (neg.f64 %10) #s(literal 2 binary64) (*.f64 %16 #s(literal 1/4 binary64)) (*.f64 %21 #s(literal 8 binary64)) (*.f64 %24 #s(literal 16 binary64)) (*.f64 %26 #s(literal 1/8 binary64)) (*.f64 %31 #s(literal -1/4 binary64)) (*.f64 %35 #s(literal 1/4 binary64)) (*.f64 %37 #s(literal 1/4 binary64)) (*.f64 %39 #s(literal 8 binary64)) (*.f64 %42 #s(literal -1/2 binary64)) (*.f64 %34 #s(literal 1/2 binary64)) (*.f64 %46 #s(literal -4 binary64)) (*.f64 #s(literal 16 binary64) %48) (*.f64 #s(literal -4 binary64) %46) (*.f64 #s(literal 1/8 binary64) %51) (*.f64 #s(literal 1/4 binary64) %53) (*.f64 #s(literal 1/4 binary64) %55) (*.f64 #s(literal 8 binary64) %57) (*.f64 #s(literal 8 binary64) %39) (*.f64 %14 #s(literal 4 binary64)) (*.f64 #s(literal 4 binary64) %14) (*.f64 #s(literal -1/2 binary64) %42) (*.f64 #s(literal 1/2 binary64) %34) (*.f64 #s(literal -2 binary64) %64) (*.f64 #s(literal -1 binary64) %29) (*.f64 %29 #s(literal -1 binary64)) (*.f64 %64 #s(literal -2 binary64)) (*.f64 #s(literal 1 binary64) %19) (*.f64 %19 #s(literal 1 binary64)) (*.f64 #s(literal 2 binary64) x) (*.f64 x #s(literal 2 binary64)) (pow.f64 %19 #s(literal 1 binary64)) (/.f64 (*.f64 x #s(literal 8 binary64)) #s(literal 4 binary64)) (/.f64 (*.f64 #s(literal 8 binary64) x) #s(literal 4 binary64)) (/.f64 (/.f64 %34 #s(literal 1/2 binary64)) #s(literal 4 binary64)) (/.f64 (fma.f64 #s(literal 4 binary64) x %34) #s(literal 4 binary64)) (/.f64 (-.f64 %34 %42) #s(literal 4 binary64)) (/.f64 (*.f64 #s(literal -4 binary64) %29) #s(literal 4 binary64)) (/.f64 (*.f64 %29 #s(literal -4 binary64)) #s(literal 4 binary64)) (/.f64 (*.f64 #s(literal 4 binary64) %34) #s(literal 8 binary64)) (/.f64 %51 #s(literal 8 binary64)) (/.f64 %26 #s(literal 8 binary64)) (/.f64 (*.f64 %34 #s(literal 4 binary64)) #s(literal 8 binary64)) (/.f64 (*.f64 #s(literal -2 binary64) %34) #s(literal -4 binary64)) (/.f64 (*.f64 %42 #s(literal -2 binary64)) #s(literal 4 binary64)) (/.f64 (*.f64 %42 #s(literal 2 binary64)) #s(literal -4 binary64)) (/.f64 (*.f64 %34 #s(literal -2 binary64)) #s(literal -4 binary64)) (/.f64 (*.f64 #s(literal 2 binary64) %34) #s(literal 4 binary64)) (/.f64 %55 #s(literal 4 binary64)) (/.f64 %35 #s(literal 4 binary64)) (/.f64 %37 #s(literal 4 binary64)) (/.f64 %42 #s(literal -2 binary64)) (/.f64 %34 #s(literal 2 binary64)) (/.f64 %29 #s(literal -1 binary64)) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) %34)) (/.f64 #s(literal 1 binary64) (pow.f64 %19 #s(literal -1 binary64))) (/.f64 %19 #s(literal 1 binary64)) (/.f64 x #s(literal 1/2 binary64)) (neg.f64 %29) (fma.f64 %16 #s(literal 1/4 binary64) #s(literal 0 binary64)) (fma.f64 %21 #s(literal 8 binary64) #s(literal 0 binary64)) (fma.f64 %120 #s(literal 8 binary64) %121) (fma.f64 %120 #s(literal 8 binary64) %123) (fma.f64 %120 #s(literal 8 binary64) %126) (fma.f64 %120 #s(literal 8 binary64) %129) (fma.f64 %120 #s(literal 8 binary64) %131) (fma.f64 %120 #s(literal 8 binary64) %133) (fma.f64 %24 #s(literal 16 binary64) #s(literal 0 binary64)) (fma.f64 %24 #s(literal 4 binary64) %121) (fma.f64 %24 #s(literal 4 binary64) %123) (fma.f64 %24 #s(literal 4 binary64) %126) (fma.f64 %24 #s(literal 4 binary64) %129) (fma.f64 %24 #s(literal 4 binary64) %131) (fma.f64 %24 #s(literal 4 binary64) %133) (fma.f64 %26 #s(literal 1/8 binary64) #s(literal 0 binary64)) (fma.f64 %31 #s(literal -1/4 binary64) #s(literal 0 binary64)) (fma.f64 %35 #s(literal 1/4 binary64) #s(literal 0 binary64)) (fma.f64 %37 #s(literal 1/4 binary64) #s(literal 0 binary64)) (fma.f64 #s(literal 3/2 binary64) x %14) (fma.f64 %39 #s(literal 8 binary64) #s(literal 0 binary64)) (fma.f64 %39 #s(literal 2 binary64) %121) (fma.f64 %39 #s(literal 2 binary64) %123) (fma.f64 %39 #s(literal 2 binary64) %126) (fma.f64 %39 #s(literal 2 binary64) %129) (fma.f64 %39 #s(literal 2 binary64) %131) (fma.f64 %39 #s(literal 2 binary64) %133) (fma.f64 %42 #s(literal -1/2 binary64) #s(literal 0 binary64)) (fma.f64 %34 #s(literal 1/8 binary64) %121) (fma.f64 %34 #s(literal 1/8 binary64) %123) (fma.f64 %34 #s(literal 1/8 binary64) %126) (fma.f64 %34 #s(literal 1/8 binary64) %129) (fma.f64 %34 #s(literal 1/8 binary64) %131) (fma.f64 %34 #s(literal 1/8 binary64) %133) (fma.f64 %34 #s(literal 1/2 binary64) #s(literal 0 binary64)) (fma.f64 %46 #s(literal -4 binary64) #s(literal 0 binary64)) (fma.f64 %46 #s(literal -1 binary64) %121) (fma.f64 %46 #s(literal -1 binary64) %123) (fma.f64 %46 #s(literal -1 binary64) %126) (fma.f64 %46 #s(literal -1 binary64) %129) (fma.f64 %46 #s(literal -1 binary64) %131) (fma.f64 %46 #s(literal -1 binary64) %133) (fma.f64 #s(literal 16 binary64) %48 #s(literal 0 binary64)) (fma.f64 #s(literal -4 binary64) %46 #s(literal 0 binary64)) (fma.f64 #s(literal 1/8 binary64) %51 #s(literal 0 binary64)) (fma.f64 #s(literal 1/8 binary64) %34 %121) (fma.f64 #s(literal 1/8 binary64) %34 %123) (fma.f64 #s(literal 1/8 binary64) %34 %126) (fma.f64 #s(literal 1/8 binary64) %34 %129) (fma.f64 #s(literal 1/8 binary64) %34 %131) (fma.f64 #s(literal 1/8 binary64) %34 %133) (fma.f64 #s(literal 1/4 binary64) %53 #s(literal 0 binary64)) (fma.f64 #s(literal 1/4 binary64) %55 #s(literal 0 binary64)) (fma.f64 #s(literal 1/4 binary64) %19 %121) (fma.f64 #s(literal 1/4 binary64) %19 %123) (fma.f64 #s(literal 1/4 binary64) %19 %126) (fma.f64 #s(literal 1/4 binary64) %19 %129) (fma.f64 #s(literal 1/4 binary64) %19 %131) (fma.f64 #s(literal 1/4 binary64) %19 %133) (fma.f64 #s(literal 8 binary64) %57 #s(literal 0 binary64)) (fma.f64 #s(literal 8 binary64) %187 %121) (fma.f64 #s(literal 8 binary64) %187 %123) (fma.f64 #s(literal 8 binary64) %187 %126) (fma.f64 #s(literal 8 binary64) %187 %129) (fma.f64 #s(literal 8 binary64) %187 %131) (fma.f64 #s(literal 8 binary64) %187 %133) (fma.f64 #s(literal 8 binary64) %39 #s(literal 0 binary64)) (fma.f64 #s(literal 3 binary64) %14 %14) (fma.f64 %14 #s(literal 3 binary64) %14) (fma.f64 %14 #s(literal 4 binary64) #s(literal 0 binary64)) (fma.f64 %14 #s(literal 1 binary64) %121) (fma.f64 %14 #s(literal 1 binary64) %123) (fma.f64 %14 #s(literal 1 binary64) %126) (fma.f64 %14 #s(literal 1 binary64) %129) (fma.f64 %14 #s(literal 1 binary64) %131) (fma.f64 %14 #s(literal 1 binary64) %133) (fma.f64 #s(literal 4 binary64) %204 %121) (fma.f64 #s(literal 4 binary64) %204 %123) (fma.f64 #s(literal 4 binary64) %204 %126) (fma.f64 #s(literal 4 binary64) %204 %129) (fma.f64 #s(literal 4 binary64) %204 %131) (fma.f64 #s(literal 4 binary64) %204 %133) (fma.f64 #s(literal 4 binary64) %48 %121) (fma.f64 #s(literal 4 binary64) %48 %123) (fma.f64 #s(literal 4 binary64) %48 %126) (fma.f64 #s(literal 4 binary64) %48 %129) (fma.f64 #s(literal 4 binary64) %48 %131) (fma.f64 #s(literal 4 binary64) %48 %133) (fma.f64 #s(literal 4 binary64) %14 #s(literal 0 binary64)) (fma.f64 #s(literal -1/2 binary64) %42 #s(literal 0 binary64)) (fma.f64 #s(literal -1/2 binary64) %64 %121) (fma.f64 #s(literal -1/2 binary64) %64 %123) (fma.f64 #s(literal -1/2 binary64) %64 %126) (fma.f64 #s(literal -1/2 binary64) %64 %129) (fma.f64 #s(literal -1/2 binary64) %64 %131) (fma.f64 #s(literal -1/2 binary64) %64 %133) (fma.f64 #s(literal 1/2 binary64) %34 #s(literal 0 binary64)) (fma.f64 #s(literal 1/2 binary64) x %121) (fma.f64 #s(literal 1/2 binary64) x %123) (fma.f64 #s(literal 1/2 binary64) x %126) (fma.f64 #s(literal 1/2 binary64) x %129) (fma.f64 #s(literal 1/2 binary64) x %131) (fma.f64 #s(literal 1/2 binary64) x %133) (fma.f64 #s(literal -2 binary64) %232 %121) (fma.f64 #s(literal -2 binary64) %232 %123) (fma.f64 #s(literal -2 binary64) %232 %126) (fma.f64 #s(literal -2 binary64) %232 %129) (fma.f64 #s(literal -2 binary64) %232 %131) (fma.f64 #s(literal -2 binary64) %232 %133) (fma.f64 #s(literal -2 binary64) %64 #s(literal 0 binary64)) (fma.f64 #s(literal -1 binary64) %46 %121) (fma.f64 #s(literal -1 binary64) %46 %123) (fma.f64 #s(literal -1 binary64) %46 %126) (fma.f64 #s(literal -1 binary64) %46 %129) (fma.f64 #s(literal -1 binary64) %46 %131) (fma.f64 #s(literal -1 binary64) %46 %133) (fma.f64 #s(literal -1 binary64) %29 #s(literal 0 binary64)) (fma.f64 %29 #s(literal -1 binary64) #s(literal 0 binary64)) (fma.f64 %64 #s(literal -1/2 binary64) %121) (fma.f64 %64 #s(literal -1/2 binary64) %123) (fma.f64 %64 #s(literal -1/2 binary64) %126) (fma.f64 %64 #s(literal -1/2 binary64) %129) (fma.f64 %64 #s(literal -1/2 binary64) %131) (fma.f64 %64 #s(literal -1/2 binary64) %133) (fma.f64 %64 #s(literal -2 binary64) #s(literal 0 binary64)) (fma.f64 #s(literal 1 binary64) %14 %121) (fma.f64 #s(literal 1 binary64) %14 %123) (fma.f64 #s(literal 1 binary64) %14 %126) (fma.f64 #s(literal 1 binary64) %14 %129) (fma.f64 #s(literal 1 binary64) %14 %131) (fma.f64 #s(literal 1 binary64) %14 %133) (fma.f64 #s(literal 1 binary64) %19 #s(literal 0 binary64)) (fma.f64 %19 #s(literal 1/4 binary64) %121) (fma.f64 %19 #s(literal 1/4 binary64) %123) (fma.f64 %19 #s(literal 1/4 binary64) %126) (fma.f64 %19 #s(literal 1/4 binary64) %129) (fma.f64 %19 #s(literal 1/4 binary64) %131) (fma.f64 %19 #s(literal 1/4 binary64) %133) (fma.f64 %19 #s(literal 1 binary64) #s(literal 0 binary64)) (fma.f64 #s(literal 2 binary64) %39 %121) (fma.f64 #s(literal 2 binary64) %39 %123) (fma.f64 #s(literal 2 binary64) %39 %126) (fma.f64 #s(literal 2 binary64) %39 %129) (fma.f64 #s(literal 2 binary64) %39 %131) (fma.f64 #s(literal 2 binary64) %39 %133) (fma.f64 #s(literal 2 binary64) x #s(literal 0 binary64)) (fma.f64 x #s(literal 3/2 binary64) %14) (fma.f64 x #s(literal 1/2 binary64) %121) (fma.f64 x #s(literal 1/2 binary64) %123) (fma.f64 x #s(literal 1/2 binary64) %126) (fma.f64 x #s(literal 1/2 binary64) %129) (fma.f64 x #s(literal 1/2 binary64) %131) (fma.f64 x #s(literal 1/2 binary64) %133) (fma.f64 x #s(literal 2 binary64) #s(literal 0 binary64)) (-.f64 (-.f64 x %46) %46) (-.f64 %19 #s(literal 0 binary64)) (-.f64 x %64) (+.f64 (+.f64 x %14) %14) (+.f64 %126 %14) (+.f64 %129 %14) (+.f64 %131 %14) (+.f64 %133 %14) (+.f64 %14 %121) (+.f64 %14 %123) (+.f64 %14 %126) (+.f64 %14 %129) (+.f64 %14 %131) (+.f64 %14 %133) (+.f64 #s(literal 0 binary64) %19) (+.f64 %19 #s(literal 0 binary64)) (+.f64 x (-.f64 #s(literal 0 binary64) %64)) %19 (*.f64 #s(literal 1 binary64) %307) (pow.f64 %307 #s(literal 1 binary64)) %307 (/.f64 #s(literal 1 binary64) (pow.f64 %307 #s(literal -1 binary64))) (*.f64 #s(literal 1 binary64) %312) (pow.f64 %312 #s(literal 1 binary64)) (/.f64 (fma.f64 %315 #s(literal 2 binary64) %19) #s(literal 2 binary64)) (/.f64 (fma.f64 y #s(literal 2 binary64) %34) #s(literal 2 binary64)) (/.f64 (-.f64 (*.f64 %315 #s(literal 2 binary64)) %29) #s(literal 2 binary64)) (/.f64 (-.f64 (*.f64 y #s(literal 2 binary64)) %42) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %312 #s(literal -1 binary64))) (neg.f64 (-.f64 %29 y)) (fma.f64 %16 #s(literal 1/4 binary64) %330) (fma.f64 %16 #s(literal 1/4 binary64) %333) (fma.f64 %16 #s(literal 1/4 binary64) y) (fma.f64 %21 #s(literal 8 binary64) %330) (fma.f64 %21 #s(literal 8 binary64) %333) (fma.f64 %21 #s(literal 8 binary64) y) (fma.f64 %120 #s(literal 8 binary64) %339) (fma.f64 %120 #s(literal 8 binary64) %342) (fma.f64 %24 #s(literal 16 binary64) %330) (fma.f64 %24 #s(literal 16 binary64) %333) (fma.f64 %24 #s(literal 16 binary64) y) (fma.f64 %24 #s(literal 4 binary64) %339) (fma.f64 %24 #s(literal 4 binary64) %342) (fma.f64 %26 #s(literal 1/8 binary64) %330) (fma.f64 %26 #s(literal 1/8 binary64) %333) (fma.f64 %26 #s(literal 1/8 binary64) y) (fma.f64 %31 #s(literal -1/4 binary64) %330) (fma.f64 %31 #s(literal -1/4 binary64) %333) (fma.f64 %31 #s(literal -1/4 binary64) y) (fma.f64 %35 #s(literal 1/4 binary64) %330) (fma.f64 %35 #s(literal 1/4 binary64) %333) (fma.f64 %35 #s(literal 1/4 binary64) y) (fma.f64 %37 #s(literal 1/4 binary64) %330) (fma.f64 %37 #s(literal 1/4 binary64) %333) (fma.f64 %37 #s(literal 1/4 binary64) y) (fma.f64 %39 #s(literal 8 binary64) %330) (fma.f64 %39 #s(literal 8 binary64) %333) (fma.f64 %39 #s(literal 8 binary64) y) (fma.f64 %39 #s(literal 2 binary64) %339) (fma.f64 %39 #s(literal 2 binary64) %342) (fma.f64 %42 #s(literal -1/2 binary64) %330) (fma.f64 %42 #s(literal -1/2 binary64) %333) (fma.f64 %42 #s(literal -1/2 binary64) y) (fma.f64 %34 #s(literal 1/8 binary64) %339) (fma.f64 %34 #s(literal 1/8 binary64) %342) (fma.f64 %34 #s(literal 1/2 binary64) %330) (fma.f64 %34 #s(literal 1/2 binary64) %333) (fma.f64 %34 #s(literal 1/2 binary64) y) (fma.f64 %46 #s(literal -4 binary64) %330) (fma.f64 %46 #s(literal -4 binary64) %333) (fma.f64 %46 #s(literal -4 binary64) y) (fma.f64 %46 #s(literal -1 binary64) %339) (fma.f64 %46 #s(literal -1 binary64) %342) (fma.f64 #s(literal 16 binary64) %48 %330) (fma.f64 #s(literal 16 binary64) %48 %333) (fma.f64 #s(literal 16 binary64) %48 y) (fma.f64 #s(literal -4 binary64) %46 %330) (fma.f64 #s(literal -4 binary64) %46 %333) (fma.f64 #s(literal -4 binary64) %46 y) (fma.f64 #s(literal 1/8 binary64) %51 %330) (fma.f64 #s(literal 1/8 binary64) %51 %333) (fma.f64 #s(literal 1/8 binary64) %51 y) (fma.f64 #s(literal 1/8 binary64) %34 %339) (fma.f64 #s(literal 1/8 binary64) %34 %342) (fma.f64 #s(literal 1/4 binary64) %53 %330) (fma.f64 #s(literal 1/4 binary64) %53 %333) (fma.f64 #s(literal 1/4 binary64) %53 y) (fma.f64 #s(literal 1/4 binary64) %55 %330) (fma.f64 #s(literal 1/4 binary64) %55 %333) (fma.f64 #s(literal 1/4 binary64) %55 y) (fma.f64 #s(literal 1/4 binary64) %19 %339) (fma.f64 #s(literal 1/4 binary64) %19 %342) (fma.f64 #s(literal 8 binary64) %57 %330) (fma.f64 #s(literal 8 binary64) %57 %333) (fma.f64 #s(literal 8 binary64) %57 y) (fma.f64 #s(literal 8 binary64) %187 %339) (fma.f64 #s(literal 8 binary64) %187 %342) (fma.f64 #s(literal 8 binary64) %39 %330) (fma.f64 #s(literal 8 binary64) %39 %333) (fma.f64 #s(literal 8 binary64) %39 y) (fma.f64 %14 #s(literal 4 binary64) %330) (fma.f64 %14 #s(literal 4 binary64) %333) (fma.f64 %14 #s(literal 4 binary64) y) (fma.f64 %14 #s(literal 1 binary64) %339) (fma.f64 %14 #s(literal 1 binary64) %342) (fma.f64 #s(literal 4 binary64) %204 %339) (fma.f64 #s(literal 4 binary64) %204 %342) (fma.f64 #s(literal 4 binary64) %48 %339) (fma.f64 #s(literal 4 binary64) %48 %342) (fma.f64 #s(literal 4 binary64) %14 %330) (fma.f64 #s(literal 4 binary64) %14 %333) (fma.f64 #s(literal 4 binary64) %14 y) (fma.f64 #s(literal -1/2 binary64) %42 %330) (fma.f64 #s(literal -1/2 binary64) %42 %333) (fma.f64 #s(literal -1/2 binary64) %42 y) (fma.f64 #s(literal -1/2 binary64) %64 %339) (fma.f64 #s(literal -1/2 binary64) %64 %342) (fma.f64 #s(literal 1/2 binary64) %34 %330) (fma.f64 #s(literal 1/2 binary64) %34 %333) (fma.f64 #s(literal 1/2 binary64) %34 y) (fma.f64 #s(literal 1/2 binary64) x %339) (fma.f64 #s(literal 1/2 binary64) x %342) (fma.f64 #s(literal -2 binary64) %232 %339) (fma.f64 #s(literal -2 binary64) %232 %342) (fma.f64 #s(literal -2 binary64) %64 %330) (fma.f64 #s(literal -2 binary64) %64 %333) (fma.f64 #s(literal -2 binary64) %64 y) (fma.f64 #s(literal -1 binary64) %46 %339) (fma.f64 #s(literal -1 binary64) %46 %342) (fma.f64 #s(literal -1 binary64) %29 %330) (fma.f64 #s(literal -1 binary64) %29 %333) (fma.f64 #s(literal -1 binary64) %29 y) (fma.f64 %29 #s(literal -1 binary64) %330) (fma.f64 %29 #s(literal -1 binary64) %333) (fma.f64 %29 #s(literal -1 binary64) y) (fma.f64 %64 #s(literal -1/2 binary64) %339) (fma.f64 %64 #s(literal -1/2 binary64) %342) (fma.f64 %64 #s(literal -2 binary64) %330) (fma.f64 %64 #s(literal -2 binary64) %333) (fma.f64 %64 #s(literal -2 binary64) y) (fma.f64 #s(literal 1 binary64) %14 %339) (fma.f64 #s(literal 1 binary64) %14 %342) (fma.f64 #s(literal 1 binary64) %312 #s(literal 0 binary64)) (fma.f64 #s(literal 1 binary64) %19 %330) (fma.f64 #s(literal 1 binary64) %19 %333) (fma.f64 #s(literal 1 binary64) %19 y) (fma.f64 #s(literal 1 binary64) %315 x) (fma.f64 %19 #s(literal 1/4 binary64) %339) (fma.f64 %19 #s(literal 1/4 binary64) %342) (fma.f64 %19 #s(literal 1 binary64) %330) (fma.f64 %19 #s(literal 1 binary64) %333) (fma.f64 %19 #s(literal 1 binary64) y) (fma.f64 #s(literal 2 binary64) %39 %339) (fma.f64 #s(literal 2 binary64) %39 %342) (fma.f64 #s(literal 2 binary64) x %330) (fma.f64 #s(literal 2 binary64) x %333) %312 (fma.f64 x #s(literal 1/2 binary64) %339) (fma.f64 x #s(literal 1/2 binary64) %342) (fma.f64 x #s(literal 2 binary64) %330) (fma.f64 x #s(literal 2 binary64) %333) (fma.f64 x #s(literal 2 binary64) y) (-.f64 (-.f64 %315 %46) %46) (-.f64 %312 #s(literal 0 binary64)) (-.f64 %19 %332) (-.f64 %315 %64) (-.f64 y %29) (-.f64 x %341) (+.f64 (+.f64 %315 %14) %14) (+.f64 %14 %339) (+.f64 %14 %342) (+.f64 %312 #s(literal 0 binary64)) (+.f64 %19 %330) (+.f64 %19 %333) (+.f64 %19 y) (+.f64 %315 x) (+.f64 y %19) (+.f64 x (+.f64 #s(literal 0 binary64) %315)) (+.f64 x (-.f64 #s(literal 0 binary64) %341)) (+.f64 x %315) (*.f64 #s(literal 1 binary64) %489) (pow.f64 %489 #s(literal 1 binary64)) (/.f64 (fma.f64 %4 #s(literal 2 binary64) %19) #s(literal 2 binary64)) (/.f64 (-.f64 (*.f64 %4 #s(literal 2 binary64)) %29) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %489 #s(literal -1 binary64))) (neg.f64 (neg.f64 %489)) (fma.f64 %120 #s(literal 8 binary64) %501) (fma.f64 %120 #s(literal 8 binary64) %503) (fma.f64 %24 #s(literal 4 binary64) %501) (fma.f64 %24 #s(literal 4 binary64) %503) (fma.f64 %39 #s(literal 2 binary64) %501) (fma.f64 %39 #s(literal 2 binary64) %503) (fma.f64 %34 #s(literal 1/8 binary64) %501) (fma.f64 %34 #s(literal 1/8 binary64) %503) (fma.f64 %46 #s(literal -1 binary64) %501) (fma.f64 %46 #s(literal -1 binary64) %503) (fma.f64 #s(literal 1/8 binary64) %34 %501) (fma.f64 #s(literal 1/8 binary64) %34 %503) (fma.f64 #s(literal 1/4 binary64) %19 %501) (fma.f64 #s(literal 1/4 binary64) %19 %503) (fma.f64 #s(literal 8 binary64) %187 %501) (fma.f64 #s(literal 8 binary64) %187 %503) (fma.f64 %14 #s(literal 1 binary64) %501) (fma.f64 %14 #s(literal 1 binary64) %503) (fma.f64 #s(literal 4 binary64) %204 %501) (fma.f64 #s(literal 4 binary64) %204 %503) (fma.f64 #s(literal 4 binary64) %48 %501) (fma.f64 #s(literal 4 binary64) %48 %503) (fma.f64 #s(literal -1/2 binary64) %64 %501) (fma.f64 #s(literal -1/2 binary64) %64 %503) (fma.f64 #s(literal 1/2 binary64) x %501) (fma.f64 #s(literal 1/2 binary64) x %503) (fma.f64 #s(literal -2 binary64) %232 %501) (fma.f64 #s(literal -2 binary64) %232 %503) (fma.f64 #s(literal -1 binary64) %46 %501) (fma.f64 #s(literal -1 binary64) %46 %503) (fma.f64 %64 #s(literal -1/2 binary64) %501) (fma.f64 %64 #s(literal -1/2 binary64) %503) (fma.f64 #s(literal 1 binary64) %14 %501) (fma.f64 #s(literal 1 binary64) %14 %503) (fma.f64 #s(literal 1 binary64) %489 #s(literal 0 binary64)) (fma.f64 #s(literal 1 binary64) %4 x) (fma.f64 %19 #s(literal 1/4 binary64) %501) (fma.f64 %19 #s(literal 1/4 binary64) %503) (fma.f64 #s(literal 2 binary64) %39 %501) (fma.f64 #s(literal 2 binary64) %39 %503) (fma.f64 x #s(literal 1/2 binary64) %501) (fma.f64 x #s(literal 1/2 binary64) %503) (-.f64 (-.f64 %4 %46) %46) (-.f64 %489 #s(literal 0 binary64)) (-.f64 %4 %64) (-.f64 x %10) (+.f64 (+.f64 %4 %14) %14) (+.f64 %14 %501) (+.f64 %14 %503) (+.f64 %489 #s(literal 0 binary64)) %489 (+.f64 x (+.f64 #s(literal 0 binary64) %4)) (+.f64 x (-.f64 #s(literal 0 binary64) %10)) (+.f64 x %4) |
Compiled 474 to 582 computations (-22.8% saved)
Compiled 23 to 51 computations (-121.7% saved)
3 alts after pruning (1 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 22 | 1 | 23 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 2 | 3 |
| Done | 0 | 0 | 0 |
| Total | 23 | 3 | 26 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 100.0% | (fma.f64 #s(literal 2 binary64) x y) |
| ✓ | 58.9% | (+.f64 (approx (+ x y) y) x) |
| ▶ | 49.9% | (approx (+ (+ x y) x) (+.f64 x x)) |
Compiled 3 to 6 computations (-100.0% saved)
| Inputs |
|---|
| Outputs |
|---|
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 36 | 93 |
| 1× | iter-limit |
| Inputs |
|---|
%1 = (+.f64 x x) x %1 (approx (+ (+ x y) x) %1) |
| Outputs |
|---|
%6 = (*.f64 #s(literal 2 binary64) x) %10 = (+ (+ x y) x) %14 = (/.f64 y x) %25 = (/.f64 x y) (approx x #s(literal 0 binary64)) (approx x x) (approx (+ x x) %6) (approx %10 y) (approx %10 (+.f64 y %6)) (approx %10 (*.f64 x (+.f64 #s(literal 2 binary64) %14))) (approx %10 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) %14) #s(literal 2 binary64))))) (approx %10 (*.f64 y (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 2 binary64) %25)))) (approx %10 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -2 binary64) %25) #s(literal 1 binary64))))) |
6 calls:
| Time | Variable | Point |
|---|---|---|
| 1.0ms | x | -inf |
| 1.0ms | x | inf |
| 0.0ms | y | inf |
| 0.0ms | x | 0 |
| 0.0ms | y | 0 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 6 | 13 |
| 0 | 7 | 13 |
| 1 | 24 | 13 |
| 2 | 55 | 13 |
| 3 | 124 | 13 |
| 4 | 289 | 13 |
| 5 | 1693 | 13 |
| 0 | 4162 | 13 |
| 0 | 4270 | 12 |
| 1× | iter-limit |
| 1× | iter-limit |
| 1× | node-limit |
| 1× | iter-limit |
| Inputs |
|---|
%1 = (+.f64 x x) x %1 (approx (+ (+ x y) x) %1) |
| Outputs |
|---|
%2 = (*.f64 #s(literal 1/2 binary64) x) %3 = (*.f64 %2 #s(literal 1/2 binary64)) %6 = (+.f64 x x) %8 = (*.f64 %6 #s(literal 4 binary64)) %12 = (/.f64 x #s(literal -2 binary64)) %15 = (*.f64 #s(literal 4 binary64) x) %19 = (neg.f64 x) %20 = (*.f64 #s(literal 4 binary64) %19) %22 = (*.f64 #s(literal 4 binary64) %6) %27 = (*.f64 #s(literal -2 binary64) x) %29 = (*.f64 #s(literal -4 binary64) %19) %41 = (*.f64 %2 #s(literal 8 binary64)) %42 = (*.f64 %19 #s(literal 4 binary64)) %51 = (*.f64 #s(literal -2 binary64) %6) %58 = (*.f64 %6 #s(literal -2 binary64)) %63 = (*.f64 x #s(literal 8 binary64)) %66 = (*.f64 #s(literal 8 binary64) x) %69 = (fma.f64 #s(literal 4 binary64) x %15) %72 = (*.f64 #s(literal 8 binary64) %6) %76 = (*.f64 %6 #s(literal 8 binary64)) %111 = (*.f64 #s(literal 1/2 binary64) %2) %112 = (fma.f64 #s(literal 1/2 binary64) x x) %114 = (-.f64 %2 %19) %117 = (*.f64 %2 #s(literal 3 binary64)) %120 = (*.f64 x #s(literal 3/2 binary64)) %122 = (*.f64 #s(literal 3 binary64) %2) %124 = (*.f64 #s(literal 3/2 binary64) x) %209 = (approx (+ (+ y x) x) %6) x (*.f64 %3 #s(literal 8 binary64)) (*.f64 %8 #s(literal 1/4 binary64)) (*.f64 %12 #s(literal -4 binary64)) (*.f64 %15 #s(literal 1/2 binary64)) (*.f64 %2 #s(literal 4 binary64)) (*.f64 #s(literal -1/2 binary64) %20) (*.f64 #s(literal 1/4 binary64) %22) (*.f64 #s(literal 4 binary64) %2) (*.f64 #s(literal -2 binary64) %19) (*.f64 #s(literal -1 binary64) %27) (*.f64 #s(literal 1/2 binary64) %29) (*.f64 #s(literal 1/2 binary64) %15) (*.f64 %27 #s(literal -1 binary64)) (*.f64 #s(literal 2 binary64) x) (*.f64 %19 #s(literal -2 binary64)) (*.f64 #s(literal 1 binary64) %6) (*.f64 %6 #s(literal 1 binary64)) (*.f64 x #s(literal 2 binary64)) (pow.f64 %6 #s(literal 1 binary64)) (/.f64 (-.f64 %41 %42) #s(literal 4 binary64)) (/.f64 (-.f64 %15 %42) #s(literal 4 binary64)) (/.f64 (-.f64 %41 %20) #s(literal 4 binary64)) (/.f64 (-.f64 %15 %20) #s(literal 4 binary64)) (/.f64 (-.f64 %41 %51) #s(literal 4 binary64)) (/.f64 (-.f64 %15 %51) #s(literal 4 binary64)) (/.f64 (-.f64 %51 %15) #s(literal -4 binary64)) (/.f64 (-.f64 %58 %15) #s(literal -4 binary64)) (/.f64 (-.f64 %6 %27) #s(literal 2 binary64)) (/.f64 (neg.f64 %63) #s(literal -4 binary64)) (/.f64 (neg.f64 %66) #s(literal -4 binary64)) (/.f64 (neg.f64 %69) #s(literal -4 binary64)) (/.f64 (neg.f64 %72) #s(literal -8 binary64)) (/.f64 (neg.f64 %76) #s(literal -8 binary64)) (/.f64 (neg.f64 %22) #s(literal -4 binary64)) (/.f64 (neg.f64 %51) #s(literal 2 binary64)) (/.f64 (neg.f64 %8) #s(literal -4 binary64)) (/.f64 (neg.f64 %58) #s(literal 2 binary64)) (/.f64 %63 #s(literal 4 binary64)) (/.f64 %66 #s(literal 4 binary64)) (/.f64 (neg.f64 %15) #s(literal -2 binary64)) (/.f64 %20 #s(literal -2 binary64)) (/.f64 (/.f64 %27 #s(literal 1/2 binary64)) #s(literal -2 binary64)) (/.f64 %69 #s(literal 4 binary64)) (/.f64 %72 #s(literal 8 binary64)) (/.f64 %76 #s(literal 8 binary64)) (/.f64 %22 #s(literal 4 binary64)) (/.f64 %51 #s(literal -2 binary64)) (/.f64 %8 #s(literal 4 binary64)) (/.f64 %58 #s(literal -2 binary64)) (/.f64 %15 #s(literal 2 binary64)) (/.f64 %27 #s(literal -1 binary64)) (/.f64 %19 #s(literal -1/2 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %6 #s(literal -1 binary64))) (/.f64 %6 #s(literal 1 binary64)) (/.f64 x #s(literal 1/2 binary64)) (neg.f64 %27) (fma.f64 %3 #s(literal 8 binary64) #s(literal 0 binary64)) (fma.f64 %111 #s(literal 2 binary64) %112) (fma.f64 %111 #s(literal 2 binary64) %114) (fma.f64 %111 #s(literal 2 binary64) %117) (fma.f64 %111 #s(literal 2 binary64) %120) (fma.f64 %111 #s(literal 2 binary64) %122) (fma.f64 %111 #s(literal 2 binary64) %124) (fma.f64 %8 #s(literal 1/4 binary64) #s(literal 0 binary64)) (fma.f64 #s(literal 3/2 binary64) x %2) (fma.f64 %12 #s(literal -4 binary64) #s(literal 0 binary64)) (fma.f64 %15 #s(literal 1/2 binary64) #s(literal 0 binary64)) (fma.f64 %2 #s(literal 3 binary64) %2) (fma.f64 %2 #s(literal 4 binary64) #s(literal 0 binary64)) (fma.f64 %2 #s(literal 1 binary64) %112) (fma.f64 %2 #s(literal 1 binary64) %114) (fma.f64 %2 #s(literal 1 binary64) %117) (fma.f64 %2 #s(literal 1 binary64) %120) (fma.f64 %2 #s(literal 1 binary64) %122) (fma.f64 %2 #s(literal 1 binary64) %124) (fma.f64 #s(literal -1/2 binary64) %20 #s(literal 0 binary64)) (fma.f64 #s(literal 1/4 binary64) %22 #s(literal 0 binary64)) (fma.f64 #s(literal 1/4 binary64) %6 %112) (fma.f64 #s(literal 1/4 binary64) %6 %114) (fma.f64 #s(literal 1/4 binary64) %6 %117) (fma.f64 #s(literal 1/4 binary64) %6 %120) (fma.f64 #s(literal 1/4 binary64) %6 %122) (fma.f64 #s(literal 1/4 binary64) %6 %124) (fma.f64 #s(literal 3 binary64) %2 %2) (fma.f64 #s(literal 4 binary64) %2 #s(literal 0 binary64)) (fma.f64 #s(literal -2 binary64) %19 #s(literal 0 binary64)) (fma.f64 #s(literal -1 binary64) %27 #s(literal 0 binary64)) (fma.f64 #s(literal 1/2 binary64) %29 #s(literal 0 binary64)) (fma.f64 #s(literal 1/2 binary64) %15 #s(literal 0 binary64)) (fma.f64 #s(literal 1/2 binary64) x %112) (fma.f64 #s(literal 1/2 binary64) x %114) (fma.f64 #s(literal 1/2 binary64) x %117) (fma.f64 #s(literal 1/2 binary64) x %120) (fma.f64 #s(literal 1/2 binary64) x %122) (fma.f64 #s(literal 1/2 binary64) x %124) (fma.f64 %27 #s(literal -1 binary64) #s(literal 0 binary64)) (fma.f64 #s(literal 2 binary64) %3 %112) (fma.f64 #s(literal 2 binary64) %3 %114) (fma.f64 #s(literal 2 binary64) %3 %117) (fma.f64 #s(literal 2 binary64) %3 %120) (fma.f64 #s(literal 2 binary64) %3 %122) (fma.f64 #s(literal 2 binary64) %3 %124) (fma.f64 #s(literal 2 binary64) x #s(literal 0 binary64)) (fma.f64 %19 #s(literal -2 binary64) #s(literal 0 binary64)) (fma.f64 #s(literal 1 binary64) %2 %112) (fma.f64 #s(literal 1 binary64) %2 %114) (fma.f64 #s(literal 1 binary64) %2 %117) (fma.f64 #s(literal 1 binary64) %2 %120) (fma.f64 #s(literal 1 binary64) %2 %122) (fma.f64 #s(literal 1 binary64) %2 %124) (fma.f64 #s(literal 1 binary64) %6 #s(literal 0 binary64)) (fma.f64 %6 #s(literal 1/4 binary64) %112) (fma.f64 %6 #s(literal 1/4 binary64) %114) (fma.f64 %6 #s(literal 1/4 binary64) %117) (fma.f64 %6 #s(literal 1/4 binary64) %120) (fma.f64 %6 #s(literal 1/4 binary64) %122) (fma.f64 %6 #s(literal 1/4 binary64) %124) (fma.f64 %6 #s(literal 1 binary64) #s(literal 0 binary64)) (fma.f64 x #s(literal 3/2 binary64) %2) (fma.f64 x #s(literal 1/2 binary64) %112) (fma.f64 x #s(literal 1/2 binary64) %114) (fma.f64 x #s(literal 1/2 binary64) %117) (fma.f64 x #s(literal 1/2 binary64) %120) (fma.f64 x #s(literal 1/2 binary64) %122) (fma.f64 x #s(literal 1/2 binary64) %124) (fma.f64 x #s(literal 2 binary64) #s(literal 0 binary64)) (-.f64 x %19) (+.f64 (+.f64 x %2) %2) (+.f64 %117 %2) (+.f64 %120 %2) (+.f64 %122 %2) (+.f64 %124 %2) (+.f64 %2 %112) (+.f64 %2 %114) (+.f64 %2 %117) (+.f64 %2 %120) (+.f64 %2 %122) (+.f64 %2 %124) (+.f64 #s(literal 0 binary64) %6) (+.f64 %6 #s(literal 0 binary64)) (+.f64 x (-.f64 #s(literal 0 binary64) %19)) %6 (*.f64 #s(literal 1 binary64) %209) (pow.f64 %209 #s(literal 1 binary64)) %209 (/.f64 #s(literal 1 binary64) (pow.f64 %209 #s(literal -1 binary64))) |
Compiled 156 to 227 computations (-45.5% saved)
Compiled 9 to 21 computations (-133.3% saved)
4 alts after pruning (1 fresh and 3 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 8 | 1 | 9 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 2 | 2 |
| Total | 8 | 4 | 12 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 100.0% | (fma.f64 #s(literal 2 binary64) x y) |
| ✓ | 58.9% | (+.f64 (approx (+ x y) y) x) |
| ✓ | 49.9% | (approx (+ (+ x y) x) (+.f64 x x)) |
| ▶ | 51.5% | (approx (+ (+ x y) x) y) |
Compiled 4 to 6 computations (-50.0% saved)
| Inputs |
|---|
| Outputs |
|---|
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 34 | 92 |
| 1× | iter-limit |
| Inputs |
|---|
y (approx (+ (+ x y) x) y) |
| Outputs |
|---|
%5 = (+ (+ x y) x) %8 = (*.f64 #s(literal 2 binary64) x) %12 = (/.f64 y x) %23 = (/.f64 x y) (approx y #s(literal 0 binary64)) (approx %5 y) (approx %5 (+.f64 y %8)) (approx %5 %8) (approx %5 (*.f64 x (+.f64 #s(literal 2 binary64) %12))) (approx %5 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) %12) #s(literal 2 binary64))))) (approx %5 (*.f64 y (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 2 binary64) %23)))) (approx %5 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -2 binary64) %23) #s(literal 1 binary64))))) |
6 calls:
| Time | Variable | Point |
|---|---|---|
| 1.0ms | y | -inf |
| 0.0ms | y | inf |
| 0.0ms | x | inf |
| 0.0ms | x | -inf |
| 0.0ms | y | 0 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 5 | 8 |
| 0 | 5 | 8 |
| 1 | 18 | 8 |
| 2 | 47 | 8 |
| 3 | 101 | 8 |
| 4 | 166 | 8 |
| 5 | 571 | 8 |
| 0 | 4024 | 8 |
| 0 | 4195 | 7 |
| 1× | iter-limit |
| 1× | iter-limit |
| 1× | node-limit |
| 1× | saturated |
| Inputs |
|---|
y (approx (+ (+ x y) x) y) |
| Outputs |
|---|
%5 = (approx (+ (+ x y) x) y) y (*.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))) |
Compiled 12 to 28 computations (-133.3% saved)
Compiled 7 to 17 computations (-142.9% saved)
5 alts after pruning (1 fresh and 4 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 6 | 1 | 7 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 3 | 3 |
| Total | 6 | 5 | 11 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 100.0% | (fma.f64 #s(literal 2 binary64) x y) |
| ✓ | 58.9% | (+.f64 (approx (+ x y) y) x) |
| ✓ | 49.9% | (approx (+ (+ x y) x) (+.f64 x x)) |
| 2.6% | (approx (+ (+ x y) x) (approx y #s(literal 0 binary64))) | |
| ✓ | 51.5% | (approx (+ (+ x y) x) y) |
Compiled 5 to 7 computations (-40.0% saved)
Total 24.3b remaining (41.8%)
Threshold costs 0.0b (0.0%)
| 12.7b | 57.3% |
| 11.7b | 53.1% |
| 0.0b | 16.7% |
| 0.0b | 0% |
| Inputs |
|---|
(approx (+ (+ x y) x) y) |
| Outputs |
|---|
(approx (+ (+ x y) x) y) |
| Inputs |
|---|
%3 = (+ (+ x y) x) (approx %3 y) (approx %3 (approx y #s(literal 0 binary64))) (approx %3 (+.f64 x x)) |
| Outputs |
|---|
%3 = (+ (+ x y) x) %4 = (approx %3 y) %4 (approx %3 (+.f64 x x)) %4 |
| Inputs |
|---|
%2 = (+ x y) %3 = (+ %2 x) (approx %3 y) (approx %3 (approx y #s(literal 0 binary64))) (approx %3 (+.f64 x x)) (+.f64 (approx %2 y) x) |
| Outputs |
|---|
%2 = (+ x y) %4 = (+.f64 (approx %2 y) x) %4 (approx (+ %2 x) (+.f64 x x)) %4 |
| Inputs |
|---|
%2 = (+ x y) %3 = (+ %2 x) (approx %3 y) (approx %3 (approx y #s(literal 0 binary64))) (approx %3 (+.f64 x x)) (+.f64 (approx %2 y) x) (approx %3 (*.f64 #s(literal 2 binary64) x)) (fma.f64 #s(literal 2 binary64) x y) |
| Outputs |
|---|
(fma.f64 #s(literal 2 binary64) x y) |
3 calls:
| 6.0ms | x |
| 4.0ms | (+.f64 (+.f64 x y) x) |
| 4.0ms | y |
| Accuracy | Segments | Branch |
|---|---|---|
| 51.5% | 1 | y |
| 51.5% | 1 | x |
| 51.5% | 1 | (+.f64 (+.f64 x y) x) |
Compiled 10 to 14 computations (-40.0% saved)
| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 6.0ms | 2.4702238806001017e+40 | 2.5020956682989923e+48 |
| 10.0ms | -1.1623226477154053e-26 | -1.5431403025918893e-49 |
| 6.0ms | 320× | 0 | valid |
Compiled 12 to 16 computations (-33.3% saved)
Add: 0.0ms (0.0% of total, 0.0 MiB)| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 2.4702238806001017e+40 | 2.5020956682989923e+48 |
| 4.0ms | -3.7736488112764267e+33 | -3.1195660053825565e+32 |
| 2.0ms | 96× | 0 | valid |
Compiled 12 to 14 computations (-16.7% saved)
Add: 0.0ms (0.0% of total, 0.0 MiB)| 1× | fuel |
Compiled 4 to 16 computations (-300.0% saved)
Compiled 5 to 20 computations (-300.0% saved)
| Allocated | Percent | Phase |
|---|---|---|
| 642.0 MiB | 34.0% | sample |
| 613.4 MiB | 32.5% | rewrite |
| 292.4 MiB | 15.5% | reconstruct |
| 87.8 MiB | 4.7% | preprocess |
| 82.8 MiB | 4.4% | series |
| 41.6 MiB | 2.2% | derivations |
| 36.7 MiB | 1.9% | bsearch |
| 36.7 MiB | 1.9% | regimes |
| 29.2 MiB | 1.5% | eval |
| 22.1 MiB | 1.2% | prune |
| 1.9 MiB | 0.1% | analyze |
| 0.2 MiB | 0.0% | start |
| 0.0 MiB | 0.0% | end |
| 1 886.7 MiB | 100.0% | total |
Loading profile data...