
Time bar (total: 2.7s)
| 1× | search |
| Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
|---|---|---|---|---|---|---|---|
| 0% | 0% | 74.9% | 25.1% | 0% | 0% | 0% | 0 |
| 100% | 74.9% | 0% | 25.1% | 0% | 0% | 0% | 1 |
Compiled 71 to 30 computations (57.7% saved)
ival-pi: 0.0ms (0% of total)ival-div: 0.0ms (0% of total)ival-add: 0.0ms (0% of total)ival-mult: 0.0ms (0% of total)ival-fabs: 0.0ms (0% of total)ival-sqrt: 0.0ms (0% of total)const: 0.0ms (0% of total)ival-<=: 0.0ms (0% of total)| 1.9s | 8256× | 256 | valid |
ival-mult: 925.0ms (57.8% of total)ival-div: 246.0ms (15.4% of total)ival-add: 138.0ms (8.6% of total)ival-fabs: 98.0ms (6.1% of total)ival-sqrt: 70.0ms (4.4% of total)ival-pi: 56.0ms (3.5% of total)ival-<=: 44.0ms (2.8% of total)const: 23.0ms (1.4% of total)| 1× | egg-herbie |
| 596× | fma-neg |
| 516× | distribute-lft-neg-out |
| 465× | distribute-lft-in |
| 436× | neg-sub0 |
| 408× | neg-mul-1 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 54 | 792 |
| 1 | 168 | 576 |
| 2 | 389 | 388 |
| 3 | 2082 | 356 |
| 4 | 6561 | 356 |
| 1× | node limit |
| Inputs |
|---|
(fabs.f64 (*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 (PI.f64))) (+.f64 (+.f64 (+.f64 (*.f64 #s(literal 2 binary64) (fabs.f64 x)) (*.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)))) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 5 binary64)) (*.f64 (*.f64 (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)))) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 21 binary64)) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)))))) |
(fabs.f64 (*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 (PI.f64))) (+.f64 (+.f64 (+.f64 (*.f64 #s(literal 2 binary64) (fabs.f64 x)) (*.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)))) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 5 binary64)) (*.f64 (*.f64 (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)))) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 21 binary64)) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)))))) |
(fabs.f64 (*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 (PI.f64))) (+.f64 (+.f64 (+.f64 (*.f64 #s(literal 2 binary64) (fabs.f64 (neg.f64 x))) (*.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) (*.f64 (*.f64 (fabs.f64 (neg.f64 x)) (fabs.f64 (neg.f64 x))) (fabs.f64 (neg.f64 x))))) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 5 binary64)) (*.f64 (*.f64 (*.f64 (*.f64 (fabs.f64 (neg.f64 x)) (fabs.f64 (neg.f64 x))) (fabs.f64 (neg.f64 x))) (fabs.f64 (neg.f64 x))) (fabs.f64 (neg.f64 x))))) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 21 binary64)) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (fabs.f64 (neg.f64 x)) (fabs.f64 (neg.f64 x))) (fabs.f64 (neg.f64 x))) (fabs.f64 (neg.f64 x))) (fabs.f64 (neg.f64 x))) (fabs.f64 (neg.f64 x))) (fabs.f64 (neg.f64 x))))))) |
(neg.f64 (fabs.f64 (*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 (PI.f64))) (+.f64 (+.f64 (+.f64 (*.f64 #s(literal 2 binary64) (fabs.f64 (neg.f64 x))) (*.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) (*.f64 (*.f64 (fabs.f64 (neg.f64 x)) (fabs.f64 (neg.f64 x))) (fabs.f64 (neg.f64 x))))) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 5 binary64)) (*.f64 (*.f64 (*.f64 (*.f64 (fabs.f64 (neg.f64 x)) (fabs.f64 (neg.f64 x))) (fabs.f64 (neg.f64 x))) (fabs.f64 (neg.f64 x))) (fabs.f64 (neg.f64 x))))) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 21 binary64)) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (fabs.f64 (neg.f64 x)) (fabs.f64 (neg.f64 x))) (fabs.f64 (neg.f64 x))) (fabs.f64 (neg.f64 x))) (fabs.f64 (neg.f64 x))) (fabs.f64 (neg.f64 x))) (fabs.f64 (neg.f64 x)))))))) |
| Outputs |
|---|
(fabs.f64 (*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 (PI.f64))) (+.f64 (+.f64 (+.f64 (*.f64 #s(literal 2 binary64) (fabs.f64 x)) (*.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)))) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 5 binary64)) (*.f64 (*.f64 (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)))) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 21 binary64)) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)))))) |
(fabs.f64 (*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 (PI.f64))) (+.f64 (+.f64 (fma.f64 #s(literal 2 binary64) (fabs.f64 x) (*.f64 #s(literal 2/3 binary64) (*.f64 (fabs.f64 x) (*.f64 x x)))) (*.f64 #s(literal 1/5 binary64) (*.f64 (*.f64 (fabs.f64 x) (*.f64 x x)) (*.f64 x x)))) (*.f64 #s(literal 1/21 binary64) (*.f64 (*.f64 (*.f64 (fabs.f64 x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))))) |
(fabs.f64 (/.f64 (fma.f64 #s(literal 1/21 binary64) (*.f64 (pow.f64 (fabs.f64 x) #s(literal 3 binary64)) (*.f64 (pow.f64 (fabs.f64 x) #s(literal 3 binary64)) (fabs.f64 x))) (fma.f64 #s(literal 1/5 binary64) (*.f64 (pow.f64 (fabs.f64 x) #s(literal 3 binary64)) (*.f64 x x)) (fma.f64 #s(literal 2 binary64) (fabs.f64 x) (*.f64 #s(literal 2/3 binary64) (pow.f64 (fabs.f64 x) #s(literal 3 binary64)))))) (sqrt.f64 (PI.f64)))) |
(fabs.f64 (/.f64 (*.f64 (fabs.f64 x) (+.f64 (fma.f64 #s(literal 2/3 binary64) (*.f64 x x) #s(literal 2 binary64)) (fma.f64 #s(literal 1/5 binary64) (pow.f64 (fabs.f64 x) #s(literal 4 binary64)) (*.f64 #s(literal 1/21 binary64) (pow.f64 (fabs.f64 x) #s(literal 6 binary64)))))) (sqrt.f64 (PI.f64)))) |
(fabs.f64 (*.f64 (/.f64 (fabs.f64 x) (sqrt.f64 (PI.f64))) (+.f64 (fma.f64 #s(literal 1/5 binary64) (pow.f64 x #s(literal 4 binary64)) (*.f64 #s(literal 1/21 binary64) (pow.f64 x #s(literal 6 binary64)))) (fma.f64 #s(literal 2/3 binary64) (*.f64 x x) #s(literal 2 binary64))))) |
(*.f64 (fabs.f64 x) (fabs.f64 (/.f64 (+.f64 (fma.f64 #s(literal 1/5 binary64) (pow.f64 x #s(literal 4 binary64)) (*.f64 #s(literal 1/21 binary64) (pow.f64 x #s(literal 6 binary64)))) (fma.f64 #s(literal 2/3 binary64) (*.f64 x x) #s(literal 2 binary64))) (sqrt.f64 (PI.f64))))) |
(fabs.f64 (*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 (PI.f64))) (+.f64 (+.f64 (+.f64 (*.f64 #s(literal 2 binary64) (fabs.f64 x)) (*.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)))) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 5 binary64)) (*.f64 (*.f64 (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)))) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 21 binary64)) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)))))) |
(fabs.f64 (*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 (PI.f64))) (+.f64 (+.f64 (fma.f64 #s(literal 2 binary64) (fabs.f64 x) (*.f64 #s(literal 2/3 binary64) (*.f64 (fabs.f64 x) (*.f64 x x)))) (*.f64 #s(literal 1/5 binary64) (*.f64 (*.f64 (fabs.f64 x) (*.f64 x x)) (*.f64 x x)))) (*.f64 #s(literal 1/21 binary64) (*.f64 (*.f64 (*.f64 (fabs.f64 x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))))) |
(fabs.f64 (/.f64 (fma.f64 #s(literal 1/21 binary64) (*.f64 (pow.f64 (fabs.f64 x) #s(literal 3 binary64)) (*.f64 (pow.f64 (fabs.f64 x) #s(literal 3 binary64)) (fabs.f64 x))) (fma.f64 #s(literal 1/5 binary64) (*.f64 (pow.f64 (fabs.f64 x) #s(literal 3 binary64)) (*.f64 x x)) (fma.f64 #s(literal 2 binary64) (fabs.f64 x) (*.f64 #s(literal 2/3 binary64) (pow.f64 (fabs.f64 x) #s(literal 3 binary64)))))) (sqrt.f64 (PI.f64)))) |
(fabs.f64 (/.f64 (*.f64 (fabs.f64 x) (+.f64 (fma.f64 #s(literal 2/3 binary64) (*.f64 x x) #s(literal 2 binary64)) (fma.f64 #s(literal 1/5 binary64) (pow.f64 (fabs.f64 x) #s(literal 4 binary64)) (*.f64 #s(literal 1/21 binary64) (pow.f64 (fabs.f64 x) #s(literal 6 binary64)))))) (sqrt.f64 (PI.f64)))) |
(fabs.f64 (*.f64 (/.f64 (fabs.f64 x) (sqrt.f64 (PI.f64))) (+.f64 (fma.f64 #s(literal 1/5 binary64) (pow.f64 x #s(literal 4 binary64)) (*.f64 #s(literal 1/21 binary64) (pow.f64 x #s(literal 6 binary64)))) (fma.f64 #s(literal 2/3 binary64) (*.f64 x x) #s(literal 2 binary64))))) |
(*.f64 (fabs.f64 x) (fabs.f64 (/.f64 (+.f64 (fma.f64 #s(literal 1/5 binary64) (pow.f64 x #s(literal 4 binary64)) (*.f64 #s(literal 1/21 binary64) (pow.f64 x #s(literal 6 binary64)))) (fma.f64 #s(literal 2/3 binary64) (*.f64 x x) #s(literal 2 binary64))) (sqrt.f64 (PI.f64))))) |
(fabs.f64 (*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 (PI.f64))) (+.f64 (+.f64 (+.f64 (*.f64 #s(literal 2 binary64) (fabs.f64 (neg.f64 x))) (*.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) (*.f64 (*.f64 (fabs.f64 (neg.f64 x)) (fabs.f64 (neg.f64 x))) (fabs.f64 (neg.f64 x))))) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 5 binary64)) (*.f64 (*.f64 (*.f64 (*.f64 (fabs.f64 (neg.f64 x)) (fabs.f64 (neg.f64 x))) (fabs.f64 (neg.f64 x))) (fabs.f64 (neg.f64 x))) (fabs.f64 (neg.f64 x))))) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 21 binary64)) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (fabs.f64 (neg.f64 x)) (fabs.f64 (neg.f64 x))) (fabs.f64 (neg.f64 x))) (fabs.f64 (neg.f64 x))) (fabs.f64 (neg.f64 x))) (fabs.f64 (neg.f64 x))) (fabs.f64 (neg.f64 x))))))) |
(fabs.f64 (*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 (PI.f64))) (+.f64 (+.f64 (fma.f64 #s(literal 2 binary64) (fabs.f64 x) (*.f64 #s(literal 2/3 binary64) (*.f64 (fabs.f64 x) (*.f64 x x)))) (*.f64 #s(literal 1/5 binary64) (*.f64 (*.f64 (fabs.f64 x) (*.f64 x x)) (*.f64 x x)))) (*.f64 #s(literal 1/21 binary64) (*.f64 (*.f64 (*.f64 (fabs.f64 x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))))) |
(fabs.f64 (/.f64 (fma.f64 #s(literal 1/21 binary64) (*.f64 (pow.f64 (fabs.f64 x) #s(literal 3 binary64)) (*.f64 (pow.f64 (fabs.f64 x) #s(literal 3 binary64)) (fabs.f64 x))) (fma.f64 #s(literal 1/5 binary64) (*.f64 (pow.f64 (fabs.f64 x) #s(literal 3 binary64)) (*.f64 x x)) (fma.f64 #s(literal 2 binary64) (fabs.f64 x) (*.f64 #s(literal 2/3 binary64) (pow.f64 (fabs.f64 x) #s(literal 3 binary64)))))) (sqrt.f64 (PI.f64)))) |
(fabs.f64 (/.f64 (*.f64 (fabs.f64 x) (+.f64 (fma.f64 #s(literal 2/3 binary64) (*.f64 x x) #s(literal 2 binary64)) (fma.f64 #s(literal 1/5 binary64) (pow.f64 (fabs.f64 x) #s(literal 4 binary64)) (*.f64 #s(literal 1/21 binary64) (pow.f64 (fabs.f64 x) #s(literal 6 binary64)))))) (sqrt.f64 (PI.f64)))) |
(fabs.f64 (*.f64 (/.f64 (fabs.f64 x) (sqrt.f64 (PI.f64))) (+.f64 (fma.f64 #s(literal 1/5 binary64) (pow.f64 x #s(literal 4 binary64)) (*.f64 #s(literal 1/21 binary64) (pow.f64 x #s(literal 6 binary64)))) (fma.f64 #s(literal 2/3 binary64) (*.f64 x x) #s(literal 2 binary64))))) |
(*.f64 (fabs.f64 x) (fabs.f64 (/.f64 (+.f64 (fma.f64 #s(literal 1/5 binary64) (pow.f64 x #s(literal 4 binary64)) (*.f64 #s(literal 1/21 binary64) (pow.f64 x #s(literal 6 binary64)))) (fma.f64 #s(literal 2/3 binary64) (*.f64 x x) #s(literal 2 binary64))) (sqrt.f64 (PI.f64))))) |
(neg.f64 (fabs.f64 (*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 (PI.f64))) (+.f64 (+.f64 (+.f64 (*.f64 #s(literal 2 binary64) (fabs.f64 (neg.f64 x))) (*.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) (*.f64 (*.f64 (fabs.f64 (neg.f64 x)) (fabs.f64 (neg.f64 x))) (fabs.f64 (neg.f64 x))))) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 5 binary64)) (*.f64 (*.f64 (*.f64 (*.f64 (fabs.f64 (neg.f64 x)) (fabs.f64 (neg.f64 x))) (fabs.f64 (neg.f64 x))) (fabs.f64 (neg.f64 x))) (fabs.f64 (neg.f64 x))))) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 21 binary64)) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (fabs.f64 (neg.f64 x)) (fabs.f64 (neg.f64 x))) (fabs.f64 (neg.f64 x))) (fabs.f64 (neg.f64 x))) (fabs.f64 (neg.f64 x))) (fabs.f64 (neg.f64 x))) (fabs.f64 (neg.f64 x)))))))) |
(neg.f64 (fabs.f64 (*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 (PI.f64))) (+.f64 (+.f64 (fma.f64 #s(literal 2 binary64) (fabs.f64 x) (*.f64 #s(literal 2/3 binary64) (*.f64 (fabs.f64 x) (*.f64 x x)))) (*.f64 #s(literal 1/5 binary64) (*.f64 (*.f64 (fabs.f64 x) (*.f64 x x)) (*.f64 x x)))) (*.f64 #s(literal 1/21 binary64) (*.f64 (*.f64 (*.f64 (fabs.f64 x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x))))))) |
(neg.f64 (fabs.f64 (/.f64 (fma.f64 #s(literal 1/21 binary64) (*.f64 (pow.f64 (fabs.f64 x) #s(literal 3 binary64)) (*.f64 (pow.f64 (fabs.f64 x) #s(literal 3 binary64)) (fabs.f64 x))) (fma.f64 #s(literal 1/5 binary64) (*.f64 (pow.f64 (fabs.f64 x) #s(literal 3 binary64)) (*.f64 x x)) (fma.f64 #s(literal 2 binary64) (fabs.f64 x) (*.f64 #s(literal 2/3 binary64) (pow.f64 (fabs.f64 x) #s(literal 3 binary64)))))) (sqrt.f64 (PI.f64))))) |
(neg.f64 (fabs.f64 (/.f64 (*.f64 (fabs.f64 x) (+.f64 (fma.f64 #s(literal 2/3 binary64) (*.f64 x x) #s(literal 2 binary64)) (fma.f64 #s(literal 1/5 binary64) (pow.f64 (fabs.f64 x) #s(literal 4 binary64)) (*.f64 #s(literal 1/21 binary64) (pow.f64 (fabs.f64 x) #s(literal 6 binary64)))))) (sqrt.f64 (PI.f64))))) |
(neg.f64 (fabs.f64 (*.f64 (/.f64 (fabs.f64 x) (sqrt.f64 (PI.f64))) (+.f64 (fma.f64 #s(literal 1/5 binary64) (pow.f64 x #s(literal 4 binary64)) (*.f64 #s(literal 1/21 binary64) (pow.f64 x #s(literal 6 binary64)))) (fma.f64 #s(literal 2/3 binary64) (*.f64 x x) #s(literal 2 binary64)))))) |
(neg.f64 (*.f64 (fabs.f64 x) (fabs.f64 (/.f64 (+.f64 (fma.f64 #s(literal 1/5 binary64) (pow.f64 x #s(literal 4 binary64)) (*.f64 #s(literal 1/21 binary64) (pow.f64 x #s(literal 6 binary64)))) (fma.f64 #s(literal 2/3 binary64) (*.f64 x x) #s(literal 2 binary64))) (sqrt.f64 (PI.f64)))))) |
(abs x)
| Ground Truth | Overpredictions | Example | Underpredictions | Example | Subexpression |
|---|---|---|---|---|---|
| 0 | 0 | - | 0 | - | x |
| 0 | 0 | - | 0 | - | (+.f64 (*.f64 #s(literal 2 binary64) (fabs.f64 x)) (*.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)))) |
| 0 | 0 | - | 0 | - | (*.f64 (*.f64 (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) |
| 0 | 0 | - | 0 | - | #s(literal 21 binary64) |
| 0 | 0 | - | 0 | - | (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) |
| 0 | 0 | - | 0 | - | #s(literal 2 binary64) |
| 0 | 0 | - | 0 | - | (*.f64 #s(literal 2 binary64) (fabs.f64 x)) |
| 0 | 0 | - | 0 | - | (sqrt.f64 (PI.f64)) |
| 0 | 0 | - | 0 | - | (/.f64 #s(literal 1 binary64) (sqrt.f64 (PI.f64))) |
| 0 | 0 | - | 0 | - | (fabs.f64 x) |
| 0 | 0 | - | 0 | - | (*.f64 (fabs.f64 x) (fabs.f64 x)) |
| 0 | 0 | - | 0 | - | (/.f64 #s(literal 1 binary64) #s(literal 5 binary64)) |
| 0 | 0 | - | 0 | - | (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)) |
| 0 | 0 | - | 0 | - | (PI.f64) |
| 0 | 0 | - | 0 | - | (+.f64 (+.f64 (+.f64 (*.f64 #s(literal 2 binary64) (fabs.f64 x)) (*.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)))) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 5 binary64)) (*.f64 (*.f64 (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)))) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 21 binary64)) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)))) |
| 0 | 0 | - | 0 | - | (+.f64 (+.f64 (*.f64 #s(literal 2 binary64) (fabs.f64 x)) (*.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)))) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 5 binary64)) (*.f64 (*.f64 (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)))) |
| 0 | 0 | - | 0 | - | (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 21 binary64)) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x))) |
| 0 | 0 | - | 0 | - | (*.f64 (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) |
| 0 | 0 | - | 0 | - | (*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 (PI.f64))) (+.f64 (+.f64 (+.f64 (*.f64 #s(literal 2 binary64) (fabs.f64 x)) (*.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)))) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 5 binary64)) (*.f64 (*.f64 (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)))) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 21 binary64)) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x))))) |
| 0 | 0 | - | 0 | - | (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) |
| 0 | 0 | - | 0 | - | (*.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x))) |
| 0 | 0 | - | 0 | - | (/.f64 #s(literal 1 binary64) #s(literal 21 binary64)) |
| 0 | 0 | - | 0 | - | (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) |
| 0 | 0 | - | 0 | - | #s(literal 3 binary64) |
| 0 | 0 | - | 0 | - | (fabs.f64 (*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 (PI.f64))) (+.f64 (+.f64 (+.f64 (*.f64 #s(literal 2 binary64) (fabs.f64 x)) (*.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)))) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 5 binary64)) (*.f64 (*.f64 (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)))) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 21 binary64)) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)))))) |
| 0 | 0 | - | 0 | - | #s(literal 1 binary64) |
| 0 | 0 | - | 0 | - | #s(literal 5 binary64) |
| 0 | 0 | - | 0 | - | (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 5 binary64)) (*.f64 (*.f64 (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x))) |
| 135.0ms | 512× | 256 | valid |
Compiled 880 to 86 computations (90.2% saved)
ival-mult: 36.0ms (48.6% of total)ival-div: 14.0ms (18.9% of total)ival-add: 7.0ms (9.5% of total)ival-fabs: 6.0ms (8.1% of total)ival-pi: 5.0ms (6.8% of total)ival-sqrt: 4.0ms (5.4% of total)const: 2.0ms (2.7% of total)Compiled 1 to 1 computations (0% saved)
| Status | Accuracy | Program |
|---|---|---|
| 99.8% | (fabs.f64 (*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 (PI.f64))) (+.f64 (+.f64 (+.f64 (*.f64 #s(literal 2 binary64) (fabs.f64 x)) (*.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)))) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 5 binary64)) (*.f64 (*.f64 (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)))) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 21 binary64)) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)))))) |
Compiled 136 to 56 computations (58.8% saved)
| 1× | egg-herbie |
| 10× | *-commutative |
| 3× | 1-exp |
| 3× | +-commutative |
| 2× | fabs-mul |
| 1× | fabs-div |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 36 | 225 |
| 1 | 58 | 225 |
| 2 | 62 | 225 |
| 1× | saturated |
| Inputs |
|---|
(fabs.f64 (*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 (PI.f64))) (+.f64 (+.f64 (+.f64 (*.f64 #s(literal 2 binary64) (fabs.f64 x)) (*.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)))) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 5 binary64)) (*.f64 (*.f64 (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)))) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 21 binary64)) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)))))) |
| Outputs |
|---|
(fabs.f64 (*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 (PI.f64))) (+.f64 (+.f64 (+.f64 (*.f64 #s(literal 2 binary64) (fabs.f64 x)) (*.f64 (/.f64 #s(literal 2 binary64) #s(literal 3 binary64)) (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)))) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 5 binary64)) (*.f64 (*.f64 (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)))) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 21 binary64)) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)))))) |
(fabs.f64 (*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 (PI.f64))) (+.f64 (+.f64 (+.f64 (*.f64 #s(literal 2 binary64) (fabs.f64 x)) (*.f64 #s(literal 2/3 binary64) (*.f64 (fabs.f64 x) (*.f64 x x)))) (*.f64 #s(literal 1/5 binary64) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 x x)))))) (*.f64 #s(literal 1/21 binary64) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) (*.f64 x x)))))))))) |
| 1× | fuel |
Compiled 56 to 25 computations (55.4% saved)
(abs x)
Compiled 472 to 206 computations (56.4% saved)
Loading profile data...