Time bar (total: 21.7s)
| 1× | search |
| Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
|---|---|---|---|---|---|---|---|
| 0% | 0% | 25% | 75% | 0% | 0% | 0% | 0 |
| 100% | 25% | 0% | 75% | 0% | 0% | 0% | 1 |
Compiled 12 to 9 computations (25% saved)
| 13.4s | 4100× | body | 1024 | valid |
| 6.6s | 2093× | body | 512 | valid |
| 357.0ms | 1659× | body | 256 | valid |
| 273.0ms | 404× | body | 2048 | valid |
| 2× | egg-herbie |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 11 |
| 0 | 1 | 1 |
| 1× | saturated |
| 1× | saturated |
| Inputs |
|---|
0 |
| Outputs |
|---|
0 |
| Inputs |
|---|
(acos.f64 (-.f64 1 x)) |
| Outputs |
|---|
(acos.f64 (-.f64 1 x)) |
Compiled 6 to 5 computations (16.7% saved)
| 1× | egg-herbie |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 11 |
| 1× | saturated |
| Inputs |
|---|
(acos.f64 (-.f64 1 x)) |
| Outputs |
|---|
(acos.f64 (-.f64 1 x)) |
Compiled 5 to 4 computations (20% saved)
2 alts after pruning (2 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 0 | 1 | 1 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 0 | 0 |
| Total | 0 | 2 | 2 |
| Status | Error | Program |
|---|---|---|
| ▶ | 59.8b | (acos.f64 (-.f64 1 x)) |
Compiled 5 to 4 computations (20% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 7.0b | (acos.f64 (-.f64 1 x)) |
Compiled 10 to 7 computations (30% saved)
3 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | x | @ | -inf | (acos.f64 (-.f64 1 x)) |
| 0.0ms | x | @ | 0 | (acos.f64 (-.f64 1 x)) |
| 0.0ms | x | @ | inf | (acos.f64 (-.f64 1 x)) |
| 1× | batch-egg-rewrite |
| 1244× | bool.json-1 |
| 1244× | bool.json-2 |
| 1194× | rational.json-1 |
| 1194× | rational.json-2 |
| 1194× | rational.json-4 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 11 |
| 1 | 75 | 11 |
| 2 | 227 | 11 |
| 3 | 452 | 11 |
| 4 | 878 | 11 |
| 5 | 1871 | 11 |
| 6 | 4228 | 11 |
| 7 | 7501 | 11 |
| 1× | node limit |
| Inputs |
|---|
(acos.f64 (-.f64 1 x)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (acos.f64 (-.f64 1 x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (acos.f64 (-.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (acos.f64 (-.f64 1 x)) 1/2) (*.f64 (acos.f64 (-.f64 1 x)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (acos.f64 (-.f64 1 x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (acos.f64 (-.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (acos.f64 (-.f64 1 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (acos.f64 (-.f64 1 x)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (acos.f64 (-.f64 1 x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (*.f64 (acos.f64 (-.f64 1 x)) 1/2) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (/.f64 (acos.f64 (-.f64 1 x)) 4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (acos.f64 (-.f64 1 x)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (acos.f64 (-.f64 1 x)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (acos.f64 (-.f64 1 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (acos.f64 (-.f64 1 x)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (acos.f64 (-.f64 1 x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (acos.f64 (-.f64 1 x)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (acos.f64 (-.f64 1 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (acos.f64 (-.f64 1 x)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (acos.f64 (-.f64 1 x)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (acos.f64 (-.f64 1 x)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (acos.f64 (-.f64 1 x)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (acos.f64 (-.f64 1 x)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (acos.f64 (-.f64 1 x)) 8))) (*.f64 2 (*.f64 2 (*.f64 (acos.f64 (-.f64 1 x)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (acos.f64 (-.f64 1 x))))))) (#(struct:change #<rule egg-rr> (2) ((x and (acos.f64 (-.f64 1 x)) (acos.f64 (-.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x or (acos.f64 (-.f64 1 x)) (acos.f64 (-.f64 1 x))))))) |
| 1× | egg-herbie |
| 8182× | rational.json-simplify-41 |
| 1934× | rational.json-simplify-35 |
| 1782× | rational.json-simplify-2 |
| 1024× | rational.json-simplify-49 |
| 930× | rational.json-simplify-51 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 53 | 459 |
| 1 | 104 | 405 |
| 2 | 285 | 405 |
| 3 | 705 | 297 |
| 4 | 1088 | 297 |
| 5 | 2221 | 297 |
| 6 | 2867 | 297 |
| 7 | 2924 | 297 |
| 8 | 2964 | 297 |
| 9 | 2997 | 297 |
| 10 | 3027 | 297 |
| 11 | 3057 | 297 |
| 12 | 3108 | 297 |
| 13 | 3138 | 297 |
| 14 | 3168 | 297 |
| 15 | 3198 | 297 |
| 16 | 3228 | 297 |
| 17 | 3258 | 297 |
| 18 | 3288 | 297 |
| 19 | 4016 | 297 |
| 20 | 4401 | 297 |
| 21 | 4437 | 297 |
| 22 | 4471 | 297 |
| 23 | 4504 | 297 |
| 24 | 4537 | 297 |
| 25 | 4570 | 297 |
| 26 | 4603 | 297 |
| 27 | 4636 | 297 |
| 28 | 4669 | 297 |
| 29 | 4702 | 297 |
| 30 | 4735 | 297 |
| 31 | 4768 | 297 |
| 32 | 4801 | 297 |
| 33 | 4834 | 297 |
| 34 | 4867 | 297 |
| 35 | 4900 | 297 |
| 36 | 4933 | 297 |
| 37 | 4966 | 297 |
| 38 | 4966 | 297 |
| 39 | 4966 | 297 |
| 1× | node limit |
| Inputs |
|---|
(acos.f64 (+.f64 1 (*.f64 -1 x))) |
(acos.f64 (+.f64 1 (*.f64 -1 x))) |
(acos.f64 (+.f64 1 (*.f64 -1 x))) |
(acos.f64 (+.f64 1 (*.f64 -1 x))) |
(+.f64 (acos.f64 (-.f64 1 x)) 0) |
(+.f64 0 (acos.f64 (-.f64 1 x))) |
(+.f64 (*.f64 (acos.f64 (-.f64 1 x)) 1/2) (*.f64 (acos.f64 (-.f64 1 x)) 1/2)) |
(-.f64 (acos.f64 (-.f64 1 x)) 0) |
(*.f64 1 (acos.f64 (-.f64 1 x))) |
(*.f64 (acos.f64 (-.f64 1 x)) 1) |
(*.f64 2 (*.f64 (acos.f64 (-.f64 1 x)) 1/2)) |
(*.f64 4 (/.f64 (acos.f64 (-.f64 1 x)) 4)) |
(*.f64 4 (*.f64 (*.f64 (acos.f64 (-.f64 1 x)) 1/2) 1/2)) |
(*.f64 4 (*.f64 (/.f64 (acos.f64 (-.f64 1 x)) 4) 1)) |
(*.f64 (*.f64 (acos.f64 (-.f64 1 x)) 2) 1/2) |
(*.f64 (*.f64 (acos.f64 (-.f64 1 x)) 4) 1/4) |
(*.f64 1/2 (*.f64 (acos.f64 (-.f64 1 x)) 2)) |
(*.f64 (*.f64 (acos.f64 (-.f64 1 x)) 1/2) 2) |
(*.f64 1/4 (*.f64 (acos.f64 (-.f64 1 x)) 4)) |
(*.f64 (/.f64 (acos.f64 (-.f64 1 x)) 4) 4) |
(/.f64 (acos.f64 (-.f64 1 x)) 1) |
(/.f64 (*.f64 (acos.f64 (-.f64 1 x)) 2) 2) |
(/.f64 (*.f64 (acos.f64 (-.f64 1 x)) 4) 4) |
(/.f64 (*.f64 (acos.f64 (-.f64 1 x)) 8) 8) |
(/.f64 (*.f64 2 (*.f64 (acos.f64 (-.f64 1 x)) 8)) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (acos.f64 (-.f64 1 x)) 8))) 32) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (acos.f64 (-.f64 1 x)) 8))) (*.f64 2 (*.f64 2 (*.f64 (acos.f64 (-.f64 1 x)) 8)))) 64) |
| Outputs |
|---|
(acos.f64 (+.f64 1 (*.f64 -1 x))) |
(acos.f64 (+.f64 1 (neg.f64 x))) |
(acos.f64 (-.f64 1 x)) |
(acos.f64 (+.f64 1 (*.f64 -1 x))) |
(acos.f64 (+.f64 1 (neg.f64 x))) |
(acos.f64 (-.f64 1 x)) |
(acos.f64 (+.f64 1 (*.f64 -1 x))) |
(acos.f64 (+.f64 1 (neg.f64 x))) |
(acos.f64 (-.f64 1 x)) |
(acos.f64 (+.f64 1 (*.f64 -1 x))) |
(acos.f64 (+.f64 1 (neg.f64 x))) |
(acos.f64 (-.f64 1 x)) |
(+.f64 (acos.f64 (-.f64 1 x)) 0) |
(acos.f64 (+.f64 1 (*.f64 -1 x))) |
(acos.f64 (+.f64 1 (neg.f64 x))) |
(acos.f64 (-.f64 1 x)) |
(+.f64 0 (acos.f64 (-.f64 1 x))) |
(acos.f64 (+.f64 1 (*.f64 -1 x))) |
(acos.f64 (+.f64 1 (neg.f64 x))) |
(acos.f64 (-.f64 1 x)) |
(+.f64 (*.f64 (acos.f64 (-.f64 1 x)) 1/2) (*.f64 (acos.f64 (-.f64 1 x)) 1/2)) |
(acos.f64 (+.f64 1 (*.f64 -1 x))) |
(acos.f64 (+.f64 1 (neg.f64 x))) |
(acos.f64 (-.f64 1 x)) |
(-.f64 (acos.f64 (-.f64 1 x)) 0) |
(acos.f64 (+.f64 1 (*.f64 -1 x))) |
(acos.f64 (+.f64 1 (neg.f64 x))) |
(acos.f64 (-.f64 1 x)) |
(*.f64 1 (acos.f64 (-.f64 1 x))) |
(acos.f64 (+.f64 1 (*.f64 -1 x))) |
(acos.f64 (+.f64 1 (neg.f64 x))) |
(acos.f64 (-.f64 1 x)) |
(*.f64 (acos.f64 (-.f64 1 x)) 1) |
(acos.f64 (+.f64 1 (*.f64 -1 x))) |
(acos.f64 (+.f64 1 (neg.f64 x))) |
(acos.f64 (-.f64 1 x)) |
(*.f64 2 (*.f64 (acos.f64 (-.f64 1 x)) 1/2)) |
(acos.f64 (+.f64 1 (*.f64 -1 x))) |
(acos.f64 (+.f64 1 (neg.f64 x))) |
(acos.f64 (-.f64 1 x)) |
(*.f64 4 (/.f64 (acos.f64 (-.f64 1 x)) 4)) |
(acos.f64 (+.f64 1 (*.f64 -1 x))) |
(acos.f64 (+.f64 1 (neg.f64 x))) |
(acos.f64 (-.f64 1 x)) |
(*.f64 4 (*.f64 (*.f64 (acos.f64 (-.f64 1 x)) 1/2) 1/2)) |
(acos.f64 (+.f64 1 (*.f64 -1 x))) |
(acos.f64 (+.f64 1 (neg.f64 x))) |
(acos.f64 (-.f64 1 x)) |
(*.f64 4 (*.f64 (/.f64 (acos.f64 (-.f64 1 x)) 4) 1)) |
(acos.f64 (+.f64 1 (*.f64 -1 x))) |
(acos.f64 (+.f64 1 (neg.f64 x))) |
(acos.f64 (-.f64 1 x)) |
(*.f64 (*.f64 (acos.f64 (-.f64 1 x)) 2) 1/2) |
(acos.f64 (+.f64 1 (*.f64 -1 x))) |
(acos.f64 (+.f64 1 (neg.f64 x))) |
(acos.f64 (-.f64 1 x)) |
(*.f64 (*.f64 (acos.f64 (-.f64 1 x)) 4) 1/4) |
(acos.f64 (+.f64 1 (*.f64 -1 x))) |
(acos.f64 (+.f64 1 (neg.f64 x))) |
(acos.f64 (-.f64 1 x)) |
(*.f64 1/2 (*.f64 (acos.f64 (-.f64 1 x)) 2)) |
(acos.f64 (+.f64 1 (*.f64 -1 x))) |
(acos.f64 (+.f64 1 (neg.f64 x))) |
(acos.f64 (-.f64 1 x)) |
(*.f64 (*.f64 (acos.f64 (-.f64 1 x)) 1/2) 2) |
(acos.f64 (+.f64 1 (*.f64 -1 x))) |
(acos.f64 (+.f64 1 (neg.f64 x))) |
(acos.f64 (-.f64 1 x)) |
(*.f64 1/4 (*.f64 (acos.f64 (-.f64 1 x)) 4)) |
(acos.f64 (+.f64 1 (*.f64 -1 x))) |
(acos.f64 (+.f64 1 (neg.f64 x))) |
(acos.f64 (-.f64 1 x)) |
(*.f64 (/.f64 (acos.f64 (-.f64 1 x)) 4) 4) |
(acos.f64 (+.f64 1 (*.f64 -1 x))) |
(acos.f64 (+.f64 1 (neg.f64 x))) |
(acos.f64 (-.f64 1 x)) |
(/.f64 (acos.f64 (-.f64 1 x)) 1) |
(acos.f64 (+.f64 1 (*.f64 -1 x))) |
(acos.f64 (+.f64 1 (neg.f64 x))) |
(acos.f64 (-.f64 1 x)) |
(/.f64 (*.f64 (acos.f64 (-.f64 1 x)) 2) 2) |
(acos.f64 (+.f64 1 (*.f64 -1 x))) |
(acos.f64 (+.f64 1 (neg.f64 x))) |
(acos.f64 (-.f64 1 x)) |
(/.f64 (*.f64 (acos.f64 (-.f64 1 x)) 4) 4) |
(acos.f64 (+.f64 1 (*.f64 -1 x))) |
(acos.f64 (+.f64 1 (neg.f64 x))) |
(acos.f64 (-.f64 1 x)) |
(/.f64 (*.f64 (acos.f64 (-.f64 1 x)) 8) 8) |
(acos.f64 (+.f64 1 (*.f64 -1 x))) |
(acos.f64 (+.f64 1 (neg.f64 x))) |
(acos.f64 (-.f64 1 x)) |
(/.f64 (*.f64 2 (*.f64 (acos.f64 (-.f64 1 x)) 8)) 16) |
(acos.f64 (+.f64 1 (*.f64 -1 x))) |
(acos.f64 (+.f64 1 (neg.f64 x))) |
(acos.f64 (-.f64 1 x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (acos.f64 (-.f64 1 x)) 8))) 32) |
(acos.f64 (+.f64 1 (*.f64 -1 x))) |
(acos.f64 (+.f64 1 (neg.f64 x))) |
(acos.f64 (-.f64 1 x)) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (acos.f64 (-.f64 1 x)) 8))) (*.f64 2 (*.f64 2 (*.f64 (acos.f64 (-.f64 1 x)) 8)))) 64) |
(acos.f64 (+.f64 1 (*.f64 -1 x))) |
(acos.f64 (+.f64 1 (neg.f64 x))) |
(acos.f64 (-.f64 1 x)) |
Compiled 218 to 190 computations (12.8% saved)
1 alts after pruning (0 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 26 | 0 | 26 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 26 | 1 | 27 |
| Status | Error | Program |
|---|---|---|
| ✓ | 59.8b | (acos.f64 (-.f64 1 x)) |
Compiled 10 to 8 computations (20% saved)
| 1× | egg-herbie |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 11 |
| 1× | done |
| 1× | saturated |
| Inputs |
|---|
(acos.f64 (-.f64 1 x)) |
| Outputs |
|---|
(acos.f64 (-.f64 1 x)) |
Compiled 5 to 4 computations (20% saved)
Compiled 5 to 4 computations (20% saved)
Loading profile data...