
Time bar (total: 927.0ms)
| 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)
| 160.0ms | 8 256× | 0 | valid |
Mul: 3.0ms (56.1% of total, 0.0 MiB)Sub: 2.0ms (37.4% of total, 0.0 MiB)Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 14 | 33 |
| 1 | 54 | 31 |
| 2 | 103 | 31 |
| 3 | 204 | 30 |
| 4 | 335 | 30 |
| 5 | 1343 | 30 |
| 1× | node-limit |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 100.0% | (-.f64 (*.f64 x y) x) |
(negabs x)
Compiled 2 to 8 computations (-300.0% saved)
| Inputs |
|---|
| Outputs |
|---|
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 31 | 93 |
| 1× | iter-limit |
| Inputs |
|---|
%2 = (*.f64 x y) x y %2 (-.f64 %2 x) |
| Outputs |
|---|
%5 = (* x y) %6 = (*.f64 x y) %8 = (- %5 x) %24 = (/.f64 x y) (approx x #s(literal 0 binary64)) (approx x x) (approx %5 %6) (approx %8 (*.f64 x (-.f64 y #s(literal 1 binary64)))) (approx %8 (*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) y))))) (approx y y) (approx %8 (*.f64 #s(literal -1 binary64) x)) (approx %8 (-.f64 %6 x)) (approx %8 (*.f64 y (+.f64 x (*.f64 #s(literal -1 binary64) %24)))) (approx %8 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x %24)))) |
6 calls:
| Time | Variable | Point |
|---|---|---|
| 1.0ms | x | inf |
| 1.0ms | y | inf |
| 1.0ms | x | -inf |
| 1.0ms | y | -inf |
| 0.0ms | x | 0 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 4 | 10 |
| 0 | 6 | 10 |
| 1 | 16 | 10 |
| 2 | 36 | 10 |
| 3 | 81 | 10 |
| 4 | 176 | 10 |
| 5 | 668 | 10 |
| 0 | 4222 | 10 |
| 0 | 4356 | 10 |
| 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 = (neg.f64 x) %4 = (*.f64 %3 y) %6 = (neg.f64 y) %10 = (*.f64 y x) %19 = (fma.f64 y #s(literal -2 binary64) #s(literal 2 binary64)) %20 = (*.f64 %19 %3) %23 = (-.f64 y #s(literal 1 binary64)) %25 = (-.f64 x %10) %27 = (-.f64 #s(literal 1 binary64) y) %30 = (-.f64 %10 x) %34 = (*.f64 x %19) %47 = (*.f64 x #s(literal 0 binary64)) %49 = (*.f64 #s(literal 0 binary64) x) %54 = (neg.f64 (*.f64 x #s(literal 1 binary64))) %80 = (-.f64 #s(literal 1/2 binary64) y) x y (*.f64 #s(literal -1 binary64) %4) (*.f64 %6 %3) (*.f64 %3 %6) (*.f64 #s(literal 1 binary64) %10) %10 (*.f64 x y) (pow.f64 %10 #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %10 #s(literal -1 binary64))) (neg.f64 %4) (*.f64 %20 #s(literal 1/2 binary64)) (*.f64 %23 x) (*.f64 #s(literal -1 binary64) %25) (*.f64 %27 %3) (*.f64 %3 %27) (*.f64 #s(literal 1 binary64) %30) (*.f64 x %23) (pow.f64 %30 #s(literal 1 binary64)) (/.f64 (neg.f64 %34) #s(literal 2 binary64)) (/.f64 %34 #s(literal -2 binary64)) (/.f64 (*.f64 %19 x) #s(literal -2 binary64)) (/.f64 %20 #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) %20)) (/.f64 #s(literal 1 binary64) (pow.f64 %30 #s(literal -1 binary64))) (neg.f64 %25) (fma.f64 %20 #s(literal 1/2 binary64) %47) (fma.f64 %20 #s(literal 1/2 binary64) %49) (fma.f64 %23 x %47) (fma.f64 %23 x %49) (fma.f64 #s(literal -1 binary64) %4 %54) (fma.f64 #s(literal -1 binary64) %4 %3) (fma.f64 #s(literal -1 binary64) %25 %47) (fma.f64 #s(literal -1 binary64) %25 %49) (fma.f64 #s(literal -1 binary64) x %10) (fma.f64 %27 %3 %47) (fma.f64 %27 %3 %49) (fma.f64 %6 %3 %54) (fma.f64 %6 %3 %3) (fma.f64 %3 %27 %47) (fma.f64 %3 %27 %49) (fma.f64 %3 %6 %54) (fma.f64 %3 %6 %3) (fma.f64 #s(literal 1 binary64) %3 %10) (fma.f64 #s(literal 1 binary64) %30 %47) (fma.f64 #s(literal 1 binary64) %30 %49) (fma.f64 #s(literal 1 binary64) %10 %54) (fma.f64 #s(literal 1 binary64) %10 %3) (fma.f64 y x %54) (fma.f64 y x %3) (fma.f64 x %23 %47) (fma.f64 x %23 %49) (fma.f64 x y %54) (fma.f64 x y %3) (-.f64 %3 %4) %30 (+.f64 (neg.f64 (*.f64 x %80)) (neg.f64 (*.f64 x #s(literal 1/2 binary64)))) (+.f64 (neg.f64 (*.f64 %80 x)) (neg.f64 (*.f64 #s(literal 1/2 binary64) x))) (+.f64 %54 %10) (+.f64 %3 %10) (+.f64 %30 %47) (+.f64 %30 %49) (+.f64 %10 %54) (+.f64 %10 %3) |
Compiled 74 to 110 computations (-48.6% saved)
Compiled 12 to 39 computations (-225.0% saved)
3 alts after pruning (2 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 10 | 2 | 12 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 10 | 3 | 13 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 100.0% | (-.f64 (*.f64 x y) x) |
| ▶ | 100.0% | (approx (- (* x y) x) (*.f64 x (-.f64 y #s(literal 1 binary64)))) |
| ▶ | 49.9% | (approx (- (* x y) x) (*.f64 #s(literal -1 binary64) x)) |
Compiled 3 to 9 computations (-200.0% saved)
| Inputs |
|---|
| Outputs |
|---|
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 43 | 141 |
| 1× | iter-limit |
| Inputs |
|---|
%3 = (-.f64 y #s(literal 1 binary64)) %4 = (*.f64 x %3) %6 = (- (* x y) x) %9 = (*.f64 #s(literal -1 binary64) x) x y #s(literal 1 binary64) %3 %4 (approx %6 %4) #s(literal -1 binary64) %9 (approx %6 %9) |
| Outputs |
|---|
%6 = (- y 1) %7 = (* x %6) %9 = (-.f64 y #s(literal 1 binary64)) %18 = (- (* x y) x) %27 = (*.f64 x y) %32 = (/.f64 #s(literal 1 binary64) y) %37 = (/.f64 x y) (approx x #s(literal 0 binary64)) (approx x x) (approx %7 (*.f64 x %9)) (approx (* -1 x) (*.f64 #s(literal -1 binary64) x)) (approx %18 (*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) y))))) (approx y y) (approx %6 #s(literal -1 binary64)) (approx %6 %9) (approx %7 (fma.f64 #s(literal -1 binary64) x %27)) (approx %18 (-.f64 %27 x)) (approx %6 (*.f64 y (-.f64 #s(literal 1 binary64) %32))) (approx %7 %27) (approx %7 (*.f64 y (+.f64 x (*.f64 #s(literal -1 binary64) %37)))) (approx %6 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 %32 #s(literal 1 binary64))))) (approx %7 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x %37)))) |
6 calls:
| Time | Variable | Point |
|---|---|---|
| 2.0ms | x | inf |
| 1.0ms | y | inf |
| 1.0ms | y | -inf |
| 1.0ms | x | 0 |
| 0.0ms | y | 0 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 35 |
| 0 | 14 | 33 |
| 1 | 43 | 33 |
| 2 | 90 | 33 |
| 3 | 291 | 33 |
| 4 | 1712 | 33 |
| 0 | 4089 | 33 |
| 0 | 4235 | 33 |
| 1× | iter-limit |
| 1× | iter-limit |
| 1× | node-limit |
| 1× | iter-limit |
| Inputs |
|---|
%3 = (-.f64 y #s(literal 1 binary64)) %4 = (*.f64 x %3) %6 = (- (* x y) x) %9 = (*.f64 #s(literal -1 binary64) x) x y #s(literal 1 binary64) %3 %4 (approx %6 %4) #s(literal -1 binary64) %9 (approx %6 %9) |
| Outputs |
|---|
%5 = (fma.f64 #s(literal 2 binary64) y #s(literal -2 binary64)) %7 = (/.f64 %5 #s(literal 8 binary64)) %10 = (/.f64 %5 #s(literal 4 binary64)) %14 = (-.f64 y #s(literal 1 binary64)) %18 = (+.f64 y y) %22 = (/.f64 %5 #s(literal 1/2 binary64)) %27 = (-.f64 (*.f64 %5 #s(literal 2 binary64)) #s(literal 0 binary64)) %30 = (fma.f64 y #s(literal -2 binary64) #s(literal 2 binary64)) %34 = (-.f64 (*.f64 y #s(literal -2 binary64)) #s(literal -2 binary64)) %37 = (neg.f64 %5) %40 = (/.f64 %5 #s(literal 1 binary64)) %43 = (-.f64 y #s(literal 1/2 binary64)) %45 = (-.f64 (*.f64 %43 #s(literal 2 binary64)) #s(literal 1 binary64)) %48 = (*.f64 %14 #s(literal 2 binary64)) %49 = (-.f64 %48 #s(literal 0 binary64)) %54 = (*.f64 y #s(literal 1 binary64)) %55 = (-.f64 %54 #s(literal 1 binary64)) %110 = (-.f64 #s(literal 1 binary64) y) %124 = (-.f64 y #s(literal 0 binary64)) %126 = (/.f64 %18 #s(literal 2 binary64)) %129 = (neg.f64 y) %132 = (/.f64 %43 #s(literal 1 binary64)) %134 = (/.f64 y #s(literal 1 binary64)) %140 = (-.f64 #s(literal -1/2 binary64) %129) %143 = (+.f64 #s(literal -1/2 binary64) y) %150 = (-.f64 #s(literal 0 binary64) %129) %153 = (+.f64 #s(literal 0 binary64) y) %165 = (*.f64 %110 #s(literal -2 binary64)) %166 = (*.f64 #s(literal 1/2 binary64) x) %168 = (*.f64 %14 #s(literal 1/2 binary64)) %169 = (+.f64 x x) %171 = (*.f64 #s(literal -2 binary64) x) %172 = (*.f64 %110 %171) %174 = (*.f64 %110 #s(literal 2 binary64)) %175 = (*.f64 #s(literal -1/2 binary64) x) %177 = (*.f64 %110 #s(literal -1 binary64)) %179 = (*.f64 %110 #s(literal 1 binary64)) %180 = (neg.f64 x) %182 = (*.f64 %14 %171) %184 = (*.f64 %14 #s(literal -1 binary64)) %186 = (*.f64 %14 #s(literal 1 binary64)) %188 = (*.f64 %14 %169) %190 = (*.f64 %110 %169) %192 = (*.f64 %14 %166) %195 = (*.f64 #s(literal -1/2 binary64) %14) %197 = (*.f64 #s(literal 1/2 binary64) %110) %199 = (*.f64 #s(literal 1/2 binary64) %14) %201 = (*.f64 #s(literal -1/2 binary64) %110) %204 = (*.f64 %166 %110) %206 = (*.f64 %169 %14) %208 = (*.f64 %175 %110) %210 = (*.f64 %166 %14) %213 = (*.f64 y x) %214 = (-.f64 x %213) %216 = (*.f64 #s(literal -1 binary64) %14) %220 = (*.f64 %14 x) %223 = (*.f64 #s(literal -1 binary64) %110) %227 = (*.f64 y %169) %232 = (*.f64 %169 y) %237 = (*.f64 #s(literal 4 binary64) %175) %246 = (*.f64 %129 %169) %251 = (*.f64 #s(literal -2 binary64) %213) %259 = (*.f64 %169 %129) %264 = (*.f64 %5 %169) %267 = (*.f64 %169 %5) %272 = (*.f64 x %5) %275 = (*.f64 %5 x) %281 = (-.f64 (*.f64 %213 #s(literal 2 binary64)) %169) %312 = (*.f64 %14 #s(literal 0 binary64)) %314 = (*.f64 #s(literal 0 binary64) %14) %343 = (*.f64 #s(literal -1/2 binary64) %166) %344 = (-.f64 #s(literal 1/2 binary64) y) %345 = (*.f64 %180 %344) %347 = (*.f64 %344 %180) %389 = (*.f64 %180 y) %459 = (* (- y 1) x) %460 = (approx %459 %220) %479 = (*.f64 #s(literal 8 binary64) %175) %488 = (*.f64 #s(literal -2 binary64) %169) %491 = (*.f64 #s(literal 2 binary64) %169) %494 = (*.f64 %169 #s(literal -2 binary64)) %497 = (*.f64 %169 #s(literal 2 binary64)) %538 = (*.f64 #s(literal 0 binary64) %171) %539 = (/.f64 %538 #s(literal 1 binary64)) %589 = (/.f64 (*.f64 %180 #s(literal 3/2 binary64)) #s(literal 2 binary64)) %590 = (/.f64 %175 #s(literal 2 binary64)) %593 = (/.f64 (*.f64 #s(literal 3/2 binary64) %180) #s(literal 2 binary64)) %596 = (/.f64 (*.f64 x #s(literal 3/2 binary64)) #s(literal -2 binary64)) %597 = (/.f64 %166 #s(literal -2 binary64)) %600 = (/.f64 (*.f64 #s(literal 3/2 binary64) x) #s(literal -2 binary64)) %604 = (/.f64 %175 #s(literal 1 binary64)) %613 = (approx %459 %180) x y #s(literal 1 binary64) (*.f64 %7 #s(literal 4 binary64)) (*.f64 %10 #s(literal 2 binary64)) (*.f64 %5 #s(literal 1/2 binary64)) (*.f64 #s(literal 1 binary64) %14) (pow.f64 %14 #s(literal 1 binary64)) (/.f64 (+.f64 #s(literal -1 binary64) (-.f64 %18 #s(literal 1 binary64))) #s(literal 2 binary64)) (/.f64 (+.f64 %22 #s(literal 0 binary64)) #s(literal 4 binary64)) (/.f64 (+.f64 %27 #s(literal 0 binary64)) #s(literal 4 binary64)) (/.f64 (+.f64 %30 #s(literal 0 binary64)) #s(literal -2 binary64)) (/.f64 (+.f64 %34 #s(literal 0 binary64)) #s(literal -2 binary64)) (/.f64 (+.f64 %37 #s(literal 0 binary64)) #s(literal -2 binary64)) (/.f64 (+.f64 %40 #s(literal 0 binary64)) #s(literal 2 binary64)) (/.f64 (+.f64 %45 #s(literal 0 binary64)) #s(literal 2 binary64)) (/.f64 (+.f64 %49 #s(literal 0 binary64)) #s(literal 2 binary64)) (/.f64 (fma.f64 #s(literal 2 binary64) %14 #s(literal 0 binary64)) #s(literal 2 binary64)) (/.f64 (+.f64 %55 #s(literal 0 binary64)) #s(literal 1 binary64)) (/.f64 (-.f64 #s(literal -2 binary64) (*.f64 #s(literal -2 binary64) y)) #s(literal 2 binary64)) (/.f64 (-.f64 %22 #s(literal 0 binary64)) #s(literal 4 binary64)) (/.f64 (-.f64 %27 #s(literal 0 binary64)) #s(literal 4 binary64)) (/.f64 (-.f64 %30 #s(literal 0 binary64)) #s(literal -2 binary64)) (/.f64 (-.f64 %34 #s(literal 0 binary64)) #s(literal -2 binary64)) (/.f64 (-.f64 %37 #s(literal 0 binary64)) #s(literal -2 binary64)) (/.f64 (-.f64 %40 #s(literal 0 binary64)) #s(literal 2 binary64)) (/.f64 (-.f64 %45 #s(literal 0 binary64)) #s(literal 2 binary64)) (/.f64 (-.f64 %49 #s(literal 0 binary64)) #s(literal 2 binary64)) (/.f64 (-.f64 %55 #s(literal 0 binary64)) #s(literal 1 binary64)) (/.f64 (neg.f64 %22) #s(literal -4 binary64)) (/.f64 (neg.f64 %40) #s(literal -2 binary64)) (/.f64 (neg.f64 %30) #s(literal 2 binary64)) (/.f64 (neg.f64 %45) #s(literal -2 binary64)) (/.f64 (neg.f64 %49) #s(literal -2 binary64)) (/.f64 (neg.f64 %34) #s(literal 2 binary64)) (/.f64 (neg.f64 %55) #s(literal -1 binary64)) (/.f64 (neg.f64 %27) #s(literal -4 binary64)) (/.f64 (neg.f64 %37) #s(literal 2 binary64)) (/.f64 %22 #s(literal 4 binary64)) (/.f64 %40 #s(literal 2 binary64)) (/.f64 (-.f64 #s(literal 2 binary64) %18) #s(literal -2 binary64)) (/.f64 %30 #s(literal -2 binary64)) (/.f64 %45 #s(literal 2 binary64)) (/.f64 %49 #s(literal 2 binary64)) (/.f64 %34 #s(literal -2 binary64)) (/.f64 %55 #s(literal 1 binary64)) (/.f64 %27 #s(literal 4 binary64)) (/.f64 %37 #s(literal -2 binary64)) (/.f64 %5 #s(literal 2 binary64)) (/.f64 %110 #s(literal -1 binary64)) (/.f64 %14 #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) %5)) (/.f64 #s(literal 1 binary64) (pow.f64 %14 #s(literal -1 binary64))) (neg.f64 %110) (fma.f64 %7 #s(literal 4 binary64) #s(literal 0 binary64)) (fma.f64 %10 #s(literal 2 binary64) #s(literal 0 binary64)) (fma.f64 %5 #s(literal 1/2 binary64) #s(literal 0 binary64)) (fma.f64 #s(literal 1 binary64) %43 #s(literal -1/2 binary64)) (fma.f64 #s(literal 1 binary64) %14 #s(literal 0 binary64)) (-.f64 %124 #s(literal 1 binary64)) (-.f64 %126 #s(literal 1 binary64)) (-.f64 %43 #s(literal 1/2 binary64)) (-.f64 #s(literal -1 binary64) %129) (-.f64 %14 #s(literal 0 binary64)) %14 (+.f64 %132 #s(literal -1/2 binary64)) (+.f64 %134 #s(literal -1 binary64)) (+.f64 (-.f64 %14 #s(literal 1 binary64)) #s(literal 1 binary64)) (+.f64 %126 #s(literal -1 binary64)) (+.f64 %43 #s(literal -1/2 binary64)) (+.f64 #s(literal -1/2 binary64) (/.f64 %140 #s(literal 1 binary64))) (+.f64 #s(literal -1/2 binary64) (/.f64 %143 #s(literal 1 binary64))) (+.f64 #s(literal -1/2 binary64) %132) (+.f64 #s(literal -1/2 binary64) %140) (+.f64 #s(literal -1/2 binary64) %143) (+.f64 #s(literal -1/2 binary64) %43) (+.f64 #s(literal -1 binary64) (/.f64 %150 #s(literal 1 binary64))) (+.f64 #s(literal -1 binary64) (/.f64 %153 #s(literal 1 binary64))) (+.f64 #s(literal -1 binary64) (/.f64 %124 #s(literal 1 binary64))) (+.f64 #s(literal -1 binary64) %134) (+.f64 #s(literal -1 binary64) %150) (+.f64 #s(literal -1 binary64) %153) (+.f64 #s(literal -1 binary64) %124) (+.f64 #s(literal -1 binary64) y) (+.f64 %14 #s(literal 0 binary64)) (+.f64 y #s(literal -1 binary64)) (*.f64 %165 %166) (*.f64 %168 %169) (*.f64 %172 #s(literal 1/2 binary64)) (*.f64 %174 %175) (*.f64 %177 x) (*.f64 %179 %180) (*.f64 %182 #s(literal -1/2 binary64)) (*.f64 %184 %180) (*.f64 %186 x) (*.f64 %188 #s(literal 1/2 binary64)) (*.f64 %190 #s(literal -1/2 binary64)) (*.f64 %192 #s(literal 2 binary64)) (*.f64 %48 %166) (*.f64 %171 %195) (*.f64 %171 %197) (*.f64 %169 %199) (*.f64 %169 %201) (*.f64 %166 %5) (*.f64 #s(literal -2 binary64) %204) (*.f64 #s(literal 1/2 binary64) %206) (*.f64 #s(literal 2 binary64) %208) (*.f64 #s(literal 2 binary64) %210) (*.f64 %110 %180) (*.f64 %214 #s(literal -1 binary64)) (*.f64 %180 %216) (*.f64 %180 %110) (*.f64 #s(literal -1 binary64) %214) (*.f64 %220 #s(literal 1 binary64)) %220 (*.f64 #s(literal 1 binary64) %220) (*.f64 x %223) (*.f64 x %14) (pow.f64 %220 #s(literal 1 binary64)) (/.f64 (fma.f64 #s(literal 4 binary64) %175 %227) #s(literal 2 binary64)) (/.f64 (fma.f64 #s(literal -2 binary64) x %227) #s(literal 2 binary64)) (/.f64 (fma.f64 #s(literal 4 binary64) %175 %232) #s(literal 2 binary64)) (/.f64 (fma.f64 #s(literal -2 binary64) x %232) #s(literal 2 binary64)) (/.f64 (fma.f64 y %169 %237) #s(literal 2 binary64)) (/.f64 (fma.f64 %169 y %237) #s(literal 2 binary64)) (/.f64 (fma.f64 y %169 %171) #s(literal 2 binary64)) (/.f64 (fma.f64 %169 y %171) #s(literal 2 binary64)) (/.f64 (-.f64 %237 %246) #s(literal 2 binary64)) (/.f64 (-.f64 %171 %246) #s(literal 2 binary64)) (/.f64 (-.f64 %237 %251) #s(literal 2 binary64)) (/.f64 (-.f64 %171 %251) #s(literal 2 binary64)) (/.f64 (-.f64 %169 (*.f64 #s(literal 2 binary64) %213)) #s(literal -2 binary64)) (/.f64 (-.f64 %237 %259) #s(literal 2 binary64)) (/.f64 (-.f64 %171 %259) #s(literal 2 binary64)) (/.f64 (-.f64 %264 #s(literal 0 binary64)) #s(literal 4 binary64)) (/.f64 (-.f64 %267 #s(literal 0 binary64)) #s(literal 4 binary64)) (/.f64 (-.f64 %188 #s(literal 0 binary64)) #s(literal 2 binary64)) (/.f64 (-.f64 %272 #s(literal 0 binary64)) #s(literal 2 binary64)) (/.f64 (-.f64 %275 #s(literal 0 binary64)) #s(literal 2 binary64)) (/.f64 (-.f64 %206 #s(literal 0 binary64)) #s(literal 2 binary64)) (/.f64 (-.f64 %281 #s(literal 0 binary64)) #s(literal 2 binary64)) (/.f64 (-.f64 %227 %169) #s(literal 2 binary64)) (/.f64 (-.f64 %232 %169) #s(literal 2 binary64)) (/.f64 (neg.f64 %188) #s(literal -2 binary64)) (/.f64 (neg.f64 %272) #s(literal -2 binary64)) (/.f64 (neg.f64 %275) #s(literal -2 binary64)) (/.f64 (neg.f64 %206) #s(literal -2 binary64)) (/.f64 (neg.f64 %281) #s(literal -2 binary64)) (/.f64 (neg.f64 %264) #s(literal -4 binary64)) (/.f64 (neg.f64 %267) #s(literal -4 binary64)) (/.f64 %188 #s(literal 2 binary64)) (/.f64 %272 #s(literal 2 binary64)) (/.f64 %275 #s(literal 2 binary64)) (/.f64 %206 #s(literal 2 binary64)) (/.f64 %281 #s(literal 2 binary64)) (/.f64 %264 #s(literal 4 binary64)) (/.f64 %267 #s(literal 4 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %220 #s(literal -1 binary64))) (neg.f64 %214) (fma.f64 %165 %166 %312) (fma.f64 %165 %166 %314) (fma.f64 %168 %169 %312) (fma.f64 %168 %169 %314) (fma.f64 %172 #s(literal 1/2 binary64) %312) (fma.f64 %172 #s(literal 1/2 binary64) %314) (fma.f64 %174 %175 %312) (fma.f64 %174 %175 %314) (fma.f64 %177 x %312) (fma.f64 %177 x %314) (fma.f64 %179 %180 %312) (fma.f64 %179 %180 %314) (fma.f64 %182 #s(literal -1/2 binary64) %312) (fma.f64 %182 #s(literal -1/2 binary64) %314) (fma.f64 %184 %180 %312) (fma.f64 %184 %180 %314) (fma.f64 %186 x %312) (fma.f64 %186 x %314) (fma.f64 (*.f64 y %171) #s(literal -1/2 binary64) %180) (fma.f64 %188 #s(literal 1/2 binary64) %312) (fma.f64 %188 #s(literal 1/2 binary64) %314) (fma.f64 %227 #s(literal 1/2 binary64) %180) (fma.f64 %190 #s(literal -1/2 binary64) %312) (fma.f64 %190 #s(literal -1/2 binary64) %314) (fma.f64 (*.f64 y #s(literal 1/2 binary64)) %169 %180) (fma.f64 %192 #s(literal 2 binary64) %312) (fma.f64 %192 #s(literal 2 binary64) %314) (fma.f64 %343 #s(literal 2 binary64) %345) (fma.f64 %343 #s(literal 2 binary64) %347) (fma.f64 (*.f64 y %166) #s(literal 2 binary64) %180) (fma.f64 %48 %166 %312) (fma.f64 %48 %166 %314) (fma.f64 %54 x %180) (fma.f64 #s(literal -1/4 binary64) %169 %345) (fma.f64 #s(literal -1/4 binary64) %169 %347) (fma.f64 %171 %195 %312) (fma.f64 %171 %195 %314) (fma.f64 %171 %197 %312) (fma.f64 %171 %197 %314) (fma.f64 %171 (*.f64 #s(literal -1/2 binary64) y) %180) (fma.f64 %171 #s(literal 1/2 binary64) %213) (fma.f64 %175 #s(literal 2 binary64) %213) (fma.f64 %175 #s(literal 1 binary64) %345) (fma.f64 %175 #s(literal 1 binary64) %347) (fma.f64 %169 %199 %312) (fma.f64 %169 %199 %314) (fma.f64 %169 %201 %312) (fma.f64 %169 %201 %314) (fma.f64 %169 (*.f64 #s(literal 1/2 binary64) y) %180) (fma.f64 %169 #s(literal -1/2 binary64) %213) (fma.f64 %166 %5 %312) (fma.f64 %166 %5 %314) (fma.f64 %166 %18 %180) (fma.f64 %166 #s(literal -2 binary64) %213) (fma.f64 %166 #s(literal -1 binary64) %345) (fma.f64 %166 #s(literal -1 binary64) %347) (fma.f64 %166 %14 %210) (fma.f64 %18 %166 %180) (fma.f64 #s(literal -1/2 binary64) %169 %213) (fma.f64 #s(literal -1/2 binary64) x %345) (fma.f64 #s(literal -1/2 binary64) x %347) (fma.f64 #s(literal -2 binary64) %204 %312) (fma.f64 #s(literal -2 binary64) %204 %314) (fma.f64 #s(literal -2 binary64) %166 %213) (fma.f64 %129 %180 %180) (fma.f64 %389 #s(literal -1 binary64) %180) (fma.f64 #s(literal 1/2 binary64) %237 %213) (fma.f64 #s(literal 1/2 binary64) %206 %312) (fma.f64 #s(literal 1/2 binary64) %206 %314) (fma.f64 #s(literal 1/2 binary64) %232 %180) (fma.f64 #s(literal 1/2 binary64) %171 %213) (fma.f64 #s(literal 1/2 binary64) %180 %345) (fma.f64 #s(literal 1/2 binary64) %180 %347) (fma.f64 #s(literal 2 binary64) %208 %312) (fma.f64 #s(literal 2 binary64) %208 %314) (fma.f64 #s(literal 2 binary64) %210 %312) (fma.f64 #s(literal 2 binary64) %210 %314) (fma.f64 #s(literal 2 binary64) (*.f64 %166 y) %180) (fma.f64 #s(literal 2 binary64) %175 %213) (fma.f64 %110 %180 %312) (fma.f64 %110 %180 %314) (fma.f64 %214 #s(literal -1 binary64) %312) (fma.f64 %214 #s(literal -1 binary64) %314) (fma.f64 %180 %216 %312) (fma.f64 %180 %216 %314) (fma.f64 %180 %129 %180) (fma.f64 %180 #s(literal 1/2 binary64) %345) (fma.f64 %180 #s(literal 1/2 binary64) %347) (fma.f64 %180 %110 %312) (fma.f64 %180 %110 %314) (fma.f64 %180 #s(literal 1 binary64) %213) (fma.f64 #s(literal -1 binary64) %166 %345) (fma.f64 #s(literal -1 binary64) %166 %347) (fma.f64 #s(literal -1 binary64) %389 %180) (fma.f64 #s(literal -1 binary64) %214 %312) (fma.f64 #s(literal -1 binary64) %214 %314) (fma.f64 #s(literal -1 binary64) x %213) (fma.f64 %220 #s(literal 1 binary64) %312) (fma.f64 %220 #s(literal 1 binary64) %314) (fma.f64 %213 #s(literal 1 binary64) %180) (fma.f64 %14 %166 %192) (fma.f64 %14 x %312) (fma.f64 %14 x %314) (fma.f64 #s(literal 1 binary64) %175 %345) (fma.f64 #s(literal 1 binary64) %175 %347) (fma.f64 #s(literal 1 binary64) %180 %213) (fma.f64 #s(literal 1 binary64) %220 %312) (fma.f64 #s(literal 1 binary64) %220 %314) (fma.f64 #s(literal 1 binary64) %213 %180) (fma.f64 y x %180) (fma.f64 x %223 %312) (fma.f64 x %223 %314) (fma.f64 x #s(literal -1/2 binary64) %345) (fma.f64 x #s(literal -1/2 binary64) %347) (fma.f64 x #s(literal -1 binary64) %213) (fma.f64 x %14 %312) (fma.f64 x %14 %314) (fma.f64 x y %180) (-.f64 (-.f64 %213 %166) %166) (-.f64 %180 %389) (-.f64 %220 #s(literal 0 binary64)) (-.f64 %213 x) (+.f64 %192 %192) (+.f64 %210 %210) (+.f64 %175 %345) (+.f64 %175 %347) (+.f64 %180 %213) (+.f64 %220 %312) (+.f64 %220 %314) (+.f64 %213 %180) (*.f64 #s(literal 1 binary64) %460) (pow.f64 %460 #s(literal 1 binary64)) %460 (/.f64 #s(literal 1 binary64) (pow.f64 %460 #s(literal -1 binary64))) #s(literal -1 binary64) (*.f64 %171 #s(literal 1/2 binary64)) (*.f64 %175 #s(literal 2 binary64)) (*.f64 %169 #s(literal -1/2 binary64)) (*.f64 %166 #s(literal -2 binary64)) (*.f64 #s(literal -1/2 binary64) %169) (*.f64 #s(literal -2 binary64) %166) (*.f64 #s(literal 1/2 binary64) %237) (*.f64 #s(literal 1/2 binary64) %171) (*.f64 #s(literal 2 binary64) %175) (*.f64 %180 #s(literal 1 binary64)) (*.f64 #s(literal -1 binary64) x) (*.f64 #s(literal 1 binary64) %180) (*.f64 x #s(literal -1 binary64)) (pow.f64 %180 #s(literal 1 binary64)) (/.f64 (+.f64 #s(literal 0 binary64) %479) #s(literal 4 binary64)) (/.f64 (+.f64 #s(literal 0 binary64) %237) #s(literal 2 binary64)) (/.f64 (fma.f64 #s(literal 8 binary64) %175 #s(literal 0 binary64)) #s(literal 4 binary64)) (/.f64 (fma.f64 #s(literal 4 binary64) %175 #s(literal 0 binary64)) #s(literal 2 binary64)) (/.f64 (+.f64 #s(literal 0 binary64) %488) #s(literal 4 binary64)) (/.f64 (+.f64 #s(literal 0 binary64) %491) #s(literal -4 binary64)) (/.f64 (+.f64 #s(literal 0 binary64) %494) #s(literal 4 binary64)) (/.f64 (+.f64 #s(literal 0 binary64) %497) #s(literal -4 binary64)) (/.f64 (+.f64 #s(literal 0 binary64) %171) #s(literal 2 binary64)) (/.f64 (+.f64 #s(literal 0 binary64) %169) #s(literal -2 binary64)) (/.f64 (fma.f64 #s(literal -2 binary64) %169 #s(literal 0 binary64)) #s(literal 4 binary64)) (/.f64 (fma.f64 %169 #s(literal -2 binary64) #s(literal 0 binary64)) #s(literal 4 binary64)) (/.f64 (fma.f64 #s(literal 2 binary64) %169 #s(literal 0 binary64)) #s(literal -4 binary64)) (/.f64 (fma.f64 %169 #s(literal 2 binary64) #s(literal 0 binary64)) #s(literal -4 binary64)) (/.f64 (neg.f64 %479) #s(literal -4 binary64)) (/.f64 (neg.f64 %237) #s(literal -2 binary64)) (/.f64 (neg.f64 %488) #s(literal -4 binary64)) (/.f64 (neg.f64 %491) #s(literal 4 binary64)) (/.f64 (neg.f64 %494) #s(literal -4 binary64)) (/.f64 (neg.f64 %497) #s(literal 4 binary64)) (/.f64 %479 #s(literal 4 binary64)) (/.f64 %237 #s(literal 2 binary64)) (/.f64 %488 #s(literal 4 binary64)) (/.f64 %491 #s(literal -4 binary64)) (/.f64 %494 #s(literal 4 binary64)) (/.f64 %497 #s(literal -4 binary64)) (/.f64 %171 #s(literal 2 binary64)) (/.f64 %169 #s(literal -2 binary64)) (/.f64 %180 #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %180 #s(literal -1 binary64))) (/.f64 x #s(literal -1 binary64)) %180 (fma.f64 %343 #s(literal 2 binary64) %175) (fma.f64 #s(literal -1/4 binary64) %169 %175) (fma.f64 %171 #s(literal 1/2 binary64) %539) (fma.f64 %171 #s(literal 1/2 binary64) %538) (fma.f64 %171 #s(literal 1/2 binary64) #s(literal 0 binary64)) (fma.f64 %175 #s(literal 2 binary64) %539) (fma.f64 %175 #s(literal 2 binary64) %538) (fma.f64 %175 #s(literal 2 binary64) #s(literal 0 binary64)) (fma.f64 %175 #s(literal 1 binary64) %175) (fma.f64 %169 #s(literal -1/2 binary64) %539) (fma.f64 %169 #s(literal -1/2 binary64) %538) (fma.f64 %169 #s(literal -1/2 binary64) #s(literal 0 binary64)) (fma.f64 %166 #s(literal -2 binary64) %539) (fma.f64 %166 #s(literal -2 binary64) %538) (fma.f64 %166 #s(literal -2 binary64) #s(literal 0 binary64)) (fma.f64 %166 #s(literal -1 binary64) %175) (fma.f64 #s(literal -1/2 binary64) %169 %539) (fma.f64 #s(literal -1/2 binary64) %169 %538) (fma.f64 #s(literal -1/2 binary64) %169 #s(literal 0 binary64)) (fma.f64 #s(literal -1/2 binary64) x %175) (fma.f64 #s(literal -2 binary64) %166 %539) (fma.f64 #s(literal -2 binary64) %166 %538) (fma.f64 #s(literal -2 binary64) %166 #s(literal 0 binary64)) (fma.f64 #s(literal 1/2 binary64) %237 %539) (fma.f64 #s(literal 1/2 binary64) %237 %538) (fma.f64 #s(literal 1/2 binary64) %237 #s(literal 0 binary64)) (fma.f64 #s(literal 1/2 binary64) %171 %539) (fma.f64 #s(literal 1/2 binary64) %171 %538) (fma.f64 #s(literal 1/2 binary64) %171 #s(literal 0 binary64)) (fma.f64 #s(literal 1/2 binary64) %180 %175) (fma.f64 #s(literal 2 binary64) %175 %539) (fma.f64 #s(literal 2 binary64) %175 %538) (fma.f64 #s(literal 2 binary64) %175 #s(literal 0 binary64)) (fma.f64 %180 #s(literal 1/2 binary64) %175) (fma.f64 %180 #s(literal 1 binary64) %539) (fma.f64 %180 #s(literal 1 binary64) %538) (fma.f64 %180 #s(literal 1 binary64) #s(literal 0 binary64)) (fma.f64 #s(literal -1 binary64) %166 %175) (fma.f64 #s(literal -1 binary64) x %539) (fma.f64 #s(literal -1 binary64) x %538) (fma.f64 #s(literal -1 binary64) x #s(literal 0 binary64)) (fma.f64 #s(literal 1 binary64) %175 %175) (fma.f64 #s(literal 1 binary64) %180 %539) (fma.f64 #s(literal 1 binary64) %180 %538) (fma.f64 #s(literal 1 binary64) %180 #s(literal 0 binary64)) (fma.f64 x #s(literal -1/2 binary64) %175) (fma.f64 x #s(literal -1 binary64) %539) (fma.f64 x #s(literal -1 binary64) %538) (fma.f64 x #s(literal -1 binary64) #s(literal 0 binary64)) (+.f64 %589 %590) (+.f64 %593 %590) (+.f64 %596 %597) (+.f64 %600 %597) (+.f64 %597 %596) (+.f64 %597 %600) (+.f64 %604 %604) (+.f64 %590 %589) (+.f64 %590 %593) (+.f64 %175 %175) (+.f64 #s(literal 0 binary64) %180) (+.f64 %180 %539) (+.f64 %180 %538) (+.f64 %180 #s(literal 0 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))) |
Compiled 422 to 633 computations (-50.0% saved)
Compiled 25 to 55 computations (-120.0% saved)
4 alts after pruning (2 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 23 | 2 | 25 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 1 | 2 |
| Done | 0 | 1 | 1 |
| Total | 24 | 4 | 28 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 100.0% | (-.f64 (*.f64 x y) x) |
| ✓ | 100.0% | (approx (- (* x y) x) (*.f64 x (-.f64 y #s(literal 1 binary64)))) |
| ▶ | 49.9% | (approx (- (* x y) x) (neg.f64 x)) |
| ▶ | 51.9% | (approx (- (* x y) x) (approx (* x (- y 1)) (*.f64 x y))) |
Compiled 4 to 8 computations (-100.0% saved)
| Inputs |
|---|
| Outputs |
|---|
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 34 | 102 |
| 1× | iter-limit |
| Inputs |
|---|
%2 = (*.f64 x y) %3 = (neg.f64 x) %7 = (approx (* x (- y 1)) %2) %9 = (- (* x y) x) x y %2 %3 %7 (approx %9 %7) (approx %9 %3) |
| Outputs |
|---|
%5 = (* x y) %6 = (*.f64 x y) %14 = (* x (- y 1)) %19 = (- %5 x) %30 = (/.f64 x y) (approx x #s(literal 0 binary64)) (approx x x) (approx %5 %6) (approx (neg x) (*.f64 #s(literal -1 binary64) x)) (approx %14 (*.f64 x (-.f64 y #s(literal 1 binary64)))) (approx %19 (*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) y))))) (approx y y) (approx %14 (fma.f64 #s(literal -1 binary64) x %6)) (approx %19 (-.f64 %6 x)) (approx %14 (*.f64 y (+.f64 x (*.f64 #s(literal -1 binary64) %30)))) (approx %14 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x %30)))) |
6 calls:
| Time | Variable | Point |
|---|---|---|
| 1.0ms | x | inf |
| 1.0ms | y | inf |
| 1.0ms | x | -inf |
| 1.0ms | y | -inf |
| 0.0ms | x | 0 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 12 | 39 |
| 0 | 14 | 39 |
| 1 | 41 | 39 |
| 2 | 85 | 39 |
| 3 | 255 | 39 |
| 4 | 1099 | 39 |
| 0 | 4215 | 39 |
| 0 | 4376 | 39 |
| 1× | iter-limit |
| 1× | iter-limit |
| 1× | node-limit |
| 1× | iter-limit |
| Inputs |
|---|
%2 = (*.f64 x y) %3 = (neg.f64 x) %7 = (approx (* x (- y 1)) %2) %9 = (- (* x y) x) x y %2 %3 %7 (approx %9 %7) (approx %9 %3) |
| Outputs |
|---|
%2 = (neg.f64 y) %3 = (neg.f64 x) %6 = (*.f64 y x) %17 = (*.f64 #s(literal -2 binary64) x) %18 = (*.f64 %17 #s(literal 1 binary64)) %22 = (+.f64 x x) %25 = (*.f64 #s(literal 1/2 binary64) x) %27 = (*.f64 #s(literal -1/2 binary64) x) %33 = (*.f64 #s(literal 4 binary64) %27) %45 = (*.f64 #s(literal 8 binary64) %27) %63 = (*.f64 x #s(literal 0 binary64)) %64 = (/.f64 %63 #s(literal -2 binary64)) %66 = (*.f64 #s(literal 0 binary64) x) %67 = (/.f64 %66 #s(literal -2 binary64)) %69 = (*.f64 %17 #s(literal 0 binary64)) %72 = (*.f64 #s(literal 0 binary64) %17) %105 = (/.f64 %3 #s(literal 2 binary64)) %146 = (/.f64 x #s(literal -2 binary64)) %165 = (/.f64 (*.f64 x #s(literal 3/2 binary64)) #s(literal -2 binary64)) %166 = (/.f64 %25 #s(literal -2 binary64)) %169 = (/.f64 (*.f64 #s(literal 3/2 binary64) x) #s(literal -2 binary64)) %186 = (* (- y 1) x) %187 = (approx %186 %6) %192 = (approx %186 %187) %197 = (approx %186 %3) x y (*.f64 %2 %3) (*.f64 #s(literal 1 binary64) %6) (*.f64 %3 %2) %6 (*.f64 x y) (pow.f64 %6 #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %6 #s(literal -1 binary64))) (neg.f64 (*.f64 %3 y)) (*.f64 %18 #s(literal 1/2 binary64)) (*.f64 %17 #s(literal 1/2 binary64)) (*.f64 %22 #s(literal -1/2 binary64)) (*.f64 %25 #s(literal -2 binary64)) (*.f64 %27 #s(literal 2 binary64)) (*.f64 #s(literal -1/2 binary64) %22) (*.f64 #s(literal -2 binary64) %25) (*.f64 #s(literal 1/2 binary64) %33) (*.f64 #s(literal 1/2 binary64) %17) (*.f64 #s(literal 2 binary64) %27) (*.f64 #s(literal -1 binary64) x) (*.f64 #s(literal 1 binary64) %3) (*.f64 %3 #s(literal 1 binary64)) (*.f64 x #s(literal -1 binary64)) (pow.f64 %3 #s(literal 1 binary64)) (/.f64 (neg.f64 %18) #s(literal -2 binary64)) (/.f64 (neg.f64 %45) #s(literal -4 binary64)) (/.f64 (neg.f64 %33) #s(literal -2 binary64)) (/.f64 %18 #s(literal 2 binary64)) (/.f64 %45 #s(literal 4 binary64)) (/.f64 %33 #s(literal 2 binary64)) (/.f64 (*.f64 %3 #s(literal 2 binary64)) #s(literal 2 binary64)) (/.f64 (*.f64 %3 #s(literal -2 binary64)) #s(literal -2 binary64)) (/.f64 %17 #s(literal 2 binary64)) (/.f64 %22 #s(literal -2 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %3 #s(literal -1 binary64))) %3 (fma.f64 %18 #s(literal 1/2 binary64) %64) (fma.f64 %18 #s(literal 1/2 binary64) %67) (fma.f64 %18 #s(literal 1/2 binary64) %69) (fma.f64 %18 #s(literal 1/2 binary64) %63) (fma.f64 %18 #s(literal 1/2 binary64) %72) (fma.f64 %18 #s(literal 1/2 binary64) %66) (fma.f64 %17 #s(literal 1/2 binary64) %64) (fma.f64 %17 #s(literal 1/2 binary64) %67) (fma.f64 %17 #s(literal 1/2 binary64) %69) (fma.f64 %17 #s(literal 1/2 binary64) %63) (fma.f64 %17 #s(literal 1/2 binary64) %72) (fma.f64 %17 #s(literal 1/2 binary64) %66) (fma.f64 %22 #s(literal -1/2 binary64) %64) (fma.f64 %22 #s(literal -1/2 binary64) %67) (fma.f64 %22 #s(literal -1/2 binary64) %69) (fma.f64 %22 #s(literal -1/2 binary64) %63) (fma.f64 %22 #s(literal -1/2 binary64) %72) (fma.f64 %22 #s(literal -1/2 binary64) %66) (fma.f64 %25 #s(literal -2 binary64) %64) (fma.f64 %25 #s(literal -2 binary64) %67) (fma.f64 %25 #s(literal -2 binary64) %69) (fma.f64 %25 #s(literal -2 binary64) %63) (fma.f64 %25 #s(literal -2 binary64) %72) (fma.f64 %25 #s(literal -2 binary64) %66) (fma.f64 %27 #s(literal 2 binary64) %64) (fma.f64 %27 #s(literal 2 binary64) %67) (fma.f64 %27 #s(literal 2 binary64) %69) (fma.f64 %27 #s(literal 2 binary64) %63) (fma.f64 %27 #s(literal 2 binary64) %72) (fma.f64 %27 #s(literal 2 binary64) %66) (fma.f64 #s(literal -1/2 binary64) %22 %64) (fma.f64 #s(literal -1/2 binary64) %22 %67) (fma.f64 #s(literal -1/2 binary64) %22 %69) (fma.f64 #s(literal -1/2 binary64) %22 %63) (fma.f64 #s(literal -1/2 binary64) %22 %72) (fma.f64 #s(literal -1/2 binary64) %22 %66) (fma.f64 #s(literal -1/2 binary64) x %105) (fma.f64 #s(literal -1/2 binary64) x %27) (fma.f64 #s(literal -2 binary64) %25 %64) (fma.f64 #s(literal -2 binary64) %25 %67) (fma.f64 #s(literal -2 binary64) %25 %69) (fma.f64 #s(literal -2 binary64) %25 %63) (fma.f64 #s(literal -2 binary64) %25 %72) (fma.f64 #s(literal -2 binary64) %25 %66) (fma.f64 #s(literal 1/2 binary64) %33 %64) (fma.f64 #s(literal 1/2 binary64) %33 %67) (fma.f64 #s(literal 1/2 binary64) %33 %69) (fma.f64 #s(literal 1/2 binary64) %33 %63) (fma.f64 #s(literal 1/2 binary64) %33 %72) (fma.f64 #s(literal 1/2 binary64) %33 %66) (fma.f64 #s(literal 1/2 binary64) %17 %64) (fma.f64 #s(literal 1/2 binary64) %17 %67) (fma.f64 #s(literal 1/2 binary64) %17 %69) (fma.f64 #s(literal 1/2 binary64) %17 %63) (fma.f64 #s(literal 1/2 binary64) %17 %72) (fma.f64 #s(literal 1/2 binary64) %17 %66) (fma.f64 #s(literal 2 binary64) %27 %64) (fma.f64 #s(literal 2 binary64) %27 %67) (fma.f64 #s(literal 2 binary64) %27 %69) (fma.f64 #s(literal 2 binary64) %27 %63) (fma.f64 #s(literal 2 binary64) %27 %72) (fma.f64 #s(literal 2 binary64) %27 %66) (fma.f64 #s(literal -1 binary64) x %64) (fma.f64 #s(literal -1 binary64) x %67) (fma.f64 #s(literal -1 binary64) x %69) (fma.f64 #s(literal -1 binary64) x %63) (fma.f64 #s(literal -1 binary64) x %72) (fma.f64 #s(literal -1 binary64) x %66) (fma.f64 #s(literal 1 binary64) %27 %105) (fma.f64 #s(literal 1 binary64) %27 %27) (fma.f64 #s(literal 1 binary64) %3 %64) (fma.f64 #s(literal 1 binary64) %3 %67) (fma.f64 #s(literal 1 binary64) %3 %69) (fma.f64 #s(literal 1 binary64) %3 %63) (fma.f64 #s(literal 1 binary64) %3 %72) (fma.f64 #s(literal 1 binary64) %3 %66) (fma.f64 %3 #s(literal 1/2 binary64) %146) (fma.f64 %3 #s(literal 1 binary64) %64) (fma.f64 %3 #s(literal 1 binary64) %67) (fma.f64 %3 #s(literal 1 binary64) %69) (fma.f64 %3 #s(literal 1 binary64) %63) (fma.f64 %3 #s(literal 1 binary64) %72) (fma.f64 %3 #s(literal 1 binary64) %66) (fma.f64 x #s(literal -1/2 binary64) %105) (fma.f64 x #s(literal -1/2 binary64) %27) (fma.f64 x #s(literal -1 binary64) %64) (fma.f64 x #s(literal -1 binary64) %67) (fma.f64 x #s(literal -1 binary64) %69) (fma.f64 x #s(literal -1 binary64) %63) (fma.f64 x #s(literal -1 binary64) %72) (fma.f64 x #s(literal -1 binary64) %66) (+.f64 %105 %105) (+.f64 %165 %166) (+.f64 %169 %166) (+.f64 %166 %165) (+.f64 %166 %169) (+.f64 %146 %146) (+.f64 (*.f64 %3 #s(literal 1/2 binary64)) %146) (+.f64 %27 %105) (+.f64 %27 %27) (+.f64 %3 %64) (+.f64 %3 %67) (+.f64 %3 %69) (+.f64 %3 %63) (+.f64 %3 %72) (+.f64 %3 %66) (*.f64 #s(literal 1 binary64) %187) (pow.f64 %187 #s(literal 1 binary64)) %187 (/.f64 #s(literal 1 binary64) (pow.f64 %187 #s(literal -1 binary64))) (*.f64 #s(literal 1 binary64) %192) (pow.f64 %192 #s(literal 1 binary64)) %192 (/.f64 #s(literal 1 binary64) (pow.f64 %192 #s(literal -1 binary64))) (*.f64 #s(literal 1 binary64) %197) (pow.f64 %197 #s(literal 1 binary64)) %197 (/.f64 #s(literal 1 binary64) (pow.f64 %197 #s(literal -1 binary64))) |
Compiled 166 to 211 computations (-27.1% saved)
Compiled 18 to 32 computations (-77.8% saved)
5 alts after pruning (1 fresh and 4 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 17 | 1 | 18 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 2 | 2 |
| Done | 0 | 2 | 2 |
| Total | 17 | 5 | 22 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 100.0% | (-.f64 (*.f64 x y) x) |
| ✓ | 100.0% | (approx (- (* x y) x) (*.f64 x (-.f64 y #s(literal 1 binary64)))) |
| ▶ | 3.2% | (approx (- (* x y) x) (neg.f64 (approx x #s(literal 0 binary64)))) |
| ✓ | 49.9% | (approx (- (* x y) x) (neg.f64 x)) |
| ✓ | 51.9% | (approx (- (* x y) x) (approx (* x (- y 1)) (*.f64 x y))) |
Compiled 5 to 10 computations (-100.0% saved)
| Inputs |
|---|
| Outputs |
|---|
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 31 | 89 |
| 1× | iter-limit |
| Inputs |
|---|
%2 = (approx x #s(literal 0 binary64)) %3 = (neg.f64 %2) x #s(literal 0 binary64) %2 %3 (approx (- (* x y) x) %3) |
| Outputs |
|---|
%10 = (- (* x y) x) %20 = (*.f64 x y) %24 = (/.f64 x y) (approx x #s(literal 0 binary64)) (approx x x) (approx (neg x) (*.f64 #s(literal -1 binary64) x)) (approx %10 (*.f64 x (-.f64 y #s(literal 1 binary64)))) (approx %10 (*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) y))))) (approx %10 (-.f64 %20 x)) (approx %10 %20) (approx %10 (*.f64 y (+.f64 x (*.f64 #s(literal -1 binary64) %24)))) (approx %10 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x %24)))) |
6 calls:
| Time | Variable | Point |
|---|---|---|
| 2.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 | 8 | 19 |
| 0 | 9 | 19 |
| 1 | 24 | 19 |
| 2 | 48 | 19 |
| 3 | 125 | 19 |
| 4 | 630 | 19 |
| 0 | 4779 | 19 |
| 0 | 4875 | 19 |
| 1× | iter-limit |
| 1× | iter-limit |
| 1× | node-limit |
| 1× | iter-limit |
| Inputs |
|---|
%2 = (approx x #s(literal 0 binary64)) %3 = (neg.f64 %2) x #s(literal 0 binary64) %2 %3 (approx (- (* x y) x) %3) |
| Outputs |
|---|
%3 = (approx x #s(literal 0 binary64)) %9 = (neg.f64 %3) %17 = (approx (- (* y x) x) %9) x #s(literal 0 binary64) (*.f64 #s(literal 1 binary64) %3) (pow.f64 %3 #s(literal 1 binary64)) %3 (/.f64 #s(literal 1 binary64) (pow.f64 %3 #s(literal -1 binary64))) (*.f64 #s(literal 1 binary64) %9) (pow.f64 %9 #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %9 #s(literal -1 binary64))) %9 (*.f64 #s(literal 1 binary64) %17) (pow.f64 %17 #s(literal 1 binary64)) %17 (/.f64 #s(literal 1 binary64) (pow.f64 %17 #s(literal -1 binary64))) |
Compiled 23 to 34 computations (-47.8% saved)
Compiled 7 to 15 computations (-114.3% saved)
5 alts after pruning (0 fresh and 5 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 7 | 0 | 7 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 4 | 4 |
| Total | 7 | 5 | 12 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 100.0% | (-.f64 (*.f64 x y) x) |
| ✓ | 100.0% | (approx (- (* x y) x) (*.f64 x (-.f64 y #s(literal 1 binary64)))) |
| ✓ | 3.2% | (approx (- (* x y) x) (neg.f64 (approx x #s(literal 0 binary64)))) |
| ✓ | 49.9% | (approx (- (* x y) x) (neg.f64 x)) |
| ✓ | 51.9% | (approx (- (* x y) x) (approx (* x (- y 1)) (*.f64 x y))) |
Compiled 5 to 10 computations (-100.0% saved)
Total 0.0b remaining (0.0%)
Threshold costs 0.0b (0.0%)
| 0.0b | 0.0% |
| 0.0b | 100.0% |
| 0.0b | 0% |
| 0.0b | 0% |
| Inputs |
|---|
(approx (- (* x y) x) (neg.f64 x)) |
| Outputs |
|---|
(approx (- (* x y) x) (neg.f64 x)) |
| Inputs |
|---|
%3 = (- (* x y) x) (approx %3 (neg.f64 x)) (approx %3 (neg.f64 (approx x #s(literal 0 binary64)))) (approx %3 (approx (* x (- y 1)) (*.f64 x y))) |
| Outputs |
|---|
%3 = (- (* x y) x) %9 = (approx %3 (approx (* x (- y 1)) (*.f64 x y))) %9 (approx %3 (neg.f64 x)) %9 |
| Inputs |
|---|
%3 = (- (* x y) x) (approx %3 (neg.f64 x)) (approx %3 (neg.f64 (approx x #s(literal 0 binary64)))) (approx %3 (approx (* x (- y 1)) (*.f64 x y))) (approx %3 (*.f64 #s(literal -1 binary64) x)) (approx %3 (*.f64 x (-.f64 y #s(literal 1 binary64)))) |
| Outputs |
|---|
(approx (- (* x y) x) (*.f64 x (-.f64 y #s(literal 1 binary64)))) |
| Inputs |
|---|
%3 = (- (* x y) x) %13 = (*.f64 x y) (approx %3 (neg.f64 x)) (approx %3 (neg.f64 (approx x #s(literal 0 binary64)))) (approx %3 (approx (* x (- y 1)) %13)) (approx %3 (*.f64 #s(literal -1 binary64) x)) (approx %3 (*.f64 x (-.f64 y #s(literal 1 binary64)))) (-.f64 %13 x) |
| Outputs |
|---|
(-.f64 (*.f64 x y) x) |
3 calls:
| 18.0ms | (-.f64 (*.f64 x y) x) |
| 4.0ms | x |
| 4.0ms | y |
| Accuracy | Segments | Branch |
|---|---|---|
| 49.9% | 1 | y |
| 49.9% | 1 | x |
| 49.9% | 1 | (-.f64 (*.f64 x y) x) |
Compiled 9 to 16 computations (-77.8% saved)
| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 6.0ms | 2.860101974651004e-6 | 621.3165145431143 |
| 5.0ms | -7.956262582700838 | -0.3265401055606291 |
| 5.0ms | 256× | 0 | valid |
Compiled 12 to 16 computations (-33.3% saved)
Sub: 0.0ms (0.0% of total, 0.0 MiB)Mul: 0.0ms (0.0% of total, 0.0 MiB)| 1× | done |
Compiled 4 to 14 computations (-250.0% saved)
Compiled 13 to 60 computations (-361.5% saved)
| Allocated | Percent | Phase |
|---|---|---|
| 344.6 MiB | 41.7% | rewrite |
| 288.3 MiB | 34.9% | sample |
| 85.1 MiB | 10.3% | reconstruct |
| 40.8 MiB | 4.9% | series |
| 30.3 MiB | 3.7% | preprocess |
| 14.2 MiB | 1.7% | regimes |
| 8.1 MiB | 1.0% | eval |
| 7.1 MiB | 0.9% | prune |
| 4.8 MiB | 0.6% | bsearch |
| 1.9 MiB | 0.2% | derivations |
| 0.2 MiB | 0.0% | analyze |
| 0.0 MiB | 0.0% | start |
| 0.0 MiB | 0.0% | end |
| 825.5 MiB | 100.0% | total |
Loading profile data...