Time bar (total: 11.1s)
| 1× | search |
| Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
|---|---|---|---|---|---|---|---|
| 0% | 0% | 100% | 0% | 0% | 0% | 0% | 0 |
| 0% | 0% | 100% | 0% | 0% | 0% | 0% | 1 |
| 0% | 0% | 100% | 0% | 0% | 0% | 0% | 2 |
| 25% | 25% | 75% | 0% | 0% | 0% | 0% | 3 |
| 50% | 50% | 50% | 0% | 0% | 0% | 0% | 4 |
| 62.5% | 62.5% | 37.5% | 0% | 0% | 0% | 0% | 5 |
| 68.8% | 68.7% | 31.2% | 0% | 0% | 0% | 0% | 6 |
| 71.9% | 71.8% | 28.1% | 0% | 0% | 0% | 0% | 7 |
| 73.4% | 73.4% | 26.5% | 0% | 0% | 0% | 0% | 8 |
| 74.2% | 74.2% | 25.8% | 0% | 0% | 0% | 0% | 9 |
| 74.6% | 74.6% | 25.4% | 0% | 0% | 0% | 0% | 10 |
| 74.8% | 74.8% | 25.2% | 0% | 0% | 0% | 0% | 11 |
| 74.9% | 74.9% | 25.1% | 0% | 0% | 0% | 0% | 12 |
Compiled 11 to 8 computations (27.3% saved)
| 4.7s | 2567× | body | 1024 | valid |
| 933.0ms | 1239× | body | 2048 | valid |
| 435.0ms | 3124× | body | 256 | valid |
| 344.0ms | 1283× | body | 512 | valid |
| 28.0ms | 43× | body | 4096 | valid |
| 2× | egg-herbie |
| 1814× | rational.json-simplify-35 |
| 1350× | rational.json-simplify-53 |
| 1010× | rational.json-simplify-39 |
| 864× | rational.json-simplify-59 |
| 744× | rational.json-simplify-1 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 27 |
| 1 | 13 | 27 |
| 2 | 19 | 27 |
| 3 | 37 | 27 |
| 4 | 185 | 27 |
| 5 | 1957 | 27 |
| 6 | 5898 | 27 |
| 7 | 7822 | 27 |
| 0 | 1 | 1 |
| 1× | saturated |
| 1× | node limit |
| Inputs |
|---|
0 |
| Outputs |
|---|
0 |
| Inputs |
|---|
(log.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1)))) |
| Outputs |
|---|
(log.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1)))) |
Compiled 11 to 8 computations (27.3% saved)
| 1× | egg-herbie |
| 1814× | rational.json-simplify-35 |
| 1350× | rational.json-simplify-53 |
| 1010× | rational.json-simplify-39 |
| 864× | rational.json-simplify-59 |
| 744× | rational.json-simplify-1 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 27 |
| 1 | 13 | 27 |
| 2 | 19 | 27 |
| 3 | 37 | 27 |
| 4 | 185 | 27 |
| 5 | 1957 | 27 |
| 6 | 5898 | 27 |
| 7 | 7822 | 27 |
| 1× | node limit |
| Inputs |
|---|
(log.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1)))) |
| Outputs |
|---|
(log.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1)))) |
Compiled 10 to 7 computations (30% 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 |
|---|---|---|
| ▶ | 54.6b | (log.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1)))) |
Compiled 10 to 7 computations (30% saved)
Found 3 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.3b | (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1))) |
| ✓ | 2.8b | (log.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1)))) |
| ✓ | 14.4b | (sqrt.f64 (+.f64 (*.f64 x x) 1)) |
Compiled 34 to 17 computations (50% saved)
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | x | @ | -inf | (log.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1)))) |
| 1.0ms | x | @ | 0 | (log.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1)))) |
| 0.0ms | x | @ | inf | (log.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1)))) |
| 0.0ms | x | @ | inf | (sqrt.f64 (+.f64 (*.f64 x x) 1)) |
| 0.0ms | x | @ | 0 | (sqrt.f64 (+.f64 (*.f64 x x) 1)) |
| 1× | batch-egg-rewrite |
| 1800× | bool.json-1 |
| 1800× | bool.json-2 |
| 1772× | rational.json-1 |
| 1374× | bool.json-3 |
| 892× | rational.json-simplify-35 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 67 |
| 1 | 105 | 67 |
| 2 | 295 | 67 |
| 3 | 645 | 67 |
| 4 | 1934 | 67 |
| 5 | 5943 | 67 |
| 1× | node limit |
| Inputs |
|---|
(sqrt.f64 (+.f64 (*.f64 x x) 1)) |
(log.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1)))) |
(+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (+.f64 (*.f64 x x) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (+.f64 (*.f64 x x) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) 4)) (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (sqrt.f64 (+.f64 (*.f64 x x) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x and (sqrt.f64 (+.f64 (*.f64 x x) 1)) (sqrt.f64 (+.f64 (*.f64 x x) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x or (sqrt.f64 (+.f64 (*.f64 x x) 1)) (sqrt.f64 (+.f64 (*.f64 x x) 1))))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (log.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (log.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (log.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (log.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (log.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1)))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (log.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (log.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1)))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (log.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (log.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1)))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (log.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (log.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1)))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (log.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1)))) 4)) (*.f64 2 (*.f64 (log.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1)))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (log.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x and (log.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1)))) (log.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x or (log.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1)))) (log.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1))))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1))) 4)) (*.f64 2 (*.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1))) (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1))) (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1)))))))) |
| 1× | egg-herbie |
| 1536× | rational.json-simplify-19 |
| 1128× | rational.json-simplify-1 |
| 820× | rational.json-simplify-2 |
| 668× | rational.json-simplify-59 |
| 642× | rational.json-simplify-35 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 175 | 2300 |
| 1 | 351 | 2284 |
| 2 | 661 | 2284 |
| 3 | 1414 | 2284 |
| 4 | 2522 | 2284 |
| 5 | 4608 | 2284 |
| 6 | 5990 | 2284 |
| 7 | 7542 | 2284 |
| 1× | node limit |
| Inputs |
|---|
1 |
(+.f64 1 (*.f64 1/2 (pow.f64 x 2))) |
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 x 2)) (*.f64 -1/8 (pow.f64 x 4)))) |
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 x 2)) (+.f64 (*.f64 1/16 (pow.f64 x 6)) (*.f64 -1/8 (pow.f64 x 4))))) |
x |
(+.f64 (*.f64 1/2 (/.f64 1 x)) x) |
(-.f64 (+.f64 (*.f64 1/2 (/.f64 1 x)) x) (*.f64 1/8 (/.f64 1 (pow.f64 x 3)))) |
(-.f64 (+.f64 (*.f64 1/2 (/.f64 1 x)) (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 x 5))) x)) (*.f64 1/8 (/.f64 1 (pow.f64 x 3)))) |
(*.f64 -1 x) |
(-.f64 (*.f64 -1 x) (*.f64 1/2 (/.f64 1 x))) |
(-.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 3))) (*.f64 -1 x)) (*.f64 1/2 (/.f64 1 x))) |
(-.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 3))) (*.f64 -1 x)) (+.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 1/16 (/.f64 1 (pow.f64 x 5))))) |
x |
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) x) |
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) (+.f64 (*.f64 3/40 (pow.f64 x 5)) x)) |
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) (+.f64 (*.f64 3/40 (pow.f64 x 5)) (+.f64 (*.f64 -5/112 (pow.f64 x 7)) x))) |
(+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 x)))) |
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (+.f64 (log.f64 2) (*.f64 1/4 (/.f64 1 (pow.f64 x 2))))) |
(-.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (+.f64 (log.f64 2) (*.f64 1/4 (/.f64 1 (pow.f64 x 2))))) (*.f64 3/32 (/.f64 1 (pow.f64 x 4)))) |
(-.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (+.f64 (log.f64 2) (+.f64 (*.f64 5/96 (/.f64 1 (pow.f64 x 6))) (*.f64 1/4 (/.f64 1 (pow.f64 x 2)))))) (*.f64 3/32 (/.f64 1 (pow.f64 x 4)))) |
(+.f64 (log.f64 (/.f64 -1 x)) (log.f64 1/2)) |
(-.f64 (+.f64 (log.f64 (/.f64 -1 x)) (log.f64 1/2)) (*.f64 1/4 (/.f64 1 (pow.f64 x 2)))) |
(-.f64 (+.f64 (log.f64 (/.f64 -1 x)) (+.f64 (log.f64 1/2) (*.f64 3/32 (/.f64 1 (pow.f64 x 4))))) (*.f64 1/4 (/.f64 1 (pow.f64 x 2)))) |
(-.f64 (+.f64 (log.f64 (/.f64 -1 x)) (+.f64 (log.f64 1/2) (*.f64 3/32 (/.f64 1 (pow.f64 x 4))))) (+.f64 (*.f64 5/96 (/.f64 1 (pow.f64 x 6))) (*.f64 1/4 (/.f64 1 (pow.f64 x 2))))) |
1 |
(+.f64 1 x) |
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 x 2)) x)) |
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 x 2)) (+.f64 (*.f64 -1/8 (pow.f64 x 4)) x))) |
(*.f64 2 x) |
(+.f64 (*.f64 2 x) (*.f64 1/2 (/.f64 1 x))) |
(-.f64 (+.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 2 x)) (*.f64 1/8 (/.f64 1 (pow.f64 x 3)))) |
(-.f64 (+.f64 (*.f64 1/2 (/.f64 1 x)) (+.f64 (*.f64 2 x) (*.f64 1/16 (/.f64 1 (pow.f64 x 5))))) (*.f64 1/8 (/.f64 1 (pow.f64 x 3)))) |
(/.f64 -1/2 x) |
(-.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 3))) (*.f64 1/2 (/.f64 1 x))) |
(-.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 3))) (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 x 5))) (*.f64 1/2 (/.f64 1 x)))) |
(-.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 3))) (*.f64 5/128 (/.f64 1 (pow.f64 x 7)))) (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 x 5))) (*.f64 1/2 (/.f64 1 x)))) |
(+.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) 0) |
(+.f64 0 (sqrt.f64 (+.f64 (*.f64 x x) 1))) |
(-.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) 0) |
(*.f64 1 (sqrt.f64 (+.f64 (*.f64 x x) 1))) |
(*.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) 1) |
(*.f64 2 (/.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) 2)) |
(*.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) 2) 1/2) |
(*.f64 1/2 (*.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) 2)) |
(*.f64 (/.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) 2) 2) |
(/.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) 1) |
(/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) 2) 2) |
(/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) 4) 4) |
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) 4)) 8) |
(/.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) 4)) (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) 4))) 16) |
(+.f64 (log.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1)))) 0) |
(+.f64 0 (log.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1))))) |
(-.f64 (log.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1)))) 0) |
(*.f64 1 (log.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1))))) |
(*.f64 (log.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1)))) 1) |
(*.f64 2 (/.f64 (log.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1)))) 2)) |
(*.f64 (*.f64 (log.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1)))) 2) 1/2) |
(*.f64 1/2 (*.f64 (log.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1)))) 2)) |
(*.f64 (/.f64 (log.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1)))) 2) 2) |
(/.f64 (log.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1)))) 1) |
(/.f64 (*.f64 (log.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1)))) 2) 2) |
(/.f64 (*.f64 (log.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1)))) 4) 4) |
(/.f64 (*.f64 2 (*.f64 (log.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1)))) 4)) 8) |
(/.f64 (+.f64 (*.f64 2 (*.f64 (log.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1)))) 4)) (*.f64 2 (*.f64 (log.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1)))) 4))) 16) |
(-.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1))) 0) |
(*.f64 1 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1)))) |
(*.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1))) 1) |
(*.f64 2 (/.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1))) 2)) |
(*.f64 (*.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1))) 2) 1/2) |
(*.f64 1/2 (*.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1))) 2)) |
(*.f64 (/.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1))) 2) 2) |
(/.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1))) 1) |
(/.f64 (*.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1))) 2) 2) |
(/.f64 (*.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1))) 4) 4) |
(/.f64 (*.f64 2 (*.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1))) 4)) 8) |
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1))) 4)) (*.f64 2 (*.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1))) 4))) 16) |
| Outputs |
|---|
1 |
(+.f64 1 (*.f64 1/2 (pow.f64 x 2))) |
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 x 2)) (*.f64 -1/8 (pow.f64 x 4)))) |
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 x 2)) (+.f64 (*.f64 1/16 (pow.f64 x 6)) (*.f64 -1/8 (pow.f64 x 4))))) |
(+.f64 1 (+.f64 (*.f64 1/16 (pow.f64 x 6)) (+.f64 (*.f64 1/2 (pow.f64 x 2)) (*.f64 -1/8 (pow.f64 x 4))))) |
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 x 2)) (+.f64 (*.f64 -1/8 (pow.f64 x 4)) (*.f64 1/16 (pow.f64 x 6))))) |
(+.f64 1 (+.f64 (*.f64 -1/8 (pow.f64 x 4)) (+.f64 (*.f64 1/2 (pow.f64 x 2)) (*.f64 1/16 (pow.f64 x 6))))) |
(+.f64 (+.f64 1 (*.f64 1/2 (pow.f64 x 2))) (+.f64 (*.f64 -1/8 (pow.f64 x 4)) (*.f64 1/16 (pow.f64 x 6)))) |
x |
(+.f64 (*.f64 1/2 (/.f64 1 x)) x) |
(+.f64 x (*.f64 1/2 (/.f64 1 x))) |
(-.f64 (+.f64 (*.f64 1/2 (/.f64 1 x)) x) (*.f64 1/8 (/.f64 1 (pow.f64 x 3)))) |
(-.f64 (+.f64 x (*.f64 1/2 (/.f64 1 x))) (*.f64 1/8 (/.f64 1 (pow.f64 x 3)))) |
(+.f64 x (-.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 1/8 (/.f64 1 (pow.f64 x 3))))) |
(-.f64 (+.f64 (*.f64 1/2 (/.f64 1 x)) (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 x 5))) x)) (*.f64 1/8 (/.f64 1 (pow.f64 x 3)))) |
(+.f64 (+.f64 x (*.f64 1/16 (/.f64 1 (pow.f64 x 5)))) (-.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 1/8 (/.f64 1 (pow.f64 x 3))))) |
(+.f64 (*.f64 1/2 (/.f64 1 x)) (-.f64 (+.f64 x (*.f64 1/16 (/.f64 1 (pow.f64 x 5)))) (*.f64 1/8 (/.f64 1 (pow.f64 x 3))))) |
(+.f64 (*.f64 1/2 (/.f64 1 x)) (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 x 5))) (-.f64 x (*.f64 1/8 (/.f64 1 (pow.f64 x 3)))))) |
(+.f64 x (+.f64 (*.f64 1/2 (/.f64 1 x)) (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 x 5))) (*.f64 1/8 (/.f64 1 (pow.f64 x 3)))))) |
(*.f64 -1 x) |
(*.f64 x -1) |
(neg.f64 x) |
(-.f64 (*.f64 -1 x) (*.f64 1/2 (/.f64 1 x))) |
(-.f64 (*.f64 x -1) (*.f64 1/2 (/.f64 1 x))) |
(-.f64 (neg.f64 x) (*.f64 1/2 (/.f64 1 x))) |
(-.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 3))) (*.f64 -1 x)) (*.f64 1/2 (/.f64 1 x))) |
(+.f64 (*.f64 x -1) (-.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 3))) (*.f64 1/2 (/.f64 1 x)))) |
(-.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 3))) (neg.f64 x)) (*.f64 1/2 (/.f64 1 x))) |
(+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 3))) (-.f64 (neg.f64 x) (*.f64 1/2 (/.f64 1 x)))) |
(-.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 3))) (*.f64 -1 x)) (+.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 1/16 (/.f64 1 (pow.f64 x 5))))) |
(+.f64 (*.f64 x -1) (-.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 1/16 (/.f64 1 (pow.f64 x 5)))))) |
(+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 3))) (-.f64 (neg.f64 x) (+.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 1/16 (/.f64 1 (pow.f64 x 5)))))) |
(-.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 3))) (neg.f64 x)) (+.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 1/16 (/.f64 1 (pow.f64 x 5))))) |
x |
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) x) |
(+.f64 x (*.f64 (pow.f64 x 3) -1/6)) |
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) (+.f64 (*.f64 3/40 (pow.f64 x 5)) x)) |
(+.f64 (*.f64 (pow.f64 x 5) 3/40) (+.f64 x (*.f64 (pow.f64 x 3) -1/6))) |
(+.f64 x (+.f64 (*.f64 (pow.f64 x 5) 3/40) (*.f64 (pow.f64 x 3) -1/6))) |
(+.f64 (*.f64 (pow.f64 x 3) -1/6) (+.f64 x (*.f64 (pow.f64 x 5) 3/40))) |
(+.f64 (+.f64 x (*.f64 (pow.f64 x 3) -1/6)) (*.f64 (pow.f64 x 5) 3/40)) |
(+.f64 x (+.f64 (*.f64 (pow.f64 x 3) -1/6) (*.f64 (pow.f64 x 5) 3/40))) |
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) (+.f64 (*.f64 3/40 (pow.f64 x 5)) (+.f64 (*.f64 -5/112 (pow.f64 x 7)) x))) |
(+.f64 (*.f64 (pow.f64 x 3) -1/6) (+.f64 (*.f64 (pow.f64 x 5) 3/40) (+.f64 x (*.f64 -5/112 (pow.f64 x 7))))) |
(+.f64 (*.f64 (pow.f64 x 3) -1/6) (+.f64 x (+.f64 (*.f64 -5/112 (pow.f64 x 7)) (*.f64 (pow.f64 x 5) 3/40)))) |
(+.f64 x (+.f64 (*.f64 (pow.f64 x 3) -1/6) (+.f64 (*.f64 (pow.f64 x 5) 3/40) (*.f64 -5/112 (pow.f64 x 7))))) |
(+.f64 x (+.f64 (*.f64 (pow.f64 x 5) 3/40) (+.f64 (*.f64 (pow.f64 x 3) -1/6) (*.f64 -5/112 (pow.f64 x 7))))) |
(+.f64 x (+.f64 (*.f64 -5/112 (pow.f64 x 7)) (+.f64 (*.f64 (pow.f64 x 3) -1/6) (*.f64 (pow.f64 x 5) 3/40)))) |
(+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 x)))) |
(+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 1 x)))) |
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (+.f64 (log.f64 2) (*.f64 1/4 (/.f64 1 (pow.f64 x 2))))) |
(+.f64 (log.f64 2) (+.f64 (*.f64 1/4 (/.f64 1 (pow.f64 x 2))) (*.f64 -1 (log.f64 (/.f64 1 x))))) |
(+.f64 (log.f64 2) (+.f64 (neg.f64 (log.f64 (/.f64 1 x))) (*.f64 1/4 (/.f64 1 (pow.f64 x 2))))) |
(-.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (+.f64 (log.f64 2) (*.f64 1/4 (/.f64 1 (pow.f64 x 2))))) (*.f64 3/32 (/.f64 1 (pow.f64 x 4)))) |
(-.f64 (+.f64 (log.f64 2) (+.f64 (*.f64 1/4 (/.f64 1 (pow.f64 x 2))) (*.f64 -1 (log.f64 (/.f64 1 x))))) (*.f64 3/32 (/.f64 1 (pow.f64 x 4)))) |
(+.f64 (neg.f64 (log.f64 (/.f64 1 x))) (-.f64 (+.f64 (log.f64 2) (*.f64 1/4 (/.f64 1 (pow.f64 x 2)))) (*.f64 3/32 (/.f64 1 (pow.f64 x 4))))) |
(+.f64 (log.f64 2) (+.f64 (*.f64 1/4 (/.f64 1 (pow.f64 x 2))) (-.f64 (neg.f64 (log.f64 (/.f64 1 x))) (*.f64 3/32 (/.f64 1 (pow.f64 x 4)))))) |
(+.f64 (+.f64 (log.f64 2) (*.f64 1/4 (/.f64 1 (pow.f64 x 2)))) (-.f64 (neg.f64 (log.f64 (/.f64 1 x))) (*.f64 3/32 (/.f64 1 (pow.f64 x 4))))) |
(-.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (+.f64 (log.f64 2) (+.f64 (*.f64 5/96 (/.f64 1 (pow.f64 x 6))) (*.f64 1/4 (/.f64 1 (pow.f64 x 2)))))) (*.f64 3/32 (/.f64 1 (pow.f64 x 4)))) |
(+.f64 (+.f64 (log.f64 2) (+.f64 (*.f64 1/4 (/.f64 1 (pow.f64 x 2))) (*.f64 5/96 (/.f64 1 (pow.f64 x 6))))) (-.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (*.f64 3/32 (/.f64 1 (pow.f64 x 4))))) |
(+.f64 (neg.f64 (log.f64 (/.f64 1 x))) (-.f64 (+.f64 (log.f64 2) (+.f64 (*.f64 1/4 (/.f64 1 (pow.f64 x 2))) (*.f64 5/96 (/.f64 1 (pow.f64 x 6))))) (*.f64 3/32 (/.f64 1 (pow.f64 x 4))))) |
(+.f64 (neg.f64 (log.f64 (/.f64 1 x))) (+.f64 (+.f64 (log.f64 2) (*.f64 1/4 (/.f64 1 (pow.f64 x 2)))) (-.f64 (*.f64 5/96 (/.f64 1 (pow.f64 x 6))) (*.f64 3/32 (/.f64 1 (pow.f64 x 4)))))) |
(+.f64 (log.f64 2) (+.f64 (+.f64 (neg.f64 (log.f64 (/.f64 1 x))) (*.f64 1/4 (/.f64 1 (pow.f64 x 2)))) (-.f64 (*.f64 5/96 (/.f64 1 (pow.f64 x 6))) (*.f64 3/32 (/.f64 1 (pow.f64 x 4)))))) |
(+.f64 (+.f64 (+.f64 (log.f64 2) (*.f64 1/4 (/.f64 1 (pow.f64 x 2)))) (-.f64 (neg.f64 (log.f64 (/.f64 1 x))) (*.f64 3/32 (/.f64 1 (pow.f64 x 4))))) (*.f64 5/96 (/.f64 1 (pow.f64 x 6)))) |
(+.f64 (*.f64 1/4 (/.f64 1 (pow.f64 x 2))) (+.f64 (-.f64 (log.f64 2) (*.f64 3/32 (/.f64 1 (pow.f64 x 4)))) (+.f64 (neg.f64 (log.f64 (/.f64 1 x))) (*.f64 5/96 (/.f64 1 (pow.f64 x 6)))))) |
(+.f64 (log.f64 (/.f64 -1 x)) (log.f64 1/2)) |
(-.f64 (+.f64 (log.f64 (/.f64 -1 x)) (log.f64 1/2)) (*.f64 1/4 (/.f64 1 (pow.f64 x 2)))) |
(+.f64 (log.f64 (/.f64 -1 x)) (-.f64 (log.f64 1/2) (*.f64 1/4 (/.f64 1 (pow.f64 x 2))))) |
(-.f64 (+.f64 (log.f64 (/.f64 -1 x)) (+.f64 (log.f64 1/2) (*.f64 3/32 (/.f64 1 (pow.f64 x 4))))) (*.f64 1/4 (/.f64 1 (pow.f64 x 2)))) |
(+.f64 (+.f64 (*.f64 3/32 (/.f64 1 (pow.f64 x 4))) (log.f64 1/2)) (-.f64 (log.f64 (/.f64 -1 x)) (*.f64 1/4 (/.f64 1 (pow.f64 x 2))))) |
(+.f64 (+.f64 (log.f64 (/.f64 -1 x)) (log.f64 1/2)) (-.f64 (*.f64 3/32 (/.f64 1 (pow.f64 x 4))) (*.f64 1/4 (/.f64 1 (pow.f64 x 2))))) |
(+.f64 (log.f64 1/2) (+.f64 (*.f64 3/32 (/.f64 1 (pow.f64 x 4))) (-.f64 (log.f64 (/.f64 -1 x)) (*.f64 1/4 (/.f64 1 (pow.f64 x 2)))))) |
(-.f64 (+.f64 (log.f64 (/.f64 -1 x)) (+.f64 (log.f64 1/2) (*.f64 3/32 (/.f64 1 (pow.f64 x 4))))) (+.f64 (*.f64 5/96 (/.f64 1 (pow.f64 x 6))) (*.f64 1/4 (/.f64 1 (pow.f64 x 2))))) |
(+.f64 (+.f64 (*.f64 3/32 (/.f64 1 (pow.f64 x 4))) (log.f64 1/2)) (-.f64 (log.f64 (/.f64 -1 x)) (+.f64 (*.f64 1/4 (/.f64 1 (pow.f64 x 2))) (*.f64 5/96 (/.f64 1 (pow.f64 x 6)))))) |
(+.f64 (log.f64 1/2) (+.f64 (*.f64 3/32 (/.f64 1 (pow.f64 x 4))) (-.f64 (log.f64 (/.f64 -1 x)) (+.f64 (*.f64 1/4 (/.f64 1 (pow.f64 x 2))) (*.f64 5/96 (/.f64 1 (pow.f64 x 6))))))) |
(+.f64 (*.f64 3/32 (/.f64 1 (pow.f64 x 4))) (+.f64 (log.f64 1/2) (-.f64 (log.f64 (/.f64 -1 x)) (+.f64 (*.f64 1/4 (/.f64 1 (pow.f64 x 2))) (*.f64 5/96 (/.f64 1 (pow.f64 x 6))))))) |
(+.f64 (*.f64 3/32 (/.f64 1 (pow.f64 x 4))) (-.f64 (+.f64 (log.f64 (/.f64 -1 x)) (log.f64 1/2)) (+.f64 (*.f64 1/4 (/.f64 1 (pow.f64 x 2))) (*.f64 5/96 (/.f64 1 (pow.f64 x 6)))))) |
1 |
(+.f64 1 x) |
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 x 2)) x)) |
(+.f64 1 (+.f64 x (*.f64 1/2 (pow.f64 x 2)))) |
(+.f64 (*.f64 1/2 (pow.f64 x 2)) (+.f64 1 x)) |
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 x 2)) (+.f64 (*.f64 -1/8 (pow.f64 x 4)) x))) |
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 x 2)) (+.f64 x (*.f64 -1/8 (pow.f64 x 4))))) |
(+.f64 1 (+.f64 x (+.f64 (*.f64 1/2 (pow.f64 x 2)) (*.f64 -1/8 (pow.f64 x 4))))) |
(+.f64 (+.f64 1 (*.f64 1/2 (pow.f64 x 2))) (+.f64 x (*.f64 -1/8 (pow.f64 x 4)))) |
(+.f64 (*.f64 -1/8 (pow.f64 x 4)) (+.f64 (*.f64 1/2 (pow.f64 x 2)) (+.f64 1 x))) |
(+.f64 (*.f64 1/2 (pow.f64 x 2)) (+.f64 (*.f64 -1/8 (pow.f64 x 4)) (+.f64 1 x))) |
(*.f64 2 x) |
(*.f64 x 2) |
(+.f64 x x) |
(+.f64 (*.f64 2 x) (*.f64 1/2 (/.f64 1 x))) |
(+.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 x 2)) |
(+.f64 (*.f64 1/2 (/.f64 1 x)) (+.f64 x x)) |
(-.f64 (+.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 2 x)) (*.f64 1/8 (/.f64 1 (pow.f64 x 3)))) |
(-.f64 (+.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 x 2)) (*.f64 1/8 (/.f64 1 (pow.f64 x 3)))) |
(+.f64 (*.f64 1/2 (/.f64 1 x)) (-.f64 (*.f64 x 2) (*.f64 1/8 (/.f64 1 (pow.f64 x 3))))) |
(+.f64 (*.f64 1/2 (/.f64 1 x)) (-.f64 (+.f64 x x) (*.f64 1/8 (/.f64 1 (pow.f64 x 3))))) |
(-.f64 (+.f64 (*.f64 1/2 (/.f64 1 x)) (+.f64 (*.f64 2 x) (*.f64 1/16 (/.f64 1 (pow.f64 x 5))))) (*.f64 1/8 (/.f64 1 (pow.f64 x 3)))) |
(+.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 x 5))) (*.f64 x 2)) (-.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 1/8 (/.f64 1 (pow.f64 x 3))))) |
(+.f64 (*.f64 1/2 (/.f64 1 x)) (-.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 x 5))) (*.f64 x 2)) (*.f64 1/8 (/.f64 1 (pow.f64 x 3))))) |
(+.f64 (*.f64 1/2 (/.f64 1 x)) (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 x 5))) (-.f64 (*.f64 x 2) (*.f64 1/8 (/.f64 1 (pow.f64 x 3)))))) |
(+.f64 (*.f64 1/2 (/.f64 1 x)) (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 x 5))) (-.f64 (+.f64 x x) (*.f64 1/8 (/.f64 1 (pow.f64 x 3)))))) |
(/.f64 -1/2 x) |
(-.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 3))) (*.f64 1/2 (/.f64 1 x))) |
(-.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 3))) (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 x 5))) (*.f64 1/2 (/.f64 1 x)))) |
(-.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 1/16 (/.f64 1 (pow.f64 x 5))))) |
(-.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 3))) (*.f64 5/128 (/.f64 1 (pow.f64 x 7)))) (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 x 5))) (*.f64 1/2 (/.f64 1 x)))) |
(-.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 3))) (*.f64 5/128 (/.f64 1 (pow.f64 x 7)))) (+.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 1/16 (/.f64 1 (pow.f64 x 5))))) |
(+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 x 3))) (-.f64 (*.f64 5/128 (/.f64 1 (pow.f64 x 7))) (+.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 1/16 (/.f64 1 (pow.f64 x 5)))))) |
(+.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) 0) |
(sqrt.f64 (+.f64 1 (*.f64 x x))) |
(+.f64 0 (sqrt.f64 (+.f64 (*.f64 x x) 1))) |
(sqrt.f64 (+.f64 1 (*.f64 x x))) |
(-.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) 0) |
(sqrt.f64 (+.f64 1 (*.f64 x x))) |
(*.f64 1 (sqrt.f64 (+.f64 (*.f64 x x) 1))) |
(sqrt.f64 (+.f64 1 (*.f64 x x))) |
(*.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) 1) |
(sqrt.f64 (+.f64 1 (*.f64 x x))) |
(*.f64 2 (/.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) 2)) |
(sqrt.f64 (+.f64 1 (*.f64 x x))) |
(*.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) 2) 1/2) |
(sqrt.f64 (+.f64 1 (*.f64 x x))) |
(*.f64 1/2 (*.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) 2)) |
(sqrt.f64 (+.f64 1 (*.f64 x x))) |
(*.f64 (/.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) 2) 2) |
(sqrt.f64 (+.f64 1 (*.f64 x x))) |
(/.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) 1) |
(sqrt.f64 (+.f64 1 (*.f64 x x))) |
(/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) 2) 2) |
(sqrt.f64 (+.f64 1 (*.f64 x x))) |
(/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) 4) 4) |
(sqrt.f64 (+.f64 1 (*.f64 x x))) |
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) 4)) 8) |
(sqrt.f64 (+.f64 1 (*.f64 x x))) |
(/.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) 4)) (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 x x) 1)) 4))) 16) |
(sqrt.f64 (+.f64 1 (*.f64 x x))) |
(+.f64 (log.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1)))) 0) |
(log.f64 (+.f64 x (sqrt.f64 (+.f64 1 (*.f64 x x))))) |
(+.f64 0 (log.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1))))) |
(log.f64 (+.f64 x (sqrt.f64 (+.f64 1 (*.f64 x x))))) |
(-.f64 (log.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1)))) 0) |
(log.f64 (+.f64 x (sqrt.f64 (+.f64 1 (*.f64 x x))))) |
(*.f64 1 (log.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1))))) |
(log.f64 (+.f64 x (sqrt.f64 (+.f64 1 (*.f64 x x))))) |
(*.f64 (log.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1)))) 1) |
(log.f64 (+.f64 x (sqrt.f64 (+.f64 1 (*.f64 x x))))) |
(*.f64 2 (/.f64 (log.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1)))) 2)) |
(log.f64 (+.f64 x (sqrt.f64 (+.f64 1 (*.f64 x x))))) |
(*.f64 (*.f64 (log.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1)))) 2) 1/2) |
(log.f64 (+.f64 x (sqrt.f64 (+.f64 1 (*.f64 x x))))) |
(*.f64 1/2 (*.f64 (log.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1)))) 2)) |
(log.f64 (+.f64 x (sqrt.f64 (+.f64 1 (*.f64 x x))))) |
(*.f64 (/.f64 (log.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1)))) 2) 2) |
(log.f64 (+.f64 x (sqrt.f64 (+.f64 1 (*.f64 x x))))) |
(/.f64 (log.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1)))) 1) |
(log.f64 (+.f64 x (sqrt.f64 (+.f64 1 (*.f64 x x))))) |
(/.f64 (*.f64 (log.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1)))) 2) 2) |
(log.f64 (+.f64 x (sqrt.f64 (+.f64 1 (*.f64 x x))))) |
(/.f64 (*.f64 (log.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1)))) 4) 4) |
(log.f64 (+.f64 x (sqrt.f64 (+.f64 1 (*.f64 x x))))) |
(/.f64 (*.f64 2 (*.f64 (log.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1)))) 4)) 8) |
(log.f64 (+.f64 x (sqrt.f64 (+.f64 1 (*.f64 x x))))) |
(/.f64 (+.f64 (*.f64 2 (*.f64 (log.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1)))) 4)) (*.f64 2 (*.f64 (log.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1)))) 4))) 16) |
(log.f64 (+.f64 x (sqrt.f64 (+.f64 1 (*.f64 x x))))) |
(-.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1))) 0) |
(+.f64 x (sqrt.f64 (+.f64 1 (*.f64 x x)))) |
(*.f64 1 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1)))) |
(+.f64 x (sqrt.f64 (+.f64 1 (*.f64 x x)))) |
(*.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1))) 1) |
(+.f64 x (sqrt.f64 (+.f64 1 (*.f64 x x)))) |
(*.f64 2 (/.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1))) 2)) |
(+.f64 x (sqrt.f64 (+.f64 1 (*.f64 x x)))) |
(*.f64 (*.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1))) 2) 1/2) |
(+.f64 x (sqrt.f64 (+.f64 1 (*.f64 x x)))) |
(*.f64 1/2 (*.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1))) 2)) |
(+.f64 x (sqrt.f64 (+.f64 1 (*.f64 x x)))) |
(*.f64 (/.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1))) 2) 2) |
(+.f64 x (sqrt.f64 (+.f64 1 (*.f64 x x)))) |
(/.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1))) 1) |
(+.f64 x (sqrt.f64 (+.f64 1 (*.f64 x x)))) |
(/.f64 (*.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1))) 2) 2) |
(+.f64 x (sqrt.f64 (+.f64 1 (*.f64 x x)))) |
(/.f64 (*.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1))) 4) 4) |
(+.f64 x (sqrt.f64 (+.f64 1 (*.f64 x x)))) |
(/.f64 (*.f64 2 (*.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1))) 4)) 8) |
(+.f64 x (sqrt.f64 (+.f64 1 (*.f64 x x)))) |
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1))) 4)) (*.f64 2 (*.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1))) 4))) 16) |
(+.f64 x (sqrt.f64 (+.f64 1 (*.f64 x x)))) |
Compiled 2585 to 2046 computations (20.9% saved)
8 alts after pruning (7 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 144 | 7 | 151 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 144 | 8 | 152 |
| Status | Error | Program |
|---|---|---|
| ▶ | 28.6b | (+.f64 (+.f64 x (*.f64 (pow.f64 x 3) -1/6)) (*.f64 (pow.f64 x 5) 3/40)) |
| 28.8b | (+.f64 (*.f64 (pow.f64 x 3) -1/6) (+.f64 (*.f64 (pow.f64 x 5) 3/40) (+.f64 x (*.f64 -5/112 (pow.f64 x 7))))) | |
| ▶ | 28.9b | (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x) |
| ▶ | 48.8b | (log.f64 (/.f64 -1/2 x)) |
| 49.3b | (log.f64 (+.f64 (*.f64 2 x) (*.f64 1/2 (/.f64 1 x)))) | |
| ✓ | 54.6b | (log.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1)))) |
| ▶ | 49.9b | (log.f64 (+.f64 x x)) |
| ▶ | 56.9b | (log.f64 (+.f64 x 1)) |
Compiled 146 to 113 computations (22.6% saved)
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 x (*.f64 (pow.f64 x 3) -1/6)) |
| ✓ | 0.1b | (*.f64 (pow.f64 x 5) 3/40) |
| ✓ | 0.1b | (*.f64 (pow.f64 x 3) -1/6) |
| ✓ | 19.3b | (+.f64 (+.f64 x (*.f64 (pow.f64 x 3) -1/6)) (*.f64 (pow.f64 x 5) 3/40)) |
Compiled 42 to 32 computations (23.8% saved)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 3.0ms | x | @ | inf | (+.f64 (+.f64 x (*.f64 (pow.f64 x 3) -1/6)) (*.f64 (pow.f64 x 5) 3/40)) |
| 0.0ms | x | @ | 0 | (*.f64 (pow.f64 x 3) -1/6) |
| 0.0ms | x | @ | 0 | (*.f64 (pow.f64 x 5) 3/40) |
| 0.0ms | x | @ | 0 | (+.f64 (+.f64 x (*.f64 (pow.f64 x 3) -1/6)) (*.f64 (pow.f64 x 5) 3/40)) |
| 0.0ms | x | @ | inf | (*.f64 (pow.f64 x 5) 3/40) |
| 1× | batch-egg-rewrite |
| 1598× | bool.json-1 |
| 1598× | bool.json-2 |
| 1548× | rational.json-1 |
| 1548× | rational.json-2 |
| 1548× | rational.json-4 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 13 | 82 |
| 1 | 126 | 82 |
| 2 | 302 | 82 |
| 3 | 609 | 82 |
| 4 | 1321 | 82 |
| 5 | 3130 | 82 |
| 6 | 6240 | 82 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (+.f64 x (*.f64 (pow.f64 x 3) -1/6)) (*.f64 (pow.f64 x 5) 3/40)) |
(*.f64 (pow.f64 x 3) -1/6) |
(*.f64 (pow.f64 x 5) 3/40) |
(+.f64 x (*.f64 (pow.f64 x 3) -1/6)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) -1/6) (*.f64 (pow.f64 x 5) 3/40))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) -1/6) (*.f64 (pow.f64 x 5) 3/40))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) -1/6) (*.f64 (pow.f64 x 5) 3/40))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) -1/6) (*.f64 (pow.f64 x 5) 3/40))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) -1/6) (*.f64 (pow.f64 x 5) 3/40))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) -1/6) (*.f64 (pow.f64 x 5) 3/40))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) -1/6) (*.f64 (pow.f64 x 5) 3/40))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) -1/6) (*.f64 (pow.f64 x 5) 3/40))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) -1/6) (*.f64 (pow.f64 x 5) 3/40))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) -1/6) (*.f64 (pow.f64 x 5) 3/40))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) -1/6) (*.f64 (pow.f64 x 5) 3/40))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) -1/6) (*.f64 (pow.f64 x 5) 3/40))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) -1/6) (*.f64 (pow.f64 x 5) 3/40))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) -1/6) (*.f64 (pow.f64 x 5) 3/40))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) -1/6) (*.f64 (pow.f64 x 5) 3/40))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) -1/6) (*.f64 (pow.f64 x 5) 3/40))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) -1/6) (*.f64 (pow.f64 x 5) 3/40))) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) -1/6) (*.f64 (pow.f64 x 5) 3/40))) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) -1/6) (*.f64 (pow.f64 x 5) 3/40)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) -1/6) (*.f64 (pow.f64 x 5) 3/40))) (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) -1/6) (*.f64 (pow.f64 x 5) 3/40))))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) -1/6) (*.f64 (pow.f64 x 5) 3/40))) (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) -1/6) (*.f64 (pow.f64 x 5) 3/40)))))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 x 3) -1/6) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (pow.f64 x 3) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 x 3) -1/12) (*.f64 (pow.f64 x 3) -1/12))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (pow.f64 x 3) -1/6) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 x 3) -1/6) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 x 3) -1/3) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 x 3) -2/3) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (pow.f64 x 3) -2/3)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) -2/3))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) -2/3))) (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) -2/3)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (pow.f64 x 3) -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (pow.f64 x 3) -1/6) (*.f64 (pow.f64 x 3) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (pow.f64 x 3) -1/6) (*.f64 (pow.f64 x 3) -1/6)))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 x 5) 3/40) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (pow.f64 x 5) 3/40))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 x 5) 3/80) (*.f64 (pow.f64 x 5) 3/80))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (pow.f64 x 5) 3/40) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 x 5) 3/40) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 x 5) 3/20) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 x 5) 3/10) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (pow.f64 x 5) 3/10)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 5) 3/10))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 5) 3/10))) (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 5) 3/10)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (pow.f64 x 5) 3/40)))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (pow.f64 x 5) 3/40) (*.f64 (pow.f64 x 5) 3/40))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (pow.f64 x 5) 3/40) (*.f64 (pow.f64 x 5) 3/40)))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x (*.f64 (pow.f64 x 3) -1/6)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (*.f64 (pow.f64 x 3) -1/6)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 x (*.f64 (pow.f64 x 3) -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 x (*.f64 (pow.f64 x 3) -1/6)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (+.f64 x (*.f64 (pow.f64 x 3) -1/3))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 x (*.f64 (pow.f64 x 3) -1/6)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (*.f64 (pow.f64 x 3) -1/6)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 x (+.f64 x (*.f64 (pow.f64 x 3) -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (*.f64 (pow.f64 x 3) -1/6)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 x (*.f64 (pow.f64 x 3) -1/6)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 x (*.f64 (pow.f64 x 3) -1/6)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (*.f64 (pow.f64 x 3) -1/6)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (+.f64 x (*.f64 (pow.f64 x 3) -1/3))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (*.f64 (pow.f64 x 3) -1/6)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 x (*.f64 (pow.f64 x 3) -1/6)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 (pow.f64 x 3) -1/6)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 (pow.f64 x 3) -1/6)) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 (pow.f64 x 3) -1/6)) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 x (*.f64 (pow.f64 x 3) -1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 x (*.f64 (pow.f64 x 3) -1/6)) (+.f64 x (*.f64 (pow.f64 x 3) -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 x (*.f64 (pow.f64 x 3) -1/6)) (+.f64 x (*.f64 (pow.f64 x 3) -1/6))))))) |
| 1× | egg-herbie |
| 3424× | rational.json-simplify-41 |
| 2272× | rational.json-simplify-49 |
| 2122× | rational.json-simplify-35 |
| 1308× | rational.json-simplify-2 |
| 808× | rational.json-simplify-51 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 116 | 2052 |
| 1 | 237 | 2052 |
| 2 | 600 | 2052 |
| 3 | 1503 | 2052 |
| 4 | 2595 | 2052 |
| 5 | 3190 | 2052 |
| 6 | 3336 | 2052 |
| 7 | 3463 | 2052 |
| 8 | 3578 | 2052 |
| 9 | 3691 | 2052 |
| 10 | 3805 | 2052 |
| 11 | 3967 | 2052 |
| 12 | 3967 | 2052 |
| 13 | 4081 | 2052 |
| 1× | node limit |
| Inputs |
|---|
x |
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) x) |
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) (+.f64 (*.f64 3/40 (pow.f64 x 5)) x)) |
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) (+.f64 (*.f64 3/40 (pow.f64 x 5)) x)) |
(*.f64 3/40 (pow.f64 x 5)) |
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) (*.f64 3/40 (pow.f64 x 5))) |
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) (+.f64 (*.f64 3/40 (pow.f64 x 5)) x)) |
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) (+.f64 (*.f64 3/40 (pow.f64 x 5)) x)) |
(*.f64 3/40 (pow.f64 x 5)) |
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) (*.f64 3/40 (pow.f64 x 5))) |
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) (+.f64 (*.f64 3/40 (pow.f64 x 5)) x)) |
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) (+.f64 (*.f64 3/40 (pow.f64 x 5)) x)) |
(*.f64 -1/6 (pow.f64 x 3)) |
(*.f64 -1/6 (pow.f64 x 3)) |
(*.f64 -1/6 (pow.f64 x 3)) |
(*.f64 -1/6 (pow.f64 x 3)) |
(*.f64 -1/6 (pow.f64 x 3)) |
(*.f64 -1/6 (pow.f64 x 3)) |
(*.f64 -1/6 (pow.f64 x 3)) |
(*.f64 -1/6 (pow.f64 x 3)) |
(*.f64 -1/6 (pow.f64 x 3)) |
(*.f64 -1/6 (pow.f64 x 3)) |
(*.f64 -1/6 (pow.f64 x 3)) |
(*.f64 -1/6 (pow.f64 x 3)) |
(*.f64 3/40 (pow.f64 x 5)) |
(*.f64 3/40 (pow.f64 x 5)) |
(*.f64 3/40 (pow.f64 x 5)) |
(*.f64 3/40 (pow.f64 x 5)) |
(*.f64 3/40 (pow.f64 x 5)) |
(*.f64 3/40 (pow.f64 x 5)) |
(*.f64 3/40 (pow.f64 x 5)) |
(*.f64 3/40 (pow.f64 x 5)) |
(*.f64 3/40 (pow.f64 x 5)) |
(*.f64 3/40 (pow.f64 x 5)) |
(*.f64 3/40 (pow.f64 x 5)) |
(*.f64 3/40 (pow.f64 x 5)) |
x |
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) x) |
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) x) |
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) x) |
(*.f64 -1/6 (pow.f64 x 3)) |
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) x) |
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) x) |
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) x) |
(*.f64 -1/6 (pow.f64 x 3)) |
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) x) |
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) x) |
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) x) |
(-.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) -1/6) (*.f64 (pow.f64 x 5) 3/40))) 0) |
(*.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) -1/6) (*.f64 (pow.f64 x 5) 3/40))) 1) |
(*.f64 1 (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) -1/6) (*.f64 (pow.f64 x 5) 3/40)))) |
(*.f64 2 (*.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) -1/6) (*.f64 (pow.f64 x 5) 3/40))) 1/2)) |
(*.f64 (*.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) -1/6) (*.f64 (pow.f64 x 5) 3/40))) 2) 1/2) |
(*.f64 4 (/.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) -1/6) (*.f64 (pow.f64 x 5) 3/40))) 4)) |
(*.f64 (*.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) -1/6) (*.f64 (pow.f64 x 5) 3/40))) 4) 1/4) |
(*.f64 1/2 (*.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) -1/6) (*.f64 (pow.f64 x 5) 3/40))) 2)) |
(*.f64 (*.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) -1/6) (*.f64 (pow.f64 x 5) 3/40))) 1/2) 2) |
(*.f64 1/4 (*.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) -1/6) (*.f64 (pow.f64 x 5) 3/40))) 4)) |
(*.f64 (/.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) -1/6) (*.f64 (pow.f64 x 5) 3/40))) 4) 4) |
(/.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) -1/6) (*.f64 (pow.f64 x 5) 3/40))) 1) |
(/.f64 (*.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) -1/6) (*.f64 (pow.f64 x 5) 3/40))) 2) 2) |
(/.f64 (*.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) -1/6) (*.f64 (pow.f64 x 5) 3/40))) 4) 4) |
(/.f64 (*.f64 2 (*.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) -1/6) (*.f64 (pow.f64 x 5) 3/40))) 4)) 8) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) -1/6) (*.f64 (pow.f64 x 5) 3/40))) 4))) 16) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) -1/6) (*.f64 (pow.f64 x 5) 3/40))) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) -1/6) (*.f64 (pow.f64 x 5) 3/40))) 4)))) 32) |
(+.f64 (*.f64 (pow.f64 x 3) -1/6) 0) |
(+.f64 0 (*.f64 (pow.f64 x 3) -1/6)) |
(+.f64 (*.f64 (pow.f64 x 3) -1/12) (*.f64 (pow.f64 x 3) -1/12)) |
(-.f64 (*.f64 (pow.f64 x 3) -1/6) 0) |
(/.f64 (*.f64 (pow.f64 x 3) -1/6) 1) |
(/.f64 (*.f64 (pow.f64 x 3) -1/3) 2) |
(/.f64 (*.f64 (pow.f64 x 3) -2/3) 4) |
(/.f64 (*.f64 2 (*.f64 (pow.f64 x 3) -2/3)) 8) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) -2/3))) 16) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) -2/3))) (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) -2/3)))) 32) |
(+.f64 (*.f64 (pow.f64 x 5) 3/40) 0) |
(+.f64 0 (*.f64 (pow.f64 x 5) 3/40)) |
(+.f64 (*.f64 (pow.f64 x 5) 3/80) (*.f64 (pow.f64 x 5) 3/80)) |
(-.f64 (*.f64 (pow.f64 x 5) 3/40) 0) |
(/.f64 (*.f64 (pow.f64 x 5) 3/40) 1) |
(/.f64 (*.f64 (pow.f64 x 5) 3/20) 2) |
(/.f64 (*.f64 (pow.f64 x 5) 3/10) 4) |
(/.f64 (*.f64 2 (*.f64 (pow.f64 x 5) 3/10)) 8) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 5) 3/10))) 16) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 5) 3/10))) (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 5) 3/10)))) 32) |
(-.f64 (+.f64 x (*.f64 (pow.f64 x 3) -1/6)) 0) |
(*.f64 (+.f64 x (*.f64 (pow.f64 x 3) -1/6)) 1) |
(*.f64 1 (+.f64 x (*.f64 (pow.f64 x 3) -1/6))) |
(*.f64 2 (*.f64 (+.f64 x (*.f64 (pow.f64 x 3) -1/6)) 1/2)) |
(*.f64 (+.f64 x (+.f64 x (*.f64 (pow.f64 x 3) -1/3))) 1/2) |
(*.f64 4 (/.f64 (+.f64 x (*.f64 (pow.f64 x 3) -1/6)) 4)) |
(*.f64 (*.f64 (+.f64 x (*.f64 (pow.f64 x 3) -1/6)) 4) 1/4) |
(*.f64 1/2 (+.f64 x (+.f64 x (*.f64 (pow.f64 x 3) -1/3)))) |
(*.f64 (*.f64 (+.f64 x (*.f64 (pow.f64 x 3) -1/6)) 1/2) 2) |
(*.f64 1/4 (*.f64 (+.f64 x (*.f64 (pow.f64 x 3) -1/6)) 4)) |
(*.f64 (/.f64 (+.f64 x (*.f64 (pow.f64 x 3) -1/6)) 4) 4) |
(/.f64 (+.f64 x (*.f64 (pow.f64 x 3) -1/6)) 1) |
(/.f64 (+.f64 x (+.f64 x (*.f64 (pow.f64 x 3) -1/3))) 2) |
(/.f64 (*.f64 (+.f64 x (*.f64 (pow.f64 x 3) -1/6)) 4) 4) |
(/.f64 (*.f64 2 (*.f64 (+.f64 x (*.f64 (pow.f64 x 3) -1/6)) 4)) 8) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 (pow.f64 x 3) -1/6)) 4))) 16) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 (pow.f64 x 3) -1/6)) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 (pow.f64 x 3) -1/6)) 4)))) 32) |
| Outputs |
|---|
x |
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) x) |
(+.f64 x (*.f64 -1/6 (pow.f64 x 3))) |
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) (+.f64 (*.f64 3/40 (pow.f64 x 5)) x)) |
(+.f64 x (+.f64 (*.f64 -1/6 (pow.f64 x 3)) (*.f64 3/40 (pow.f64 x 5)))) |
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) (+.f64 (*.f64 3/40 (pow.f64 x 5)) x)) |
(+.f64 x (+.f64 (*.f64 -1/6 (pow.f64 x 3)) (*.f64 3/40 (pow.f64 x 5)))) |
(*.f64 3/40 (pow.f64 x 5)) |
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) (*.f64 3/40 (pow.f64 x 5))) |
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) (+.f64 (*.f64 3/40 (pow.f64 x 5)) x)) |
(+.f64 x (+.f64 (*.f64 -1/6 (pow.f64 x 3)) (*.f64 3/40 (pow.f64 x 5)))) |
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) (+.f64 (*.f64 3/40 (pow.f64 x 5)) x)) |
(+.f64 x (+.f64 (*.f64 -1/6 (pow.f64 x 3)) (*.f64 3/40 (pow.f64 x 5)))) |
(*.f64 3/40 (pow.f64 x 5)) |
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) (*.f64 3/40 (pow.f64 x 5))) |
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) (+.f64 (*.f64 3/40 (pow.f64 x 5)) x)) |
(+.f64 x (+.f64 (*.f64 -1/6 (pow.f64 x 3)) (*.f64 3/40 (pow.f64 x 5)))) |
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) (+.f64 (*.f64 3/40 (pow.f64 x 5)) x)) |
(+.f64 x (+.f64 (*.f64 -1/6 (pow.f64 x 3)) (*.f64 3/40 (pow.f64 x 5)))) |
(*.f64 -1/6 (pow.f64 x 3)) |
(*.f64 -1/6 (pow.f64 x 3)) |
(*.f64 -1/6 (pow.f64 x 3)) |
(*.f64 -1/6 (pow.f64 x 3)) |
(*.f64 -1/6 (pow.f64 x 3)) |
(*.f64 -1/6 (pow.f64 x 3)) |
(*.f64 -1/6 (pow.f64 x 3)) |
(*.f64 -1/6 (pow.f64 x 3)) |
(*.f64 -1/6 (pow.f64 x 3)) |
(*.f64 -1/6 (pow.f64 x 3)) |
(*.f64 -1/6 (pow.f64 x 3)) |
(*.f64 -1/6 (pow.f64 x 3)) |
(*.f64 3/40 (pow.f64 x 5)) |
(*.f64 3/40 (pow.f64 x 5)) |
(*.f64 3/40 (pow.f64 x 5)) |
(*.f64 3/40 (pow.f64 x 5)) |
(*.f64 3/40 (pow.f64 x 5)) |
(*.f64 3/40 (pow.f64 x 5)) |
(*.f64 3/40 (pow.f64 x 5)) |
(*.f64 3/40 (pow.f64 x 5)) |
(*.f64 3/40 (pow.f64 x 5)) |
(*.f64 3/40 (pow.f64 x 5)) |
(*.f64 3/40 (pow.f64 x 5)) |
(*.f64 3/40 (pow.f64 x 5)) |
x |
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) x) |
(+.f64 x (*.f64 -1/6 (pow.f64 x 3))) |
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) x) |
(+.f64 x (*.f64 -1/6 (pow.f64 x 3))) |
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) x) |
(+.f64 x (*.f64 -1/6 (pow.f64 x 3))) |
(*.f64 -1/6 (pow.f64 x 3)) |
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) x) |
(+.f64 x (*.f64 -1/6 (pow.f64 x 3))) |
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) x) |
(+.f64 x (*.f64 -1/6 (pow.f64 x 3))) |
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) x) |
(+.f64 x (*.f64 -1/6 (pow.f64 x 3))) |
(*.f64 -1/6 (pow.f64 x 3)) |
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) x) |
(+.f64 x (*.f64 -1/6 (pow.f64 x 3))) |
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) x) |
(+.f64 x (*.f64 -1/6 (pow.f64 x 3))) |
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) x) |
(+.f64 x (*.f64 -1/6 (pow.f64 x 3))) |
(-.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) -1/6) (*.f64 (pow.f64 x 5) 3/40))) 0) |
(+.f64 x (+.f64 (*.f64 -1/6 (pow.f64 x 3)) (*.f64 3/40 (pow.f64 x 5)))) |
(*.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) -1/6) (*.f64 (pow.f64 x 5) 3/40))) 1) |
(+.f64 x (+.f64 (*.f64 -1/6 (pow.f64 x 3)) (*.f64 3/40 (pow.f64 x 5)))) |
(*.f64 1 (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) -1/6) (*.f64 (pow.f64 x 5) 3/40)))) |
(+.f64 x (+.f64 (*.f64 -1/6 (pow.f64 x 3)) (*.f64 3/40 (pow.f64 x 5)))) |
(*.f64 2 (*.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) -1/6) (*.f64 (pow.f64 x 5) 3/40))) 1/2)) |
(+.f64 x (+.f64 (*.f64 -1/6 (pow.f64 x 3)) (*.f64 3/40 (pow.f64 x 5)))) |
(*.f64 (*.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) -1/6) (*.f64 (pow.f64 x 5) 3/40))) 2) 1/2) |
(+.f64 x (+.f64 (*.f64 -1/6 (pow.f64 x 3)) (*.f64 3/40 (pow.f64 x 5)))) |
(*.f64 4 (/.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) -1/6) (*.f64 (pow.f64 x 5) 3/40))) 4)) |
(+.f64 x (+.f64 (*.f64 -1/6 (pow.f64 x 3)) (*.f64 3/40 (pow.f64 x 5)))) |
(*.f64 (*.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) -1/6) (*.f64 (pow.f64 x 5) 3/40))) 4) 1/4) |
(+.f64 x (+.f64 (*.f64 -1/6 (pow.f64 x 3)) (*.f64 3/40 (pow.f64 x 5)))) |
(*.f64 1/2 (*.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) -1/6) (*.f64 (pow.f64 x 5) 3/40))) 2)) |
(+.f64 x (+.f64 (*.f64 -1/6 (pow.f64 x 3)) (*.f64 3/40 (pow.f64 x 5)))) |
(*.f64 (*.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) -1/6) (*.f64 (pow.f64 x 5) 3/40))) 1/2) 2) |
(+.f64 x (+.f64 (*.f64 -1/6 (pow.f64 x 3)) (*.f64 3/40 (pow.f64 x 5)))) |
(*.f64 1/4 (*.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) -1/6) (*.f64 (pow.f64 x 5) 3/40))) 4)) |
(+.f64 x (+.f64 (*.f64 -1/6 (pow.f64 x 3)) (*.f64 3/40 (pow.f64 x 5)))) |
(*.f64 (/.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) -1/6) (*.f64 (pow.f64 x 5) 3/40))) 4) 4) |
(+.f64 x (+.f64 (*.f64 -1/6 (pow.f64 x 3)) (*.f64 3/40 (pow.f64 x 5)))) |
(/.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) -1/6) (*.f64 (pow.f64 x 5) 3/40))) 1) |
(+.f64 x (+.f64 (*.f64 -1/6 (pow.f64 x 3)) (*.f64 3/40 (pow.f64 x 5)))) |
(/.f64 (*.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) -1/6) (*.f64 (pow.f64 x 5) 3/40))) 2) 2) |
(+.f64 x (+.f64 (*.f64 -1/6 (pow.f64 x 3)) (*.f64 3/40 (pow.f64 x 5)))) |
(/.f64 (*.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) -1/6) (*.f64 (pow.f64 x 5) 3/40))) 4) 4) |
(+.f64 x (+.f64 (*.f64 -1/6 (pow.f64 x 3)) (*.f64 3/40 (pow.f64 x 5)))) |
(/.f64 (*.f64 2 (*.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) -1/6) (*.f64 (pow.f64 x 5) 3/40))) 4)) 8) |
(+.f64 x (+.f64 (*.f64 -1/6 (pow.f64 x 3)) (*.f64 3/40 (pow.f64 x 5)))) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) -1/6) (*.f64 (pow.f64 x 5) 3/40))) 4))) 16) |
(+.f64 x (+.f64 (*.f64 -1/6 (pow.f64 x 3)) (*.f64 3/40 (pow.f64 x 5)))) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) -1/6) (*.f64 (pow.f64 x 5) 3/40))) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 3) -1/6) (*.f64 (pow.f64 x 5) 3/40))) 4)))) 32) |
(+.f64 x (+.f64 (*.f64 -1/6 (pow.f64 x 3)) (*.f64 3/40 (pow.f64 x 5)))) |
(+.f64 (*.f64 (pow.f64 x 3) -1/6) 0) |
(*.f64 -1/6 (pow.f64 x 3)) |
(+.f64 0 (*.f64 (pow.f64 x 3) -1/6)) |
(*.f64 -1/6 (pow.f64 x 3)) |
(+.f64 (*.f64 (pow.f64 x 3) -1/12) (*.f64 (pow.f64 x 3) -1/12)) |
(*.f64 -1/6 (pow.f64 x 3)) |
(-.f64 (*.f64 (pow.f64 x 3) -1/6) 0) |
(*.f64 -1/6 (pow.f64 x 3)) |
(/.f64 (*.f64 (pow.f64 x 3) -1/6) 1) |
(*.f64 -1/6 (pow.f64 x 3)) |
(/.f64 (*.f64 (pow.f64 x 3) -1/3) 2) |
(*.f64 -1/6 (pow.f64 x 3)) |
(/.f64 (*.f64 (pow.f64 x 3) -2/3) 4) |
(*.f64 -1/6 (pow.f64 x 3)) |
(/.f64 (*.f64 2 (*.f64 (pow.f64 x 3) -2/3)) 8) |
(*.f64 -1/6 (pow.f64 x 3)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) -2/3))) 16) |
(*.f64 -1/6 (pow.f64 x 3)) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) -2/3))) (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) -2/3)))) 32) |
(*.f64 -1/6 (pow.f64 x 3)) |
(+.f64 (*.f64 (pow.f64 x 5) 3/40) 0) |
(*.f64 3/40 (pow.f64 x 5)) |
(+.f64 0 (*.f64 (pow.f64 x 5) 3/40)) |
(*.f64 3/40 (pow.f64 x 5)) |
(+.f64 (*.f64 (pow.f64 x 5) 3/80) (*.f64 (pow.f64 x 5) 3/80)) |
(*.f64 3/40 (pow.f64 x 5)) |
(-.f64 (*.f64 (pow.f64 x 5) 3/40) 0) |
(*.f64 3/40 (pow.f64 x 5)) |
(/.f64 (*.f64 (pow.f64 x 5) 3/40) 1) |
(*.f64 3/40 (pow.f64 x 5)) |
(/.f64 (*.f64 (pow.f64 x 5) 3/20) 2) |
(*.f64 3/40 (pow.f64 x 5)) |
(/.f64 (*.f64 (pow.f64 x 5) 3/10) 4) |
(*.f64 3/40 (pow.f64 x 5)) |
(/.f64 (*.f64 2 (*.f64 (pow.f64 x 5) 3/10)) 8) |
(*.f64 3/40 (pow.f64 x 5)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 5) 3/10))) 16) |
(*.f64 3/40 (pow.f64 x 5)) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 5) 3/10))) (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 5) 3/10)))) 32) |
(*.f64 3/40 (pow.f64 x 5)) |
(-.f64 (+.f64 x (*.f64 (pow.f64 x 3) -1/6)) 0) |
(+.f64 x (*.f64 -1/6 (pow.f64 x 3))) |
(*.f64 (+.f64 x (*.f64 (pow.f64 x 3) -1/6)) 1) |
(+.f64 x (*.f64 -1/6 (pow.f64 x 3))) |
(*.f64 1 (+.f64 x (*.f64 (pow.f64 x 3) -1/6))) |
(+.f64 x (*.f64 -1/6 (pow.f64 x 3))) |
(*.f64 2 (*.f64 (+.f64 x (*.f64 (pow.f64 x 3) -1/6)) 1/2)) |
(+.f64 x (*.f64 -1/6 (pow.f64 x 3))) |
(*.f64 (+.f64 x (+.f64 x (*.f64 (pow.f64 x 3) -1/3))) 1/2) |
(+.f64 x (*.f64 -1/6 (pow.f64 x 3))) |
(*.f64 4 (/.f64 (+.f64 x (*.f64 (pow.f64 x 3) -1/6)) 4)) |
(+.f64 x (*.f64 -1/6 (pow.f64 x 3))) |
(*.f64 (*.f64 (+.f64 x (*.f64 (pow.f64 x 3) -1/6)) 4) 1/4) |
(+.f64 x (*.f64 -1/6 (pow.f64 x 3))) |
(*.f64 1/2 (+.f64 x (+.f64 x (*.f64 (pow.f64 x 3) -1/3)))) |
(+.f64 x (*.f64 -1/6 (pow.f64 x 3))) |
(*.f64 (*.f64 (+.f64 x (*.f64 (pow.f64 x 3) -1/6)) 1/2) 2) |
(+.f64 x (*.f64 -1/6 (pow.f64 x 3))) |
(*.f64 1/4 (*.f64 (+.f64 x (*.f64 (pow.f64 x 3) -1/6)) 4)) |
(+.f64 x (*.f64 -1/6 (pow.f64 x 3))) |
(*.f64 (/.f64 (+.f64 x (*.f64 (pow.f64 x 3) -1/6)) 4) 4) |
(+.f64 x (*.f64 -1/6 (pow.f64 x 3))) |
(/.f64 (+.f64 x (*.f64 (pow.f64 x 3) -1/6)) 1) |
(+.f64 x (*.f64 -1/6 (pow.f64 x 3))) |
(/.f64 (+.f64 x (+.f64 x (*.f64 (pow.f64 x 3) -1/3))) 2) |
(+.f64 x (*.f64 -1/6 (pow.f64 x 3))) |
(/.f64 (*.f64 (+.f64 x (*.f64 (pow.f64 x 3) -1/6)) 4) 4) |
(+.f64 x (*.f64 -1/6 (pow.f64 x 3))) |
(/.f64 (*.f64 2 (*.f64 (+.f64 x (*.f64 (pow.f64 x 3) -1/6)) 4)) 8) |
(+.f64 x (*.f64 -1/6 (pow.f64 x 3))) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 (pow.f64 x 3) -1/6)) 4))) 16) |
(+.f64 x (*.f64 -1/6 (pow.f64 x 3))) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 (pow.f64 x 3) -1/6)) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 (pow.f64 x 3) -1/6)) 4)))) 32) |
(+.f64 x (*.f64 -1/6 (pow.f64 x 3))) |
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 2.8b | (log.f64 (+.f64 x 1)) |
Compiled 10 to 7 computations (30% saved)
3 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | x | @ | -inf | (log.f64 (+.f64 x 1)) |
| 0.0ms | x | @ | 0 | (log.f64 (+.f64 x 1)) |
| 0.0ms | x | @ | inf | (log.f64 (+.f64 x 1)) |
| 1× | batch-egg-rewrite |
| 1672× | bool.json-1 |
| 1672× | bool.json-2 |
| 1630× | rational.json-1 |
| 1630× | rational.json-2 |
| 1126× | rational.json-simplify-35 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 11 |
| 1 | 76 | 11 |
| 2 | 229 | 11 |
| 3 | 455 | 11 |
| 4 | 894 | 11 |
| 5 | 1911 | 11 |
| 6 | 4030 | 11 |
| 7 | 6585 | 11 |
| 1× | node limit |
| Inputs |
|---|
(log.f64 (+.f64 x 1)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (+.f64 x 1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (log.f64 (+.f64 x 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (log.f64 (+.f64 x 1)) 1/2) (*.f64 (log.f64 (+.f64 x 1)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (+.f64 x 1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (log.f64 (+.f64 x 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (log.f64 (+.f64 x 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (log.f64 (+.f64 x 1)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (log.f64 (+.f64 x 1)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (/.f64 (log.f64 (+.f64 x 1)) 4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (*.f64 (log.f64 (+.f64 x 1)) 1/2) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (log.f64 (+.f64 x 1)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (log.f64 (+.f64 x 1)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (log.f64 (+.f64 x 1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (log.f64 (+.f64 x 1)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (log.f64 (+.f64 x 1)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (log.f64 (+.f64 x 1)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (log.f64 (+.f64 x 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (log.f64 (+.f64 x 1)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (log.f64 (+.f64 x 1)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (log.f64 (+.f64 x 1)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (log.f64 (+.f64 x 1)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (log.f64 (+.f64 x 1)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (log.f64 (+.f64 x 1)) 8))) (*.f64 2 (*.f64 2 (*.f64 (log.f64 (+.f64 x 1)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (log.f64 (+.f64 x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x and (log.f64 (+.f64 x 1)) (log.f64 (+.f64 x 1)))))) (#(struct:change #<rule egg-rr> (2) ((x or (log.f64 (+.f64 x 1)) (log.f64 (+.f64 x 1))))))) |
| 1× | egg-herbie |
| 1950× | rational.json-simplify-2 |
| 1804× | rational.json-simplify-35 |
| 1328× | rational.json-simplify-46 |
| 1292× | rational.json-simplify-1 |
| 1042× | rational.json-simplify-49 |
Useful iterations: 18 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 89 | 757 |
| 1 | 184 | 741 |
| 2 | 432 | 741 |
| 3 | 945 | 741 |
| 4 | 1488 | 741 |
| 5 | 2818 | 741 |
| 6 | 3537 | 741 |
| 7 | 3601 | 741 |
| 8 | 3647 | 741 |
| 9 | 3688 | 741 |
| 10 | 3729 | 741 |
| 11 | 3770 | 741 |
| 12 | 3837 | 741 |
| 13 | 3878 | 741 |
| 14 | 3919 | 741 |
| 15 | 3960 | 741 |
| 16 | 4001 | 741 |
| 17 | 4042 | 741 |
| 18 | 4083 | 725 |
| 19 | 4833 | 725 |
| 20 | 5236 | 725 |
| 21 | 5289 | 725 |
| 22 | 5342 | 725 |
| 23 | 5398 | 725 |
| 24 | 5467 | 725 |
| 25 | 5589 | 725 |
| 26 | 5989 | 725 |
| 27 | 7266 | 725 |
| 1× | node limit |
| Inputs |
|---|
x |
(+.f64 (*.f64 -1/2 (pow.f64 x 2)) x) |
(+.f64 (*.f64 -1/2 (pow.f64 x 2)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) x)) |
(+.f64 (*.f64 -1/2 (pow.f64 x 2)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 (*.f64 -1/4 (pow.f64 x 4)) x))) |
(*.f64 -1 (log.f64 (/.f64 1 x))) |
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (/.f64 1 x)) |
(-.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (/.f64 1 x)) (*.f64 1/2 (/.f64 1 (pow.f64 x 2)))) |
(-.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (+.f64 (*.f64 1/3 (/.f64 1 (pow.f64 x 3))) (/.f64 1 x))) (*.f64 1/2 (/.f64 1 (pow.f64 x 2)))) |
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 -1)) |
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (+.f64 (log.f64 -1) (/.f64 1 x))) |
(-.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (+.f64 (log.f64 -1) (/.f64 1 x))) (*.f64 1/2 (/.f64 1 (pow.f64 x 2)))) |
(-.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (+.f64 (log.f64 -1) (+.f64 (*.f64 1/3 (/.f64 1 (pow.f64 x 3))) (/.f64 1 x)))) (*.f64 1/2 (/.f64 1 (pow.f64 x 2)))) |
(+.f64 (log.f64 (+.f64 x 1)) 0) |
(+.f64 0 (log.f64 (+.f64 x 1))) |
(+.f64 (*.f64 (log.f64 (+.f64 x 1)) 1/2) (*.f64 (log.f64 (+.f64 x 1)) 1/2)) |
(-.f64 (log.f64 (+.f64 x 1)) 0) |
(*.f64 1 (log.f64 (+.f64 x 1))) |
(*.f64 (log.f64 (+.f64 x 1)) 1) |
(*.f64 2 (*.f64 (log.f64 (+.f64 x 1)) 1/2)) |
(*.f64 4 (/.f64 (log.f64 (+.f64 x 1)) 4)) |
(*.f64 4 (*.f64 (/.f64 (log.f64 (+.f64 x 1)) 4) 1)) |
(*.f64 4 (*.f64 (*.f64 (log.f64 (+.f64 x 1)) 1/2) 1/2)) |
(*.f64 (*.f64 (log.f64 (+.f64 x 1)) 2) 1/2) |
(*.f64 (*.f64 (log.f64 (+.f64 x 1)) 4) 1/4) |
(*.f64 1/2 (*.f64 (log.f64 (+.f64 x 1)) 2)) |
(*.f64 (*.f64 (log.f64 (+.f64 x 1)) 1/2) 2) |
(*.f64 1/4 (*.f64 (log.f64 (+.f64 x 1)) 4)) |
(*.f64 (/.f64 (log.f64 (+.f64 x 1)) 4) 4) |
(/.f64 (log.f64 (+.f64 x 1)) 1) |
(/.f64 (*.f64 (log.f64 (+.f64 x 1)) 2) 2) |
(/.f64 (*.f64 (log.f64 (+.f64 x 1)) 4) 4) |
(/.f64 (*.f64 (log.f64 (+.f64 x 1)) 8) 8) |
(/.f64 (*.f64 2 (*.f64 (log.f64 (+.f64 x 1)) 8)) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (log.f64 (+.f64 x 1)) 8))) 32) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (log.f64 (+.f64 x 1)) 8))) (*.f64 2 (*.f64 2 (*.f64 (log.f64 (+.f64 x 1)) 8)))) 64) |
| Outputs |
|---|
x |
(+.f64 (*.f64 -1/2 (pow.f64 x 2)) x) |
(+.f64 x (*.f64 -1/2 (pow.f64 x 2))) |
(+.f64 (*.f64 -1/2 (pow.f64 x 2)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) x)) |
(+.f64 (*.f64 -1/2 (pow.f64 x 2)) (+.f64 x (*.f64 1/3 (pow.f64 x 3)))) |
(+.f64 x (+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 -1/2 (pow.f64 x 2)))) |
(+.f64 x (+.f64 (*.f64 -1/2 (pow.f64 x 2)) (*.f64 1/3 (pow.f64 x 3)))) |
(+.f64 (*.f64 -1/2 (pow.f64 x 2)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 (*.f64 -1/4 (pow.f64 x 4)) x))) |
(+.f64 (*.f64 -1/2 (pow.f64 x 2)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 x (*.f64 -1/4 (pow.f64 x 4))))) |
(+.f64 (*.f64 -1/2 (pow.f64 x 2)) (+.f64 x (+.f64 (*.f64 -1/4 (pow.f64 x 4)) (*.f64 1/3 (pow.f64 x 3))))) |
(+.f64 x (+.f64 (+.f64 (*.f64 -1/2 (pow.f64 x 2)) (*.f64 1/3 (pow.f64 x 3))) (*.f64 -1/4 (pow.f64 x 4)))) |
(+.f64 x (+.f64 (*.f64 -1/2 (pow.f64 x 2)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 -1/4 (pow.f64 x 4))))) |
(*.f64 -1 (log.f64 (/.f64 1 x))) |
(neg.f64 (log.f64 (/.f64 1 x))) |
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (/.f64 1 x)) |
(+.f64 (/.f64 1 x) (*.f64 -1 (log.f64 (/.f64 1 x)))) |
(+.f64 (/.f64 1 x) (neg.f64 (log.f64 (/.f64 1 x)))) |
(-.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (/.f64 1 x)) (*.f64 1/2 (/.f64 1 (pow.f64 x 2)))) |
(-.f64 (+.f64 (/.f64 1 x) (*.f64 -1 (log.f64 (/.f64 1 x)))) (*.f64 1/2 (/.f64 1 (pow.f64 x 2)))) |
(+.f64 (/.f64 1 x) (-.f64 (neg.f64 (log.f64 (/.f64 1 x))) (*.f64 1/2 (/.f64 1 (pow.f64 x 2))))) |
(+.f64 (/.f64 1 x) (-.f64 (*.f64 (/.f64 1 (pow.f64 x 2)) -1/2) (log.f64 (/.f64 1 x)))) |
(+.f64 (/.f64 1 x) (-.f64 (*.f64 -1/2 (/.f64 1 (pow.f64 x 2))) (log.f64 (/.f64 1 x)))) |
(-.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (+.f64 (*.f64 1/3 (/.f64 1 (pow.f64 x 3))) (/.f64 1 x))) (*.f64 1/2 (/.f64 1 (pow.f64 x 2)))) |
(+.f64 (+.f64 (/.f64 1 x) (*.f64 1/3 (/.f64 1 (pow.f64 x 3)))) (-.f64 (*.f64 -1 (log.f64 (/.f64 1 x))) (*.f64 1/2 (/.f64 1 (pow.f64 x 2))))) |
(+.f64 (+.f64 (/.f64 1 x) (*.f64 1/3 (/.f64 1 (pow.f64 x 3)))) (-.f64 (neg.f64 (log.f64 (/.f64 1 x))) (*.f64 1/2 (/.f64 1 (pow.f64 x 2))))) |
(+.f64 (/.f64 1 x) (+.f64 (*.f64 1/3 (/.f64 1 (pow.f64 x 3))) (-.f64 (neg.f64 (log.f64 (/.f64 1 x))) (*.f64 1/2 (/.f64 1 (pow.f64 x 2)))))) |
(+.f64 (/.f64 1 x) (+.f64 (*.f64 1/3 (/.f64 1 (pow.f64 x 3))) (-.f64 (*.f64 (/.f64 1 (pow.f64 x 2)) -1/2) (log.f64 (/.f64 1 x))))) |
(+.f64 (/.f64 1 x) (+.f64 (*.f64 1/3 (/.f64 1 (pow.f64 x 3))) (-.f64 (*.f64 -1/2 (/.f64 1 (pow.f64 x 2))) (log.f64 (/.f64 1 x))))) |
(+.f64 (+.f64 (/.f64 1 x) (*.f64 1/3 (/.f64 1 (pow.f64 x 3)))) (-.f64 (*.f64 -1/2 (/.f64 1 (pow.f64 x 2))) (log.f64 (/.f64 1 x)))) |
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 -1)) |
(+.f64 (neg.f64 (log.f64 (/.f64 -1 x))) (log.f64 -1)) |
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (+.f64 (log.f64 -1) (/.f64 1 x))) |
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (+.f64 (/.f64 1 x) (log.f64 -1))) |
(+.f64 (/.f64 1 x) (+.f64 (neg.f64 (log.f64 (/.f64 -1 x))) (log.f64 -1))) |
(+.f64 (neg.f64 (log.f64 (/.f64 -1 x))) (+.f64 (/.f64 1 x) (log.f64 -1))) |
(-.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (+.f64 (log.f64 -1) (/.f64 1 x))) (*.f64 1/2 (/.f64 1 (pow.f64 x 2)))) |
(+.f64 (+.f64 (/.f64 1 x) (log.f64 -1)) (-.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (*.f64 1/2 (/.f64 1 (pow.f64 x 2))))) |
(+.f64 (+.f64 (/.f64 1 x) (neg.f64 (log.f64 (/.f64 -1 x)))) (-.f64 (log.f64 -1) (*.f64 1/2 (/.f64 1 (pow.f64 x 2))))) |
(-.f64 (+.f64 (neg.f64 (log.f64 (/.f64 -1 x))) (+.f64 (/.f64 1 x) (log.f64 -1))) (*.f64 1/2 (/.f64 1 (pow.f64 x 2)))) |
(+.f64 (/.f64 1 x) (-.f64 (+.f64 (neg.f64 (log.f64 (/.f64 -1 x))) (log.f64 -1)) (*.f64 1/2 (/.f64 1 (pow.f64 x 2))))) |
(+.f64 (log.f64 -1) (+.f64 (/.f64 1 x) (-.f64 (*.f64 (/.f64 1 (pow.f64 x 2)) -1/2) (log.f64 (/.f64 -1 x))))) |
(+.f64 (log.f64 -1) (+.f64 (/.f64 1 x) (-.f64 (*.f64 -1/2 (/.f64 1 (pow.f64 x 2))) (log.f64 (/.f64 -1 x))))) |
(+.f64 (+.f64 (/.f64 1 x) (log.f64 -1)) (-.f64 (*.f64 -1/2 (/.f64 1 (pow.f64 x 2))) (log.f64 (/.f64 -1 x)))) |
(-.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (+.f64 (log.f64 -1) (+.f64 (*.f64 1/3 (/.f64 1 (pow.f64 x 3))) (/.f64 1 x)))) (*.f64 1/2 (/.f64 1 (pow.f64 x 2)))) |
(+.f64 (+.f64 (*.f64 1/3 (/.f64 1 (pow.f64 x 3))) (+.f64 (/.f64 1 x) (log.f64 -1))) (-.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (*.f64 1/2 (/.f64 1 (pow.f64 x 2))))) |
(+.f64 (+.f64 (/.f64 1 x) (+.f64 (log.f64 -1) (*.f64 1/3 (/.f64 1 (pow.f64 x 3))))) (-.f64 (neg.f64 (log.f64 (/.f64 -1 x))) (*.f64 1/2 (/.f64 1 (pow.f64 x 2))))) |
(+.f64 (/.f64 1 x) (+.f64 (+.f64 (*.f64 1/3 (/.f64 1 (pow.f64 x 3))) (log.f64 -1)) (-.f64 (neg.f64 (log.f64 (/.f64 -1 x))) (*.f64 1/2 (/.f64 1 (pow.f64 x 2)))))) |
(+.f64 (/.f64 1 x) (+.f64 (-.f64 (neg.f64 (log.f64 (/.f64 -1 x))) (*.f64 1/2 (/.f64 1 (pow.f64 x 2)))) (+.f64 (*.f64 1/3 (/.f64 1 (pow.f64 x 3))) (log.f64 -1)))) |
(+.f64 (/.f64 1 x) (+.f64 (neg.f64 (log.f64 (/.f64 -1 x))) (-.f64 (+.f64 (*.f64 1/3 (/.f64 1 (pow.f64 x 3))) (log.f64 -1)) (*.f64 1/2 (/.f64 1 (pow.f64 x 2)))))) |
(+.f64 (log.f64 -1) (+.f64 (/.f64 1 x) (+.f64 (*.f64 1/3 (/.f64 1 (pow.f64 x 3))) (-.f64 (*.f64 (/.f64 1 (pow.f64 x 2)) -1/2) (log.f64 (/.f64 -1 x)))))) |
(+.f64 (log.f64 -1) (+.f64 (/.f64 1 x) (+.f64 (*.f64 1/3 (/.f64 1 (pow.f64 x 3))) (-.f64 (*.f64 -1/2 (/.f64 1 (pow.f64 x 2))) (log.f64 (/.f64 -1 x)))))) |
(+.f64 (log.f64 -1) (+.f64 (+.f64 (/.f64 1 x) (*.f64 1/3 (/.f64 1 (pow.f64 x 3)))) (-.f64 (*.f64 -1/2 (/.f64 1 (pow.f64 x 2))) (log.f64 (/.f64 -1 x))))) |
(+.f64 (log.f64 (+.f64 x 1)) 0) |
(log.f64 (+.f64 x 1)) |
(+.f64 0 (log.f64 (+.f64 x 1))) |
(log.f64 (+.f64 x 1)) |
(+.f64 (*.f64 (log.f64 (+.f64 x 1)) 1/2) (*.f64 (log.f64 (+.f64 x 1)) 1/2)) |
(log.f64 (+.f64 x 1)) |
(-.f64 (log.f64 (+.f64 x 1)) 0) |
(log.f64 (+.f64 x 1)) |
(*.f64 1 (log.f64 (+.f64 x 1))) |
(log.f64 (+.f64 x 1)) |
(*.f64 (log.f64 (+.f64 x 1)) 1) |
(log.f64 (+.f64 x 1)) |
(*.f64 2 (*.f64 (log.f64 (+.f64 x 1)) 1/2)) |
(log.f64 (+.f64 x 1)) |
(*.f64 4 (/.f64 (log.f64 (+.f64 x 1)) 4)) |
(log.f64 (+.f64 x 1)) |
(*.f64 4 (*.f64 (/.f64 (log.f64 (+.f64 x 1)) 4) 1)) |
(log.f64 (+.f64 x 1)) |
(*.f64 4 (*.f64 (*.f64 (log.f64 (+.f64 x 1)) 1/2) 1/2)) |
(log.f64 (+.f64 x 1)) |
(*.f64 (*.f64 (log.f64 (+.f64 x 1)) 2) 1/2) |
(log.f64 (+.f64 x 1)) |
(*.f64 (*.f64 (log.f64 (+.f64 x 1)) 4) 1/4) |
(log.f64 (+.f64 x 1)) |
(*.f64 1/2 (*.f64 (log.f64 (+.f64 x 1)) 2)) |
(log.f64 (+.f64 x 1)) |
(*.f64 (*.f64 (log.f64 (+.f64 x 1)) 1/2) 2) |
(log.f64 (+.f64 x 1)) |
(*.f64 1/4 (*.f64 (log.f64 (+.f64 x 1)) 4)) |
(log.f64 (+.f64 x 1)) |
(*.f64 (/.f64 (log.f64 (+.f64 x 1)) 4) 4) |
(log.f64 (+.f64 x 1)) |
(/.f64 (log.f64 (+.f64 x 1)) 1) |
(log.f64 (+.f64 x 1)) |
(/.f64 (*.f64 (log.f64 (+.f64 x 1)) 2) 2) |
(log.f64 (+.f64 x 1)) |
(/.f64 (*.f64 (log.f64 (+.f64 x 1)) 4) 4) |
(log.f64 (+.f64 x 1)) |
(/.f64 (*.f64 (log.f64 (+.f64 x 1)) 8) 8) |
(log.f64 (+.f64 x 1)) |
(/.f64 (*.f64 2 (*.f64 (log.f64 (+.f64 x 1)) 8)) 16) |
(log.f64 (+.f64 x 1)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (log.f64 (+.f64 x 1)) 8))) 32) |
(log.f64 (+.f64 x 1)) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (log.f64 (+.f64 x 1)) 8))) (*.f64 2 (*.f64 2 (*.f64 (log.f64 (+.f64 x 1)) 8)))) 64) |
(log.f64 (+.f64 x 1)) |
Compiled 9 to 3 computations (66.7% saved)
Compiled 10 to 7 computations (30% saved)
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x) |
| ✓ | 0.1b | (*.f64 -1/6 (pow.f64 x 3)) |
Compiled 19 to 14 computations (26.3% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | x | @ | 0 | (*.f64 -1/6 (pow.f64 x 3)) |
| 0.0ms | x | @ | inf | (*.f64 -1/6 (pow.f64 x 3)) |
| 0.0ms | x | @ | inf | (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x) |
| 0.0ms | x | @ | 0 | (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x) |
| 0.0ms | x | @ | -inf | (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x) |
| 1× | batch-egg-rewrite |
| 1728× | bool.json-1 |
| 1728× | bool.json-2 |
| 1672× | rational.json-1 |
| 1146× | rational.json-simplify-35 |
| 1082× | rational.json-2 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 32 |
| 1 | 79 | 32 |
| 2 | 208 | 32 |
| 3 | 422 | 32 |
| 4 | 866 | 32 |
| 5 | 1868 | 32 |
| 6 | 4221 | 32 |
| 7 | 7011 | 32 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 -1/6 (pow.f64 x 3)) |
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) x) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -1/6 (pow.f64 x 3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 -1/6 (pow.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 x 3) -1/12) (*.f64 (pow.f64 x 3) -1/12))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 -1/6 (pow.f64 x 3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1/6 (pow.f64 x 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 x 3) -1/3) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 x 3) -2/3) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 x 3) -4/3) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (pow.f64 x 3) -4/3)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) -4/3))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) -4/3))) (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) -4/3)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 -1/6 (pow.f64 x 3))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 -1/6 (pow.f64 x 3)) (*.f64 -1/6 (pow.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 -1/6 (pow.f64 x 3)) (*.f64 -1/6 (pow.f64 x 3))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x (*.f64 -1/6 (pow.f64 x 3))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (*.f64 -1/6 (pow.f64 x 3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 x (*.f64 -1/6 (pow.f64 x 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 x (*.f64 -1/6 (pow.f64 x 3))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 (pow.f64 x 3) -1/12) (*.f64 x 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (+.f64 x (*.f64 (pow.f64 x 3) -1/3))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (+.f64 x (*.f64 -1/6 (pow.f64 x 3))) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (*.f64 -1/6 (pow.f64 x 3))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (*.f64 -1/6 (pow.f64 x 3))) 8) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 x (+.f64 x (*.f64 (pow.f64 x 3) -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (pow.f64 x 3) -1/3) (+.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (*.f64 -1/6 (pow.f64 x 3))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 x (*.f64 -1/6 (pow.f64 x 3))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (*.f64 -1/6 (pow.f64 x 3))) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (*.f64 -1/6 (pow.f64 x 3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (+.f64 x (*.f64 (pow.f64 x 3) -1/3))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (*.f64 -1/6 (pow.f64 x 3))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (*.f64 -1/6 (pow.f64 x 3))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 x (*.f64 -1/6 (pow.f64 x 3))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 -1/6 (pow.f64 x 3))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 -1/6 (pow.f64 x 3))) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 -1/6 (pow.f64 x 3))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 x (*.f64 -1/6 (pow.f64 x 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 x (*.f64 -1/6 (pow.f64 x 3))) (+.f64 x (*.f64 -1/6 (pow.f64 x 3))))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 x (*.f64 -1/6 (pow.f64 x 3))) (+.f64 x (*.f64 -1/6 (pow.f64 x 3)))))))) |
| 1× | egg-herbie |
| 3318× | rational.json-simplify-35 |
| 2756× | rational.json-simplify-2 |
| 2640× | rational.json-simplify-51 |
| 1358× | rational.json-simplify-49 |
| 1120× | rational.json-simplify-1 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 75 | 581 |
| 1 | 156 | 581 |
| 2 | 387 | 581 |
| 3 | 1072 | 581 |
| 4 | 2119 | 581 |
| 5 | 2759 | 581 |
| 6 | 2876 | 581 |
| 7 | 2962 | 581 |
| 8 | 3027 | 581 |
| 9 | 3091 | 581 |
| 10 | 3155 | 581 |
| 11 | 3220 | 581 |
| 12 | 3285 | 581 |
| 13 | 3350 | 581 |
| 14 | 3415 | 581 |
| 15 | 3480 | 581 |
| 16 | 3545 | 581 |
| 17 | 3610 | 581 |
| 18 | 3675 | 581 |
| 19 | 4646 | 581 |
| 20 | 6454 | 581 |
| 21 | 6542 | 581 |
| 22 | 6550 | 581 |
| 23 | 6550 | 581 |
| 24 | 6550 | 581 |
| 25 | 6580 | 581 |
| 26 | 6647 | 581 |
| 27 | 6710 | 581 |
| 28 | 6772 | 581 |
| 29 | 6834 | 581 |
| 30 | 6896 | 581 |
| 31 | 6958 | 581 |
| 32 | 7020 | 581 |
| 33 | 7082 | 581 |
| 34 | 7144 | 581 |
| 1× | node limit |
| Inputs |
|---|
x |
(*.f64 -1/6 (pow.f64 x 3)) |
(*.f64 -1/6 (pow.f64 x 3)) |
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) 0) |
(+.f64 0 (*.f64 -1/6 (pow.f64 x 3))) |
(+.f64 (*.f64 (pow.f64 x 3) -1/12) (*.f64 (pow.f64 x 3) -1/12)) |
(-.f64 (*.f64 -1/6 (pow.f64 x 3)) 0) |
(/.f64 (*.f64 -1/6 (pow.f64 x 3)) 1) |
(/.f64 (*.f64 (pow.f64 x 3) -1/3) 2) |
(/.f64 (*.f64 (pow.f64 x 3) -2/3) 4) |
(/.f64 (*.f64 (pow.f64 x 3) -4/3) 8) |
(/.f64 (*.f64 2 (*.f64 (pow.f64 x 3) -4/3)) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) -4/3))) 32) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) -4/3))) (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) -4/3)))) 64) |
(-.f64 (+.f64 x (*.f64 -1/6 (pow.f64 x 3))) 0) |
(*.f64 (+.f64 x (*.f64 -1/6 (pow.f64 x 3))) 1) |
(*.f64 1 (+.f64 x (*.f64 -1/6 (pow.f64 x 3)))) |
(*.f64 2 (*.f64 (+.f64 x (*.f64 -1/6 (pow.f64 x 3))) 1/2)) |
(*.f64 2 (+.f64 (*.f64 (pow.f64 x 3) -1/12) (*.f64 x 1/2))) |
(*.f64 (+.f64 x (+.f64 x (*.f64 (pow.f64 x 3) -1/3))) 1/2) |
(*.f64 4 (*.f64 (+.f64 x (*.f64 -1/6 (pow.f64 x 3))) 1/4)) |
(*.f64 (*.f64 (+.f64 x (*.f64 -1/6 (pow.f64 x 3))) 4) 1/4) |
(*.f64 (*.f64 (+.f64 x (*.f64 -1/6 (pow.f64 x 3))) 8) 1/8) |
(*.f64 1/2 (+.f64 x (+.f64 x (*.f64 (pow.f64 x 3) -1/3)))) |
(*.f64 1/2 (+.f64 (*.f64 (pow.f64 x 3) -1/3) (+.f64 x x))) |
(*.f64 (*.f64 (+.f64 x (*.f64 -1/6 (pow.f64 x 3))) 1/2) 2) |
(*.f64 1/4 (*.f64 (+.f64 x (*.f64 -1/6 (pow.f64 x 3))) 4)) |
(*.f64 (*.f64 (+.f64 x (*.f64 -1/6 (pow.f64 x 3))) 1/4) 4) |
(/.f64 (+.f64 x (*.f64 -1/6 (pow.f64 x 3))) 1) |
(/.f64 (+.f64 x (+.f64 x (*.f64 (pow.f64 x 3) -1/3))) 2) |
(/.f64 (*.f64 (+.f64 x (*.f64 -1/6 (pow.f64 x 3))) 4) 4) |
(/.f64 (*.f64 (+.f64 x (*.f64 -1/6 (pow.f64 x 3))) 8) 8) |
(/.f64 (*.f64 2 (*.f64 (+.f64 x (*.f64 -1/6 (pow.f64 x 3))) 8)) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 -1/6 (pow.f64 x 3))) 8))) 32) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 -1/6 (pow.f64 x 3))) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 -1/6 (pow.f64 x 3))) 8)))) 64) |
| Outputs |
|---|
x |
(*.f64 -1/6 (pow.f64 x 3)) |
(*.f64 -1/6 (pow.f64 x 3)) |
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) 0) |
(*.f64 -1/6 (pow.f64 x 3)) |
(+.f64 0 (*.f64 -1/6 (pow.f64 x 3))) |
(*.f64 -1/6 (pow.f64 x 3)) |
(+.f64 (*.f64 (pow.f64 x 3) -1/12) (*.f64 (pow.f64 x 3) -1/12)) |
(*.f64 -1/6 (pow.f64 x 3)) |
(-.f64 (*.f64 -1/6 (pow.f64 x 3)) 0) |
(*.f64 -1/6 (pow.f64 x 3)) |
(/.f64 (*.f64 -1/6 (pow.f64 x 3)) 1) |
(*.f64 -1/6 (pow.f64 x 3)) |
(/.f64 (*.f64 (pow.f64 x 3) -1/3) 2) |
(*.f64 -1/6 (pow.f64 x 3)) |
(/.f64 (*.f64 (pow.f64 x 3) -2/3) 4) |
(*.f64 -1/6 (pow.f64 x 3)) |
(/.f64 (*.f64 (pow.f64 x 3) -4/3) 8) |
(*.f64 -1/6 (pow.f64 x 3)) |
(/.f64 (*.f64 2 (*.f64 (pow.f64 x 3) -4/3)) 16) |
(*.f64 -1/6 (pow.f64 x 3)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) -4/3))) 32) |
(*.f64 -1/6 (pow.f64 x 3)) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) -4/3))) (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 3) -4/3)))) 64) |
(*.f64 -1/6 (pow.f64 x 3)) |
(-.f64 (+.f64 x (*.f64 -1/6 (pow.f64 x 3))) 0) |
(+.f64 x (*.f64 -1/6 (pow.f64 x 3))) |
(*.f64 (+.f64 x (*.f64 -1/6 (pow.f64 x 3))) 1) |
(+.f64 x (*.f64 -1/6 (pow.f64 x 3))) |
(*.f64 1 (+.f64 x (*.f64 -1/6 (pow.f64 x 3)))) |
(+.f64 x (*.f64 -1/6 (pow.f64 x 3))) |
(*.f64 2 (*.f64 (+.f64 x (*.f64 -1/6 (pow.f64 x 3))) 1/2)) |
(+.f64 x (*.f64 -1/6 (pow.f64 x 3))) |
(*.f64 2 (+.f64 (*.f64 (pow.f64 x 3) -1/12) (*.f64 x 1/2))) |
(*.f64 (+.f64 x (+.f64 x (*.f64 (pow.f64 x 3) -1/3))) 1/2) |
(+.f64 x (*.f64 -1/6 (pow.f64 x 3))) |
(*.f64 4 (*.f64 (+.f64 x (*.f64 -1/6 (pow.f64 x 3))) 1/4)) |
(+.f64 x (*.f64 -1/6 (pow.f64 x 3))) |
(*.f64 (*.f64 (+.f64 x (*.f64 -1/6 (pow.f64 x 3))) 4) 1/4) |
(+.f64 x (*.f64 -1/6 (pow.f64 x 3))) |
(*.f64 (*.f64 (+.f64 x (*.f64 -1/6 (pow.f64 x 3))) 8) 1/8) |
(+.f64 x (*.f64 -1/6 (pow.f64 x 3))) |
(*.f64 1/2 (+.f64 x (+.f64 x (*.f64 (pow.f64 x 3) -1/3)))) |
(+.f64 x (*.f64 -1/6 (pow.f64 x 3))) |
(*.f64 1/2 (+.f64 (*.f64 (pow.f64 x 3) -1/3) (+.f64 x x))) |
(+.f64 x (*.f64 -1/6 (pow.f64 x 3))) |
(*.f64 (*.f64 (+.f64 x (*.f64 -1/6 (pow.f64 x 3))) 1/2) 2) |
(+.f64 x (*.f64 -1/6 (pow.f64 x 3))) |
(*.f64 1/4 (*.f64 (+.f64 x (*.f64 -1/6 (pow.f64 x 3))) 4)) |
(+.f64 x (*.f64 -1/6 (pow.f64 x 3))) |
(*.f64 (*.f64 (+.f64 x (*.f64 -1/6 (pow.f64 x 3))) 1/4) 4) |
(+.f64 x (*.f64 -1/6 (pow.f64 x 3))) |
(/.f64 (+.f64 x (*.f64 -1/6 (pow.f64 x 3))) 1) |
(+.f64 x (*.f64 -1/6 (pow.f64 x 3))) |
(/.f64 (+.f64 x (+.f64 x (*.f64 (pow.f64 x 3) -1/3))) 2) |
(+.f64 x (*.f64 -1/6 (pow.f64 x 3))) |
(/.f64 (*.f64 (+.f64 x (*.f64 -1/6 (pow.f64 x 3))) 4) 4) |
(+.f64 x (*.f64 -1/6 (pow.f64 x 3))) |
(/.f64 (*.f64 (+.f64 x (*.f64 -1/6 (pow.f64 x 3))) 8) 8) |
(+.f64 x (*.f64 -1/6 (pow.f64 x 3))) |
(/.f64 (*.f64 2 (*.f64 (+.f64 x (*.f64 -1/6 (pow.f64 x 3))) 8)) 16) |
(+.f64 x (*.f64 -1/6 (pow.f64 x 3))) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 -1/6 (pow.f64 x 3))) 8))) 32) |
(+.f64 x (*.f64 -1/6 (pow.f64 x 3))) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 -1/6 (pow.f64 x 3))) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 -1/6 (pow.f64 x 3))) 8)))) 64) |
(+.f64 x (*.f64 -1/6 (pow.f64 x 3))) |
Compiled 2562 to 2111 computations (17.6% saved)
8 alts after pruning (3 fresh and 5 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 172 | 1 | 173 |
| Fresh | 0 | 2 | 2 |
| Picked | 0 | 1 | 1 |
| Done | 1 | 4 | 5 |
| Total | 173 | 8 | 181 |
| Status | Error | Program |
|---|---|---|
| ✓ | 28.6b | (+.f64 (+.f64 x (*.f64 (pow.f64 x 3) -1/6)) (*.f64 (pow.f64 x 5) 3/40)) |
| ▶ | 28.8b | (+.f64 (*.f64 (pow.f64 x 3) -1/6) (+.f64 (*.f64 (pow.f64 x 5) 3/40) (+.f64 x (*.f64 -5/112 (pow.f64 x 7))))) |
| ✓ | 28.9b | (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x) |
| ✓ | 48.8b | (log.f64 (/.f64 -1/2 x)) |
| ▶ | 49.3b | (log.f64 (+.f64 (*.f64 2 x) (*.f64 1/2 (/.f64 1 x)))) |
| ✓ | 54.6b | (log.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1)))) |
| ✓ | 49.9b | (log.f64 (+.f64 x x)) |
| 27.9b | x |
Compiled 75 to 57 computations (24% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (*.f64 2 x) (*.f64 1/2 (/.f64 1 x))) |
Compiled 35 to 27 computations (22.9% saved)
3 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | x | @ | 0 | (+.f64 (*.f64 2 x) (*.f64 1/2 (/.f64 1 x))) |
| 0.0ms | x | @ | inf | (+.f64 (*.f64 2 x) (*.f64 1/2 (/.f64 1 x))) |
| 0.0ms | x | @ | -inf | (+.f64 (*.f64 2 x) (*.f64 1/2 (/.f64 1 x))) |
| 1× | batch-egg-rewrite |
| 1238× | rational.json-simplify-35 |
| 1116× | bool.json-1 |
| 1116× | bool.json-2 |
| 1072× | rational.json-1 |
| 1072× | rational.json-2 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 25 |
| 1 | 108 | 25 |
| 2 | 295 | 25 |
| 3 | 575 | 19 |
| 4 | 1253 | 19 |
| 5 | 3414 | 19 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (*.f64 2 x) (*.f64 1/2 (/.f64 1 x))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (+.f64 x x) (/.f64 1/2 x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 x (/.f64 1/4 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 x 1/2) (+.f64 (*.f64 x 1/2) (/.f64 1/4 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (+.f64 2 (/.f64 1/2 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (+.f64 1 (/.f64 2 (*.f64 (*.f64 x x) 8))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (/.f64 1 x) (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (+.f64 x x) (/.f64 1/2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 x) (+.f64 1 (*.f64 x (*.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (+.f64 x x) (/.f64 1/2 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (+.f64 x x) (/.f64 1/2 x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (+.f64 (*.f64 x 1/2) (/.f64 (/.f64 1 x) 8)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (/.f64 1 x) (*.f64 x 4)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 (/.f64 1 x) (*.f64 x 4))) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 1/2) (+.f64 (/.f64 (/.f64 1 x) x) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 1/2) (+.f64 4 (/.f64 (/.f64 1 x) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 2 (+.f64 (/.f64 1 x) (*.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (+.f64 (*.f64 x 8) (/.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (/.f64 1/4 x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (*.f64 x (*.f64 x 4))) (/.f64 1/2 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (+.f64 x x) (/.f64 1/2 x)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (+.f64 x x) (/.f64 1/2 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 1 x) (*.f64 x 4)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 (/.f64 1 x) (*.f64 x 4))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (+.f64 x x) (/.f64 1/2 x)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (+.f64 x x) (/.f64 1/2 x)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (+.f64 x x) (/.f64 1/2 x)) 8)) (*.f64 2 (*.f64 (+.f64 (+.f64 x x) (/.f64 1/2 x)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (+.f64 x x) (/.f64 1/2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (+.f64 x x) (/.f64 1/2 x)) (+.f64 (+.f64 x x) (/.f64 1/2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (+.f64 x x) (/.f64 1/2 x)) (+.f64 (+.f64 x x) (/.f64 1/2 x))))))) |
| 1× | egg-herbie |
| 1492× | rational.json-simplify-35 |
| 1246× | rational.json-simplify-46 |
| 1212× | rational.json-simplify-53 |
| 1016× | rational.json-simplify-41 |
| 744× | rational.json-simplify-2 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 71 | 635 |
| 1 | 151 | 629 |
| 2 | 274 | 629 |
| 3 | 714 | 629 |
| 4 | 2381 | 629 |
| 5 | 6147 | 629 |
| 1× | node limit |
| Inputs |
|---|
(/.f64 1/2 x) |
(*.f64 2 x) |
(*.f64 2 x) |
(-.f64 (+.f64 (+.f64 x x) (/.f64 1/2 x)) 0) |
(*.f64 2 (+.f64 x (/.f64 1/4 x))) |
(*.f64 2 (+.f64 (*.f64 x 1/2) (+.f64 (*.f64 x 1/2) (/.f64 1/4 x)))) |
(*.f64 x (+.f64 2 (/.f64 1/2 (*.f64 x x)))) |
(*.f64 (+.f64 x x) (+.f64 1 (/.f64 2 (*.f64 (*.f64 x x) 8)))) |
(*.f64 1/2 (+.f64 (/.f64 1 x) (*.f64 x 4))) |
(*.f64 1 (+.f64 (+.f64 x x) (/.f64 1/2 x))) |
(*.f64 (/.f64 1/2 x) (+.f64 1 (*.f64 x (*.f64 x 4)))) |
(*.f64 (+.f64 (+.f64 x x) (/.f64 1/2 x)) 1) |
(*.f64 4 (/.f64 (+.f64 (+.f64 x x) (/.f64 1/2 x)) 4)) |
(*.f64 4 (+.f64 (*.f64 x 1/2) (/.f64 (/.f64 1 x) 8))) |
(*.f64 (+.f64 (/.f64 1 x) (*.f64 x 4)) 1/2) |
(*.f64 (*.f64 2 (+.f64 (/.f64 1 x) (*.f64 x 4))) 1/4) |
(*.f64 (*.f64 x 1/2) (+.f64 (/.f64 (/.f64 1 x) x) 4)) |
(*.f64 (*.f64 x 1/2) (+.f64 4 (/.f64 (/.f64 1 x) x))) |
(*.f64 1/4 (*.f64 2 (+.f64 (/.f64 1 x) (*.f64 x 4)))) |
(*.f64 1/4 (+.f64 (*.f64 x 8) (/.f64 2 x))) |
(*.f64 (+.f64 x (/.f64 1/4 x)) 2) |
(*.f64 (+.f64 1 (*.f64 x (*.f64 x 4))) (/.f64 1/2 x)) |
(*.f64 (/.f64 (+.f64 (+.f64 x x) (/.f64 1/2 x)) 4) 4) |
(/.f64 (+.f64 (+.f64 x x) (/.f64 1/2 x)) 1) |
(/.f64 (+.f64 (/.f64 1 x) (*.f64 x 4)) 2) |
(/.f64 (*.f64 2 (+.f64 (/.f64 1 x) (*.f64 x 4))) 4) |
(/.f64 (*.f64 (+.f64 (+.f64 x x) (/.f64 1/2 x)) 8) 8) |
(/.f64 (*.f64 2 (*.f64 (+.f64 (+.f64 x x) (/.f64 1/2 x)) 8)) 16) |
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (+.f64 x x) (/.f64 1/2 x)) 8)) (*.f64 2 (*.f64 (+.f64 (+.f64 x x) (/.f64 1/2 x)) 8))) 32) |
| Outputs |
|---|
(/.f64 1/2 x) |
(*.f64 2 x) |
(*.f64 x 2) |
(+.f64 x x) |
(*.f64 2 x) |
(*.f64 x 2) |
(+.f64 x x) |
(-.f64 (+.f64 (+.f64 x x) (/.f64 1/2 x)) 0) |
(+.f64 (/.f64 1/2 x) (+.f64 x x)) |
(+.f64 x (+.f64 x (/.f64 1/2 x))) |
(*.f64 2 (+.f64 x (/.f64 1/4 x))) |
(*.f64 2 (+.f64 (*.f64 x 1/2) (+.f64 (*.f64 x 1/2) (/.f64 1/4 x)))) |
(*.f64 2 (+.f64 x (/.f64 1/4 x))) |
(*.f64 x (+.f64 2 (/.f64 1/2 (*.f64 x x)))) |
(*.f64 (+.f64 x x) (+.f64 1 (/.f64 2 (*.f64 (*.f64 x x) 8)))) |
(*.f64 (+.f64 x x) (+.f64 1 (/.f64 1/4 (*.f64 x x)))) |
(*.f64 1/2 (+.f64 (/.f64 1 x) (*.f64 x 4))) |
(*.f64 1 (+.f64 (+.f64 x x) (/.f64 1/2 x))) |
(+.f64 (/.f64 1/2 x) (+.f64 x x)) |
(+.f64 x (+.f64 x (/.f64 1/2 x))) |
(*.f64 (/.f64 1/2 x) (+.f64 1 (*.f64 x (*.f64 x 4)))) |
(*.f64 (+.f64 (+.f64 x x) (/.f64 1/2 x)) 1) |
(+.f64 (/.f64 1/2 x) (+.f64 x x)) |
(+.f64 x (+.f64 x (/.f64 1/2 x))) |
(*.f64 4 (/.f64 (+.f64 (+.f64 x x) (/.f64 1/2 x)) 4)) |
(+.f64 (/.f64 1/2 x) (+.f64 x x)) |
(+.f64 x (+.f64 x (/.f64 1/2 x))) |
(*.f64 4 (+.f64 (*.f64 x 1/2) (/.f64 (/.f64 1 x) 8))) |
(*.f64 4 (+.f64 (*.f64 1/2 x) (/.f64 1/8 x))) |
(*.f64 (+.f64 (/.f64 1 x) (*.f64 x 4)) 1/2) |
(*.f64 1/2 (+.f64 (/.f64 1 x) (*.f64 x 4))) |
(*.f64 (*.f64 2 (+.f64 (/.f64 1 x) (*.f64 x 4))) 1/4) |
(*.f64 1/2 (+.f64 (/.f64 1 x) (*.f64 x 4))) |
(*.f64 (*.f64 x 1/2) (+.f64 (/.f64 (/.f64 1 x) x) 4)) |
(*.f64 (*.f64 1/2 x) (+.f64 4 (/.f64 1 (*.f64 x x)))) |
(*.f64 1/2 (*.f64 x (+.f64 4 (/.f64 1 (*.f64 x x))))) |
(*.f64 x (*.f64 1/2 (+.f64 4 (/.f64 1 (*.f64 x x))))) |
(*.f64 1/2 (*.f64 x (+.f64 4 (/.f64 (/.f64 1 x) x)))) |
(*.f64 (*.f64 x 1/2) (+.f64 4 (/.f64 (/.f64 1 x) x))) |
(*.f64 (*.f64 1/2 x) (+.f64 4 (/.f64 1 (*.f64 x x)))) |
(*.f64 1/2 (*.f64 x (+.f64 4 (/.f64 1 (*.f64 x x))))) |
(*.f64 x (*.f64 1/2 (+.f64 4 (/.f64 1 (*.f64 x x))))) |
(*.f64 1/2 (*.f64 x (+.f64 4 (/.f64 (/.f64 1 x) x)))) |
(*.f64 1/4 (*.f64 2 (+.f64 (/.f64 1 x) (*.f64 x 4)))) |
(*.f64 1/2 (+.f64 (/.f64 1 x) (*.f64 x 4))) |
(*.f64 1/4 (+.f64 (*.f64 x 8) (/.f64 2 x))) |
(*.f64 (+.f64 x (/.f64 1/4 x)) 2) |
(*.f64 2 (+.f64 x (/.f64 1/4 x))) |
(*.f64 (+.f64 1 (*.f64 x (*.f64 x 4))) (/.f64 1/2 x)) |
(*.f64 (/.f64 1/2 x) (+.f64 1 (*.f64 x (*.f64 x 4)))) |
(*.f64 (/.f64 (+.f64 (+.f64 x x) (/.f64 1/2 x)) 4) 4) |
(+.f64 (/.f64 1/2 x) (+.f64 x x)) |
(+.f64 x (+.f64 x (/.f64 1/2 x))) |
(/.f64 (+.f64 (+.f64 x x) (/.f64 1/2 x)) 1) |
(+.f64 (/.f64 1/2 x) (+.f64 x x)) |
(+.f64 x (+.f64 x (/.f64 1/2 x))) |
(/.f64 (+.f64 (/.f64 1 x) (*.f64 x 4)) 2) |
(/.f64 (*.f64 2 (+.f64 (/.f64 1 x) (*.f64 x 4))) 4) |
(*.f64 1/2 (+.f64 (/.f64 1 x) (*.f64 x 4))) |
(/.f64 (*.f64 (+.f64 (+.f64 x x) (/.f64 1/2 x)) 8) 8) |
(+.f64 (/.f64 1/2 x) (+.f64 x x)) |
(+.f64 x (+.f64 x (/.f64 1/2 x))) |
(/.f64 (*.f64 2 (*.f64 (+.f64 (+.f64 x x) (/.f64 1/2 x)) 8)) 16) |
(+.f64 (/.f64 1/2 x) (+.f64 x x)) |
(+.f64 x (+.f64 x (/.f64 1/2 x))) |
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (+.f64 x x) (/.f64 1/2 x)) 8)) (*.f64 2 (*.f64 (+.f64 (+.f64 x x) (/.f64 1/2 x)) 8))) 32) |
(+.f64 (/.f64 1/2 x) (+.f64 x x)) |
(+.f64 x (+.f64 x (/.f64 1/2 x))) |
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| 0.1b | (*.f64 (pow.f64 x 5) 3/40) | |
| 0.1b | (*.f64 (pow.f64 x 3) -1/6) | |
| ✓ | 0.2b | (*.f64 -5/112 (pow.f64 x 7)) |
| ✓ | 22.0b | (+.f64 (*.f64 (pow.f64 x 5) 3/40) (+.f64 x (*.f64 -5/112 (pow.f64 x 7)))) |
Compiled 71 to 55 computations (22.5% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | x | @ | inf | (+.f64 (*.f64 (pow.f64 x 5) 3/40) (+.f64 x (*.f64 -5/112 (pow.f64 x 7)))) |
| 0.0ms | x | @ | 0 | (*.f64 -5/112 (pow.f64 x 7)) |
| 0.0ms | x | @ | inf | (*.f64 -5/112 (pow.f64 x 7)) |
| 0.0ms | x | @ | -inf | (*.f64 -5/112 (pow.f64 x 7)) |
| 0.0ms | x | @ | 0 | (+.f64 (*.f64 (pow.f64 x 5) 3/40) (+.f64 x (*.f64 -5/112 (pow.f64 x 7)))) |
| 1× | batch-egg-rewrite |
| 1672× | bool.json-1 |
| 1672× | bool.json-2 |
| 1620× | rational.json-1 |
| 1620× | rational.json-2 |
| 992× | bool.json-3 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 13 | 50 |
| 1 | 128 | 50 |
| 2 | 314 | 50 |
| 3 | 629 | 50 |
| 4 | 1366 | 50 |
| 5 | 3222 | 50 |
| 6 | 6504 | 50 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (*.f64 (pow.f64 x 5) 3/40) (+.f64 x (*.f64 -5/112 (pow.f64 x 7)))) |
(*.f64 -5/112 (pow.f64 x 7)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 5) 3/40) (*.f64 -5/112 (pow.f64 x 7)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 5) 3/40) (*.f64 -5/112 (pow.f64 x 7)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 x (+.f64 (*.f64 (pow.f64 x 5) 3/40) (*.f64 -5/112 (pow.f64 x 7)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 5) 3/40) (*.f64 -5/112 (pow.f64 x 7)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 5) 3/40) (*.f64 -5/112 (pow.f64 x 7)))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 5) 3/40) (*.f64 -5/112 (pow.f64 x 7)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 5) 3/40) (*.f64 -5/112 (pow.f64 x 7)))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 5) 3/40) (*.f64 -5/112 (pow.f64 x 7)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 5) 3/40) (*.f64 -5/112 (pow.f64 x 7)))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 5) 3/40) (*.f64 -5/112 (pow.f64 x 7)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 5) 3/40) (*.f64 -5/112 (pow.f64 x 7)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 5) 3/40) (*.f64 -5/112 (pow.f64 x 7)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 5) 3/40) (*.f64 -5/112 (pow.f64 x 7)))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 5) 3/40) (*.f64 -5/112 (pow.f64 x 7)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 5) 3/40) (*.f64 -5/112 (pow.f64 x 7)))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 5) 3/40) (*.f64 -5/112 (pow.f64 x 7)))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 5) 3/40) (*.f64 -5/112 (pow.f64 x 7)))) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 5) 3/40) (*.f64 -5/112 (pow.f64 x 7)))) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 x (+.f64 (*.f64 (pow.f64 x 5) 3/40) (*.f64 -5/112 (pow.f64 x 7))))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 x (+.f64 (*.f64 (pow.f64 x 5) 3/40) (*.f64 -5/112 (pow.f64 x 7)))) (+.f64 x (+.f64 (*.f64 (pow.f64 x 5) 3/40) (*.f64 -5/112 (pow.f64 x 7)))))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 x (+.f64 (*.f64 (pow.f64 x 5) 3/40) (*.f64 -5/112 (pow.f64 x 7)))) (+.f64 x (+.f64 (*.f64 (pow.f64 x 5) 3/40) (*.f64 -5/112 (pow.f64 x 7))))))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -5/112 (pow.f64 x 7)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 -5/112 (pow.f64 x 7)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 x 7) -5/224) (*.f64 (pow.f64 x 7) -5/224))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 -5/112 (pow.f64 x 7)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -5/112 (pow.f64 x 7)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 x 7) -5/56) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 x 7) -5/28) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (pow.f64 x 7) -5/28)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 7) -5/28))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 7) -5/28))) (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 7) -5/28)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 -5/112 (pow.f64 x 7))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 -5/112 (pow.f64 x 7)) (*.f64 -5/112 (pow.f64 x 7)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 -5/112 (pow.f64 x 7)) (*.f64 -5/112 (pow.f64 x 7))))))) |
| 1× | egg-herbie |
| 3220× | rational.json-simplify-51 |
| 2740× | rational.json-simplify-2 |
| 2698× | rational.json-simplify-35 |
| 1664× | rational.json-simplify-1 |
| 646× | rational.json-simplify-41 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 70 | 1089 |
| 1 | 140 | 1089 |
| 2 | 360 | 1089 |
| 3 | 845 | 1089 |
| 4 | 2254 | 1089 |
| 5 | 3060 | 1089 |
| 6 | 3212 | 1089 |
| 7 | 3312 | 1089 |
| 8 | 3398 | 1089 |
| 9 | 3473 | 1089 |
| 10 | 3547 | 1089 |
| 11 | 3619 | 1089 |
| 12 | 3690 | 1089 |
| 13 | 3761 | 1089 |
| 14 | 3832 | 1089 |
| 15 | 3903 | 1089 |
| 16 | 3974 | 1089 |
| 17 | 4045 | 1089 |
| 18 | 4045 | 1089 |
| 19 | 6513 | 1089 |
| 20 | 6538 | 1089 |
| 21 | 6543 | 1089 |
| 22 | 6614 | 1089 |
| 23 | 6682 | 1089 |
| 24 | 6750 | 1089 |
| 25 | 7749 | 1089 |
| 26 | 7820 | 1089 |
| 27 | 7891 | 1089 |
| 28 | 7959 | 1089 |
| 1× | node limit |
| Inputs |
|---|
x |
(+.f64 (*.f64 3/40 (pow.f64 x 5)) x) |
(+.f64 (*.f64 3/40 (pow.f64 x 5)) (+.f64 (*.f64 -5/112 (pow.f64 x 7)) x)) |
(+.f64 (*.f64 3/40 (pow.f64 x 5)) (+.f64 (*.f64 -5/112 (pow.f64 x 7)) x)) |
(*.f64 -5/112 (pow.f64 x 7)) |
(+.f64 (*.f64 3/40 (pow.f64 x 5)) (*.f64 -5/112 (pow.f64 x 7))) |
(+.f64 (*.f64 3/40 (pow.f64 x 5)) (+.f64 (*.f64 -5/112 (pow.f64 x 7)) x)) |
(+.f64 (*.f64 3/40 (pow.f64 x 5)) (+.f64 (*.f64 -5/112 (pow.f64 x 7)) x)) |
(*.f64 -5/112 (pow.f64 x 7)) |
(+.f64 (*.f64 3/40 (pow.f64 x 5)) (*.f64 -5/112 (pow.f64 x 7))) |
(+.f64 (*.f64 3/40 (pow.f64 x 5)) (+.f64 (*.f64 -5/112 (pow.f64 x 7)) x)) |
(+.f64 (*.f64 3/40 (pow.f64 x 5)) (+.f64 (*.f64 -5/112 (pow.f64 x 7)) x)) |
(-.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 5) 3/40) (*.f64 -5/112 (pow.f64 x 7)))) 0) |
(*.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 5) 3/40) (*.f64 -5/112 (pow.f64 x 7)))) 1) |
(*.f64 1 (+.f64 x (+.f64 (*.f64 (pow.f64 x 5) 3/40) (*.f64 -5/112 (pow.f64 x 7))))) |
(*.f64 2 (*.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 5) 3/40) (*.f64 -5/112 (pow.f64 x 7)))) 1/2)) |
(*.f64 (*.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 5) 3/40) (*.f64 -5/112 (pow.f64 x 7)))) 2) 1/2) |
(*.f64 4 (/.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 5) 3/40) (*.f64 -5/112 (pow.f64 x 7)))) 4)) |
(*.f64 (*.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 5) 3/40) (*.f64 -5/112 (pow.f64 x 7)))) 4) 1/4) |
(*.f64 1/2 (*.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 5) 3/40) (*.f64 -5/112 (pow.f64 x 7)))) 2)) |
(*.f64 (*.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 5) 3/40) (*.f64 -5/112 (pow.f64 x 7)))) 1/2) 2) |
(*.f64 1/4 (*.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 5) 3/40) (*.f64 -5/112 (pow.f64 x 7)))) 4)) |
(*.f64 (/.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 5) 3/40) (*.f64 -5/112 (pow.f64 x 7)))) 4) 4) |
(/.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 5) 3/40) (*.f64 -5/112 (pow.f64 x 7)))) 1) |
(/.f64 (*.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 5) 3/40) (*.f64 -5/112 (pow.f64 x 7)))) 2) 2) |
(/.f64 (*.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 5) 3/40) (*.f64 -5/112 (pow.f64 x 7)))) 4) 4) |
(/.f64 (*.f64 2 (*.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 5) 3/40) (*.f64 -5/112 (pow.f64 x 7)))) 4)) 8) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 5) 3/40) (*.f64 -5/112 (pow.f64 x 7)))) 4))) 16) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 5) 3/40) (*.f64 -5/112 (pow.f64 x 7)))) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 5) 3/40) (*.f64 -5/112 (pow.f64 x 7)))) 4)))) 32) |
(+.f64 (*.f64 -5/112 (pow.f64 x 7)) 0) |
(+.f64 0 (*.f64 -5/112 (pow.f64 x 7))) |
(+.f64 (*.f64 (pow.f64 x 7) -5/224) (*.f64 (pow.f64 x 7) -5/224)) |
(-.f64 (*.f64 -5/112 (pow.f64 x 7)) 0) |
(/.f64 (*.f64 -5/112 (pow.f64 x 7)) 1) |
(/.f64 (*.f64 (pow.f64 x 7) -5/56) 2) |
(/.f64 (*.f64 (pow.f64 x 7) -5/28) 4) |
(/.f64 (*.f64 2 (*.f64 (pow.f64 x 7) -5/28)) 8) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 7) -5/28))) 16) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 7) -5/28))) (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 7) -5/28)))) 32) |
| Outputs |
|---|
x |
(+.f64 (*.f64 3/40 (pow.f64 x 5)) x) |
(+.f64 x (*.f64 3/40 (pow.f64 x 5))) |
(+.f64 (*.f64 3/40 (pow.f64 x 5)) (+.f64 (*.f64 -5/112 (pow.f64 x 7)) x)) |
(+.f64 x (+.f64 (*.f64 3/40 (pow.f64 x 5)) (*.f64 -5/112 (pow.f64 x 7)))) |
(+.f64 (*.f64 3/40 (pow.f64 x 5)) (+.f64 x (*.f64 -5/112 (pow.f64 x 7)))) |
(+.f64 (*.f64 3/40 (pow.f64 x 5)) (+.f64 (*.f64 -5/112 (pow.f64 x 7)) x)) |
(+.f64 x (+.f64 (*.f64 3/40 (pow.f64 x 5)) (*.f64 -5/112 (pow.f64 x 7)))) |
(+.f64 (*.f64 3/40 (pow.f64 x 5)) (+.f64 x (*.f64 -5/112 (pow.f64 x 7)))) |
(*.f64 -5/112 (pow.f64 x 7)) |
(+.f64 (*.f64 3/40 (pow.f64 x 5)) (*.f64 -5/112 (pow.f64 x 7))) |
(+.f64 (*.f64 3/40 (pow.f64 x 5)) (+.f64 (*.f64 -5/112 (pow.f64 x 7)) x)) |
(+.f64 x (+.f64 (*.f64 3/40 (pow.f64 x 5)) (*.f64 -5/112 (pow.f64 x 7)))) |
(+.f64 (*.f64 3/40 (pow.f64 x 5)) (+.f64 x (*.f64 -5/112 (pow.f64 x 7)))) |
(+.f64 (*.f64 3/40 (pow.f64 x 5)) (+.f64 (*.f64 -5/112 (pow.f64 x 7)) x)) |
(+.f64 x (+.f64 (*.f64 3/40 (pow.f64 x 5)) (*.f64 -5/112 (pow.f64 x 7)))) |
(+.f64 (*.f64 3/40 (pow.f64 x 5)) (+.f64 x (*.f64 -5/112 (pow.f64 x 7)))) |
(*.f64 -5/112 (pow.f64 x 7)) |
(+.f64 (*.f64 3/40 (pow.f64 x 5)) (*.f64 -5/112 (pow.f64 x 7))) |
(+.f64 (*.f64 3/40 (pow.f64 x 5)) (+.f64 (*.f64 -5/112 (pow.f64 x 7)) x)) |
(+.f64 x (+.f64 (*.f64 3/40 (pow.f64 x 5)) (*.f64 -5/112 (pow.f64 x 7)))) |
(+.f64 (*.f64 3/40 (pow.f64 x 5)) (+.f64 x (*.f64 -5/112 (pow.f64 x 7)))) |
(+.f64 (*.f64 3/40 (pow.f64 x 5)) (+.f64 (*.f64 -5/112 (pow.f64 x 7)) x)) |
(+.f64 x (+.f64 (*.f64 3/40 (pow.f64 x 5)) (*.f64 -5/112 (pow.f64 x 7)))) |
(+.f64 (*.f64 3/40 (pow.f64 x 5)) (+.f64 x (*.f64 -5/112 (pow.f64 x 7)))) |
(-.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 5) 3/40) (*.f64 -5/112 (pow.f64 x 7)))) 0) |
(+.f64 x (+.f64 (*.f64 3/40 (pow.f64 x 5)) (*.f64 -5/112 (pow.f64 x 7)))) |
(+.f64 (*.f64 3/40 (pow.f64 x 5)) (+.f64 x (*.f64 -5/112 (pow.f64 x 7)))) |
(*.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 5) 3/40) (*.f64 -5/112 (pow.f64 x 7)))) 1) |
(+.f64 x (+.f64 (*.f64 3/40 (pow.f64 x 5)) (*.f64 -5/112 (pow.f64 x 7)))) |
(+.f64 (*.f64 3/40 (pow.f64 x 5)) (+.f64 x (*.f64 -5/112 (pow.f64 x 7)))) |
(*.f64 1 (+.f64 x (+.f64 (*.f64 (pow.f64 x 5) 3/40) (*.f64 -5/112 (pow.f64 x 7))))) |
(+.f64 x (+.f64 (*.f64 3/40 (pow.f64 x 5)) (*.f64 -5/112 (pow.f64 x 7)))) |
(+.f64 (*.f64 3/40 (pow.f64 x 5)) (+.f64 x (*.f64 -5/112 (pow.f64 x 7)))) |
(*.f64 2 (*.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 5) 3/40) (*.f64 -5/112 (pow.f64 x 7)))) 1/2)) |
(+.f64 x (+.f64 (*.f64 3/40 (pow.f64 x 5)) (*.f64 -5/112 (pow.f64 x 7)))) |
(+.f64 (*.f64 3/40 (pow.f64 x 5)) (+.f64 x (*.f64 -5/112 (pow.f64 x 7)))) |
(*.f64 (*.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 5) 3/40) (*.f64 -5/112 (pow.f64 x 7)))) 2) 1/2) |
(+.f64 x (+.f64 (*.f64 3/40 (pow.f64 x 5)) (*.f64 -5/112 (pow.f64 x 7)))) |
(+.f64 (*.f64 3/40 (pow.f64 x 5)) (+.f64 x (*.f64 -5/112 (pow.f64 x 7)))) |
(*.f64 4 (/.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 5) 3/40) (*.f64 -5/112 (pow.f64 x 7)))) 4)) |
(+.f64 x (+.f64 (*.f64 3/40 (pow.f64 x 5)) (*.f64 -5/112 (pow.f64 x 7)))) |
(+.f64 (*.f64 3/40 (pow.f64 x 5)) (+.f64 x (*.f64 -5/112 (pow.f64 x 7)))) |
(*.f64 (*.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 5) 3/40) (*.f64 -5/112 (pow.f64 x 7)))) 4) 1/4) |
(+.f64 x (+.f64 (*.f64 3/40 (pow.f64 x 5)) (*.f64 -5/112 (pow.f64 x 7)))) |
(+.f64 (*.f64 3/40 (pow.f64 x 5)) (+.f64 x (*.f64 -5/112 (pow.f64 x 7)))) |
(*.f64 1/2 (*.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 5) 3/40) (*.f64 -5/112 (pow.f64 x 7)))) 2)) |
(+.f64 x (+.f64 (*.f64 3/40 (pow.f64 x 5)) (*.f64 -5/112 (pow.f64 x 7)))) |
(+.f64 (*.f64 3/40 (pow.f64 x 5)) (+.f64 x (*.f64 -5/112 (pow.f64 x 7)))) |
(*.f64 (*.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 5) 3/40) (*.f64 -5/112 (pow.f64 x 7)))) 1/2) 2) |
(+.f64 x (+.f64 (*.f64 3/40 (pow.f64 x 5)) (*.f64 -5/112 (pow.f64 x 7)))) |
(+.f64 (*.f64 3/40 (pow.f64 x 5)) (+.f64 x (*.f64 -5/112 (pow.f64 x 7)))) |
(*.f64 1/4 (*.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 5) 3/40) (*.f64 -5/112 (pow.f64 x 7)))) 4)) |
(+.f64 x (+.f64 (*.f64 3/40 (pow.f64 x 5)) (*.f64 -5/112 (pow.f64 x 7)))) |
(+.f64 (*.f64 3/40 (pow.f64 x 5)) (+.f64 x (*.f64 -5/112 (pow.f64 x 7)))) |
(*.f64 (/.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 5) 3/40) (*.f64 -5/112 (pow.f64 x 7)))) 4) 4) |
(+.f64 x (+.f64 (*.f64 3/40 (pow.f64 x 5)) (*.f64 -5/112 (pow.f64 x 7)))) |
(+.f64 (*.f64 3/40 (pow.f64 x 5)) (+.f64 x (*.f64 -5/112 (pow.f64 x 7)))) |
(/.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 5) 3/40) (*.f64 -5/112 (pow.f64 x 7)))) 1) |
(+.f64 x (+.f64 (*.f64 3/40 (pow.f64 x 5)) (*.f64 -5/112 (pow.f64 x 7)))) |
(+.f64 (*.f64 3/40 (pow.f64 x 5)) (+.f64 x (*.f64 -5/112 (pow.f64 x 7)))) |
(/.f64 (*.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 5) 3/40) (*.f64 -5/112 (pow.f64 x 7)))) 2) 2) |
(+.f64 x (+.f64 (*.f64 3/40 (pow.f64 x 5)) (*.f64 -5/112 (pow.f64 x 7)))) |
(+.f64 (*.f64 3/40 (pow.f64 x 5)) (+.f64 x (*.f64 -5/112 (pow.f64 x 7)))) |
(/.f64 (*.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 5) 3/40) (*.f64 -5/112 (pow.f64 x 7)))) 4) 4) |
(+.f64 x (+.f64 (*.f64 3/40 (pow.f64 x 5)) (*.f64 -5/112 (pow.f64 x 7)))) |
(+.f64 (*.f64 3/40 (pow.f64 x 5)) (+.f64 x (*.f64 -5/112 (pow.f64 x 7)))) |
(/.f64 (*.f64 2 (*.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 5) 3/40) (*.f64 -5/112 (pow.f64 x 7)))) 4)) 8) |
(+.f64 x (+.f64 (*.f64 3/40 (pow.f64 x 5)) (*.f64 -5/112 (pow.f64 x 7)))) |
(+.f64 (*.f64 3/40 (pow.f64 x 5)) (+.f64 x (*.f64 -5/112 (pow.f64 x 7)))) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 5) 3/40) (*.f64 -5/112 (pow.f64 x 7)))) 4))) 16) |
(+.f64 x (+.f64 (*.f64 3/40 (pow.f64 x 5)) (*.f64 -5/112 (pow.f64 x 7)))) |
(+.f64 (*.f64 3/40 (pow.f64 x 5)) (+.f64 x (*.f64 -5/112 (pow.f64 x 7)))) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 5) 3/40) (*.f64 -5/112 (pow.f64 x 7)))) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 (*.f64 (pow.f64 x 5) 3/40) (*.f64 -5/112 (pow.f64 x 7)))) 4)))) 32) |
(+.f64 x (+.f64 (*.f64 3/40 (pow.f64 x 5)) (*.f64 -5/112 (pow.f64 x 7)))) |
(+.f64 (*.f64 3/40 (pow.f64 x 5)) (+.f64 x (*.f64 -5/112 (pow.f64 x 7)))) |
(+.f64 (*.f64 -5/112 (pow.f64 x 7)) 0) |
(*.f64 -5/112 (pow.f64 x 7)) |
(+.f64 0 (*.f64 -5/112 (pow.f64 x 7))) |
(*.f64 -5/112 (pow.f64 x 7)) |
(+.f64 (*.f64 (pow.f64 x 7) -5/224) (*.f64 (pow.f64 x 7) -5/224)) |
(*.f64 -5/112 (pow.f64 x 7)) |
(-.f64 (*.f64 -5/112 (pow.f64 x 7)) 0) |
(*.f64 -5/112 (pow.f64 x 7)) |
(/.f64 (*.f64 -5/112 (pow.f64 x 7)) 1) |
(*.f64 -5/112 (pow.f64 x 7)) |
(/.f64 (*.f64 (pow.f64 x 7) -5/56) 2) |
(*.f64 -5/112 (pow.f64 x 7)) |
(/.f64 (*.f64 (pow.f64 x 7) -5/28) 4) |
(*.f64 -5/112 (pow.f64 x 7)) |
(/.f64 (*.f64 2 (*.f64 (pow.f64 x 7) -5/28)) 8) |
(*.f64 -5/112 (pow.f64 x 7)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 7) -5/28))) 16) |
(*.f64 -5/112 (pow.f64 x 7)) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 7) -5/28))) (*.f64 2 (*.f64 2 (*.f64 (pow.f64 x 7) -5/28)))) 32) |
(*.f64 -5/112 (pow.f64 x 7)) |
Compiled 1661 to 1316 computations (20.8% saved)
8 alts after pruning (2 fresh and 6 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 93 | 1 | 94 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 1 | 1 |
| Done | 1 | 5 | 6 |
| Total | 94 | 8 | 102 |
| Status | Error | Program |
|---|---|---|
| ✓ | 28.6b | (+.f64 (+.f64 x (*.f64 (pow.f64 x 3) -1/6)) (*.f64 (pow.f64 x 5) 3/40)) |
| ✓ | 28.8b | (+.f64 (*.f64 (pow.f64 x 3) -1/6) (+.f64 (*.f64 (pow.f64 x 5) 3/40) (+.f64 x (*.f64 -5/112 (pow.f64 x 7))))) |
| ✓ | 28.9b | (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x) |
| ✓ | 48.8b | (log.f64 (/.f64 -1/2 x)) |
| ▶ | 49.3b | (log.f64 (+.f64 (/.f64 1/2 x) (+.f64 x x))) |
| ✓ | 54.6b | (log.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1)))) |
| ✓ | 49.9b | (log.f64 (+.f64 x x)) |
| 27.9b | x |
Compiled 73 to 54 computations (26% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (/.f64 1/2 x) (+.f64 x x)) |
Compiled 24 to 12 computations (50% saved)
3 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | x | @ | 0 | (+.f64 (/.f64 1/2 x) (+.f64 x x)) |
| 0.0ms | x | @ | inf | (+.f64 (/.f64 1/2 x) (+.f64 x x)) |
| 0.0ms | x | @ | -inf | (+.f64 (/.f64 1/2 x) (+.f64 x x)) |
| 1× | batch-egg-rewrite |
| 968× | rational.json-simplify-35 |
| 952× | bool.json-1 |
| 952× | bool.json-2 |
| 912× | rational.json-1 |
| 912× | rational.json-2 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 19 |
| 1 | 73 | 19 |
| 2 | 216 | 19 |
| 3 | 509 | 19 |
| 4 | 1153 | 19 |
| 5 | 2991 | 19 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (/.f64 1/2 x) (+.f64 x x)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x (+.f64 x (/.f64 1/2 x))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 x 4) (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (+.f64 2 (/.f64 1/2 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (+.f64 (/.f64 1/2 (*.f64 x x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 x) (+.f64 1 (*.f64 x (*.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (+.f64 1 (/.f64 1/4 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (+.f64 (/.f64 1/4 (*.f64 x x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (+.f64 x (/.f64 1/2 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 x (+.f64 x (/.f64 1/2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 x (/.f64 1/4 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 1/2 x) (/.f64 (+.f64 x (/.f64 1/2 x)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 4) (+.f64 1/2 (/.f64 (/.f64 1/8 x) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 x 4) (/.f64 1 x)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 x (+.f64 x (/.f64 1/2 x))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (+.f64 (*.f64 1/2 x) (/.f64 1/8 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (+.f64 x (/.f64 1/2 x))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 x (+.f64 x (/.f64 1/2 x))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (+.f64 (/.f64 2 x) (*.f64 x 8)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (/.f64 1/4 x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (*.f64 x (*.f64 x 4))) (/.f64 1/2 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 x (+.f64 x (/.f64 1/2 x))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (+.f64 x (/.f64 1/2 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 x 4) (/.f64 1 x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (+.f64 x (/.f64 1/2 x))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (+.f64 x (/.f64 1/2 x))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 x (+.f64 x (/.f64 1/2 x))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 x (+.f64 x (/.f64 1/2 x))) 8)) (*.f64 2 (*.f64 (+.f64 x (+.f64 x (/.f64 1/2 x))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 x (+.f64 x (/.f64 1/2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 x (+.f64 x (/.f64 1/2 x))) (+.f64 x (+.f64 x (/.f64 1/2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 x (+.f64 x (/.f64 1/2 x))) (+.f64 x (+.f64 x (/.f64 1/2 x)))))))) |
| 1× | egg-herbie |
| 1170× | rational.json-simplify-61 |
| 1040× | rational.json-simplify-35 |
| 896× | rational.json-simplify-19 |
| 772× | rational.json-simplify-46 |
| 682× | rational.json-simplify-51 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 76 | 879 |
| 1 | 151 | 879 |
| 2 | 283 | 879 |
| 3 | 791 | 879 |
| 4 | 2169 | 879 |
| 5 | 5899 | 879 |
| 1× | node limit |
| Inputs |
|---|
(/.f64 1/2 x) |
(+.f64 (*.f64 2 x) (*.f64 1/2 (/.f64 1 x))) |
(+.f64 (*.f64 2 x) (*.f64 1/2 (/.f64 1 x))) |
(+.f64 (*.f64 2 x) (*.f64 1/2 (/.f64 1 x))) |
(*.f64 2 x) |
(+.f64 (*.f64 2 x) (*.f64 1/2 (/.f64 1 x))) |
(+.f64 (*.f64 2 x) (*.f64 1/2 (/.f64 1 x))) |
(+.f64 (*.f64 2 x) (*.f64 1/2 (/.f64 1 x))) |
(*.f64 2 x) |
(+.f64 (*.f64 2 x) (*.f64 1/2 (/.f64 1 x))) |
(+.f64 (*.f64 2 x) (*.f64 1/2 (/.f64 1 x))) |
(+.f64 (*.f64 2 x) (*.f64 1/2 (/.f64 1 x))) |
(-.f64 (+.f64 x (+.f64 x (/.f64 1/2 x))) 0) |
(*.f64 1/2 (+.f64 (*.f64 x 4) (/.f64 1 x))) |
(*.f64 x (+.f64 2 (/.f64 1/2 (*.f64 x x)))) |
(*.f64 x (+.f64 (/.f64 1/2 (*.f64 x x)) 2)) |
(*.f64 (/.f64 1/2 x) (+.f64 1 (*.f64 x (*.f64 x 4)))) |
(*.f64 (+.f64 x x) (+.f64 1 (/.f64 1/4 (*.f64 x x)))) |
(*.f64 (+.f64 x x) (+.f64 (/.f64 1/4 (*.f64 x x)) 1)) |
(*.f64 (+.f64 x (+.f64 x (/.f64 1/2 x))) 1) |
(*.f64 1 (+.f64 x (+.f64 x (/.f64 1/2 x)))) |
(*.f64 2 (+.f64 x (/.f64 1/4 x))) |
(*.f64 2 (+.f64 (*.f64 1/2 x) (/.f64 (+.f64 x (/.f64 1/2 x)) 2))) |
(*.f64 (*.f64 x 4) (+.f64 1/2 (/.f64 (/.f64 1/8 x) x))) |
(*.f64 (+.f64 (*.f64 x 4) (/.f64 1 x)) 1/2) |
(*.f64 4 (/.f64 (+.f64 x (+.f64 x (/.f64 1/2 x))) 4)) |
(*.f64 4 (+.f64 (*.f64 1/2 x) (/.f64 1/8 x))) |
(*.f64 (*.f64 (+.f64 x (+.f64 x (/.f64 1/2 x))) 4) 1/4) |
(*.f64 1/4 (*.f64 (+.f64 x (+.f64 x (/.f64 1/2 x))) 4)) |
(*.f64 1/4 (+.f64 (/.f64 2 x) (*.f64 x 8))) |
(*.f64 (+.f64 x (/.f64 1/4 x)) 2) |
(*.f64 (+.f64 1 (*.f64 x (*.f64 x 4))) (/.f64 1/2 x)) |
(*.f64 (/.f64 (+.f64 x (+.f64 x (/.f64 1/2 x))) 4) 4) |
(/.f64 (+.f64 x (+.f64 x (/.f64 1/2 x))) 1) |
(/.f64 (+.f64 (*.f64 x 4) (/.f64 1 x)) 2) |
(/.f64 (*.f64 (+.f64 x (+.f64 x (/.f64 1/2 x))) 4) 4) |
(/.f64 (*.f64 (+.f64 x (+.f64 x (/.f64 1/2 x))) 8) 8) |
(/.f64 (*.f64 2 (*.f64 (+.f64 x (+.f64 x (/.f64 1/2 x))) 8)) 16) |
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 x (+.f64 x (/.f64 1/2 x))) 8)) (*.f64 2 (*.f64 (+.f64 x (+.f64 x (/.f64 1/2 x))) 8))) 32) |
| Outputs |
|---|
(/.f64 1/2 x) |
(+.f64 (*.f64 2 x) (*.f64 1/2 (/.f64 1 x))) |
(+.f64 (*.f64 x 2) (*.f64 1/2 (/.f64 1 x))) |
(+.f64 (*.f64 2 x) (*.f64 1/2 (/.f64 1 x))) |
(+.f64 (*.f64 x 2) (*.f64 1/2 (/.f64 1 x))) |
(+.f64 (*.f64 2 x) (*.f64 1/2 (/.f64 1 x))) |
(+.f64 (*.f64 x 2) (*.f64 1/2 (/.f64 1 x))) |
(*.f64 2 x) |
(*.f64 x 2) |
(+.f64 (*.f64 2 x) (*.f64 1/2 (/.f64 1 x))) |
(+.f64 (*.f64 x 2) (*.f64 1/2 (/.f64 1 x))) |
(+.f64 (*.f64 2 x) (*.f64 1/2 (/.f64 1 x))) |
(+.f64 (*.f64 x 2) (*.f64 1/2 (/.f64 1 x))) |
(+.f64 (*.f64 2 x) (*.f64 1/2 (/.f64 1 x))) |
(+.f64 (*.f64 x 2) (*.f64 1/2 (/.f64 1 x))) |
(*.f64 2 x) |
(*.f64 x 2) |
(+.f64 (*.f64 2 x) (*.f64 1/2 (/.f64 1 x))) |
(+.f64 (*.f64 x 2) (*.f64 1/2 (/.f64 1 x))) |
(+.f64 (*.f64 2 x) (*.f64 1/2 (/.f64 1 x))) |
(+.f64 (*.f64 x 2) (*.f64 1/2 (/.f64 1 x))) |
(+.f64 (*.f64 2 x) (*.f64 1/2 (/.f64 1 x))) |
(+.f64 (*.f64 x 2) (*.f64 1/2 (/.f64 1 x))) |
(-.f64 (+.f64 x (+.f64 x (/.f64 1/2 x))) 0) |
(+.f64 x (+.f64 x (/.f64 1/2 x))) |
(+.f64 (/.f64 1/2 x) (+.f64 x x)) |
(*.f64 1/2 (+.f64 (*.f64 x 4) (/.f64 1 x))) |
(*.f64 1/2 (+.f64 (/.f64 1 x) (*.f64 x 4))) |
(*.f64 x (+.f64 2 (/.f64 1/2 (*.f64 x x)))) |
(*.f64 x (+.f64 (/.f64 1/2 (*.f64 x x)) 2)) |
(*.f64 x (+.f64 2 (/.f64 1/2 (*.f64 x x)))) |
(*.f64 (/.f64 1/2 x) (+.f64 1 (*.f64 x (*.f64 x 4)))) |
(*.f64 (+.f64 x x) (+.f64 1 (/.f64 1/4 (*.f64 x x)))) |
(*.f64 (+.f64 x x) (+.f64 (/.f64 1/4 (*.f64 x x)) 1)) |
(*.f64 (+.f64 x x) (+.f64 1 (/.f64 1/4 (*.f64 x x)))) |
(*.f64 (+.f64 x (+.f64 x (/.f64 1/2 x))) 1) |
(+.f64 x (+.f64 x (/.f64 1/2 x))) |
(+.f64 (/.f64 1/2 x) (+.f64 x x)) |
(*.f64 1 (+.f64 x (+.f64 x (/.f64 1/2 x)))) |
(+.f64 x (+.f64 x (/.f64 1/2 x))) |
(+.f64 (/.f64 1/2 x) (+.f64 x x)) |
(*.f64 2 (+.f64 x (/.f64 1/4 x))) |
(*.f64 2 (+.f64 (*.f64 1/2 x) (/.f64 (+.f64 x (/.f64 1/2 x)) 2))) |
(*.f64 (*.f64 x 4) (+.f64 1/2 (/.f64 (/.f64 1/8 x) x))) |
(*.f64 (*.f64 x 4) (+.f64 1/2 (/.f64 1/8 (*.f64 x x)))) |
(*.f64 x (*.f64 4 (+.f64 1/2 (/.f64 1/8 (*.f64 x x))))) |
(*.f64 (+.f64 (*.f64 x 4) (/.f64 1 x)) 1/2) |
(*.f64 1/2 (+.f64 (/.f64 1 x) (*.f64 x 4))) |
(*.f64 4 (/.f64 (+.f64 x (+.f64 x (/.f64 1/2 x))) 4)) |
(+.f64 x (+.f64 x (/.f64 1/2 x))) |
(+.f64 (/.f64 1/2 x) (+.f64 x x)) |
(*.f64 4 (+.f64 (*.f64 1/2 x) (/.f64 1/8 x))) |
(*.f64 (*.f64 (+.f64 x (+.f64 x (/.f64 1/2 x))) 4) 1/4) |
(+.f64 x (+.f64 x (/.f64 1/2 x))) |
(+.f64 (/.f64 1/2 x) (+.f64 x x)) |
(*.f64 1/4 (*.f64 (+.f64 x (+.f64 x (/.f64 1/2 x))) 4)) |
(+.f64 x (+.f64 x (/.f64 1/2 x))) |
(+.f64 (/.f64 1/2 x) (+.f64 x x)) |
(*.f64 1/4 (+.f64 (/.f64 2 x) (*.f64 x 8))) |
(*.f64 (+.f64 x (/.f64 1/4 x)) 2) |
(*.f64 2 (+.f64 x (/.f64 1/4 x))) |
(*.f64 (+.f64 1 (*.f64 x (*.f64 x 4))) (/.f64 1/2 x)) |
(*.f64 (/.f64 1/2 x) (+.f64 1 (*.f64 x (*.f64 x 4)))) |
(*.f64 (/.f64 (+.f64 x (+.f64 x (/.f64 1/2 x))) 4) 4) |
(+.f64 x (+.f64 x (/.f64 1/2 x))) |
(+.f64 (/.f64 1/2 x) (+.f64 x x)) |
(/.f64 (+.f64 x (+.f64 x (/.f64 1/2 x))) 1) |
(+.f64 x (+.f64 x (/.f64 1/2 x))) |
(+.f64 (/.f64 1/2 x) (+.f64 x x)) |
(/.f64 (+.f64 (*.f64 x 4) (/.f64 1 x)) 2) |
(/.f64 (+.f64 (/.f64 1 x) (*.f64 x 4)) 2) |
(/.f64 (*.f64 (+.f64 x (+.f64 x (/.f64 1/2 x))) 4) 4) |
(+.f64 x (+.f64 x (/.f64 1/2 x))) |
(+.f64 (/.f64 1/2 x) (+.f64 x x)) |
(/.f64 (*.f64 (+.f64 x (+.f64 x (/.f64 1/2 x))) 8) 8) |
(+.f64 x (+.f64 x (/.f64 1/2 x))) |
(+.f64 (/.f64 1/2 x) (+.f64 x x)) |
(/.f64 (*.f64 2 (*.f64 (+.f64 x (+.f64 x (/.f64 1/2 x))) 8)) 16) |
(+.f64 x (+.f64 x (/.f64 1/2 x))) |
(+.f64 (/.f64 1/2 x) (+.f64 x x)) |
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 x (+.f64 x (/.f64 1/2 x))) 8)) (*.f64 2 (*.f64 (+.f64 x (+.f64 x (/.f64 1/2 x))) 8))) 32) |
(+.f64 x (+.f64 x (/.f64 1/2 x))) |
(+.f64 (/.f64 1/2 x) (+.f64 x x)) |
Compiled 405 to 296 computations (26.9% saved)
8 alts after pruning (1 fresh and 7 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 38 | 0 | 38 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 6 | 6 |
| Total | 38 | 8 | 46 |
| Status | Error | Program |
|---|---|---|
| ✓ | 28.6b | (+.f64 (+.f64 x (*.f64 (pow.f64 x 3) -1/6)) (*.f64 (pow.f64 x 5) 3/40)) |
| ✓ | 28.8b | (+.f64 (*.f64 (pow.f64 x 3) -1/6) (+.f64 (*.f64 (pow.f64 x 5) 3/40) (+.f64 x (*.f64 -5/112 (pow.f64 x 7))))) |
| ✓ | 28.9b | (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x) |
| ✓ | 48.8b | (log.f64 (/.f64 -1/2 x)) |
| ✓ | 49.3b | (log.f64 (+.f64 (/.f64 1/2 x) (+.f64 x x))) |
| ✓ | 54.6b | (log.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1)))) |
| ✓ | 49.9b | (log.f64 (+.f64 x x)) |
| 27.9b | x |
Compiled 73 to 54 computations (26% saved)
| Inputs |
|---|
x |
(log.f64 (+.f64 x 1)) |
(log.f64 (+.f64 x x)) |
(log.f64 (/.f64 -1/2 x)) |
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) x) |
(log.f64 (+.f64 (/.f64 1/2 x) (+.f64 x x))) |
(log.f64 (+.f64 (*.f64 2 x) (*.f64 1/2 (/.f64 1 x)))) |
(log.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1)))) |
(+.f64 (+.f64 x (*.f64 (pow.f64 x 3) -1/6)) (*.f64 (pow.f64 x 5) 3/40)) |
(+.f64 (*.f64 (pow.f64 x 3) -1/6) (+.f64 (*.f64 (pow.f64 x 5) 3/40) (+.f64 x (*.f64 -5/112 (pow.f64 x 7))))) |
| Outputs |
|---|
(log.f64 (/.f64 -1/2 x)) |
(+.f64 (*.f64 (pow.f64 x 3) -1/6) (+.f64 (*.f64 (pow.f64 x 5) 3/40) (+.f64 x (*.f64 -5/112 (pow.f64 x 7))))) |
(log.f64 (+.f64 (/.f64 1/2 x) (+.f64 x x))) |
3 calls:
| 22.0ms | x |
| 10.0ms | (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1))) |
| 6.0ms | (log.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1)))) |
| Error | Segments | Branch |
|---|---|---|
| 0.3b | 3 | x |
| 7.8b | 3 | (log.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1)))) |
| 7.8b | 3 | (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1))) |
Compiled 101 to 71 computations (29.7% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 28.0ms | 3.5328000023028025e-5 | 3.5284342859456586 |
| 23.0ms | -836093951031035400.0 | -0.16921036592766378 |
| 46.0ms | 304× | body | 256 | valid |
Compiled 563 to 446 computations (20.8% saved)
| Inputs |
|---|
x |
(log.f64 (+.f64 x 1)) |
(log.f64 (+.f64 x x)) |
(log.f64 (/.f64 -1/2 x)) |
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) x) |
(log.f64 (+.f64 (/.f64 1/2 x) (+.f64 x x))) |
(log.f64 (+.f64 (*.f64 2 x) (*.f64 1/2 (/.f64 1 x)))) |
(log.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1)))) |
(+.f64 (+.f64 x (*.f64 (pow.f64 x 3) -1/6)) (*.f64 (pow.f64 x 5) 3/40)) |
| Outputs |
|---|
(log.f64 (/.f64 -1/2 x)) |
(+.f64 (+.f64 x (*.f64 (pow.f64 x 3) -1/6)) (*.f64 (pow.f64 x 5) 3/40)) |
(log.f64 (+.f64 (/.f64 1/2 x) (+.f64 x x))) |
3 calls:
| 18.0ms | x |
| 7.0ms | (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1))) |
| 7.0ms | (log.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1)))) |
| Error | Segments | Branch |
|---|---|---|
| 0.3b | 3 | x |
| 7.8b | 3 | (log.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1)))) |
| 7.8b | 3 | (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1))) |
Compiled 82 to 56 computations (31.7% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 25.0ms | 3.5328000023028025e-5 | 3.5284342859456586 |
| 22.0ms | -836093951031035400.0 | -0.16921036592766378 |
| 35.0ms | 304× | body | 256 | valid |
Compiled 449 to 351 computations (21.8% saved)
| Inputs |
|---|
x |
(log.f64 (+.f64 x 1)) |
(log.f64 (+.f64 x x)) |
(log.f64 (/.f64 -1/2 x)) |
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) x) |
(log.f64 (+.f64 (/.f64 1/2 x) (+.f64 x x))) |
(log.f64 (+.f64 (*.f64 2 x) (*.f64 1/2 (/.f64 1 x)))) |
(log.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1)))) |
| Outputs |
|---|
(log.f64 (/.f64 -1/2 x)) |
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) x) |
(log.f64 (+.f64 (/.f64 1/2 x) (+.f64 x x))) |
3 calls:
| 14.0ms | x |
| 8.0ms | (log.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1)))) |
| 6.0ms | (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1))) |
| Error | Segments | Branch |
|---|---|---|
| 0.4b | 3 | x |
| 7.9b | 3 | (log.f64 (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1)))) |
| 7.9b | 3 | (+.f64 x (sqrt.f64 (+.f64 (*.f64 x x) 1))) |
Compiled 69 to 46 computations (33.3% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 25.0ms | 3.5328000023028025e-5 | 3.5284342859456586 |
| 33.0ms | -836093951031035400.0 | -0.16921036592766378 |
| 43.0ms | 304× | body | 256 | valid |
Compiled 335 to 256 computations (23.6% saved)
| Inputs |
|---|
x |
(log.f64 (+.f64 x 1)) |
(log.f64 (+.f64 x x)) |
(log.f64 (/.f64 -1/2 x)) |
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) x) |
| Outputs |
|---|
(log.f64 (/.f64 -1/2 x)) |
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) x) |
(log.f64 (+.f64 x x)) |
1 calls:
| 11.0ms | x |
| Error | Segments | Branch |
|---|---|---|
| 0.5b | 3 | x |
Compiled 23 to 15 computations (34.8% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 17.0ms | 3.5328000023028025e-5 | 3.5284342859456586 |
| 22.0ms | -836093951031035400.0 | -0.16921036592766378 |
| 35.0ms | 304× | body | 256 | valid |
Compiled 299 to 229 computations (23.4% saved)
| Inputs |
|---|
x |
(log.f64 (+.f64 x 1)) |
(log.f64 (+.f64 x x)) |
(log.f64 (/.f64 -1/2 x)) |
| Outputs |
|---|
(log.f64 (/.f64 -1/2 x)) |
x |
(log.f64 (+.f64 x x)) |
1 calls:
| 10.0ms | x |
| Error | Segments | Branch |
|---|---|---|
| 0.9b | 3 | x |
Compiled 16 to 10 computations (37.5% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 18.0ms | 3.5328000023028025e-5 | 3.5284342859456586 |
| 23.0ms | -836093951031035400.0 | -0.16921036592766378 |
| 37.0ms | 304× | body | 256 | valid |
Compiled 185 to 134 computations (27.6% saved)
| Inputs |
|---|
x |
(log.f64 (+.f64 x 1)) |
(log.f64 (+.f64 x x)) |
| Outputs |
|---|
x |
(log.f64 (+.f64 x x)) |
1 calls:
| 14.0ms | x |
| Error | Segments | Branch |
|---|---|---|
| 14.9b | 2 | x |
Compiled 12 to 7 computations (41.7% saved)
| 1× | binary-search |
| Time | Left | Right |
|---|---|---|
| 27.0ms | 3.5328000023028025e-5 | 3.5284342859456586 |
| 26.0ms | 144× | body | 256 | valid |
Compiled 95 to 64 computations (32.6% saved)
Total -36.4b remaining (-150.4%)
Threshold costs -36.4b (-150.4%)
| Inputs |
|---|
x |
(log.f64 (+.f64 x 1)) |
| Outputs |
|---|
x |
(log.f64 (+.f64 x 1)) |
1 calls:
| 5.0ms | x |
| Error | Segments | Branch |
|---|---|---|
| 24.2b | 2 | x |
Compiled 8 to 5 computations (37.5% saved)
| 1× | binary-search |
| Time | Left | Right |
|---|---|---|
| 20.0ms | 3.5328000023028025e-5 | 3.5284342859456586 |
| 18.0ms | 144× | body | 256 | valid |
Compiled 95 to 73 computations (23.2% saved)
| 1× | egg-herbie |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 63 | 410 |
| 1× | fuel |
| 1× | saturated |
| Inputs |
|---|
(if (<=.f64 x -5854679515581645/4503599627370496) (log.f64 (/.f64 -1/2 x)) (if (<=.f64 x 4728779608739021/4503599627370496) (+.f64 (*.f64 (pow.f64 x 3) -1/6) (+.f64 (*.f64 (pow.f64 x 5) 3/40) (+.f64 x (*.f64 -5/112 (pow.f64 x 7))))) (log.f64 (+.f64 (/.f64 1/2 x) (+.f64 x x))))) |
(if (<=.f64 x -5854679515581645/4503599627370496) (log.f64 (/.f64 -1/2 x)) (if (<=.f64 x 2296835809958953/2251799813685248) (+.f64 (+.f64 x (*.f64 (pow.f64 x 3) -1/6)) (*.f64 (pow.f64 x 5) 3/40)) (log.f64 (+.f64 (/.f64 1/2 x) (+.f64 x x))))) |
(if (<=.f64 x -5/4) (log.f64 (/.f64 -1/2 x)) (if (<=.f64 x 4278419646001971/4503599627370496) (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x) (log.f64 (+.f64 (/.f64 1/2 x) (+.f64 x x))))) |
(if (<=.f64 x -5/4) (log.f64 (/.f64 -1/2 x)) (if (<=.f64 x 5/4) (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x) (log.f64 (+.f64 x x)))) |
(if (<=.f64 x -5/4) (log.f64 (/.f64 -1/2 x)) (if (<=.f64 x 5/4) x (log.f64 (+.f64 x x)))) |
(if (<=.f64 x 5/4) x (log.f64 (+.f64 x x))) |
(if (<=.f64 x 889460926405673/562949953421312) x (log.f64 (+.f64 x 1))) |
x |
| Outputs |
|---|
(if (<=.f64 x -5854679515581645/4503599627370496) (log.f64 (/.f64 -1/2 x)) (if (<=.f64 x 4728779608739021/4503599627370496) (+.f64 (*.f64 (pow.f64 x 3) -1/6) (+.f64 (*.f64 (pow.f64 x 5) 3/40) (+.f64 x (*.f64 -5/112 (pow.f64 x 7))))) (log.f64 (+.f64 (/.f64 1/2 x) (+.f64 x x))))) |
(if (<=.f64 x -5854679515581645/4503599627370496) (log.f64 (/.f64 -1/2 x)) (if (<=.f64 x 2296835809958953/2251799813685248) (+.f64 (+.f64 x (*.f64 (pow.f64 x 3) -1/6)) (*.f64 (pow.f64 x 5) 3/40)) (log.f64 (+.f64 (/.f64 1/2 x) (+.f64 x x))))) |
(if (<=.f64 x -5/4) (log.f64 (/.f64 -1/2 x)) (if (<=.f64 x 4278419646001971/4503599627370496) (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x) (log.f64 (+.f64 (/.f64 1/2 x) (+.f64 x x))))) |
(if (<=.f64 x -5/4) (log.f64 (/.f64 -1/2 x)) (if (<=.f64 x 5/4) (+.f64 (*.f64 -1/6 (pow.f64 x 3)) x) (log.f64 (+.f64 x x)))) |
(if (<=.f64 x -5/4) (log.f64 (/.f64 -1/2 x)) (if (<=.f64 x 5/4) x (log.f64 (+.f64 x x)))) |
(if (<=.f64 x 5/4) x (log.f64 (+.f64 x x))) |
(if (<=.f64 x 889460926405673/562949953421312) x (log.f64 (+.f64 x 1))) |
x |
Compiled 166 to 118 computations (28.9% saved)
| 2× | egg-herbie |
| 1536× | rational.json-simplify-19 |
| 1492× | rational.json-simplify-35 |
| 1246× | rational.json-simplify-46 |
| 1212× | rational.json-simplify-53 |
| 1128× | rational.json-simplify-1 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 175 | 2300 |
| 1 | 351 | 2284 |
| 2 | 661 | 2284 |
| 3 | 1414 | 2284 |
| 4 | 2522 | 2284 |
| 5 | 4608 | 2284 |
| 6 | 5990 | 2284 |
| 7 | 7542 | 2284 |
| 0 | 71 | 635 |
| 1 | 151 | 629 |
| 2 | 274 | 629 |
| 3 | 714 | 629 |
| 4 | 2381 | 629 |
| 5 | 6147 | 629 |
| 1× | node limit |
| 1× | node limit |
Compiled 104 to 77 computations (26% saved)
Compiled 159 to 104 computations (34.6% saved)
Loading profile data...