Time bar (total: 1.4s)
| 1× | search |
| Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
|---|---|---|---|---|---|---|---|
| 0% | 0% | 50% | 50% | 0% | 0% | 0% | 0 |
| 0% | 0% | 50% | 50% | 0% | 0% | 0% | 1 |
| 0% | 0% | 50% | 50% | 0% | 0% | 0% | 2 |
| 0% | 0% | 50% | 50% | 0% | 0% | 0% | 3 |
| 62.5% | 31.2% | 18.7% | 50% | 0% | 0% | 0% | 4 |
| 81.3% | 40.6% | 9.4% | 50% | 0% | 0% | 0% | 5 |
| 90.6% | 45.3% | 4.7% | 50% | 0% | 0% | 0% | 6 |
| 95.3% | 47.6% | 2.3% | 50% | 0% | 0% | 0% | 7 |
| 97.7% | 48.8% | 1.2% | 50% | 0% | 0% | 0% | 8 |
| 98.8% | 49.4% | 0.6% | 50% | 0% | 0% | 0% | 9 |
| 99.4% | 49.7% | 0.3% | 50% | 0% | 0% | 0% | 10 |
| 99.7% | 49.8% | 0.1% | 50% | 0% | 0% | 0% | 11 |
| 99.9% | 49.9% | 0.1% | 50% | 0% | 0% | 0% | 12 |
Compiled 29 to 19 computations (34.5% saved)
| 1.2s | 8256× | body | 256 | valid |
| 2× | egg-herbie |
| 1442× | associate-/r* |
| 1090× | distribute-lft-in |
| 1084× | distribute-rgt-in |
| 834× | associate-/r/ |
| 810× | associate-*r* |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 12 | 61 |
| 1 | 43 | 51 |
| 2 | 190 | 33 |
| 3 | 1291 | 25 |
| 4 | 4152 | 25 |
| 5 | 6931 | 25 |
| 0 | 1 | 1 |
| 1× | saturated |
| 1× | node limit |
| Inputs |
|---|
0 |
| Outputs |
|---|
0 |
| Inputs |
|---|
(/.f64 (/.f64 (*.f64 (*.f64 i i) (*.f64 i i)) (*.f64 (*.f64 2 i) (*.f64 2 i))) (-.f64 (*.f64 (*.f64 2 i) (*.f64 2 i)) 1)) |
| Outputs |
|---|
(/.f64 (/.f64 (*.f64 (*.f64 i i) (*.f64 i i)) (*.f64 (*.f64 2 i) (*.f64 2 i))) (-.f64 (*.f64 (*.f64 2 i) (*.f64 2 i)) 1)) |
(/.f64 (/.f64 (*.f64 i i) (/.f64 (*.f64 4 (*.f64 i i)) (*.f64 i i))) (+.f64 (*.f64 4 (*.f64 i i)) -1)) |
(*.f64 (/.f64 i (fma.f64 (*.f64 i 4) i -1)) (/.f64 (pow.f64 i 3) (*.f64 i (*.f64 i 4)))) |
(*.f64 1/4 (/.f64 (*.f64 i i) (fma.f64 i (*.f64 i 4) -1))) |
(/.f64 1/4 (-.f64 4 (/.f64 1 (*.f64 i i)))) |
(/.f64 1/4 (+.f64 4 (/.f64 -1 (*.f64 i i)))) |
Compiled 27 to 18 computations (33.3% saved)
| 1× | egg-herbie |
| 1442× | associate-/r* |
| 1090× | distribute-lft-in |
| 1084× | distribute-rgt-in |
| 834× | associate-/r/ |
| 810× | associate-*r* |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 12 | 61 |
| 1 | 43 | 51 |
| 2 | 190 | 33 |
| 3 | 1291 | 25 |
| 4 | 4152 | 25 |
| 5 | 6931 | 25 |
| 1× | node limit |
| Inputs |
|---|
(/.f64 (/.f64 (*.f64 (*.f64 i i) (*.f64 i i)) (*.f64 (*.f64 2 i) (*.f64 2 i))) (-.f64 (*.f64 (*.f64 2 i) (*.f64 2 i)) 1)) |
| Outputs |
|---|
(/.f64 (/.f64 (*.f64 (*.f64 i i) (*.f64 i i)) (*.f64 (*.f64 2 i) (*.f64 2 i))) (-.f64 (*.f64 (*.f64 2 i) (*.f64 2 i)) 1)) |
(/.f64 (/.f64 (*.f64 i i) (/.f64 (*.f64 4 (*.f64 i i)) (*.f64 i i))) (+.f64 (*.f64 4 (*.f64 i i)) -1)) |
(*.f64 (/.f64 i (fma.f64 (*.f64 i 4) i -1)) (/.f64 (pow.f64 i 3) (*.f64 i (*.f64 i 4)))) |
(*.f64 1/4 (/.f64 (*.f64 i i) (fma.f64 i (*.f64 i 4) -1))) |
(/.f64 1/4 (-.f64 4 (/.f64 1 (*.f64 i i)))) |
(/.f64 1/4 (+.f64 4 (/.f64 -1 (*.f64 i i)))) |
Compiled 95 to 57 computations (40% saved)
2 alts after pruning (2 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 4 | 2 | 6 |
| Fresh | 1 | 0 | 1 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 0 | 0 |
| Total | 5 | 2 | 7 |
| Status | Error | Program |
|---|---|---|
| ▶ | 50.4% | (/.f64 (/.f64 (*.f64 i i) (/.f64 (*.f64 4 (*.f64 i i)) (*.f64 i i))) (+.f64 (*.f64 4 (*.f64 i i)) -1)) |
| ▶ | 99.7% | (/.f64 1/4 (-.f64 4 (/.f64 1 (*.f64 i i)))) |
Compiled 32 to 19 computations (40.6% saved)
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 99.7% | (/.f64 1 (*.f64 i i)) |
| ✓ | 99.7% | (/.f64 1/4 (-.f64 4 (/.f64 1 (*.f64 i i)))) |
Compiled 29 to 17 computations (41.4% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | i | @ | 0 | (/.f64 1 (*.f64 i i)) |
| 0.0ms | i | @ | 0 | (/.f64 1/4 (-.f64 4 (/.f64 1 (*.f64 i i)))) |
| 0.0ms | i | @ | inf | (/.f64 1/4 (-.f64 4 (/.f64 1 (*.f64 i i)))) |
| 0.0ms | i | @ | -inf | (/.f64 1/4 (-.f64 4 (/.f64 1 (*.f64 i i)))) |
| 0.0ms | i | @ | inf | (/.f64 1 (*.f64 i i)) |
| 1× | batch-egg-rewrite |
| 1346× | associate-*r/ |
| 846× | associate-*l/ |
| 806× | *-commutative |
| 768× | associate-/r* |
| 472× | swap-sqr |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 38 |
| 1 | 222 | 26 |
| 2 | 2745 | 26 |
| 1× | node limit |
| Inputs |
|---|
(/.f64 1/4 (-.f64 4 (/.f64 1 (*.f64 i i)))) |
(/.f64 1 (*.f64 i i)) |
| Outputs |
|---|
((((x +.f64 (*.f64 (/.f64 1/4 (+.f64 16 (/.f64 -1 (pow.f64 i 4)))) 4) (*.f64 (/.f64 1/4 (+.f64 16 (/.f64 -1 (pow.f64 i 4)))) (pow.f64 i -2))))) (((x +.f64 (*.f64 (/.f64 1/4 (+.f64 16 (/.f64 -1 (pow.f64 i 4)))) (pow.f64 i -2)) (*.f64 (/.f64 1/4 (+.f64 16 (/.f64 -1 (pow.f64 i 4)))) 4)))) (((x +.f64 (*.f64 (/.f64 1/4 (-.f64 64 (pow.f64 (*.f64 i i) -3))) 16) (*.f64 (/.f64 1/4 (-.f64 64 (pow.f64 (*.f64 i i) -3))) (*.f64 (pow.f64 i -2) (+.f64 4 (pow.f64 i -2))))))) (((x +.f64 (*.f64 (/.f64 1/4 (-.f64 64 (pow.f64 (*.f64 i i) -3))) (*.f64 (pow.f64 i -2) (+.f64 4 (pow.f64 i -2)))) (*.f64 (/.f64 1/4 (-.f64 64 (pow.f64 (*.f64 i i) -3))) 16)))) (((x +.f64 (*.f64 (/.f64 1/4 (-.f64 64 (pow.f64 (*.f64 i i) -3))) (+.f64 (/.f64 1 (pow.f64 i 4)) 16)) (*.f64 (/.f64 1/4 (-.f64 64 (pow.f64 (*.f64 i i) -3))) (/.f64 4 (*.f64 i i)))))) (((x +.f64 (*.f64 4 (/.f64 1/4 (+.f64 16 (/.f64 -1 (pow.f64 i 4))))) (*.f64 (pow.f64 i -2) (/.f64 1/4 (+.f64 16 (/.f64 -1 (pow.f64 i 4)))))))) (((x +.f64 (*.f64 (pow.f64 i -2) (/.f64 1/4 (+.f64 16 (/.f64 -1 (pow.f64 i 4))))) (*.f64 4 (/.f64 1/4 (+.f64 16 (/.f64 -1 (pow.f64 i 4)))))))) (((x +.f64 (*.f64 16 (/.f64 1/4 (-.f64 64 (pow.f64 (*.f64 i i) -3)))) (*.f64 (*.f64 (pow.f64 i -2) (+.f64 4 (pow.f64 i -2))) (/.f64 1/4 (-.f64 64 (pow.f64 (*.f64 i i) -3))))))) (((x +.f64 (*.f64 (*.f64 (pow.f64 i -2) (+.f64 4 (pow.f64 i -2))) (/.f64 1/4 (-.f64 64 (pow.f64 (*.f64 i i) -3)))) (*.f64 16 (/.f64 1/4 (-.f64 64 (pow.f64 (*.f64 i i) -3))))))) (((x +.f64 (*.f64 (+.f64 (/.f64 1 (pow.f64 i 4)) 16) (/.f64 1/4 (-.f64 64 (pow.f64 (*.f64 i i) -3)))) (*.f64 (/.f64 4 (*.f64 i i)) (/.f64 1/4 (-.f64 64 (pow.f64 (*.f64 i i) -3))))))) (((x -.f64 (exp.f64 (log1p.f64 (/.f64 1/4 (-.f64 4 (pow.f64 i -2))))) 1))) (((x *.f64 1/4 (/.f64 1 (-.f64 4 (pow.f64 i -2)))))) (((x *.f64 1 (/.f64 1/4 (-.f64 4 (pow.f64 i -2)))))) (((x *.f64 (/.f64 1/4 (-.f64 4 (pow.f64 i -2))) 1))) (((x *.f64 (/.f64 1/2 (sqrt.f64 (-.f64 4 (pow.f64 i -2)))) (/.f64 1/2 (sqrt.f64 (-.f64 4 (pow.f64 i -2))))))) (((x *.f64 (cbrt.f64 (/.f64 1/4 (-.f64 4 (pow.f64 i -2)))) (cbrt.f64 (/.f64 1/16 (pow.f64 (-.f64 4 (pow.f64 i -2)) 2)))))) (((x *.f64 (cbrt.f64 (/.f64 1/16 (pow.f64 (-.f64 4 (pow.f64 i -2)) 2))) (cbrt.f64 (/.f64 1/4 (-.f64 4 (pow.f64 i -2))))))) (((x *.f64 (+.f64 4 (pow.f64 i -2)) (/.f64 1/4 (+.f64 16 (/.f64 -1 (pow.f64 i 4))))))) (((x *.f64 (/.f64 1 (-.f64 4 (pow.f64 i -2))) 1/4))) (((x *.f64 (+.f64 16 (*.f64 (pow.f64 i -2) (+.f64 4 (pow.f64 i -2)))) (/.f64 1/4 (-.f64 64 (pow.f64 (*.f64 i i) -3)))))) (((x *.f64 -1/4 (/.f64 -1 (-.f64 4 (pow.f64 i -2)))))) (((x *.f64 (/.f64 1 (sqrt.f64 (-.f64 4 (pow.f64 i -2)))) (/.f64 1/4 (sqrt.f64 (-.f64 4 (pow.f64 i -2))))))) (((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (-.f64 4 (pow.f64 i -2))) 2)) (/.f64 1/4 (cbrt.f64 (-.f64 4 (pow.f64 i -2))))))) (((x *.f64 (/.f64 1 (+.f64 16 (/.f64 -1 (pow.f64 i 4)))) (+.f64 1 (*.f64 1/4 (pow.f64 i -2)))))) (((x *.f64 (/.f64 1 (-.f64 64 (pow.f64 (*.f64 i i) -3))) (+.f64 4 (*.f64 1/4 (*.f64 (pow.f64 i -2) (+.f64 4 (pow.f64 i -2)))))))) (((x *.f64 (/.f64 1/4 (+.f64 16 (/.f64 -1 (pow.f64 i 4)))) (+.f64 4 (pow.f64 i -2))))) (((x *.f64 (/.f64 1/4 (-.f64 64 (pow.f64 (*.f64 i i) -3))) (+.f64 16 (*.f64 (pow.f64 i -2) (+.f64 4 (pow.f64 i -2))))))) (((x *.f64 (/.f64 -1 (-.f64 4 (pow.f64 i -2))) -1/4))) (((x *.f64 (/.f64 1/4 (+.f64 -16 (/.f64 1 (pow.f64 i 4)))) (neg.f64 (+.f64 4 (pow.f64 i -2)))))) (((x *.f64 (/.f64 1/4 (neg.f64 (-.f64 64 (pow.f64 (*.f64 i i) -3)))) (+.f64 -16 (neg.f64 (*.f64 (pow.f64 i -2) (+.f64 4 (pow.f64 i -2)))))))) (((x *.f64 (/.f64 1/4 (+.f64 64 (pow.f64 (neg.f64 (pow.f64 i -2)) 3))) (+.f64 16 (-.f64 (/.f64 1 (pow.f64 i 4)) (/.f64 -4 (*.f64 i i))))))) (((x *.f64 (/.f64 -1/4 (+.f64 -16 (/.f64 1 (pow.f64 i 4)))) (+.f64 4 (pow.f64 i -2))))) (((x *.f64 (/.f64 -1/4 (neg.f64 (-.f64 64 (pow.f64 (*.f64 i i) -3)))) (+.f64 16 (*.f64 (pow.f64 i -2) (+.f64 4 (pow.f64 i -2))))))) (((x *.f64 (/.f64 (/.f64 1/4 (sqrt.f64 (-.f64 4 (pow.f64 i -2)))) (sqrt.f64 (+.f64 16 (/.f64 -1 (pow.f64 i 4))))) (sqrt.f64 (+.f64 4 (pow.f64 i -2)))))) (((x *.f64 (/.f64 (/.f64 1/4 (sqrt.f64 (-.f64 4 (pow.f64 i -2)))) (sqrt.f64 (-.f64 64 (pow.f64 (*.f64 i i) -3)))) (sqrt.f64 (+.f64 16 (*.f64 (pow.f64 i -2) (+.f64 4 (pow.f64 i -2)))))))) (((x *.f64 (/.f64 (/.f64 1/4 (pow.f64 (cbrt.f64 (-.f64 4 (pow.f64 i -2))) 2)) (cbrt.f64 (+.f64 16 (/.f64 -1 (pow.f64 i 4))))) (cbrt.f64 (+.f64 4 (pow.f64 i -2)))))) (((x *.f64 (/.f64 (/.f64 1/4 (pow.f64 (cbrt.f64 (-.f64 4 (pow.f64 i -2))) 2)) (cbrt.f64 (-.f64 64 (pow.f64 (*.f64 i i) -3)))) (cbrt.f64 (+.f64 16 (*.f64 (pow.f64 i -2) (+.f64 4 (pow.f64 i -2)))))))) (((x pow.f64 (/.f64 1/4 (-.f64 4 (pow.f64 i -2))) 1))) (((x pow.f64 (/.f64 1/2 (sqrt.f64 (-.f64 4 (pow.f64 i -2)))) 2))) (((x pow.f64 (cbrt.f64 (/.f64 1/4 (-.f64 4 (pow.f64 i -2)))) 3))) (((x pow.f64 (pow.f64 (/.f64 1/4 (-.f64 4 (pow.f64 i -2))) 3) 1/3))) (((x pow.f64 (+.f64 16 (/.f64 -4 (*.f64 i i))) -1))) (((x sqrt.f64 (/.f64 1/16 (pow.f64 (-.f64 4 (pow.f64 i -2)) 2))))) (((x log.f64 (exp.f64 (/.f64 1/4 (-.f64 4 (pow.f64 i -2))))))) (((x log.f64 (+.f64 1 (expm1.f64 (/.f64 1/4 (-.f64 4 (pow.f64 i -2)))))))) (((x cbrt.f64 (pow.f64 (/.f64 1/4 (-.f64 4 (pow.f64 i -2))) 3)))) (((x expm1.f64 (log1p.f64 (/.f64 1/4 (-.f64 4 (pow.f64 i -2))))))) (((x exp.f64 (log.f64 (/.f64 1/4 (-.f64 4 (pow.f64 i -2))))))) (((x log1p.f64 (expm1.f64 (/.f64 1/4 (-.f64 4 (pow.f64 i -2)))))))) |
((((x -.f64 (exp.f64 (log1p.f64 (pow.f64 i -2))) 1))) (((x *.f64 1 (pow.f64 i -2)))) (((x *.f64 (pow.f64 i -2) 1))) (((x *.f64 (cbrt.f64 (pow.f64 i -2)) (/.f64 1 (cbrt.f64 (pow.f64 i 4)))))) (((x *.f64 (/.f64 1 (cbrt.f64 (pow.f64 i 4))) (cbrt.f64 (pow.f64 i -2))))) (((x *.f64 (/.f64 1 (cbrt.f64 (pow.f64 i 4))) (neg.f64 (neg.f64 (cbrt.f64 (pow.f64 i -2))))))) (((x *.f64 (/.f64 1 i) (/.f64 1 i)))) (((x *.f64 (/.f64 1 i) (neg.f64 (/.f64 -1 i))))) (((x *.f64 (neg.f64 (pow.f64 i -2)) -1))) (((x *.f64 -1 (neg.f64 (pow.f64 i -2))))) (((x *.f64 (sqrt.f64 (neg.f64 (pow.f64 i -2))) (neg.f64 (sqrt.f64 (neg.f64 (pow.f64 i -2))))))) (((x *.f64 (*.f64 (cbrt.f64 (neg.f64 (pow.f64 i -2))) (cbrt.f64 (neg.f64 (pow.f64 i -2)))) (neg.f64 (cbrt.f64 (neg.f64 (pow.f64 i -2))))))) (((x *.f64 (neg.f64 (/.f64 1 (cbrt.f64 (pow.f64 i 4)))) (neg.f64 (cbrt.f64 (pow.f64 i -2)))))) (((x *.f64 (/.f64 -1 i) (/.f64 -1 i)))) (((x *.f64 (pow.f64 (cbrt.f64 (pow.f64 i 4)) -1) (pow.f64 (pow.f64 (cbrt.f64 i) 2) -1)))) (((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 i) 2) -1) (pow.f64 (cbrt.f64 (pow.f64 i 4)) -1)))) (((x *.f64 (neg.f64 (sqrt.f64 (neg.f64 (pow.f64 i -2)))) (sqrt.f64 (neg.f64 (pow.f64 i -2)))))) (((x *.f64 (neg.f64 (*.f64 (cbrt.f64 (neg.f64 (pow.f64 i -2))) (cbrt.f64 (neg.f64 (pow.f64 i -2))))) (cbrt.f64 (neg.f64 (pow.f64 i -2)))))) (((x *.f64 (neg.f64 (neg.f64 (/.f64 1 (cbrt.f64 (pow.f64 i 4))))) (cbrt.f64 (pow.f64 i -2))))) (((x *.f64 (neg.f64 (/.f64 -1 i)) (/.f64 1 i)))) (((x pow.f64 i -2))) (((x pow.f64 (*.f64 i i) -1))) (((x pow.f64 (pow.f64 i -2) 1))) (((x pow.f64 (cbrt.f64 (pow.f64 i -2)) 3))) (((x pow.f64 (/.f64 1 i) 2))) (((x pow.f64 (pow.f64 (*.f64 i i) -3) 1/3))) (((x neg.f64 (neg.f64 (pow.f64 i -2))))) (((x sqrt.f64 (/.f64 1 (pow.f64 i 4))))) (((x log.f64 (exp.f64 (pow.f64 i -2))))) (((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 i -2)))))) (((x cbrt.f64 (pow.f64 (*.f64 i i) -3)))) (((x expm1.f64 (log1p.f64 (pow.f64 i -2))))) (((x exp.f64 (*.f64 -2 (log.f64 i))))) (((x log1p.f64 (expm1.f64 (pow.f64 i -2)))))) |
Loading profile data...