Time bar (total: 7.9s)
| 1× | search |
| Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
|---|---|---|---|---|---|---|---|
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 0 |
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 1 |
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 2 |
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 3 |
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 4 |
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 5 |
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 6 |
| 25% | 25% | 74.9% | 0.1% | 0% | 0% | 0% | 7 |
| 37.5% | 37.4% | 62.4% | 0.1% | 0% | 0% | 0% | 8 |
| 37.5% | 37.4% | 62.4% | 0.1% | 0% | 0% | 0% | 9 |
| 56.3% | 56.2% | 43.7% | 0.1% | 0% | 0% | 0% | 10 |
| 65.6% | 65.5% | 34.3% | 0.1% | 0% | 0% | 0% | 11 |
| 65.6% | 65.5% | 34.3% | 0.1% | 0% | 0% | 0% | 12 |
Compiled 13 to 9 computations (30.8% saved)
| 1.8s | 6202× | body | 256 | valid |
| 1.2s | 1369× | body | 1024 | valid |
| 354.0ms | 682× | body | 512 | valid |
| 3.0ms | 3× | body | 2048 | valid |
| 2× | egg-herbie |
| 1270× | rational_best_45_simplify-25 |
| 1250× | rational_best_45_simplify-7 |
| 828× | rational_best_45_simplify-55 |
| 810× | rational_best_45_simplify-53 |
| 792× | rational_best_45_simplify-16 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 24 | 108 |
| 1 | 51 | 108 |
| 2 | 147 | 108 |
| 3 | 457 | 108 |
| 4 | 1721 | 108 |
| 5 | 4000 | 108 |
| 6 | 7249 | 108 |
| 0 | 3 | 3 |
| 1× | saturated |
| 1× | node limit |
| Inputs |
|---|
0 |
1 |
2 |
| Outputs |
|---|
0 |
1 |
2 |
| Inputs |
|---|
(+.f64 (+.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) |
(+.f64 (+.f64 y (sin.f64 x)) (*.f64 z (cos.f64 x))) |
(+.f64 (+.f64 z (sin.f64 y)) (*.f64 x (cos.f64 y))) |
(+.f64 (+.f64 x (sin.f64 z)) (*.f64 y (cos.f64 z))) |
| Outputs |
|---|
(+.f64 (+.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) |
(+.f64 x (+.f64 (*.f64 z (cos.f64 y)) (sin.f64 y))) |
(+.f64 x (+.f64 (sin.f64 y) (*.f64 z (cos.f64 y)))) |
(+.f64 (+.f64 y (sin.f64 x)) (*.f64 z (cos.f64 x))) |
(+.f64 y (+.f64 (sin.f64 x) (*.f64 z (cos.f64 x)))) |
(+.f64 (+.f64 z (sin.f64 y)) (*.f64 x (cos.f64 y))) |
(+.f64 (+.f64 (sin.f64 y) z) (*.f64 x (cos.f64 y))) |
(+.f64 (sin.f64 y) (+.f64 z (*.f64 x (cos.f64 y)))) |
(+.f64 (+.f64 x (sin.f64 z)) (*.f64 y (cos.f64 z))) |
(+.f64 x (+.f64 (sin.f64 z) (*.f64 y (cos.f64 z)))) |
Compiled 15 to 11 computations (26.7% saved)
| 1× | egg-herbie |
| 1096× | rational_best_45_simplify-16 |
| 1034× | rational_best_45_simplify-24 |
| 1028× | rational_best_45_simplify-1 |
| 798× | rational_best_45_simplify-43 |
| 730× | rational_best_45_simplify-55 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 27 |
| 1 | 18 | 27 |
| 2 | 44 | 27 |
| 3 | 129 | 27 |
| 4 | 470 | 27 |
| 5 | 2480 | 27 |
| 6 | 5300 | 27 |
| 7 | 7853 | 27 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (+.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) |
| Outputs |
|---|
(+.f64 (+.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) |
(+.f64 x (+.f64 (*.f64 z (cos.f64 y)) (sin.f64 y))) |
(+.f64 x (+.f64 (sin.f64 y) (*.f64 z (cos.f64 y)))) |
Compiled 30 to 12 computations (60% saved)
2 alts after pruning (2 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 2 | 1 | 3 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 0 | 0 |
| Total | 2 | 2 | 4 |
| Status | Error | Program |
|---|---|---|
| ▶ | 0.0b | (+.f64 (+.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) |
Compiled 12 to 8 computations (33.3% saved)
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (+.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) |
| ✓ | 0.1b | (*.f64 z (cos.f64 y)) |
Compiled 27 to 8 computations (70.4% saved)
15 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | z | @ | inf | (*.f64 z (cos.f64 y)) |
| 1.0ms | z | @ | 0 | (*.f64 z (cos.f64 y)) |
| 0.0ms | x | @ | 0 | (+.f64 (+.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) |
| 0.0ms | y | @ | 0 | (*.f64 z (cos.f64 y)) |
| 0.0ms | x | @ | inf | (+.f64 (+.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) |
| 1× | batch-egg-rewrite |
| 1096× | rational_best_45_simplify-16 |
| 1034× | rational_best_45_simplify-24 |
| 1030× | rational_best_45_simplify-1 |
| 798× | rational_best_45_simplify-43 |
| 730× | rational_best_45_simplify-55 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 38 |
| 1 | 18 | 38 |
| 2 | 44 | 38 |
| 3 | 129 | 38 |
| 4 | 472 | 38 |
| 5 | 2486 | 38 |
| 6 | 5306 | 38 |
| 7 | 7857 | 38 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 z (cos.f64 y)) |
(+.f64 (+.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (cos.f64 y)) (/.f64 z z))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (cos.f64 y)) (/.f64 (cos.f64 y) (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (cos.f64 y)) (/.f64 (*.f64 (cos.f64 y) (/.f64 z z)) (*.f64 (cos.f64 y) (/.f64 z z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (cos.f64 y)) (/.f64 (/.f64 z z) (/.f64 z z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (cos.f64 y)) (/.f64 (/.f64 (cos.f64 y) (cos.f64 y)) (/.f64 (cos.f64 y) (cos.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (cos.f64 y)) (/.f64 (/.f64 (cos.f64 y) z) (/.f64 (cos.f64 y) z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (cos.f64 y)) (/.f64 (*.f64 (/.f64 z z) (/.f64 (cos.f64 y) (cos.f64 y))) (*.f64 (/.f64 z z) (/.f64 (cos.f64 y) (cos.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (cos.f64 y)) (/.f64 (*.f64 z (/.f64 (cos.f64 y) z)) (*.f64 z (/.f64 (cos.f64 y) z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (cos.f64 y)) (/.f64 (*.f64 (cos.f64 y) (*.f64 (/.f64 z z) (/.f64 z z))) (*.f64 (cos.f64 y) (*.f64 (/.f64 z z) (/.f64 z z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (cos.f64 y)) (/.f64 (*.f64 z (/.f64 (cos.f64 y) (cos.f64 y))) (*.f64 z (/.f64 (cos.f64 y) (cos.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (cos.f64 y)) (/.f64 (*.f64 z (/.f64 (*.f64 (cos.f64 y) (/.f64 z z)) (*.f64 (cos.f64 y) (/.f64 z z)))) (*.f64 z (/.f64 (*.f64 (cos.f64 y) (/.f64 z z)) (*.f64 (cos.f64 y) (/.f64 z z))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (cos.f64 y)) (/.f64 (*.f64 z (/.f64 (*.f64 (cos.f64 y) (/.f64 z z)) z)) (*.f64 z (/.f64 (*.f64 (cos.f64 y) (/.f64 z z)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (cos.f64 y)) (/.f64 (*.f64 z (cos.f64 y)) (*.f64 z (cos.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (cos.f64 y)) (/.f64 (*.f64 (cos.f64 y) (/.f64 (cos.f64 y) (cos.f64 y))) (*.f64 (cos.f64 y) (/.f64 (cos.f64 y) (cos.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (cos.f64 y)) (/.f64 (*.f64 (cos.f64 y) (/.f64 z (cos.f64 y))) (*.f64 (cos.f64 y) (/.f64 z (cos.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (cos.f64 y)) (/.f64 (*.f64 (cos.f64 y) (*.f64 (/.f64 z z) (*.f64 (/.f64 z z) (/.f64 z z)))) (*.f64 (cos.f64 y) (*.f64 (/.f64 z z) (*.f64 (/.f64 z z) (/.f64 z z))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (cos.f64 y)) (/.f64 (*.f64 z (*.f64 (/.f64 (cos.f64 y) (cos.f64 y)) (/.f64 (cos.f64 y) (cos.f64 y)))) (*.f64 z (*.f64 (/.f64 (cos.f64 y) (cos.f64 y)) (/.f64 (cos.f64 y) (cos.f64 y)))))))))) |
() |
| 1× | egg-herbie |
| 1220× | rational_best_45_simplify-16 |
| 1154× | rational_best_45_simplify-26 |
| 1010× | rational_best_45_simplify-53 |
| 852× | rational_best_45_simplify-18 |
| 744× | rational_best_45_simplify-29 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 93 | 1817 |
| 1 | 320 | 1817 |
| 2 | 1220 | 1817 |
| 3 | 4768 | 1817 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (cos.f64 y) z) |
(*.f64 (cos.f64 y) z) |
(*.f64 (cos.f64 y) z) |
(*.f64 (cos.f64 y) z) |
(*.f64 (cos.f64 y) z) |
(*.f64 (cos.f64 y) z) |
(*.f64 (cos.f64 y) z) |
(*.f64 (cos.f64 y) z) |
(*.f64 (cos.f64 y) z) |
(*.f64 (cos.f64 y) z) |
(*.f64 (cos.f64 y) z) |
(*.f64 (cos.f64 y) z) |
z |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) z) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 z (*.f64 1/24 (*.f64 (pow.f64 y 4) z)))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 y 6) z)) (+.f64 z (*.f64 1/24 (*.f64 (pow.f64 y 4) z))))) |
(+.f64 (*.f64 z (cos.f64 y)) (sin.f64 y)) |
(+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)) |
x |
(+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)) |
x |
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)) |
(+.f64 z x) |
(+.f64 y (+.f64 z x)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 y (+.f64 z x))) |
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 y (+.f64 z x)))) |
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)) |
(+.f64 (sin.f64 y) x) |
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)) |
(*.f64 (cos.f64 y) z) |
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)) |
(*.f64 (cos.f64 y) z) |
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)) |
(/.f64 (*.f64 z (cos.f64 y)) (/.f64 z z)) |
(/.f64 (*.f64 z (cos.f64 y)) (/.f64 (cos.f64 y) (cos.f64 y))) |
(/.f64 (*.f64 z (cos.f64 y)) (/.f64 (*.f64 (cos.f64 y) (/.f64 z z)) (*.f64 (cos.f64 y) (/.f64 z z)))) |
(/.f64 (*.f64 z (cos.f64 y)) (/.f64 (/.f64 z z) (/.f64 z z))) |
(/.f64 (*.f64 z (cos.f64 y)) (/.f64 (/.f64 (cos.f64 y) (cos.f64 y)) (/.f64 (cos.f64 y) (cos.f64 y)))) |
(/.f64 (*.f64 z (cos.f64 y)) (/.f64 (/.f64 (cos.f64 y) z) (/.f64 (cos.f64 y) z))) |
(/.f64 (*.f64 z (cos.f64 y)) (/.f64 (*.f64 (/.f64 z z) (/.f64 (cos.f64 y) (cos.f64 y))) (*.f64 (/.f64 z z) (/.f64 (cos.f64 y) (cos.f64 y))))) |
(/.f64 (*.f64 z (cos.f64 y)) (/.f64 (*.f64 z (/.f64 (cos.f64 y) z)) (*.f64 z (/.f64 (cos.f64 y) z)))) |
(/.f64 (*.f64 z (cos.f64 y)) (/.f64 (*.f64 (cos.f64 y) (*.f64 (/.f64 z z) (/.f64 z z))) (*.f64 (cos.f64 y) (*.f64 (/.f64 z z) (/.f64 z z))))) |
(/.f64 (*.f64 z (cos.f64 y)) (/.f64 (*.f64 z (/.f64 (cos.f64 y) (cos.f64 y))) (*.f64 z (/.f64 (cos.f64 y) (cos.f64 y))))) |
(/.f64 (*.f64 z (cos.f64 y)) (/.f64 (*.f64 z (/.f64 (*.f64 (cos.f64 y) (/.f64 z z)) (*.f64 (cos.f64 y) (/.f64 z z)))) (*.f64 z (/.f64 (*.f64 (cos.f64 y) (/.f64 z z)) (*.f64 (cos.f64 y) (/.f64 z z)))))) |
(/.f64 (*.f64 z (cos.f64 y)) (/.f64 (*.f64 z (/.f64 (*.f64 (cos.f64 y) (/.f64 z z)) z)) (*.f64 z (/.f64 (*.f64 (cos.f64 y) (/.f64 z z)) z)))) |
(/.f64 (*.f64 z (cos.f64 y)) (/.f64 (*.f64 z (cos.f64 y)) (*.f64 z (cos.f64 y)))) |
(/.f64 (*.f64 z (cos.f64 y)) (/.f64 (*.f64 (cos.f64 y) (/.f64 (cos.f64 y) (cos.f64 y))) (*.f64 (cos.f64 y) (/.f64 (cos.f64 y) (cos.f64 y))))) |
(/.f64 (*.f64 z (cos.f64 y)) (/.f64 (*.f64 (cos.f64 y) (/.f64 z (cos.f64 y))) (*.f64 (cos.f64 y) (/.f64 z (cos.f64 y))))) |
(/.f64 (*.f64 z (cos.f64 y)) (/.f64 (*.f64 (cos.f64 y) (*.f64 (/.f64 z z) (*.f64 (/.f64 z z) (/.f64 z z)))) (*.f64 (cos.f64 y) (*.f64 (/.f64 z z) (*.f64 (/.f64 z z) (/.f64 z z)))))) |
(/.f64 (*.f64 z (cos.f64 y)) (/.f64 (*.f64 z (*.f64 (/.f64 (cos.f64 y) (cos.f64 y)) (/.f64 (cos.f64 y) (cos.f64 y)))) (*.f64 z (*.f64 (/.f64 (cos.f64 y) (cos.f64 y)) (/.f64 (cos.f64 y) (cos.f64 y)))))) |
| Outputs |
|---|
(*.f64 (cos.f64 y) z) |
(*.f64 (cos.f64 y) z) |
(*.f64 (cos.f64 y) z) |
(*.f64 (cos.f64 y) z) |
(*.f64 (cos.f64 y) z) |
(*.f64 (cos.f64 y) z) |
(*.f64 (cos.f64 y) z) |
(*.f64 (cos.f64 y) z) |
(*.f64 (cos.f64 y) z) |
(*.f64 (cos.f64 y) z) |
(*.f64 (cos.f64 y) z) |
(*.f64 (cos.f64 y) z) |
z |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) z) |
(+.f64 z (*.f64 -1/2 (*.f64 z (pow.f64 y 2)))) |
(+.f64 z (*.f64 (pow.f64 y 2) (*.f64 z -1/2))) |
(+.f64 z (*.f64 z (*.f64 -1/2 (pow.f64 y 2)))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 z (*.f64 1/24 (*.f64 (pow.f64 y 4) z)))) |
(+.f64 z (+.f64 (*.f64 -1/2 (*.f64 z (pow.f64 y 2))) (*.f64 (pow.f64 y 4) (*.f64 1/24 z)))) |
(+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 z (*.f64 1/24 (pow.f64 y 4))))) |
(+.f64 z (+.f64 (*.f64 z (*.f64 -1/2 (pow.f64 y 2))) (*.f64 (pow.f64 y 4) (*.f64 z 1/24)))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 y 6) z)) (+.f64 z (*.f64 1/24 (*.f64 (pow.f64 y 4) z))))) |
(+.f64 (*.f64 -1/2 (*.f64 z (pow.f64 y 2))) (+.f64 (+.f64 z (*.f64 (pow.f64 y 4) (*.f64 1/24 z))) (*.f64 -1/720 (*.f64 z (pow.f64 y 6))))) |
(+.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 z (*.f64 1/24 (pow.f64 y 4))))) (*.f64 z (*.f64 -1/720 (pow.f64 y 6)))) |
(+.f64 z (+.f64 (*.f64 (pow.f64 y 4) (*.f64 z 1/24)) (+.f64 (*.f64 z (*.f64 -1/2 (pow.f64 y 2))) (*.f64 (pow.f64 y 6) (*.f64 z -1/720))))) |
(+.f64 (*.f64 z (cos.f64 y)) (sin.f64 y)) |
(+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)) |
(+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)) |
x |
(+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)) |
x |
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)) |
(+.f64 z x) |
(+.f64 y (+.f64 z x)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 y (+.f64 z x))) |
(+.f64 (*.f64 -1/2 (*.f64 z (pow.f64 y 2))) (+.f64 y (+.f64 z x))) |
(+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (+.f64 y x))) |
(+.f64 y (+.f64 z (+.f64 (*.f64 z (*.f64 -1/2 (pow.f64 y 2))) x))) |
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 y (+.f64 z x)))) |
(+.f64 (*.f64 -1/2 (*.f64 z (pow.f64 y 2))) (+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 y (+.f64 z x)))) |
(+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (+.f64 (+.f64 y (+.f64 z x)) (*.f64 -1/6 (pow.f64 y 3)))) |
(+.f64 y (+.f64 x (+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 z (*.f64 z (*.f64 -1/2 (pow.f64 y 2))))))) |
(+.f64 y (+.f64 x (+.f64 (+.f64 z (*.f64 z (*.f64 -1/2 (pow.f64 y 2)))) (*.f64 -1/6 (pow.f64 y 3))))) |
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)) |
(+.f64 (sin.f64 y) x) |
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)) |
(*.f64 (cos.f64 y) z) |
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)) |
(*.f64 (cos.f64 y) z) |
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)) |
(/.f64 (*.f64 z (cos.f64 y)) (/.f64 z z)) |
(*.f64 (cos.f64 y) z) |
(/.f64 (*.f64 z (cos.f64 y)) (/.f64 (cos.f64 y) (cos.f64 y))) |
(*.f64 (cos.f64 y) z) |
(/.f64 (*.f64 z (cos.f64 y)) (/.f64 (*.f64 (cos.f64 y) (/.f64 z z)) (*.f64 (cos.f64 y) (/.f64 z z)))) |
(*.f64 (cos.f64 y) z) |
(/.f64 (*.f64 z (cos.f64 y)) (/.f64 (/.f64 z z) (/.f64 z z))) |
(*.f64 (cos.f64 y) z) |
(/.f64 (*.f64 z (cos.f64 y)) (/.f64 (/.f64 (cos.f64 y) (cos.f64 y)) (/.f64 (cos.f64 y) (cos.f64 y)))) |
(*.f64 (cos.f64 y) z) |
(/.f64 (*.f64 z (cos.f64 y)) (/.f64 (/.f64 (cos.f64 y) z) (/.f64 (cos.f64 y) z))) |
(/.f64 (*.f64 (cos.f64 y) z) (/.f64 (/.f64 (cos.f64 y) z) (/.f64 (cos.f64 y) z))) |
(/.f64 (*.f64 z (cos.f64 y)) (/.f64 (*.f64 (/.f64 z z) (/.f64 (cos.f64 y) (cos.f64 y))) (*.f64 (/.f64 z z) (/.f64 (cos.f64 y) (cos.f64 y))))) |
(/.f64 (*.f64 (cos.f64 y) z) (/.f64 (*.f64 (/.f64 z z) (/.f64 (cos.f64 y) (cos.f64 y))) (*.f64 (/.f64 z z) (/.f64 (cos.f64 y) (cos.f64 y))))) |
(/.f64 (*.f64 z (cos.f64 y)) (/.f64 (*.f64 z (/.f64 (cos.f64 y) z)) (*.f64 z (/.f64 (cos.f64 y) z)))) |
(*.f64 (cos.f64 y) z) |
(/.f64 (*.f64 z (cos.f64 y)) (/.f64 (*.f64 (cos.f64 y) (*.f64 (/.f64 z z) (/.f64 z z))) (*.f64 (cos.f64 y) (*.f64 (/.f64 z z) (/.f64 z z))))) |
(/.f64 (*.f64 (cos.f64 y) z) (/.f64 (*.f64 (cos.f64 y) (*.f64 (/.f64 z z) (/.f64 z z))) (*.f64 (cos.f64 y) (*.f64 (/.f64 z z) (/.f64 z z))))) |
(/.f64 (*.f64 z (cos.f64 y)) (/.f64 (*.f64 z (/.f64 (cos.f64 y) (cos.f64 y))) (*.f64 z (/.f64 (cos.f64 y) (cos.f64 y))))) |
(*.f64 (cos.f64 y) z) |
(/.f64 (*.f64 z (cos.f64 y)) (/.f64 (*.f64 z (/.f64 (*.f64 (cos.f64 y) (/.f64 z z)) (*.f64 (cos.f64 y) (/.f64 z z)))) (*.f64 z (/.f64 (*.f64 (cos.f64 y) (/.f64 z z)) (*.f64 (cos.f64 y) (/.f64 z z)))))) |
(/.f64 (*.f64 (cos.f64 y) z) (/.f64 (*.f64 z (/.f64 (*.f64 (cos.f64 y) (/.f64 z z)) (*.f64 (cos.f64 y) (/.f64 z z)))) (*.f64 z (/.f64 (*.f64 (cos.f64 y) (/.f64 z z)) (*.f64 (cos.f64 y) (/.f64 z z)))))) |
(/.f64 (*.f64 z (cos.f64 y)) (/.f64 (*.f64 z (/.f64 (*.f64 (cos.f64 y) (/.f64 z z)) z)) (*.f64 z (/.f64 (*.f64 (cos.f64 y) (/.f64 z z)) z)))) |
(*.f64 (cos.f64 y) z) |
(/.f64 (*.f64 z (cos.f64 y)) (/.f64 (*.f64 z (cos.f64 y)) (*.f64 z (cos.f64 y)))) |
(/.f64 (*.f64 (cos.f64 y) z) (/.f64 (*.f64 (cos.f64 y) z) (*.f64 (cos.f64 y) z))) |
(/.f64 (*.f64 z (cos.f64 y)) (/.f64 (*.f64 (cos.f64 y) (/.f64 (cos.f64 y) (cos.f64 y))) (*.f64 (cos.f64 y) (/.f64 (cos.f64 y) (cos.f64 y))))) |
(*.f64 (cos.f64 y) z) |
(/.f64 (*.f64 z (cos.f64 y)) (/.f64 (*.f64 (cos.f64 y) (/.f64 z (cos.f64 y))) (*.f64 (cos.f64 y) (/.f64 z (cos.f64 y))))) |
(*.f64 (cos.f64 y) z) |
(/.f64 (*.f64 z (cos.f64 y)) (/.f64 (*.f64 (cos.f64 y) (*.f64 (/.f64 z z) (*.f64 (/.f64 z z) (/.f64 z z)))) (*.f64 (cos.f64 y) (*.f64 (/.f64 z z) (*.f64 (/.f64 z z) (/.f64 z z)))))) |
(/.f64 (*.f64 (cos.f64 y) z) (/.f64 (*.f64 (cos.f64 y) (*.f64 (/.f64 z z) (*.f64 (/.f64 z z) (/.f64 z z)))) (*.f64 (cos.f64 y) (*.f64 (/.f64 z z) (*.f64 (/.f64 z z) (/.f64 z z)))))) |
(/.f64 (*.f64 (cos.f64 y) z) (/.f64 (*.f64 (*.f64 (/.f64 z z) (/.f64 z z)) (*.f64 (cos.f64 y) (/.f64 z z))) (*.f64 (*.f64 (/.f64 z z) (/.f64 z z)) (*.f64 (cos.f64 y) (/.f64 z z))))) |
(/.f64 (*.f64 z (cos.f64 y)) (/.f64 (*.f64 z (*.f64 (/.f64 (cos.f64 y) (cos.f64 y)) (/.f64 (cos.f64 y) (cos.f64 y)))) (*.f64 z (*.f64 (/.f64 (cos.f64 y) (cos.f64 y)) (/.f64 (cos.f64 y) (cos.f64 y)))))) |
(/.f64 (*.f64 (cos.f64 y) z) (/.f64 (*.f64 z (*.f64 (/.f64 (cos.f64 y) (cos.f64 y)) (/.f64 (cos.f64 y) (cos.f64 y)))) (*.f64 z (*.f64 (/.f64 (cos.f64 y) (cos.f64 y)) (/.f64 (cos.f64 y) (cos.f64 y)))))) |
Compiled 1163 to 347 computations (70.2% saved)
8 alts after pruning (7 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 49 | 7 | 56 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 49 | 8 | 57 |
| Status | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (+.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) |
| ▶ | 10.2b | (+.f64 (+.f64 x (sin.f64 y)) z) |
| 29.2b | (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)) | |
| ▶ | 21.5b | (+.f64 (sin.f64 y) x) |
| ▶ | 30.0b | (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (+.f64 y x))) |
| ▶ | 22.8b | (+.f64 z x) |
| ▶ | 26.3b | (+.f64 y (+.f64 z x)) |
| 34.1b | x |
Compiled 128 to 87 computations (32% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (+.f64 x (sin.f64 y)) z) |
Compiled 18 to 6 computations (66.7% saved)
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | x | @ | 0 | (+.f64 (+.f64 x (sin.f64 y)) z) |
| 0.0ms | z | @ | inf | (+.f64 (+.f64 x (sin.f64 y)) z) |
| 0.0ms | y | @ | 0 | (+.f64 (+.f64 x (sin.f64 y)) z) |
| 0.0ms | x | @ | -inf | (+.f64 (+.f64 x (sin.f64 y)) z) |
| 0.0ms | y | @ | inf | (+.f64 (+.f64 x (sin.f64 y)) z) |
| 1× | batch-egg-rewrite |
| 12× | rational_best_45_simplify-20 |
| 4× | rational_best_45_simplify-7 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 17 |
| 1 | 11 | 17 |
| 2 | 15 | 17 |
| 3 | 19 | 17 |
| 1× | saturated |
| Inputs |
|---|
(+.f64 (+.f64 x (sin.f64 y)) z) |
| Outputs |
|---|
() |
| 1× | egg-herbie |
| 894× | rational_best_45_simplify-1 |
| 784× | rational_best_45_simplify-16 |
| 776× | rational_best_45_simplify-5 |
| 730× | rational_best_45_simplify-24 |
| 474× | rational_best_45_simplify-15 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 24 | 568 |
| 1 | 54 | 568 |
| 2 | 118 | 568 |
| 3 | 253 | 568 |
| 4 | 652 | 568 |
| 5 | 2254 | 568 |
| 6 | 5240 | 568 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 z (sin.f64 y)) |
(+.f64 z (+.f64 (sin.f64 y) x)) |
(+.f64 z (+.f64 (sin.f64 y) x)) |
(+.f64 z (+.f64 (sin.f64 y) x)) |
x |
(+.f64 z (+.f64 (sin.f64 y) x)) |
(+.f64 z (+.f64 (sin.f64 y) x)) |
(+.f64 z (+.f64 (sin.f64 y) x)) |
x |
(+.f64 z (+.f64 (sin.f64 y) x)) |
(+.f64 z (+.f64 (sin.f64 y) x)) |
(+.f64 z (+.f64 (sin.f64 y) x)) |
(+.f64 z x) |
(+.f64 y (+.f64 z x)) |
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 y (+.f64 z x))) |
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 y (+.f64 (*.f64 1/120 (pow.f64 y 5)) (+.f64 z x)))) |
(+.f64 z (+.f64 (sin.f64 y) x)) |
(+.f64 z (+.f64 (sin.f64 y) x)) |
(+.f64 z (+.f64 (sin.f64 y) x)) |
(+.f64 z (+.f64 (sin.f64 y) x)) |
(+.f64 z (+.f64 (sin.f64 y) x)) |
(+.f64 z (+.f64 (sin.f64 y) x)) |
(+.f64 z (+.f64 (sin.f64 y) x)) |
(+.f64 z (+.f64 (sin.f64 y) x)) |
(+.f64 (sin.f64 y) x) |
(+.f64 z (+.f64 (sin.f64 y) x)) |
(+.f64 z (+.f64 (sin.f64 y) x)) |
(+.f64 z (+.f64 (sin.f64 y) x)) |
z |
(+.f64 z (+.f64 (sin.f64 y) x)) |
(+.f64 z (+.f64 (sin.f64 y) x)) |
(+.f64 z (+.f64 (sin.f64 y) x)) |
z |
(+.f64 z (+.f64 (sin.f64 y) x)) |
(+.f64 z (+.f64 (sin.f64 y) x)) |
(+.f64 z (+.f64 (sin.f64 y) x)) |
| Outputs |
|---|
(+.f64 z (sin.f64 y)) |
(+.f64 z (+.f64 (sin.f64 y) x)) |
(+.f64 (sin.f64 y) (+.f64 z x)) |
(+.f64 z (+.f64 (sin.f64 y) x)) |
(+.f64 (sin.f64 y) (+.f64 z x)) |
(+.f64 z (+.f64 (sin.f64 y) x)) |
(+.f64 (sin.f64 y) (+.f64 z x)) |
x |
(+.f64 z (+.f64 (sin.f64 y) x)) |
(+.f64 (sin.f64 y) (+.f64 z x)) |
(+.f64 z (+.f64 (sin.f64 y) x)) |
(+.f64 (sin.f64 y) (+.f64 z x)) |
(+.f64 z (+.f64 (sin.f64 y) x)) |
(+.f64 (sin.f64 y) (+.f64 z x)) |
x |
(+.f64 z (+.f64 (sin.f64 y) x)) |
(+.f64 (sin.f64 y) (+.f64 z x)) |
(+.f64 z (+.f64 (sin.f64 y) x)) |
(+.f64 (sin.f64 y) (+.f64 z x)) |
(+.f64 z (+.f64 (sin.f64 y) x)) |
(+.f64 (sin.f64 y) (+.f64 z x)) |
(+.f64 z x) |
(+.f64 y (+.f64 z x)) |
(+.f64 z (+.f64 y x)) |
(+.f64 x (+.f64 z y)) |
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 y (+.f64 z x))) |
(+.f64 (+.f64 z (+.f64 y x)) (*.f64 -1/6 (pow.f64 y 3))) |
(+.f64 (+.f64 y (+.f64 z x)) (*.f64 -1/6 (pow.f64 y 3))) |
(+.f64 y (+.f64 (+.f64 z x) (*.f64 -1/6 (pow.f64 y 3)))) |
(+.f64 x (+.f64 y (+.f64 z (*.f64 -1/6 (pow.f64 y 3))))) |
(+.f64 x (+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 z y))) |
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 y (+.f64 (*.f64 1/120 (pow.f64 y 5)) (+.f64 z x)))) |
(+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 z (+.f64 (*.f64 1/120 (pow.f64 y 5)) x)))) |
(+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 z (+.f64 x (*.f64 1/120 (pow.f64 y 5)))))) |
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 y (+.f64 x (+.f64 z (*.f64 1/120 (pow.f64 y 5)))))) |
(+.f64 z (+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 (*.f64 1/120 (pow.f64 y 5)) (+.f64 y x)))) |
(+.f64 y (+.f64 z (+.f64 x (+.f64 (*.f64 -1/6 (pow.f64 y 3)) (*.f64 1/120 (pow.f64 y 5)))))) |
(+.f64 z (+.f64 (sin.f64 y) x)) |
(+.f64 (sin.f64 y) (+.f64 z x)) |
(+.f64 z (+.f64 (sin.f64 y) x)) |
(+.f64 (sin.f64 y) (+.f64 z x)) |
(+.f64 z (+.f64 (sin.f64 y) x)) |
(+.f64 (sin.f64 y) (+.f64 z x)) |
(+.f64 z (+.f64 (sin.f64 y) x)) |
(+.f64 (sin.f64 y) (+.f64 z x)) |
(+.f64 z (+.f64 (sin.f64 y) x)) |
(+.f64 (sin.f64 y) (+.f64 z x)) |
(+.f64 z (+.f64 (sin.f64 y) x)) |
(+.f64 (sin.f64 y) (+.f64 z x)) |
(+.f64 z (+.f64 (sin.f64 y) x)) |
(+.f64 (sin.f64 y) (+.f64 z x)) |
(+.f64 z (+.f64 (sin.f64 y) x)) |
(+.f64 (sin.f64 y) (+.f64 z x)) |
(+.f64 (sin.f64 y) x) |
(+.f64 z (+.f64 (sin.f64 y) x)) |
(+.f64 (sin.f64 y) (+.f64 z x)) |
(+.f64 z (+.f64 (sin.f64 y) x)) |
(+.f64 (sin.f64 y) (+.f64 z x)) |
(+.f64 z (+.f64 (sin.f64 y) x)) |
(+.f64 (sin.f64 y) (+.f64 z x)) |
z |
(+.f64 z (+.f64 (sin.f64 y) x)) |
(+.f64 (sin.f64 y) (+.f64 z x)) |
(+.f64 z (+.f64 (sin.f64 y) x)) |
(+.f64 (sin.f64 y) (+.f64 z x)) |
(+.f64 z (+.f64 (sin.f64 y) x)) |
(+.f64 (sin.f64 y) (+.f64 z x)) |
z |
(+.f64 z (+.f64 (sin.f64 y) x)) |
(+.f64 (sin.f64 y) (+.f64 z x)) |
(+.f64 z (+.f64 (sin.f64 y) x)) |
(+.f64 (sin.f64 y) (+.f64 z x)) |
(+.f64 z (+.f64 (sin.f64 y) x)) |
(+.f64 (sin.f64 y) (+.f64 z x)) |
Compiled 8 to 4 computations (50% saved)
Compiled 14 to 5 computations (64.3% saved)
Compiled 11 to 5 computations (54.5% saved)
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (+.f64 y x)) |
| ✓ | 7.4b | (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) |
Compiled 48 to 28 computations (41.7% saved)
15 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | y | @ | 0 | (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (+.f64 y x)) |
| 1.0ms | z | @ | 0 | (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) |
| 1.0ms | y | @ | 0 | (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) |
| 0.0ms | z | @ | inf | (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) |
| 0.0ms | y | @ | inf | (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) |
| 1× | batch-egg-rewrite |
| 1572× | rational_best_45_simplify-26 |
| 1440× | rational_best_45_simplify-25 |
| 1384× | rational_best_45_simplify-18 |
| 1100× | rational_best_45_simplify-14 |
| 986× | rational_best_45_simplify-29 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 12 | 50 |
| 1 | 28 | 50 |
| 2 | 90 | 50 |
| 3 | 315 | 50 |
| 4 | 1439 | 50 |
| 5 | 6210 | 50 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (pow.f64 y 2) (*.f64 z -1/2)) |
(+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (+.f64 y x)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (pow.f64 y 2) (pow.f64 y 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 z z))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (/.f64 z z) (/.f64 z z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (neg.f64 z)) (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (neg.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (*.f64 (pow.f64 y 2) -1/2) (*.f64 (pow.f64 y 2) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (/.f64 (pow.f64 y 2) (pow.f64 y 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (*.f64 -1/2 (/.f64 z z)) (*.f64 -1/2 (/.f64 z z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (*.f64 z (/.f64 -1/2 z)) (*.f64 z (/.f64 -1/2 z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (*.f64 -1/2 (*.f64 (/.f64 z z) (/.f64 z z))) (*.f64 -1/2 (*.f64 (/.f64 z z) (/.f64 z z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (*.f64 (pow.f64 y 2) (/.f64 z z)) (*.f64 (pow.f64 y 2) (/.f64 z z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) (/.f64 z z))) (*.f64 -1/2 (*.f64 (pow.f64 y 2) (/.f64 z z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (pow.f64 y 2) z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (*.f64 (pow.f64 y 2) (/.f64 (*.f64 z -1/2) (pow.f64 y 2))) (*.f64 (pow.f64 y 2) (/.f64 (*.f64 z -1/2) (pow.f64 y 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (*.f64 z (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (*.f64 -1/2 (/.f64 (pow.f64 y 2) (pow.f64 y 2))))) (*.f64 z (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (*.f64 -1/2 (/.f64 (pow.f64 y 2) (pow.f64 y 2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (/.f64 z z)) (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (/.f64 z z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (/.f64 (*.f64 z -1/2) (pow.f64 y 2)) (/.f64 (*.f64 z -1/2) (pow.f64 y 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (*.f64 -1/2 (/.f64 (pow.f64 y 2) (pow.f64 y 2))) (*.f64 -1/2 (/.f64 (pow.f64 y 2) (pow.f64 y 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (*.f64 (pow.f64 y 2) (*.f64 -1/2 (*.f64 (/.f64 z z) (/.f64 z z)))) (*.f64 (pow.f64 y 2) (*.f64 -1/2 (*.f64 (/.f64 z z) (/.f64 z z))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (*.f64 (*.f64 z -1/2) (/.f64 (pow.f64 y 2) (*.f64 z -1/2))) (*.f64 (*.f64 z -1/2) (/.f64 (pow.f64 y 2) (*.f64 z -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (*.f64 (pow.f64 y 2) (/.f64 (*.f64 z -1/2) (pow.f64 y 2)))) (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (*.f64 (pow.f64 y 2) (/.f64 (*.f64 z -1/2) (pow.f64 y 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 (pow.f64 y 2) (*.f64 z -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (*.f64 (pow.f64 y 2) (*.f64 z (/.f64 -1/2 z))) (*.f64 (pow.f64 y 2) (*.f64 z (/.f64 -1/2 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (*.f64 (pow.f64 y 2) (/.f64 (*.f64 z (*.f64 -1/2 (/.f64 (pow.f64 y 2) (pow.f64 y 2)))) (pow.f64 y 2))) (*.f64 (pow.f64 y 2) (/.f64 (*.f64 z (*.f64 -1/2 (/.f64 (pow.f64 y 2) (pow.f64 y 2)))) (pow.f64 y 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (*.f64 z (/.f64 (*.f64 (pow.f64 y 2) -1/2) z)) (*.f64 z (/.f64 (*.f64 (pow.f64 y 2) -1/2) z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (*.f64 z (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (*.f64 -1/2 (/.f64 (pow.f64 y 2) (pow.f64 y 2)))))) (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (*.f64 z (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (*.f64 -1/2 (/.f64 (pow.f64 y 2) (pow.f64 y 2))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (*.f64 (/.f64 z z) (*.f64 (pow.f64 y 2) (/.f64 z z))) (*.f64 (/.f64 z z) (*.f64 (pow.f64 y 2) (/.f64 z z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (*.f64 z (/.f64 (*.f64 (pow.f64 y 2) -1/2) (*.f64 (pow.f64 y 2) -1/2))) (*.f64 z (/.f64 (*.f64 (pow.f64 y 2) -1/2) (*.f64 (pow.f64 y 2) -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (*.f64 (pow.f64 y 2) (/.f64 (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (neg.f64 z)) (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (neg.f64 z)))) (*.f64 (pow.f64 y 2) (/.f64 (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (neg.f64 z)) (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (neg.f64 z)))))))))) |
() |
| 1× | egg-herbie |
| 1794× | rational_best_45_simplify-26 |
| 1324× | rational_best_45_simplify-18 |
| 1238× | rational_best_45_simplify-29 |
| 1082× | rational_best_45_simplify-24 |
| 970× | rational_best_45_simplify-14 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 104 | 3167 |
| 1 | 411 | 3167 |
| 2 | 1821 | 3127 |
| 3 | 7630 | 3127 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
x |
(+.f64 y x) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 y x)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 y x)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) y) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 y x)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 y x)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) y) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 y x)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 y x)) |
(+.f64 y x) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 y x)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 y x)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 y x)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 y x)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 y x)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 y x)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 y x)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 y x)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 y x)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) y) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 y x)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 y x)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 y x)) |
x |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 y x)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 y x)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 y x)) |
x |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 y x)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 y x)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 y x)) |
(/.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (pow.f64 y 2) (pow.f64 y 2))) |
(/.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 z z)) |
(/.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) 1) |
(/.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (/.f64 z z) (/.f64 z z))) |
(/.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (neg.f64 z)) (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (neg.f64 z)))) |
(/.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (*.f64 (pow.f64 y 2) -1/2) (*.f64 (pow.f64 y 2) -1/2))) |
(/.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (/.f64 (pow.f64 y 2) (pow.f64 y 2)))) |
(/.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (*.f64 -1/2 (/.f64 z z)) (*.f64 -1/2 (/.f64 z z)))) |
(/.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (*.f64 z (/.f64 -1/2 z)) (*.f64 z (/.f64 -1/2 z)))) |
(/.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (*.f64 -1/2 (*.f64 (/.f64 z z) (/.f64 z z))) (*.f64 -1/2 (*.f64 (/.f64 z z) (/.f64 z z))))) |
(/.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (*.f64 (pow.f64 y 2) (/.f64 z z)) (*.f64 (pow.f64 y 2) (/.f64 z z)))) |
(/.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) (/.f64 z z))) (*.f64 -1/2 (*.f64 (pow.f64 y 2) (/.f64 z z))))) |
(/.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (pow.f64 y 2) z))) |
(/.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (*.f64 (pow.f64 y 2) (/.f64 (*.f64 z -1/2) (pow.f64 y 2))) (*.f64 (pow.f64 y 2) (/.f64 (*.f64 z -1/2) (pow.f64 y 2))))) |
(/.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (*.f64 z (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (*.f64 -1/2 (/.f64 (pow.f64 y 2) (pow.f64 y 2))))) (*.f64 z (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (*.f64 -1/2 (/.f64 (pow.f64 y 2) (pow.f64 y 2))))))) |
(/.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (/.f64 z z)) (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (/.f64 z z)))) |
(/.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (/.f64 (*.f64 z -1/2) (pow.f64 y 2)) (/.f64 (*.f64 z -1/2) (pow.f64 y 2)))) |
(/.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (*.f64 -1/2 (/.f64 (pow.f64 y 2) (pow.f64 y 2))) (*.f64 -1/2 (/.f64 (pow.f64 y 2) (pow.f64 y 2))))) |
(/.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (*.f64 (pow.f64 y 2) (*.f64 -1/2 (*.f64 (/.f64 z z) (/.f64 z z)))) (*.f64 (pow.f64 y 2) (*.f64 -1/2 (*.f64 (/.f64 z z) (/.f64 z z)))))) |
(/.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (*.f64 (*.f64 z -1/2) (/.f64 (pow.f64 y 2) (*.f64 z -1/2))) (*.f64 (*.f64 z -1/2) (/.f64 (pow.f64 y 2) (*.f64 z -1/2))))) |
(/.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (*.f64 (pow.f64 y 2) (/.f64 (*.f64 z -1/2) (pow.f64 y 2)))) (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (*.f64 (pow.f64 y 2) (/.f64 (*.f64 z -1/2) (pow.f64 y 2)))))) |
(/.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 (pow.f64 y 2) (*.f64 z -1/2)))) |
(/.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (*.f64 (pow.f64 y 2) (*.f64 z (/.f64 -1/2 z))) (*.f64 (pow.f64 y 2) (*.f64 z (/.f64 -1/2 z))))) |
(/.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (*.f64 (pow.f64 y 2) (/.f64 (*.f64 z (*.f64 -1/2 (/.f64 (pow.f64 y 2) (pow.f64 y 2)))) (pow.f64 y 2))) (*.f64 (pow.f64 y 2) (/.f64 (*.f64 z (*.f64 -1/2 (/.f64 (pow.f64 y 2) (pow.f64 y 2)))) (pow.f64 y 2))))) |
(/.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (*.f64 z (/.f64 (*.f64 (pow.f64 y 2) -1/2) z)) (*.f64 z (/.f64 (*.f64 (pow.f64 y 2) -1/2) z)))) |
(/.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (*.f64 z (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (*.f64 -1/2 (/.f64 (pow.f64 y 2) (pow.f64 y 2)))))) (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (*.f64 z (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (*.f64 -1/2 (/.f64 (pow.f64 y 2) (pow.f64 y 2)))))))) |
(/.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (*.f64 (/.f64 z z) (*.f64 (pow.f64 y 2) (/.f64 z z))) (*.f64 (/.f64 z z) (*.f64 (pow.f64 y 2) (/.f64 z z))))) |
(/.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (*.f64 z (/.f64 (*.f64 (pow.f64 y 2) -1/2) (*.f64 (pow.f64 y 2) -1/2))) (*.f64 z (/.f64 (*.f64 (pow.f64 y 2) -1/2) (*.f64 (pow.f64 y 2) -1/2))))) |
(/.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (*.f64 (pow.f64 y 2) (/.f64 (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (neg.f64 z)) (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (neg.f64 z)))) (*.f64 (pow.f64 y 2) (/.f64 (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (neg.f64 z)) (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (neg.f64 z)))))) |
| Outputs |
|---|
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
x |
(+.f64 y x) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 y x)) |
(+.f64 (+.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 y x)) |
(+.f64 (+.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z))) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) y) |
(+.f64 y (*.f64 -1/2 (*.f64 (pow.f64 y 2) z))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 y x)) |
(+.f64 (+.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 y x)) |
(+.f64 (+.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z))) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) y) |
(+.f64 y (*.f64 -1/2 (*.f64 (pow.f64 y 2) z))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 y x)) |
(+.f64 (+.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 y x)) |
(+.f64 (+.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z))) |
(+.f64 y x) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 y x)) |
(+.f64 (+.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 y x)) |
(+.f64 (+.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 y x)) |
(+.f64 (+.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z))) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 y x)) |
(+.f64 (+.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 y x)) |
(+.f64 (+.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 y x)) |
(+.f64 (+.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z))) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 y x)) |
(+.f64 (+.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 y x)) |
(+.f64 (+.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 y x)) |
(+.f64 (+.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) y) |
(+.f64 y (*.f64 -1/2 (*.f64 (pow.f64 y 2) z))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 y x)) |
(+.f64 (+.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 y x)) |
(+.f64 (+.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 y x)) |
(+.f64 (+.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z))) |
x |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 y x)) |
(+.f64 (+.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 y x)) |
(+.f64 (+.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 y x)) |
(+.f64 (+.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z))) |
x |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 y x)) |
(+.f64 (+.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 y x)) |
(+.f64 (+.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 y x)) |
(+.f64 (+.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z))) |
(/.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (pow.f64 y 2) (pow.f64 y 2))) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(/.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 z z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(/.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) 1) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(/.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (/.f64 z z) (/.f64 z z))) |
(/.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (/.f64 (/.f64 z z) (/.f64 z z))) |
(/.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (neg.f64 z)) (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (neg.f64 z)))) |
(/.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (/.f64 (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (neg.f64 z)) (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (neg.f64 z)))) |
(/.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (*.f64 (pow.f64 y 2) -1/2) (*.f64 (pow.f64 y 2) -1/2))) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(/.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (/.f64 (pow.f64 y 2) (pow.f64 y 2)))) |
(/.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (/.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (/.f64 (pow.f64 y 2) (pow.f64 y 2)))) |
(/.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (*.f64 -1/2 (/.f64 z z)) (*.f64 -1/2 (/.f64 z z)))) |
(/.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (/.f64 (/.f64 z z) (/.f64 z z))) |
(/.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (*.f64 z (/.f64 -1/2 z)) (*.f64 z (/.f64 -1/2 z)))) |
(/.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (/.f64 (*.f64 z (/.f64 -1/2 z)) (*.f64 z (/.f64 -1/2 z)))) |
(/.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (*.f64 -1/2 (*.f64 (/.f64 z z) (/.f64 z z))) (*.f64 -1/2 (*.f64 (/.f64 z z) (/.f64 z z))))) |
(/.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (/.f64 (/.f64 z z) (/.f64 z z))) |
(/.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (*.f64 (pow.f64 y 2) (/.f64 z z)) (*.f64 (pow.f64 y 2) (/.f64 z z)))) |
(/.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (/.f64 (*.f64 (pow.f64 y 2) (/.f64 z z)) (*.f64 (pow.f64 y 2) (/.f64 z z)))) |
(/.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) (/.f64 z z))) (*.f64 -1/2 (*.f64 (pow.f64 y 2) (/.f64 z z))))) |
(/.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (/.f64 (*.f64 (pow.f64 y 2) (/.f64 z z)) (*.f64 (pow.f64 y 2) (/.f64 z z)))) |
(/.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (pow.f64 y 2) z))) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(/.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (*.f64 (pow.f64 y 2) (/.f64 (*.f64 z -1/2) (pow.f64 y 2))) (*.f64 (pow.f64 y 2) (/.f64 (*.f64 z -1/2) (pow.f64 y 2))))) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(/.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (*.f64 z (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (*.f64 -1/2 (/.f64 (pow.f64 y 2) (pow.f64 y 2))))) (*.f64 z (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (*.f64 -1/2 (/.f64 (pow.f64 y 2) (pow.f64 y 2))))))) |
(/.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (/.f64 (*.f64 z (*.f64 -1/2 (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (/.f64 (pow.f64 y 2) (pow.f64 y 2))))) (*.f64 z (*.f64 -1/2 (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (/.f64 (pow.f64 y 2) (pow.f64 y 2))))))) |
(/.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (/.f64 (*.f64 -1/2 (*.f64 z (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (/.f64 (pow.f64 y 2) (pow.f64 y 2))))) (*.f64 -1/2 (*.f64 z (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (/.f64 (pow.f64 y 2) (pow.f64 y 2))))))) |
(/.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (/.f64 (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (neg.f64 z))) (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (neg.f64 z))))) |
(/.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (/.f64 z z)) (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (/.f64 z z)))) |
(/.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (/.f64 (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (/.f64 z z)) (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (/.f64 z z)))) |
(/.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (/.f64 (*.f64 z -1/2) (pow.f64 y 2)) (/.f64 (*.f64 z -1/2) (pow.f64 y 2)))) |
(/.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (/.f64 (/.f64 (*.f64 -1/2 z) (pow.f64 y 2)) (/.f64 (*.f64 -1/2 z) (pow.f64 y 2)))) |
(/.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (*.f64 -1/2 (/.f64 (pow.f64 y 2) (pow.f64 y 2))) (*.f64 -1/2 (/.f64 (pow.f64 y 2) (pow.f64 y 2))))) |
(/.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (/.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (/.f64 (pow.f64 y 2) (pow.f64 y 2)))) |
(/.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (*.f64 (pow.f64 y 2) (*.f64 -1/2 (*.f64 (/.f64 z z) (/.f64 z z)))) (*.f64 (pow.f64 y 2) (*.f64 -1/2 (*.f64 (/.f64 z z) (/.f64 z z)))))) |
(/.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (/.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) (*.f64 (/.f64 z z) (/.f64 z z)))) (*.f64 -1/2 (*.f64 (pow.f64 y 2) (*.f64 (/.f64 z z) (/.f64 z z)))))) |
(/.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (/.f64 (*.f64 (pow.f64 y 2) (*.f64 (/.f64 z z) (*.f64 -1/2 (/.f64 z z)))) (*.f64 (pow.f64 y 2) (*.f64 (/.f64 z z) (*.f64 -1/2 (/.f64 z z)))))) |
(/.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (/.f64 (*.f64 (pow.f64 y 2) (*.f64 (/.f64 z z) (/.f64 z z))) (*.f64 (pow.f64 y 2) (*.f64 (/.f64 z z) (/.f64 z z))))) |
(/.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (*.f64 (*.f64 z -1/2) (/.f64 (pow.f64 y 2) (*.f64 z -1/2))) (*.f64 (*.f64 z -1/2) (/.f64 (pow.f64 y 2) (*.f64 z -1/2))))) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(/.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (*.f64 (pow.f64 y 2) (/.f64 (*.f64 z -1/2) (pow.f64 y 2)))) (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (*.f64 (pow.f64 y 2) (/.f64 (*.f64 z -1/2) (pow.f64 y 2)))))) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(/.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 (pow.f64 y 2) (*.f64 z -1/2)))) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(/.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (*.f64 (pow.f64 y 2) (*.f64 z (/.f64 -1/2 z))) (*.f64 (pow.f64 y 2) (*.f64 z (/.f64 -1/2 z))))) |
(/.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (/.f64 (*.f64 (pow.f64 y 2) (*.f64 z (/.f64 -1/2 z))) (*.f64 (pow.f64 y 2) (*.f64 z (/.f64 -1/2 z))))) |
(/.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (/.f64 (*.f64 z (*.f64 (pow.f64 y 2) (/.f64 -1/2 z))) (*.f64 z (*.f64 (pow.f64 y 2) (/.f64 -1/2 z))))) |
(/.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (/.f64 (*.f64 (*.f64 (pow.f64 y 2) z) (/.f64 -1/2 z)) (*.f64 (*.f64 (pow.f64 y 2) z) (/.f64 -1/2 z)))) |
(/.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (*.f64 (pow.f64 y 2) (/.f64 (*.f64 z (*.f64 -1/2 (/.f64 (pow.f64 y 2) (pow.f64 y 2)))) (pow.f64 y 2))) (*.f64 (pow.f64 y 2) (/.f64 (*.f64 z (*.f64 -1/2 (/.f64 (pow.f64 y 2) (pow.f64 y 2)))) (pow.f64 y 2))))) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(/.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (*.f64 z (/.f64 (*.f64 (pow.f64 y 2) -1/2) z)) (*.f64 z (/.f64 (*.f64 (pow.f64 y 2) -1/2) z)))) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(/.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (*.f64 z (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (*.f64 -1/2 (/.f64 (pow.f64 y 2) (pow.f64 y 2)))))) (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (*.f64 z (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (*.f64 -1/2 (/.f64 (pow.f64 y 2) (pow.f64 y 2)))))))) |
(/.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (/.f64 (*.f64 z (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (*.f64 -1/2 (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (/.f64 (pow.f64 y 2) (pow.f64 y 2)))))) (*.f64 z (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (*.f64 -1/2 (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (/.f64 (pow.f64 y 2) (pow.f64 y 2)))))))) |
(/.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (/.f64 (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (neg.f64 z)))) (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (neg.f64 z)))))) |
(/.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (*.f64 (/.f64 z z) (*.f64 (pow.f64 y 2) (/.f64 z z))) (*.f64 (/.f64 z z) (*.f64 (pow.f64 y 2) (/.f64 z z))))) |
(/.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (/.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) (*.f64 (/.f64 z z) (/.f64 z z)))) (*.f64 -1/2 (*.f64 (pow.f64 y 2) (*.f64 (/.f64 z z) (/.f64 z z)))))) |
(/.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (/.f64 (*.f64 (pow.f64 y 2) (*.f64 (/.f64 z z) (*.f64 -1/2 (/.f64 z z)))) (*.f64 (pow.f64 y 2) (*.f64 (/.f64 z z) (*.f64 -1/2 (/.f64 z z)))))) |
(/.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (/.f64 (*.f64 (pow.f64 y 2) (*.f64 (/.f64 z z) (/.f64 z z))) (*.f64 (pow.f64 y 2) (*.f64 (/.f64 z z) (/.f64 z z))))) |
(/.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (*.f64 z (/.f64 (*.f64 (pow.f64 y 2) -1/2) (*.f64 (pow.f64 y 2) -1/2))) (*.f64 z (/.f64 (*.f64 (pow.f64 y 2) -1/2) (*.f64 (pow.f64 y 2) -1/2))))) |
(/.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (/.f64 (*.f64 z (/.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 -1/2 (pow.f64 y 2)))) (*.f64 z (/.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 -1/2 (pow.f64 y 2)))))) |
(/.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (/.f64 (*.f64 z (/.f64 (*.f64 (pow.f64 y 2) -1) (*.f64 (pow.f64 y 2) -1))) (*.f64 z (/.f64 (*.f64 (pow.f64 y 2) -1) (*.f64 (pow.f64 y 2) -1))))) |
(/.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (/.f64 (*.f64 z (/.f64 (neg.f64 (pow.f64 y 2)) (neg.f64 (pow.f64 y 2)))) (*.f64 z (/.f64 (neg.f64 (pow.f64 y 2)) (neg.f64 (pow.f64 y 2)))))) |
(/.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (/.f64 (*.f64 (pow.f64 y 2) (/.f64 (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (neg.f64 z)) (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (neg.f64 z)))) (*.f64 (pow.f64 y 2) (/.f64 (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (neg.f64 z)) (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (neg.f64 z)))))) |
(/.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (/.f64 (*.f64 (pow.f64 y 2) (/.f64 (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (neg.f64 z)) (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (neg.f64 z)))) (*.f64 (pow.f64 y 2) (/.f64 (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (neg.f64 z)) (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (neg.f64 z)))))) |
Compiled 2193 to 1343 computations (38.8% saved)
9 alts after pruning (5 fresh and 4 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 77 | 3 | 80 |
| Fresh | 0 | 2 | 2 |
| Picked | 1 | 0 | 1 |
| Done | 1 | 4 | 5 |
| Total | 79 | 9 | 88 |
| Status | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (+.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) |
| ▶ | 29.2b | (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)) |
| ✓ | 21.5b | (+.f64 (sin.f64 y) x) |
| ▶ | 50.0b | (+.f64 z (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) y)) |
| ▶ | 38.7b | (+.f64 z (sin.f64 y)) |
| ✓ | 22.8b | (+.f64 z x) |
| ✓ | 26.3b | (+.f64 y (+.f64 z x)) |
| 51.2b | z | |
| 34.1b | x |
Compiled 72 to 50 computations (30.6% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 z (sin.f64 y)) |
Compiled 11 to 5 computations (54.5% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | y | @ | 0 | (+.f64 z (sin.f64 y)) |
| 0.0ms | z | @ | 0 | (+.f64 z (sin.f64 y)) |
| 0.0ms | y | @ | inf | (+.f64 z (sin.f64 y)) |
| 0.0ms | z | @ | -inf | (+.f64 z (sin.f64 y)) |
| 0.0ms | z | @ | inf | (+.f64 z (sin.f64 y)) |
| 1× | batch-egg-rewrite |
| 2× | rational_best_45_simplify-20 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 11 |
| 1 | 8 | 11 |
| 1× | saturated |
| Inputs |
|---|
(+.f64 z (sin.f64 y)) |
| Outputs |
|---|
() |
| 1× | egg-herbie |
| 864× | rational_best_45_simplify-1 |
| 784× | rational_best_45_simplify-16 |
| 776× | rational_best_45_simplify-5 |
| 732× | rational_best_45_simplify-24 |
| 474× | rational_best_45_simplify-15 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 19 | 83 |
| 1 | 40 | 83 |
| 2 | 82 | 83 |
| 3 | 168 | 83 |
| 4 | 506 | 83 |
| 5 | 2044 | 83 |
| 6 | 5032 | 83 |
| 1× | node limit |
| Inputs |
|---|
(sin.f64 y) |
z |
z |
z |
(+.f64 y z) |
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 y z)) |
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 y (+.f64 (*.f64 1/120 (pow.f64 y 5)) z))) |
| Outputs |
|---|
(sin.f64 y) |
z |
z |
z |
(+.f64 y z) |
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 y z)) |
(+.f64 (+.f64 y z) (*.f64 -1/6 (pow.f64 y 3))) |
(+.f64 z (+.f64 y (*.f64 -1/6 (pow.f64 y 3)))) |
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 y (+.f64 (*.f64 1/120 (pow.f64 y 5)) z))) |
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 (*.f64 1/120 (pow.f64 y 5)) (+.f64 y z))) |
(+.f64 y (+.f64 z (+.f64 (*.f64 -1/6 (pow.f64 y 3)) (*.f64 1/120 (pow.f64 y 5))))) |
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 y (+.f64 z (*.f64 1/120 (pow.f64 y 5))))) |
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 (+.f64 y z) (*.f64 1/120 (pow.f64 y 5)))) |
(+.f64 y (+.f64 (*.f64 1/120 (pow.f64 y 5)) (+.f64 z (*.f64 -1/6 (pow.f64 y 3))))) |
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 z (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) y)) |
| ✓ | 7.4b | (*.f64 (pow.f64 y 2) z) |
Compiled 42 to 28 computations (33.3% saved)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | z | @ | -inf | (*.f64 (pow.f64 y 2) z) |
| 0.0ms | z | @ | -inf | (+.f64 z (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) y)) |
| 0.0ms | z | @ | inf | (+.f64 z (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) y)) |
| 0.0ms | z | @ | 0 | (+.f64 z (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) y)) |
| 0.0ms | y | @ | inf | (+.f64 z (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) y)) |
| 1× | batch-egg-rewrite |
| 2050× | rational_best_45_simplify-14 |
| 1486× | rational_best_45_simplify-26 |
| 1314× | rational_best_45_simplify-18 |
| 1126× | rational_best_45_simplify-20 |
| 858× | rational_best_45_simplify-29 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 44 |
| 1 | 28 | 44 |
| 2 | 80 | 44 |
| 3 | 266 | 44 |
| 4 | 1505 | 44 |
| 5 | 6714 | 44 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (pow.f64 y 2) z) |
(+.f64 z (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) y)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (*.f64 (pow.f64 y 2) z) (/.f64 0 (*.f64 (pow.f64 y 2) z))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (/.f64 (/.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (pow.f64 y 2) z)) (/.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (pow.f64 y 2) z))) (*.f64 (*.f64 (pow.f64 y 2) z) (/.f64 0 (*.f64 (pow.f64 y 2) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (*.f64 (pow.f64 y 2) z) (*.f64 1 (/.f64 0 (*.f64 (pow.f64 y 2) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (/.f64 0 (*.f64 (pow.f64 y 2) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (/.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (pow.f64 y 2) z)) (/.f64 0 (*.f64 (pow.f64 y 2) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (pow.f64 y 2) z) (*.f64 1 (*.f64 (*.f64 (pow.f64 y 2) z) (/.f64 0 (*.f64 (pow.f64 y 2) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (*.f64 (*.f64 (pow.f64 y 2) z) (/.f64 0 (*.f64 (pow.f64 y 2) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (/.f64 z z) (*.f64 (*.f64 (pow.f64 y 2) z) (/.f64 0 (*.f64 (pow.f64 y 2) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (/.f64 z z)) (*.f64 (*.f64 (pow.f64 y 2) z) (/.f64 0 (*.f64 (pow.f64 y 2) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (/.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (pow.f64 y 2) z)) (*.f64 (*.f64 (pow.f64 y 2) z) (/.f64 0 (*.f64 (pow.f64 y 2) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (*.f64 (*.f64 (pow.f64 y 2) z) (/.f64 1 (*.f64 (pow.f64 y 2) z))) (*.f64 (*.f64 (pow.f64 y 2) z) (/.f64 0 (*.f64 (pow.f64 y 2) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (*.f64 (/.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (pow.f64 y 2) z)) (/.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (pow.f64 y 2) z))) (*.f64 (*.f64 (pow.f64 y 2) z) (/.f64 0 (*.f64 (pow.f64 y 2) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (*.f64 1 (*.f64 (*.f64 (pow.f64 y 2) z) (/.f64 1 (*.f64 (pow.f64 y 2) z)))) (*.f64 (*.f64 (pow.f64 y 2) z) (/.f64 0 (*.f64 (pow.f64 y 2) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (*.f64 1 (*.f64 (/.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (pow.f64 y 2) z)) (/.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (pow.f64 y 2) z)))) (*.f64 (*.f64 (pow.f64 y 2) z) (/.f64 0 (*.f64 (pow.f64 y 2) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (/.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (pow.f64 y 2) z))) (*.f64 (*.f64 (pow.f64 y 2) z) (/.f64 0 (*.f64 (pow.f64 y 2) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (*.f64 (*.f64 (pow.f64 y 2) z) (/.f64 1 (*.f64 (pow.f64 y 2) z)))) (*.f64 (*.f64 (pow.f64 y 2) z) (/.f64 0 (*.f64 (pow.f64 y 2) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (*.f64 (/.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (pow.f64 y 2) z)) (/.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (pow.f64 y 2) z)))) (*.f64 (*.f64 (pow.f64 y 2) z) (/.f64 0 (*.f64 (pow.f64 y 2) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (*.f64 (/.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (pow.f64 y 2) z)) (*.f64 (*.f64 (pow.f64 y 2) z) (/.f64 1 (*.f64 (pow.f64 y 2) z)))) (*.f64 (*.f64 (pow.f64 y 2) z) (/.f64 0 (*.f64 (pow.f64 y 2) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (*.f64 (/.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (pow.f64 y 2) z)) (*.f64 (/.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (pow.f64 y 2) z)) (/.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (pow.f64 y 2) z)))) (*.f64 (*.f64 (pow.f64 y 2) z) (/.f64 0 (*.f64 (pow.f64 y 2) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (*.f64 (*.f64 (pow.f64 y 2) z) (/.f64 (/.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (pow.f64 y 2) z)) (*.f64 (pow.f64 y 2) z))) (*.f64 (*.f64 (pow.f64 y 2) z) (/.f64 0 (*.f64 (pow.f64 y 2) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (/.f64 0 (*.f64 (pow.f64 y 2) z)) (neg.f64 (*.f64 (pow.f64 y 2) z))) (*.f64 (neg.f64 (*.f64 (pow.f64 y 2) z)) (/.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (pow.f64 y 2) z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 y 2) z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 y 2) z) (/.f64 (pow.f64 y 2) (pow.f64 y 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 y 2) z) (/.f64 z z))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 y 2) z) (/.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (pow.f64 y 2) z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 y 2) z) (/.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (/.f64 (pow.f64 y 2) (pow.f64 y 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 y 2) z) (/.f64 (*.f64 z (/.f64 (pow.f64 y 2) (pow.f64 y 2))) (*.f64 z (/.f64 (pow.f64 y 2) (pow.f64 y 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 y 2) z) (/.f64 (/.f64 z z) (/.f64 z z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 y 2) z) (/.f64 (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (/.f64 z z)) (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (/.f64 z z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 y 2) z) (/.f64 (/.f64 z (pow.f64 y 2)) (/.f64 z (pow.f64 y 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 y 2) z) (/.f64 (*.f64 (pow.f64 y 2) (/.f64 z z)) (*.f64 (pow.f64 y 2) (/.f64 z z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 y 2) z) (/.f64 (*.f64 (pow.f64 y 2) (/.f64 z (pow.f64 y 2))) (*.f64 (pow.f64 y 2) (/.f64 z (pow.f64 y 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 y 2) z) (/.f64 (/.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (pow.f64 y 2) z)) (/.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (pow.f64 y 2) z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 y 2) z) (/.f64 (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (*.f64 z (/.f64 (pow.f64 y 2) (pow.f64 y 2)))) (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (*.f64 z (/.f64 (pow.f64 y 2) (pow.f64 y 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 y 2) z) (/.f64 (*.f64 z (/.f64 (pow.f64 y 2) z)) (*.f64 z (/.f64 (pow.f64 y 2) z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 y 2) z) (/.f64 (*.f64 (pow.f64 y 2) (/.f64 (*.f64 z (/.f64 (pow.f64 y 2) (pow.f64 y 2))) (pow.f64 y 2))) (*.f64 (pow.f64 y 2) (/.f64 (*.f64 z (/.f64 (pow.f64 y 2) (pow.f64 y 2))) (pow.f64 y 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 y 2) z) (/.f64 (*.f64 (*.f64 (pow.f64 y 2) z) (/.f64 1 (*.f64 (pow.f64 y 2) z))) (*.f64 (*.f64 (pow.f64 y 2) z) (/.f64 1 (*.f64 (pow.f64 y 2) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 y 2) z) (/.f64 (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (*.f64 z (/.f64 (pow.f64 y 2) (pow.f64 y 2))))) (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (*.f64 z (/.f64 (pow.f64 y 2) (pow.f64 y 2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 y 2) z) (/.f64 (*.f64 (pow.f64 y 2) (/.f64 (*.f64 z (/.f64 (pow.f64 y 2) (pow.f64 y 2))) (*.f64 z (/.f64 (pow.f64 y 2) (pow.f64 y 2))))) (*.f64 (pow.f64 y 2) (/.f64 (*.f64 z (/.f64 (pow.f64 y 2) (pow.f64 y 2))) (*.f64 z (/.f64 (pow.f64 y 2) (pow.f64 y 2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 y 2) z) (/.f64 (*.f64 (/.f64 z z) (*.f64 (pow.f64 y 2) (/.f64 z z))) (*.f64 (/.f64 z z) (*.f64 (pow.f64 y 2) (/.f64 z z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 y 2) z) (/.f64 (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (*.f64 (pow.f64 y 2) (/.f64 z (pow.f64 y 2)))) (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (*.f64 (pow.f64 y 2) (/.f64 z (pow.f64 y 2)))))))))) |
() |
| 1× | egg-herbie |
| 1976× | rational_best_45_simplify-26 |
| 1530× | rational_best_45_simplify-18 |
| 1310× | rational_best_45_simplify-29 |
| 860× | rational_best_45_simplify-14 |
| 740× | rational_best_45_simplify-24 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 139 | 2027 |
| 1 | 550 | 1821 |
| 2 | 2189 | 1821 |
| 1× | node limit |
| Inputs |
|---|
y |
(+.f64 y (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 y 2))) z)) |
(+.f64 y (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 y 2))) z)) |
(+.f64 y (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 y 2))) z)) |
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 y 2))) z) |
(+.f64 y (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 y 2))) z)) |
(+.f64 y (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 y 2))) z)) |
(+.f64 y (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 y 2))) z)) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 1/2 (pow.f64 y 2)) 1) z)) |
(+.f64 y (*.f64 -1 (*.f64 (-.f64 (*.f64 1/2 (pow.f64 y 2)) 1) z))) |
(+.f64 y (*.f64 -1 (*.f64 (-.f64 (*.f64 1/2 (pow.f64 y 2)) 1) z))) |
(+.f64 y (*.f64 -1 (*.f64 (-.f64 (*.f64 1/2 (pow.f64 y 2)) 1) z))) |
z |
(+.f64 y z) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 y z)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 y z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) y) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 y z)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 y z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) y) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 y z)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 y z)) |
(-.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (*.f64 (pow.f64 y 2) z) (/.f64 0 (*.f64 (pow.f64 y 2) z)))) |
(-.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (/.f64 (/.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (pow.f64 y 2) z)) (/.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (pow.f64 y 2) z))) (*.f64 (*.f64 (pow.f64 y 2) z) (/.f64 0 (*.f64 (pow.f64 y 2) z))))) |
(-.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (*.f64 (pow.f64 y 2) z) (*.f64 1 (/.f64 0 (*.f64 (pow.f64 y 2) z))))) |
(-.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (/.f64 0 (*.f64 (pow.f64 y 2) z))))) |
(-.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (/.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (pow.f64 y 2) z)) (/.f64 0 (*.f64 (pow.f64 y 2) z))))) |
(-.f64 (*.f64 (pow.f64 y 2) z) (*.f64 1 (*.f64 (*.f64 (pow.f64 y 2) z) (/.f64 0 (*.f64 (pow.f64 y 2) z))))) |
(-.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (*.f64 (*.f64 (pow.f64 y 2) z) (/.f64 0 (*.f64 (pow.f64 y 2) z))))) |
(-.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (/.f64 z z) (*.f64 (*.f64 (pow.f64 y 2) z) (/.f64 0 (*.f64 (pow.f64 y 2) z))))) |
(-.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (/.f64 z z)) (*.f64 (*.f64 (pow.f64 y 2) z) (/.f64 0 (*.f64 (pow.f64 y 2) z))))) |
(-.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (/.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (pow.f64 y 2) z)) (*.f64 (*.f64 (pow.f64 y 2) z) (/.f64 0 (*.f64 (pow.f64 y 2) z))))) |
(-.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (*.f64 (*.f64 (pow.f64 y 2) z) (/.f64 1 (*.f64 (pow.f64 y 2) z))) (*.f64 (*.f64 (pow.f64 y 2) z) (/.f64 0 (*.f64 (pow.f64 y 2) z))))) |
(-.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (*.f64 (/.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (pow.f64 y 2) z)) (/.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (pow.f64 y 2) z))) (*.f64 (*.f64 (pow.f64 y 2) z) (/.f64 0 (*.f64 (pow.f64 y 2) z))))) |
(-.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (*.f64 1 (*.f64 (*.f64 (pow.f64 y 2) z) (/.f64 1 (*.f64 (pow.f64 y 2) z)))) (*.f64 (*.f64 (pow.f64 y 2) z) (/.f64 0 (*.f64 (pow.f64 y 2) z))))) |
(-.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (*.f64 1 (*.f64 (/.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (pow.f64 y 2) z)) (/.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (pow.f64 y 2) z)))) (*.f64 (*.f64 (pow.f64 y 2) z) (/.f64 0 (*.f64 (pow.f64 y 2) z))))) |
(-.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (/.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (pow.f64 y 2) z))) (*.f64 (*.f64 (pow.f64 y 2) z) (/.f64 0 (*.f64 (pow.f64 y 2) z))))) |
(-.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (*.f64 (*.f64 (pow.f64 y 2) z) (/.f64 1 (*.f64 (pow.f64 y 2) z)))) (*.f64 (*.f64 (pow.f64 y 2) z) (/.f64 0 (*.f64 (pow.f64 y 2) z))))) |
(-.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (*.f64 (/.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (pow.f64 y 2) z)) (/.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (pow.f64 y 2) z)))) (*.f64 (*.f64 (pow.f64 y 2) z) (/.f64 0 (*.f64 (pow.f64 y 2) z))))) |
(-.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (*.f64 (/.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (pow.f64 y 2) z)) (*.f64 (*.f64 (pow.f64 y 2) z) (/.f64 1 (*.f64 (pow.f64 y 2) z)))) (*.f64 (*.f64 (pow.f64 y 2) z) (/.f64 0 (*.f64 (pow.f64 y 2) z))))) |
(-.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (*.f64 (/.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (pow.f64 y 2) z)) (*.f64 (/.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (pow.f64 y 2) z)) (/.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (pow.f64 y 2) z)))) (*.f64 (*.f64 (pow.f64 y 2) z) (/.f64 0 (*.f64 (pow.f64 y 2) z))))) |
(-.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (*.f64 (*.f64 (pow.f64 y 2) z) (/.f64 (/.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (pow.f64 y 2) z)) (*.f64 (pow.f64 y 2) z))) (*.f64 (*.f64 (pow.f64 y 2) z) (/.f64 0 (*.f64 (pow.f64 y 2) z))))) |
(-.f64 (*.f64 (/.f64 0 (*.f64 (pow.f64 y 2) z)) (neg.f64 (*.f64 (pow.f64 y 2) z))) (*.f64 (neg.f64 (*.f64 (pow.f64 y 2) z)) (/.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (pow.f64 y 2) z)))) |
(/.f64 (*.f64 (pow.f64 y 2) z) 1) |
(/.f64 (*.f64 (pow.f64 y 2) z) (/.f64 (pow.f64 y 2) (pow.f64 y 2))) |
(/.f64 (*.f64 (pow.f64 y 2) z) (/.f64 z z)) |
(/.f64 (*.f64 (pow.f64 y 2) z) (/.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (pow.f64 y 2) z))) |
(/.f64 (*.f64 (pow.f64 y 2) z) (/.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (/.f64 (pow.f64 y 2) (pow.f64 y 2)))) |
(/.f64 (*.f64 (pow.f64 y 2) z) (/.f64 (*.f64 z (/.f64 (pow.f64 y 2) (pow.f64 y 2))) (*.f64 z (/.f64 (pow.f64 y 2) (pow.f64 y 2))))) |
(/.f64 (*.f64 (pow.f64 y 2) z) (/.f64 (/.f64 z z) (/.f64 z z))) |
(/.f64 (*.f64 (pow.f64 y 2) z) (/.f64 (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (/.f64 z z)) (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (/.f64 z z)))) |
(/.f64 (*.f64 (pow.f64 y 2) z) (/.f64 (/.f64 z (pow.f64 y 2)) (/.f64 z (pow.f64 y 2)))) |
(/.f64 (*.f64 (pow.f64 y 2) z) (/.f64 (*.f64 (pow.f64 y 2) (/.f64 z z)) (*.f64 (pow.f64 y 2) (/.f64 z z)))) |
(/.f64 (*.f64 (pow.f64 y 2) z) (/.f64 (*.f64 (pow.f64 y 2) (/.f64 z (pow.f64 y 2))) (*.f64 (pow.f64 y 2) (/.f64 z (pow.f64 y 2))))) |
(/.f64 (*.f64 (pow.f64 y 2) z) (/.f64 (/.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (pow.f64 y 2) z)) (/.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (pow.f64 y 2) z)))) |
(/.f64 (*.f64 (pow.f64 y 2) z) (/.f64 (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (*.f64 z (/.f64 (pow.f64 y 2) (pow.f64 y 2)))) (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (*.f64 z (/.f64 (pow.f64 y 2) (pow.f64 y 2)))))) |
(/.f64 (*.f64 (pow.f64 y 2) z) (/.f64 (*.f64 z (/.f64 (pow.f64 y 2) z)) (*.f64 z (/.f64 (pow.f64 y 2) z)))) |
(/.f64 (*.f64 (pow.f64 y 2) z) (/.f64 (*.f64 (pow.f64 y 2) (/.f64 (*.f64 z (/.f64 (pow.f64 y 2) (pow.f64 y 2))) (pow.f64 y 2))) (*.f64 (pow.f64 y 2) (/.f64 (*.f64 z (/.f64 (pow.f64 y 2) (pow.f64 y 2))) (pow.f64 y 2))))) |
(/.f64 (*.f64 (pow.f64 y 2) z) (/.f64 (*.f64 (*.f64 (pow.f64 y 2) z) (/.f64 1 (*.f64 (pow.f64 y 2) z))) (*.f64 (*.f64 (pow.f64 y 2) z) (/.f64 1 (*.f64 (pow.f64 y 2) z))))) |
(/.f64 (*.f64 (pow.f64 y 2) z) (/.f64 (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (*.f64 z (/.f64 (pow.f64 y 2) (pow.f64 y 2))))) (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (*.f64 z (/.f64 (pow.f64 y 2) (pow.f64 y 2))))))) |
(/.f64 (*.f64 (pow.f64 y 2) z) (/.f64 (*.f64 (pow.f64 y 2) (/.f64 (*.f64 z (/.f64 (pow.f64 y 2) (pow.f64 y 2))) (*.f64 z (/.f64 (pow.f64 y 2) (pow.f64 y 2))))) (*.f64 (pow.f64 y 2) (/.f64 (*.f64 z (/.f64 (pow.f64 y 2) (pow.f64 y 2))) (*.f64 z (/.f64 (pow.f64 y 2) (pow.f64 y 2))))))) |
(/.f64 (*.f64 (pow.f64 y 2) z) (/.f64 (*.f64 (/.f64 z z) (*.f64 (pow.f64 y 2) (/.f64 z z))) (*.f64 (/.f64 z z) (*.f64 (pow.f64 y 2) (/.f64 z z))))) |
(/.f64 (*.f64 (pow.f64 y 2) z) (/.f64 (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (*.f64 (pow.f64 y 2) (/.f64 z (pow.f64 y 2)))) (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (*.f64 (pow.f64 y 2) (/.f64 z (pow.f64 y 2)))))) |
| Outputs |
|---|
y |
(+.f64 y (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 y 2))) z)) |
(+.f64 z (+.f64 y (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)))) |
(+.f64 y (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 y 2))) z)) |
(+.f64 z (+.f64 y (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)))) |
(+.f64 y (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 y 2))) z)) |
(+.f64 z (+.f64 y (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)))) |
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 y 2))) z) |
(+.f64 z (*.f64 -1/2 (*.f64 (pow.f64 y 2) z))) |
(+.f64 y (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 y 2))) z)) |
(+.f64 z (+.f64 y (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)))) |
(+.f64 y (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 y 2))) z)) |
(+.f64 z (+.f64 y (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)))) |
(+.f64 y (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 y 2))) z)) |
(+.f64 z (+.f64 y (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)))) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 1/2 (pow.f64 y 2)) 1) z)) |
(*.f64 -1 (*.f64 z (+.f64 (*.f64 (pow.f64 y 2) 1/2) -1))) |
(neg.f64 (*.f64 z (+.f64 -1 (*.f64 (pow.f64 y 2) 1/2)))) |
(*.f64 (+.f64 -1 (*.f64 (pow.f64 y 2) 1/2)) (neg.f64 z)) |
(+.f64 y (*.f64 -1 (*.f64 (-.f64 (*.f64 1/2 (pow.f64 y 2)) 1) z))) |
(+.f64 y (*.f64 -1 (*.f64 z (+.f64 (*.f64 (pow.f64 y 2) 1/2) -1)))) |
(+.f64 y (neg.f64 (*.f64 z (+.f64 -1 (*.f64 (pow.f64 y 2) 1/2))))) |
(+.f64 y (*.f64 (+.f64 -1 (*.f64 (pow.f64 y 2) 1/2)) (neg.f64 z))) |
(+.f64 y (*.f64 -1 (*.f64 (-.f64 (*.f64 1/2 (pow.f64 y 2)) 1) z))) |
(+.f64 y (*.f64 -1 (*.f64 z (+.f64 (*.f64 (pow.f64 y 2) 1/2) -1)))) |
(+.f64 y (neg.f64 (*.f64 z (+.f64 -1 (*.f64 (pow.f64 y 2) 1/2))))) |
(+.f64 y (*.f64 (+.f64 -1 (*.f64 (pow.f64 y 2) 1/2)) (neg.f64 z))) |
(+.f64 y (*.f64 -1 (*.f64 (-.f64 (*.f64 1/2 (pow.f64 y 2)) 1) z))) |
(+.f64 y (*.f64 -1 (*.f64 z (+.f64 (*.f64 (pow.f64 y 2) 1/2) -1)))) |
(+.f64 y (neg.f64 (*.f64 z (+.f64 -1 (*.f64 (pow.f64 y 2) 1/2))))) |
(+.f64 y (*.f64 (+.f64 -1 (*.f64 (pow.f64 y 2) 1/2)) (neg.f64 z))) |
z |
(+.f64 y z) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 y z)) |
(+.f64 y (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 y 2))) z)) |
(+.f64 z (+.f64 y (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 y z)) |
(+.f64 y (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 y 2))) z)) |
(+.f64 z (+.f64 y (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)))) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) y) |
(+.f64 y (*.f64 -1/2 (*.f64 (pow.f64 y 2) z))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 y z)) |
(+.f64 y (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 y 2))) z)) |
(+.f64 z (+.f64 y (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 y z)) |
(+.f64 y (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 y 2))) z)) |
(+.f64 z (+.f64 y (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)))) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) y) |
(+.f64 y (*.f64 -1/2 (*.f64 (pow.f64 y 2) z))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 y z)) |
(+.f64 y (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 y 2))) z)) |
(+.f64 z (+.f64 y (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 y z)) |
(+.f64 y (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 y 2))) z)) |
(+.f64 z (+.f64 y (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)))) |
(-.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (*.f64 (pow.f64 y 2) z) (/.f64 0 (*.f64 (pow.f64 y 2) z)))) |
(-.f64 (*.f64 (pow.f64 y 2) z) 0) |
(*.f64 (pow.f64 y 2) z) |
(-.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (/.f64 (/.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (pow.f64 y 2) z)) (/.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (pow.f64 y 2) z))) (*.f64 (*.f64 (pow.f64 y 2) z) (/.f64 0 (*.f64 (pow.f64 y 2) z))))) |
(-.f64 (*.f64 (pow.f64 y 2) z) 0) |
(*.f64 (pow.f64 y 2) z) |
(-.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (*.f64 (pow.f64 y 2) z) (*.f64 1 (/.f64 0 (*.f64 (pow.f64 y 2) z))))) |
(-.f64 (*.f64 (pow.f64 y 2) z) 0) |
(*.f64 (pow.f64 y 2) z) |
(-.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (/.f64 0 (*.f64 (pow.f64 y 2) z))))) |
(-.f64 (*.f64 (pow.f64 y 2) z) 0) |
(*.f64 (pow.f64 y 2) z) |
(-.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (/.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (pow.f64 y 2) z)) (/.f64 0 (*.f64 (pow.f64 y 2) z))))) |
(-.f64 (*.f64 (pow.f64 y 2) z) 0) |
(*.f64 (pow.f64 y 2) z) |
(-.f64 (*.f64 (pow.f64 y 2) z) (*.f64 1 (*.f64 (*.f64 (pow.f64 y 2) z) (/.f64 0 (*.f64 (pow.f64 y 2) z))))) |
(-.f64 (*.f64 (pow.f64 y 2) z) 0) |
(*.f64 (pow.f64 y 2) z) |
(-.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (*.f64 (*.f64 (pow.f64 y 2) z) (/.f64 0 (*.f64 (pow.f64 y 2) z))))) |
(-.f64 (*.f64 (pow.f64 y 2) z) 0) |
(*.f64 (pow.f64 y 2) z) |
(-.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (/.f64 z z) (*.f64 (*.f64 (pow.f64 y 2) z) (/.f64 0 (*.f64 (pow.f64 y 2) z))))) |
(-.f64 (*.f64 (pow.f64 y 2) z) 0) |
(*.f64 (pow.f64 y 2) z) |
(-.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (/.f64 z z)) (*.f64 (*.f64 (pow.f64 y 2) z) (/.f64 0 (*.f64 (pow.f64 y 2) z))))) |
(-.f64 (*.f64 (pow.f64 y 2) z) 0) |
(*.f64 (pow.f64 y 2) z) |
(-.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (/.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (pow.f64 y 2) z)) (*.f64 (*.f64 (pow.f64 y 2) z) (/.f64 0 (*.f64 (pow.f64 y 2) z))))) |
(-.f64 (*.f64 (pow.f64 y 2) z) 0) |
(*.f64 (pow.f64 y 2) z) |
(-.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (*.f64 (*.f64 (pow.f64 y 2) z) (/.f64 1 (*.f64 (pow.f64 y 2) z))) (*.f64 (*.f64 (pow.f64 y 2) z) (/.f64 0 (*.f64 (pow.f64 y 2) z))))) |
(-.f64 (*.f64 (pow.f64 y 2) z) 0) |
(*.f64 (pow.f64 y 2) z) |
(-.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (*.f64 (/.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (pow.f64 y 2) z)) (/.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (pow.f64 y 2) z))) (*.f64 (*.f64 (pow.f64 y 2) z) (/.f64 0 (*.f64 (pow.f64 y 2) z))))) |
(-.f64 (*.f64 (pow.f64 y 2) z) 0) |
(*.f64 (pow.f64 y 2) z) |
(-.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (*.f64 1 (*.f64 (*.f64 (pow.f64 y 2) z) (/.f64 1 (*.f64 (pow.f64 y 2) z)))) (*.f64 (*.f64 (pow.f64 y 2) z) (/.f64 0 (*.f64 (pow.f64 y 2) z))))) |
(-.f64 (*.f64 (pow.f64 y 2) z) 0) |
(*.f64 (pow.f64 y 2) z) |
(-.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (*.f64 1 (*.f64 (/.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (pow.f64 y 2) z)) (/.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (pow.f64 y 2) z)))) (*.f64 (*.f64 (pow.f64 y 2) z) (/.f64 0 (*.f64 (pow.f64 y 2) z))))) |
(-.f64 (*.f64 (pow.f64 y 2) z) 0) |
(*.f64 (pow.f64 y 2) z) |
(-.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (/.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (pow.f64 y 2) z))) (*.f64 (*.f64 (pow.f64 y 2) z) (/.f64 0 (*.f64 (pow.f64 y 2) z))))) |
(-.f64 (*.f64 (pow.f64 y 2) z) 0) |
(*.f64 (pow.f64 y 2) z) |
(-.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (*.f64 (*.f64 (pow.f64 y 2) z) (/.f64 1 (*.f64 (pow.f64 y 2) z)))) (*.f64 (*.f64 (pow.f64 y 2) z) (/.f64 0 (*.f64 (pow.f64 y 2) z))))) |
(-.f64 (*.f64 (pow.f64 y 2) z) 0) |
(*.f64 (pow.f64 y 2) z) |
(-.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (*.f64 (/.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (pow.f64 y 2) z)) (/.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (pow.f64 y 2) z)))) (*.f64 (*.f64 (pow.f64 y 2) z) (/.f64 0 (*.f64 (pow.f64 y 2) z))))) |
(-.f64 (*.f64 (pow.f64 y 2) z) 0) |
(*.f64 (pow.f64 y 2) z) |
(-.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (*.f64 (/.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (pow.f64 y 2) z)) (*.f64 (*.f64 (pow.f64 y 2) z) (/.f64 1 (*.f64 (pow.f64 y 2) z)))) (*.f64 (*.f64 (pow.f64 y 2) z) (/.f64 0 (*.f64 (pow.f64 y 2) z))))) |
(-.f64 (*.f64 (pow.f64 y 2) z) 0) |
(*.f64 (pow.f64 y 2) z) |
(-.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (*.f64 (/.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (pow.f64 y 2) z)) (*.f64 (/.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (pow.f64 y 2) z)) (/.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (pow.f64 y 2) z)))) (*.f64 (*.f64 (pow.f64 y 2) z) (/.f64 0 (*.f64 (pow.f64 y 2) z))))) |
(-.f64 (*.f64 (pow.f64 y 2) z) 0) |
(*.f64 (pow.f64 y 2) z) |
(-.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (*.f64 (*.f64 (pow.f64 y 2) z) (/.f64 (/.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (pow.f64 y 2) z)) (*.f64 (pow.f64 y 2) z))) (*.f64 (*.f64 (pow.f64 y 2) z) (/.f64 0 (*.f64 (pow.f64 y 2) z))))) |
(-.f64 (*.f64 (pow.f64 y 2) z) 0) |
(*.f64 (pow.f64 y 2) z) |
(-.f64 (*.f64 (/.f64 0 (*.f64 (pow.f64 y 2) z)) (neg.f64 (*.f64 (pow.f64 y 2) z))) (*.f64 (neg.f64 (*.f64 (pow.f64 y 2) z)) (/.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (pow.f64 y 2) z)))) |
(-.f64 (*.f64 (pow.f64 y 2) z) 0) |
(*.f64 (pow.f64 y 2) z) |
(/.f64 (*.f64 (pow.f64 y 2) z) 1) |
(-.f64 (*.f64 (pow.f64 y 2) z) 0) |
(*.f64 (pow.f64 y 2) z) |
(/.f64 (*.f64 (pow.f64 y 2) z) (/.f64 (pow.f64 y 2) (pow.f64 y 2))) |
(-.f64 (*.f64 (pow.f64 y 2) z) 0) |
(*.f64 (pow.f64 y 2) z) |
(/.f64 (*.f64 (pow.f64 y 2) z) (/.f64 z z)) |
(-.f64 (*.f64 (pow.f64 y 2) z) 0) |
(*.f64 (pow.f64 y 2) z) |
(/.f64 (*.f64 (pow.f64 y 2) z) (/.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (pow.f64 y 2) z))) |
(-.f64 (*.f64 (pow.f64 y 2) z) 0) |
(*.f64 (pow.f64 y 2) z) |
(/.f64 (*.f64 (pow.f64 y 2) z) (/.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (/.f64 (pow.f64 y 2) (pow.f64 y 2)))) |
(-.f64 (*.f64 (pow.f64 y 2) z) 0) |
(*.f64 (pow.f64 y 2) z) |
(/.f64 (*.f64 (pow.f64 y 2) z) (/.f64 (*.f64 z (/.f64 (pow.f64 y 2) (pow.f64 y 2))) (*.f64 z (/.f64 (pow.f64 y 2) (pow.f64 y 2))))) |
(-.f64 (*.f64 (pow.f64 y 2) z) 0) |
(*.f64 (pow.f64 y 2) z) |
(/.f64 (*.f64 (pow.f64 y 2) z) (/.f64 (/.f64 z z) (/.f64 z z))) |
(/.f64 (*.f64 (pow.f64 y 2) z) (/.f64 (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (/.f64 z z)) (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (/.f64 z z)))) |
(/.f64 (*.f64 (pow.f64 y 2) z) (/.f64 (/.f64 z (pow.f64 y 2)) (/.f64 z (pow.f64 y 2)))) |
(/.f64 (*.f64 (pow.f64 y 2) z) (/.f64 (*.f64 (pow.f64 y 2) (/.f64 z z)) (*.f64 (pow.f64 y 2) (/.f64 z z)))) |
(/.f64 (*.f64 (pow.f64 y 2) z) (/.f64 (*.f64 (pow.f64 y 2) (/.f64 z (pow.f64 y 2))) (*.f64 (pow.f64 y 2) (/.f64 z (pow.f64 y 2))))) |
(-.f64 (*.f64 (pow.f64 y 2) z) 0) |
(*.f64 (pow.f64 y 2) z) |
(/.f64 (*.f64 (pow.f64 y 2) z) (/.f64 (/.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (pow.f64 y 2) z)) (/.f64 (*.f64 (pow.f64 y 2) z) (*.f64 (pow.f64 y 2) z)))) |
(-.f64 (*.f64 (pow.f64 y 2) z) 0) |
(*.f64 (pow.f64 y 2) z) |
(/.f64 (*.f64 (pow.f64 y 2) z) (/.f64 (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (*.f64 z (/.f64 (pow.f64 y 2) (pow.f64 y 2)))) (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (*.f64 z (/.f64 (pow.f64 y 2) (pow.f64 y 2)))))) |
(/.f64 (*.f64 (pow.f64 y 2) z) (/.f64 (*.f64 z (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (/.f64 (pow.f64 y 2) (pow.f64 y 2)))) (*.f64 z (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (/.f64 (pow.f64 y 2) (pow.f64 y 2)))))) |
(/.f64 (*.f64 (pow.f64 y 2) z) (/.f64 (*.f64 z (/.f64 (pow.f64 y 2) z)) (*.f64 z (/.f64 (pow.f64 y 2) z)))) |
(-.f64 (*.f64 (pow.f64 y 2) z) 0) |
(*.f64 (pow.f64 y 2) z) |
(/.f64 (*.f64 (pow.f64 y 2) z) (/.f64 (*.f64 (pow.f64 y 2) (/.f64 (*.f64 z (/.f64 (pow.f64 y 2) (pow.f64 y 2))) (pow.f64 y 2))) (*.f64 (pow.f64 y 2) (/.f64 (*.f64 z (/.f64 (pow.f64 y 2) (pow.f64 y 2))) (pow.f64 y 2))))) |
(-.f64 (*.f64 (pow.f64 y 2) z) 0) |
(*.f64 (pow.f64 y 2) z) |
(/.f64 (*.f64 (pow.f64 y 2) z) (/.f64 (*.f64 (*.f64 (pow.f64 y 2) z) (/.f64 1 (*.f64 (pow.f64 y 2) z))) (*.f64 (*.f64 (pow.f64 y 2) z) (/.f64 1 (*.f64 (pow.f64 y 2) z))))) |
(-.f64 (*.f64 (pow.f64 y 2) z) 0) |
(*.f64 (pow.f64 y 2) z) |
(/.f64 (*.f64 (pow.f64 y 2) z) (/.f64 (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (*.f64 z (/.f64 (pow.f64 y 2) (pow.f64 y 2))))) (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (*.f64 z (/.f64 (pow.f64 y 2) (pow.f64 y 2))))))) |
(/.f64 (*.f64 (pow.f64 y 2) z) (/.f64 (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (*.f64 z (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (/.f64 (pow.f64 y 2) (pow.f64 y 2))))) (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (*.f64 z (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (/.f64 (pow.f64 y 2) (pow.f64 y 2))))))) |
(/.f64 (*.f64 (pow.f64 y 2) z) (/.f64 (*.f64 (*.f64 z (/.f64 (pow.f64 y 2) (pow.f64 y 2))) (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (/.f64 (pow.f64 y 2) (pow.f64 y 2)))) (*.f64 (*.f64 z (/.f64 (pow.f64 y 2) (pow.f64 y 2))) (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (/.f64 (pow.f64 y 2) (pow.f64 y 2)))))) |
(/.f64 (*.f64 (pow.f64 y 2) z) (/.f64 (*.f64 z (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (/.f64 (pow.f64 y 2) (pow.f64 y 2))))) (*.f64 z (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (/.f64 (pow.f64 y 2) (pow.f64 y 2))))))) |
(/.f64 (*.f64 (pow.f64 y 2) z) (/.f64 (*.f64 (pow.f64 y 2) (/.f64 (*.f64 z (/.f64 (pow.f64 y 2) (pow.f64 y 2))) (*.f64 z (/.f64 (pow.f64 y 2) (pow.f64 y 2))))) (*.f64 (pow.f64 y 2) (/.f64 (*.f64 z (/.f64 (pow.f64 y 2) (pow.f64 y 2))) (*.f64 z (/.f64 (pow.f64 y 2) (pow.f64 y 2))))))) |
(/.f64 (*.f64 (pow.f64 y 2) z) (/.f64 (*.f64 (/.f64 z z) (*.f64 (pow.f64 y 2) (/.f64 z z))) (*.f64 (/.f64 z z) (*.f64 (pow.f64 y 2) (/.f64 z z))))) |
(/.f64 (*.f64 (pow.f64 y 2) z) (/.f64 (*.f64 (pow.f64 y 2) (*.f64 (/.f64 z z) (/.f64 z z))) (*.f64 (pow.f64 y 2) (*.f64 (/.f64 z z) (/.f64 z z))))) |
(/.f64 (*.f64 (pow.f64 y 2) z) (/.f64 (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (*.f64 (pow.f64 y 2) (/.f64 z (pow.f64 y 2)))) (*.f64 (/.f64 (pow.f64 y 2) (pow.f64 y 2)) (*.f64 (pow.f64 y 2) (/.f64 z (pow.f64 y 2)))))) |
(-.f64 (*.f64 (pow.f64 y 2) z) 0) |
(*.f64 (pow.f64 y 2) z) |
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)) |
| ✓ | 0.1b | (*.f64 (cos.f64 y) z) |
Compiled 20 to 7 computations (65% saved)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | z | @ | 0 | (*.f64 (cos.f64 y) z) |
| 0.0ms | y | @ | 0 | (*.f64 (cos.f64 y) z) |
| 0.0ms | y | @ | inf | (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)) |
| 0.0ms | y | @ | -inf | (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)) |
| 0.0ms | y | @ | 0 | (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)) |
| 1× | batch-egg-rewrite |
| 1096× | rational_best_45_simplify-16 |
| 1036× | rational_best_45_simplify-1 |
| 1030× | rational_best_45_simplify-24 |
| 796× | rational_best_45_simplify-43 |
| 730× | rational_best_45_simplify-55 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 32 |
| 1 | 15 | 32 |
| 2 | 37 | 32 |
| 3 | 118 | 32 |
| 4 | 464 | 32 |
| 5 | 2471 | 32 |
| 6 | 5285 | 32 |
| 7 | 7826 | 32 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (cos.f64 y) z) |
(+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 y) z) (/.f64 (cos.f64 y) (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 y) z) (/.f64 z z))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 y) z) (/.f64 (/.f64 (cos.f64 y) (cos.f64 y)) (/.f64 (cos.f64 y) (cos.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 y) z) (/.f64 (*.f64 z (/.f64 (cos.f64 y) (cos.f64 y))) (*.f64 z (/.f64 (cos.f64 y) (cos.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 y) z) (/.f64 (*.f64 (/.f64 (cos.f64 y) (cos.f64 y)) (/.f64 z z)) (*.f64 (/.f64 (cos.f64 y) (cos.f64 y)) (/.f64 z z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 y) z) (/.f64 (*.f64 (cos.f64 y) (/.f64 z (cos.f64 y))) (*.f64 (cos.f64 y) (/.f64 z (cos.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 y) z) (/.f64 (*.f64 z (*.f64 (/.f64 (cos.f64 y) (cos.f64 y)) (/.f64 (cos.f64 y) (cos.f64 y)))) (*.f64 z (*.f64 (/.f64 (cos.f64 y) (cos.f64 y)) (/.f64 (cos.f64 y) (cos.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 y) z) (/.f64 (*.f64 (cos.f64 y) (/.f64 z z)) (*.f64 (cos.f64 y) (/.f64 z z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 y) z) (/.f64 (/.f64 z z) (/.f64 z z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 y) z) (/.f64 (/.f64 z (cos.f64 y)) (/.f64 z (cos.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 y) z) (/.f64 (*.f64 z (/.f64 z z)) (*.f64 z (/.f64 z z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 y) z) (/.f64 (*.f64 (cos.f64 y) (/.f64 (*.f64 z (/.f64 (cos.f64 y) (cos.f64 y))) (*.f64 z (/.f64 (cos.f64 y) (cos.f64 y))))) (*.f64 (cos.f64 y) (/.f64 (*.f64 z (/.f64 (cos.f64 y) (cos.f64 y))) (*.f64 z (/.f64 (cos.f64 y) (cos.f64 y)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 y) z) (/.f64 (*.f64 (cos.f64 y) (/.f64 (*.f64 z (/.f64 (cos.f64 y) (cos.f64 y))) (cos.f64 y))) (*.f64 (cos.f64 y) (/.f64 (*.f64 z (/.f64 (cos.f64 y) (cos.f64 y))) (cos.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 y) z) (/.f64 (*.f64 (cos.f64 y) z) (*.f64 (cos.f64 y) z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 y) z) (/.f64 (*.f64 z (/.f64 (cos.f64 y) z)) (*.f64 z (/.f64 (cos.f64 y) z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 y) z) (/.f64 (*.f64 z (*.f64 (/.f64 (cos.f64 y) (cos.f64 y)) (*.f64 (/.f64 (cos.f64 y) (cos.f64 y)) (/.f64 (cos.f64 y) (cos.f64 y))))) (*.f64 z (*.f64 (/.f64 (cos.f64 y) (cos.f64 y)) (*.f64 (/.f64 (cos.f64 y) (cos.f64 y)) (/.f64 (cos.f64 y) (cos.f64 y)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 y) z) (/.f64 (*.f64 (/.f64 z z) (*.f64 (cos.f64 y) (/.f64 z z))) (*.f64 (/.f64 z z) (*.f64 (cos.f64 y) (/.f64 z z))))))))) |
() |
| 1× | egg-herbie |
| 1206× | rational_best_45_simplify-16 |
| 1138× | rational_best_45_simplify-26 |
| 1010× | rational_best_45_simplify-53 |
| 842× | rational_best_45_simplify-18 |
| 740× | rational_best_45_simplify-29 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 86 | 1082 |
| 1 | 299 | 1082 |
| 2 | 1182 | 1082 |
| 3 | 4658 | 1082 |
| 1× | node limit |
| Inputs |
|---|
z |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) z) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 z (*.f64 1/24 (*.f64 (pow.f64 y 4) z)))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 y 6) z)) (+.f64 z (*.f64 1/24 (*.f64 (pow.f64 y 4) z))))) |
(*.f64 z (cos.f64 y)) |
(*.f64 z (cos.f64 y)) |
(*.f64 z (cos.f64 y)) |
(*.f64 z (cos.f64 y)) |
(*.f64 z (cos.f64 y)) |
(*.f64 z (cos.f64 y)) |
(*.f64 z (cos.f64 y)) |
(*.f64 z (cos.f64 y)) |
z |
(+.f64 y z) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 y z)) |
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 y z))) |
(sin.f64 y) |
(*.f64 (cos.f64 y) z) |
(*.f64 (cos.f64 y) z) |
(/.f64 (*.f64 (cos.f64 y) z) (/.f64 (cos.f64 y) (cos.f64 y))) |
(/.f64 (*.f64 (cos.f64 y) z) (/.f64 z z)) |
(/.f64 (*.f64 (cos.f64 y) z) (/.f64 (/.f64 (cos.f64 y) (cos.f64 y)) (/.f64 (cos.f64 y) (cos.f64 y)))) |
(/.f64 (*.f64 (cos.f64 y) z) (/.f64 (*.f64 z (/.f64 (cos.f64 y) (cos.f64 y))) (*.f64 z (/.f64 (cos.f64 y) (cos.f64 y))))) |
(/.f64 (*.f64 (cos.f64 y) z) (/.f64 (*.f64 (/.f64 (cos.f64 y) (cos.f64 y)) (/.f64 z z)) (*.f64 (/.f64 (cos.f64 y) (cos.f64 y)) (/.f64 z z)))) |
(/.f64 (*.f64 (cos.f64 y) z) (/.f64 (*.f64 (cos.f64 y) (/.f64 z (cos.f64 y))) (*.f64 (cos.f64 y) (/.f64 z (cos.f64 y))))) |
(/.f64 (*.f64 (cos.f64 y) z) (/.f64 (*.f64 z (*.f64 (/.f64 (cos.f64 y) (cos.f64 y)) (/.f64 (cos.f64 y) (cos.f64 y)))) (*.f64 z (*.f64 (/.f64 (cos.f64 y) (cos.f64 y)) (/.f64 (cos.f64 y) (cos.f64 y)))))) |
(/.f64 (*.f64 (cos.f64 y) z) (/.f64 (*.f64 (cos.f64 y) (/.f64 z z)) (*.f64 (cos.f64 y) (/.f64 z z)))) |
(/.f64 (*.f64 (cos.f64 y) z) (/.f64 (/.f64 z z) (/.f64 z z))) |
(/.f64 (*.f64 (cos.f64 y) z) (/.f64 (/.f64 z (cos.f64 y)) (/.f64 z (cos.f64 y)))) |
(/.f64 (*.f64 (cos.f64 y) z) (/.f64 (*.f64 z (/.f64 z z)) (*.f64 z (/.f64 z z)))) |
(/.f64 (*.f64 (cos.f64 y) z) (/.f64 (*.f64 (cos.f64 y) (/.f64 (*.f64 z (/.f64 (cos.f64 y) (cos.f64 y))) (*.f64 z (/.f64 (cos.f64 y) (cos.f64 y))))) (*.f64 (cos.f64 y) (/.f64 (*.f64 z (/.f64 (cos.f64 y) (cos.f64 y))) (*.f64 z (/.f64 (cos.f64 y) (cos.f64 y))))))) |
(/.f64 (*.f64 (cos.f64 y) z) (/.f64 (*.f64 (cos.f64 y) (/.f64 (*.f64 z (/.f64 (cos.f64 y) (cos.f64 y))) (cos.f64 y))) (*.f64 (cos.f64 y) (/.f64 (*.f64 z (/.f64 (cos.f64 y) (cos.f64 y))) (cos.f64 y))))) |
(/.f64 (*.f64 (cos.f64 y) z) (/.f64 (*.f64 (cos.f64 y) z) (*.f64 (cos.f64 y) z))) |
(/.f64 (*.f64 (cos.f64 y) z) (/.f64 (*.f64 z (/.f64 (cos.f64 y) z)) (*.f64 z (/.f64 (cos.f64 y) z)))) |
(/.f64 (*.f64 (cos.f64 y) z) (/.f64 (*.f64 z (*.f64 (/.f64 (cos.f64 y) (cos.f64 y)) (*.f64 (/.f64 (cos.f64 y) (cos.f64 y)) (/.f64 (cos.f64 y) (cos.f64 y))))) (*.f64 z (*.f64 (/.f64 (cos.f64 y) (cos.f64 y)) (*.f64 (/.f64 (cos.f64 y) (cos.f64 y)) (/.f64 (cos.f64 y) (cos.f64 y))))))) |
(/.f64 (*.f64 (cos.f64 y) z) (/.f64 (*.f64 (/.f64 z z) (*.f64 (cos.f64 y) (/.f64 z z))) (*.f64 (/.f64 z z) (*.f64 (cos.f64 y) (/.f64 z z))))) |
| Outputs |
|---|
z |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) z) |
(+.f64 z (*.f64 (pow.f64 y 2) (*.f64 -1/2 z))) |
(+.f64 z (*.f64 z (*.f64 -1/2 (pow.f64 y 2)))) |
(+.f64 z (*.f64 (pow.f64 y 2) (*.f64 z -1/2))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 z (*.f64 1/24 (*.f64 (pow.f64 y 4) z)))) |
(+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 -1/2 z)) (*.f64 (pow.f64 y 4) (*.f64 1/24 z)))) |
(+.f64 z (+.f64 (*.f64 z (*.f64 -1/2 (pow.f64 y 2))) (*.f64 z (*.f64 1/24 (pow.f64 y 4))))) |
(+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 (pow.f64 y 4) (*.f64 z 1/24)))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 y 6) z)) (+.f64 z (*.f64 1/24 (*.f64 (pow.f64 y 4) z))))) |
(+.f64 (*.f64 (pow.f64 y 2) (*.f64 -1/2 z)) (+.f64 z (+.f64 (*.f64 (pow.f64 y 6) (*.f64 -1/720 z)) (*.f64 (pow.f64 y 4) (*.f64 1/24 z))))) |
(+.f64 z (+.f64 (*.f64 z (*.f64 -1/2 (pow.f64 y 2))) (+.f64 (*.f64 z (*.f64 1/24 (pow.f64 y 4))) (*.f64 (pow.f64 y 6) (*.f64 z -1/720))))) |
(+.f64 (*.f64 z (*.f64 -1/2 (pow.f64 y 2))) (+.f64 z (+.f64 (*.f64 z (*.f64 1/24 (pow.f64 y 4))) (*.f64 z (*.f64 -1/720 (pow.f64 y 6)))))) |
(+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (+.f64 z (+.f64 (*.f64 (pow.f64 y 4) (*.f64 z 1/24)) (*.f64 z (*.f64 -1/720 (pow.f64 y 6)))))) |
(*.f64 z (cos.f64 y)) |
(*.f64 z (cos.f64 y)) |
(*.f64 z (cos.f64 y)) |
(*.f64 z (cos.f64 y)) |
(*.f64 z (cos.f64 y)) |
(*.f64 z (cos.f64 y)) |
(*.f64 z (cos.f64 y)) |
(*.f64 z (cos.f64 y)) |
z |
(+.f64 y z) |
(+.f64 z y) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 y z)) |
(+.f64 y (+.f64 z (*.f64 (pow.f64 y 2) (*.f64 -1/2 z)))) |
(+.f64 z (+.f64 y (*.f64 z (*.f64 -1/2 (pow.f64 y 2))))) |
(+.f64 y (+.f64 z (*.f64 z (*.f64 -1/2 (pow.f64 y 2))))) |
(+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (+.f64 z y)) |
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 y z))) |
(+.f64 (+.f64 y (+.f64 z (*.f64 (pow.f64 y 2) (*.f64 -1/2 z)))) (*.f64 -1/6 (pow.f64 y 3))) |
(+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 z (*.f64 z (*.f64 -1/2 (pow.f64 y 2)))))) |
(+.f64 z (+.f64 (*.f64 z (*.f64 -1/2 (pow.f64 y 2))) (+.f64 y (*.f64 -1/6 (pow.f64 y 3))))) |
(+.f64 y (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 -1/6 (pow.f64 y 3))))) |
(sin.f64 y) |
(*.f64 (cos.f64 y) z) |
(*.f64 z (cos.f64 y)) |
(*.f64 (cos.f64 y) z) |
(*.f64 z (cos.f64 y)) |
(/.f64 (*.f64 (cos.f64 y) z) (/.f64 (cos.f64 y) (cos.f64 y))) |
(*.f64 z (cos.f64 y)) |
(/.f64 (*.f64 (cos.f64 y) z) (/.f64 z z)) |
(*.f64 z (cos.f64 y)) |
(/.f64 (*.f64 (cos.f64 y) z) (/.f64 (/.f64 (cos.f64 y) (cos.f64 y)) (/.f64 (cos.f64 y) (cos.f64 y)))) |
(*.f64 z (cos.f64 y)) |
(/.f64 (*.f64 (cos.f64 y) z) (/.f64 (*.f64 z (/.f64 (cos.f64 y) (cos.f64 y))) (*.f64 z (/.f64 (cos.f64 y) (cos.f64 y))))) |
(*.f64 z (cos.f64 y)) |
(/.f64 (*.f64 (cos.f64 y) z) (/.f64 (*.f64 (/.f64 (cos.f64 y) (cos.f64 y)) (/.f64 z z)) (*.f64 (/.f64 (cos.f64 y) (cos.f64 y)) (/.f64 z z)))) |
(/.f64 (*.f64 z (cos.f64 y)) (/.f64 (*.f64 (/.f64 (cos.f64 y) (cos.f64 y)) (/.f64 z z)) (*.f64 (/.f64 (cos.f64 y) (cos.f64 y)) (/.f64 z z)))) |
(/.f64 (*.f64 (cos.f64 y) z) (/.f64 (*.f64 (cos.f64 y) (/.f64 z (cos.f64 y))) (*.f64 (cos.f64 y) (/.f64 z (cos.f64 y))))) |
(*.f64 z (cos.f64 y)) |
(/.f64 (*.f64 (cos.f64 y) z) (/.f64 (*.f64 z (*.f64 (/.f64 (cos.f64 y) (cos.f64 y)) (/.f64 (cos.f64 y) (cos.f64 y)))) (*.f64 z (*.f64 (/.f64 (cos.f64 y) (cos.f64 y)) (/.f64 (cos.f64 y) (cos.f64 y)))))) |
(/.f64 (*.f64 z (cos.f64 y)) (/.f64 (*.f64 z (*.f64 (/.f64 (cos.f64 y) (cos.f64 y)) (/.f64 (cos.f64 y) (cos.f64 y)))) (*.f64 z (*.f64 (/.f64 (cos.f64 y) (cos.f64 y)) (/.f64 (cos.f64 y) (cos.f64 y)))))) |
(/.f64 (*.f64 (cos.f64 y) z) (/.f64 (*.f64 (cos.f64 y) (/.f64 z z)) (*.f64 (cos.f64 y) (/.f64 z z)))) |
(*.f64 z (cos.f64 y)) |
(/.f64 (*.f64 (cos.f64 y) z) (/.f64 (/.f64 z z) (/.f64 z z))) |
(*.f64 z (cos.f64 y)) |
(/.f64 (*.f64 (cos.f64 y) z) (/.f64 (/.f64 z (cos.f64 y)) (/.f64 z (cos.f64 y)))) |
(/.f64 (*.f64 z (cos.f64 y)) (/.f64 (/.f64 z (cos.f64 y)) (/.f64 z (cos.f64 y)))) |
(/.f64 (*.f64 (cos.f64 y) z) (/.f64 (*.f64 z (/.f64 z z)) (*.f64 z (/.f64 z z)))) |
(*.f64 z (cos.f64 y)) |
(/.f64 (*.f64 (cos.f64 y) z) (/.f64 (*.f64 (cos.f64 y) (/.f64 (*.f64 z (/.f64 (cos.f64 y) (cos.f64 y))) (*.f64 z (/.f64 (cos.f64 y) (cos.f64 y))))) (*.f64 (cos.f64 y) (/.f64 (*.f64 z (/.f64 (cos.f64 y) (cos.f64 y))) (*.f64 z (/.f64 (cos.f64 y) (cos.f64 y))))))) |
(/.f64 (*.f64 z (cos.f64 y)) (/.f64 (*.f64 (cos.f64 y) (/.f64 (*.f64 z (/.f64 (cos.f64 y) (cos.f64 y))) (*.f64 z (/.f64 (cos.f64 y) (cos.f64 y))))) (*.f64 (cos.f64 y) (/.f64 (*.f64 z (/.f64 (cos.f64 y) (cos.f64 y))) (*.f64 z (/.f64 (cos.f64 y) (cos.f64 y))))))) |
(/.f64 (*.f64 (cos.f64 y) z) (/.f64 (*.f64 (cos.f64 y) (/.f64 (*.f64 z (/.f64 (cos.f64 y) (cos.f64 y))) (cos.f64 y))) (*.f64 (cos.f64 y) (/.f64 (*.f64 z (/.f64 (cos.f64 y) (cos.f64 y))) (cos.f64 y))))) |
(*.f64 z (cos.f64 y)) |
(/.f64 (*.f64 (cos.f64 y) z) (/.f64 (*.f64 (cos.f64 y) z) (*.f64 (cos.f64 y) z))) |
(/.f64 (*.f64 z (cos.f64 y)) (/.f64 (*.f64 z (cos.f64 y)) (*.f64 z (cos.f64 y)))) |
(/.f64 (*.f64 (cos.f64 y) z) (/.f64 (*.f64 z (/.f64 (cos.f64 y) z)) (*.f64 z (/.f64 (cos.f64 y) z)))) |
(*.f64 z (cos.f64 y)) |
(/.f64 (*.f64 (cos.f64 y) z) (/.f64 (*.f64 z (*.f64 (/.f64 (cos.f64 y) (cos.f64 y)) (*.f64 (/.f64 (cos.f64 y) (cos.f64 y)) (/.f64 (cos.f64 y) (cos.f64 y))))) (*.f64 z (*.f64 (/.f64 (cos.f64 y) (cos.f64 y)) (*.f64 (/.f64 (cos.f64 y) (cos.f64 y)) (/.f64 (cos.f64 y) (cos.f64 y))))))) |
(/.f64 (*.f64 z (cos.f64 y)) (/.f64 (*.f64 z (*.f64 (/.f64 (cos.f64 y) (cos.f64 y)) (*.f64 (/.f64 (cos.f64 y) (cos.f64 y)) (/.f64 (cos.f64 y) (cos.f64 y))))) (*.f64 z (*.f64 (/.f64 (cos.f64 y) (cos.f64 y)) (*.f64 (/.f64 (cos.f64 y) (cos.f64 y)) (/.f64 (cos.f64 y) (cos.f64 y))))))) |
(/.f64 (*.f64 z (cos.f64 y)) (/.f64 (*.f64 (*.f64 z (/.f64 (cos.f64 y) (cos.f64 y))) (*.f64 (/.f64 (cos.f64 y) (cos.f64 y)) (/.f64 (cos.f64 y) (cos.f64 y)))) (*.f64 (*.f64 z (/.f64 (cos.f64 y) (cos.f64 y))) (*.f64 (/.f64 (cos.f64 y) (cos.f64 y)) (/.f64 (cos.f64 y) (cos.f64 y)))))) |
(/.f64 (*.f64 (cos.f64 y) z) (/.f64 (*.f64 (/.f64 z z) (*.f64 (cos.f64 y) (/.f64 z z))) (*.f64 (/.f64 z z) (*.f64 (cos.f64 y) (/.f64 z z))))) |
(/.f64 (*.f64 z (cos.f64 y)) (/.f64 (*.f64 (cos.f64 y) (*.f64 (/.f64 z z) (/.f64 z z))) (*.f64 (cos.f64 y) (*.f64 (/.f64 z z) (/.f64 z z))))) |
Compiled 3231 to 1791 computations (44.6% saved)
11 alts after pruning (6 fresh and 5 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 129 | 4 | 133 |
| Fresh | 0 | 2 | 2 |
| Picked | 0 | 1 | 1 |
| Done | 2 | 4 | 6 |
| Total | 131 | 11 | 142 |
| Status | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (+.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) |
| ✓ | 29.2b | (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)) |
| ✓ | 21.5b | (+.f64 (sin.f64 y) x) |
| ✓ | 38.7b | (+.f64 z (sin.f64 y)) |
| ▶ | 48.9b | (+.f64 z y) |
| ✓ | 22.8b | (+.f64 z x) |
| ▶ | 41.9b | (*.f64 (cos.f64 y) z) |
| ▶ | 49.6b | (sin.f64 y) |
| 51.2b | z | |
| 59.3b | y | |
| 34.1b | x |
Compiled 72 to 51 computations (29.2% saved)
Compiled 6 to 4 computations (33.3% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| 0.1b | (*.f64 (cos.f64 y) z) |
Compiled 11 to 5 computations (54.5% saved)
Compiled 8 to 4 computations (50% saved)
Compiled 843 to 232 computations (72.5% saved)
11 alts after pruning (3 fresh and 8 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 40 | 0 | 40 |
| Fresh | 0 | 3 | 3 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 7 | 7 |
| Total | 40 | 11 | 51 |
| Status | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (+.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) |
| ✓ | 29.2b | (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)) |
| ✓ | 21.5b | (+.f64 (sin.f64 y) x) |
| ✓ | 38.7b | (+.f64 z (sin.f64 y)) |
| ✓ | 48.9b | (+.f64 z y) |
| ✓ | 22.8b | (+.f64 z x) |
| ✓ | 41.9b | (*.f64 (cos.f64 y) z) |
| ✓ | 49.6b | (sin.f64 y) |
| 51.2b | z | |
| 59.3b | y | |
| 34.1b | x |
Compiled 72 to 51 computations (29.2% saved)
| Inputs |
|---|
x |
y |
z |
(+.f64 z x) |
(+.f64 z y) |
(+.f64 y (+.f64 z x)) |
(sin.f64 y) |
(*.f64 (cos.f64 y) z) |
(+.f64 z (sin.f64 y)) |
(+.f64 (sin.f64 y) x) |
(+.f64 (+.f64 x (sin.f64 y)) z) |
(+.f64 z (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) y)) |
(+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (+.f64 y x))) |
(+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)) |
(+.f64 (+.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) |
| Outputs |
|---|
(+.f64 (+.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) |
4 calls:
| 78.0ms | (+.f64 (+.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) |
| 62.0ms | x |
| 10.0ms | z |
| 9.0ms | y |
| Error | Segments | Branch |
|---|---|---|
| 0.0b | 1 | x |
| 0.0b | 1 | y |
| 0.0b | 1 | z |
| 0.0b | 1 | (+.f64 (+.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) |
Compiled 101 to 48 computations (52.5% saved)
| Inputs |
|---|
x |
y |
z |
(+.f64 z x) |
(+.f64 z y) |
(+.f64 y (+.f64 z x)) |
(sin.f64 y) |
(*.f64 (cos.f64 y) z) |
(+.f64 z (sin.f64 y)) |
(+.f64 (sin.f64 y) x) |
(+.f64 (+.f64 x (sin.f64 y)) z) |
(+.f64 z (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) y)) |
(+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (+.f64 y x))) |
(+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)) |
| Outputs |
|---|
(*.f64 (cos.f64 y) z) |
(+.f64 (+.f64 x (sin.f64 y)) z) |
(*.f64 (cos.f64 y) z) |
3 calls:
| 248.0ms | x |
| 27.0ms | z |
| 22.0ms | y |
| Error | Segments | Branch |
|---|---|---|
| 5.0b | 3 | x |
| 8.9b | 3 | y |
| 4.5b | 3 | z |
Compiled 80 to 38 computations (52.5% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 87.0ms | 3.664745827484126e+97 | 8.155557405730475e+98 |
| 29.0ms | -1.8545267175532086e+111 | -1.0162006502832027e+109 |
| 83.0ms | 154× | body | 256 | valid |
| 26.0ms | 59× | body | 1024 | valid |
| 4.0ms | 11× | body | 512 | valid |
Compiled 270 to 195 computations (27.8% saved)
| Inputs |
|---|
x |
y |
z |
(+.f64 z x) |
(+.f64 z y) |
(+.f64 y (+.f64 z x)) |
(sin.f64 y) |
(*.f64 (cos.f64 y) z) |
(+.f64 z (sin.f64 y)) |
(+.f64 (sin.f64 y) x) |
| Outputs |
|---|
(*.f64 (cos.f64 y) z) |
(+.f64 z x) |
(+.f64 (sin.f64 y) x) |
(*.f64 (cos.f64 y) z) |
3 calls:
| 42.0ms | z |
| 32.0ms | x |
| 18.0ms | y |
| Error | Segments | Branch |
|---|---|---|
| 11.3b | 5 | x |
| 11.3b | 3 | y |
| 7.2b | 4 | z |
Compiled 43 to 20 computations (53.5% saved)
| 3× | binary-search |
| Time | Left | Right |
|---|---|---|
| 32.0ms | 3.664745827484126e+97 | 8.155557405730475e+98 |
| 27.0ms | -8.338585039893368e-13 | -1.7531091241250343e-15 |
| 33.0ms | -1.8545267175532086e+111 | -1.0162006502832027e+109 |
| 46.0ms | 259× | body | 256 | valid |
| 36.0ms | 70× | body | 1024 | valid |
| 7.0ms | 23× | body | 512 | valid |
Compiled 355 to 262 computations (26.2% saved)
| Inputs |
|---|
x |
y |
z |
(+.f64 z x) |
(+.f64 z y) |
(+.f64 y (+.f64 z x)) |
(sin.f64 y) |
(*.f64 (cos.f64 y) z) |
(+.f64 z (sin.f64 y)) |
| Outputs |
|---|
(+.f64 z x) |
(+.f64 z (sin.f64 y)) |
(*.f64 (cos.f64 y) z) |
(sin.f64 y) |
(+.f64 z x) |
3 calls:
| 40.0ms | z |
| 30.0ms | x |
| 22.0ms | y |
| Error | Segments | Branch |
|---|---|---|
| 11.4b | 5 | x |
| 18.2b | 4 | y |
| 13.7b | 7 | z |
Compiled 39 to 19 computations (51.3% saved)
| 4× | binary-search |
| Time | Left | Right |
|---|---|---|
| 42.0ms | 4.0542070189384074e-27 | 3.4267239395531163e-22 |
| 32.0ms | 1.0609711335195107e-28 | 4.0542070189384074e-27 |
| 59.0ms | 1.291348733137004e-93 | 1.550852465427454e-92 |
| 33.0ms | -1.3993231702982013e-12 | -1.0706510382287155e-16 |
| 98.0ms | 147× | body | 1024 | valid |
| 46.0ms | 280× | body | 256 | valid |
| 17.0ms | 53× | body | 512 | valid |
Compiled 449 to 340 computations (24.3% saved)
| Inputs |
|---|
x |
y |
z |
(+.f64 z x) |
(+.f64 z y) |
(+.f64 y (+.f64 z x)) |
(sin.f64 y) |
(*.f64 (cos.f64 y) z) |
| Outputs |
|---|
(+.f64 z x) |
(sin.f64 y) |
(+.f64 y (+.f64 z x)) |
(sin.f64 y) |
(*.f64 (cos.f64 y) z) |
(sin.f64 y) |
(*.f64 (cos.f64 y) z) |
(+.f64 z x) |
3 calls:
| 41.0ms | x |
| 33.0ms | z |
| 24.0ms | y |
| Error | Segments | Branch |
|---|---|---|
| 13.5b | 8 | x |
| 18.5b | 4 | y |
| 14.4b | 7 | z |
Compiled 35 to 18 computations (48.6% saved)
| 7× | binary-search |
| Time | Left | Right |
|---|---|---|
| 25.0ms | 2.1362630244670424e-32 | 7.25744325489879e-32 |
| 36.0ms | 2.3136629677053387e-182 | 1.4377365859527936e-178 |
| 48.0ms | 7.644048696488344e-206 | 7.721253305237646e-195 |
| 29.0ms | 2.0995843266707476e-304 | 1.3235304558191822e-303 |
| 43.0ms | -4.465233915002903e-173 | -1.5055284785826426e-176 |
| 40.0ms | -1.849308369936299e-64 | -3.2912175467185623e-68 |
| 43.0ms | -8.48099826057217e-31 | -3.8912713935206223e-35 |
| 127.0ms | 253× | body | 1024 | valid |
| 84.0ms | 480× | body | 256 | valid |
| 41.0ms | 115× | body | 512 | valid |
Compiled 773 to 588 computations (23.9% saved)
| Inputs |
|---|
x |
y |
z |
(+.f64 z x) |
(+.f64 z y) |
(+.f64 y (+.f64 z x)) |
(sin.f64 y) |
| Outputs |
|---|
(+.f64 z x) |
(sin.f64 y) |
(+.f64 y (+.f64 z x)) |
(sin.f64 y) |
(+.f64 z y) |
(sin.f64 y) |
(+.f64 z x) |
3 calls:
| 34.0ms | x |
| 22.0ms | z |
| 20.0ms | y |
| Error | Segments | Branch |
|---|---|---|
| 16.7b | 7 | x |
| 18.5b | 4 | y |
| 20.1b | 5 | z |
Compiled 31 to 16 computations (48.4% saved)
| 6× | binary-search |
| Time | Left | Right |
|---|---|---|
| 45.0ms | 1.2145887136195735e-49 | 2.1362630244670424e-32 |
| 127.0ms | 7.644048696488344e-206 | 7.721253305237646e-195 |
| 48.0ms | 1.3235304558191822e-303 | 9.302907736996754e-294 |
| 38.0ms | -4.465233915002903e-173 | -1.5055284785826426e-176 |
| 36.0ms | -1.849308369936299e-64 | -3.2912175467185623e-68 |
| 47.0ms | -8.48099826057217e-31 | -3.8912713935206223e-35 |
| 204.0ms | 266× | body | 1024 | valid |
| 83.0ms | 503× | body | 256 | valid |
| 31.0ms | 95× | body | 512 | valid |
Compiled 752 to 569 computations (24.3% saved)
| Inputs |
|---|
x |
y |
z |
(+.f64 z x) |
(+.f64 z y) |
(+.f64 y (+.f64 z x)) |
| Outputs |
|---|
(+.f64 z x) |
(+.f64 y (+.f64 z x)) |
(+.f64 z x) |
3 calls:
| 17.0ms | x |
| 14.0ms | y |
| 6.0ms | z |
| Error | Segments | Branch |
|---|---|---|
| 20.0b | 3 | x |
| 19.9b | 3 | y |
| 22.8b | 1 | z |
Compiled 29 to 15 computations (48.3% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 17.0ms | 6.119357201127958e-27 | 2.9741782904379216e-26 |
| 28.0ms | -6.226456021878636e+135 | -1.6369906999826854e+134 |
| 23.0ms | 146× | body | 256 | valid |
| 20.0ms | 62× | body | 512 | valid |
Compiled 226 to 156 computations (31% saved)
| Inputs |
|---|
x |
y |
z |
(+.f64 z x) |
(+.f64 z y) |
| Outputs |
|---|
(+.f64 z x) |
(+.f64 z y) |
(+.f64 z x) |
3 calls:
| 13.0ms | x |
| 6.0ms | y |
| 4.0ms | z |
| Error | Segments | Branch |
|---|---|---|
| 20.7b | 3 | x |
| 22.8b | 1 | y |
| 22.8b | 1 | z |
Compiled 24 to 14 computations (41.7% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 37.0ms | 7.25002252186221e-252 | 5.844693292661788e-250 |
| 28.0ms | -7.420177903424116e-73 | -9.029403931151215e-74 |
| 29.0ms | 68× | body | 1024 | valid |
| 26.0ms | 119× | body | 256 | valid |
| 7.0ms | 21× | body | 512 | valid |
Compiled 200 to 143 computations (28.5% saved)
| Inputs |
|---|
x |
y |
z |
(+.f64 z x) |
| Outputs |
|---|
(+.f64 z x) |
3 calls:
| 4.0ms | z |
| 4.0ms | x |
| 4.0ms | y |
| Error | Segments | Branch |
|---|---|---|
| 22.8b | 1 | x |
| 22.8b | 1 | y |
| 22.8b | 1 | z |
Compiled 21 to 13 computations (38.1% saved)
| Inputs |
|---|
x |
y |
z |
| Outputs |
|---|
x |
z |
x |
3 calls:
| 20.0ms | y |
| 12.0ms | z |
| 10.0ms | x |
| Error | Segments | Branch |
|---|---|---|
| 28.1b | 3 | x |
| 31.5b | 5 | y |
| 28.7b | 3 | z |
Compiled 18 to 12 computations (33.3% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 27.0ms | 2.1362630244670424e-32 | 7.25744325489879e-32 |
| 26.0ms | -6.179569893899827e+35 | -1.9538451928914397e+33 |
| 25.0ms | 155× | body | 256 | valid |
| 21.0ms | 38× | body | 1024 | valid |
| 4.0ms | 15× | body | 512 | valid |
Compiled 148 to 117 computations (20.9% saved)
Total -30.5b remaining (-95.6%)
Threshold costs -30.5b (-95.6%)
| Inputs |
|---|
x |
y |
| Outputs |
|---|
x |
y |
x |
3 calls:
| 9.0ms | x |
| 3.0ms | z |
| 3.0ms | y |
| Error | Segments | Branch |
|---|---|---|
| 31.9b | 3 | x |
| 34.1b | 1 | y |
| 34.1b | 1 | z |
Compiled 17 to 12 computations (29.4% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 31.0ms | 7.25002252186221e-252 | 5.844693292661788e-250 |
| 26.0ms | -7.420177903424116e-73 | -9.029403931151215e-74 |
| 28.0ms | 62× | body | 1024 | valid |
| 19.0ms | 125× | body | 256 | valid |
| 6.0ms | 21× | body | 512 | valid |
Compiled 148 to 117 computations (20.9% saved)
| 1× | egg-herbie |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 109 | 592 |
| 1× | fuel |
| 1× | saturated |
| Inputs |
|---|
(+.f64 (+.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) |
(if (<=.f64 z -460000000000000004166949569265473675810342253946315298906308135698869661409929372550785663268025055898907967488) (*.f64 (cos.f64 y) z) (if (<=.f64 z 450000000000000021726317691084931152972200686553929462358211032989699154136260220778388288402620416) (+.f64 (+.f64 x (sin.f64 y)) z) (*.f64 (cos.f64 y) z))) |
(if (<=.f64 z -27000000000000000135750961338633606936404173083047033444498766132903112092248489946821604533158507865450741760) (*.f64 (cos.f64 y) z) (if (<=.f64 z -713053462628379/79228162514264337593543950336) (+.f64 z x) (if (<=.f64 z 37000000000000000066314706275452279923329604227776834982044073968404507120605824807679312298770432) (+.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z)))) |
(if (<=.f64 x -4867778304876401/40564819207303340847894502572032) (+.f64 z x) (if (<=.f64 x 32108980623861/2293498615990071511610820895302086940796564989168281123737588839386922876088484808070018553110125686554624) (+.f64 z (sin.f64 y)) (if (<=.f64 x 4599528697196941/1393796574908163946345982392040522594123776) (*.f64 (cos.f64 y) z) (if (<=.f64 x 1786482426334927/21267647932558653966460912964485513216) (sin.f64 y) (+.f64 z x))))) |
(if (<=.f64 x -6942132777321789/730750818665451459101842416358141509827966271488) (+.f64 z x) (if (<=.f64 x -2667849736027765/14821387422376473014217086081112052205218558037201992197050570753012880593911808) (sin.f64 y) (if (<=.f64 x -3285937456539423/1113877103911668754551067286547922686741510866027480451801560673315252726369306002564920119950530126899082595110740822097336109551117050292542153642510306198303709637294986560078826707091456) (+.f64 y (+.f64 z x)) (if (<=.f64 x 6794509235780081/6176826577981891429214335532193521333299458305790469920559733826520701280761576748411876944013584121557222835214746457256769065471978560695404461668113357846725995613908885539687100455996497080726311269484641878313049544782247701984195048695347886851221010025401573777842206256568313675909006576801941109109732291903488) (sin.f64 y) (if (<=.f64 x 8618206661096855/21545516652742137885659094560277007014094191832363720128504958578969526904000843047377578132593002296225722240434905979752527594496752860623371529300590103961416596156942109074193054752294185849943217159109760516096) (*.f64 (cos.f64 y) z) (if (<=.f64 x 7445903087959423/145998099763910246996517491382409322396583312231953917778534160572776805350677676368189209962155884792916553906355021033942038551084014015944085162231110854024063829579528478402651974151891320832) (sin.f64 y) (if (<=.f64 x 4019129502659983/182687704666362864775460604089535377456991567872) (*.f64 (cos.f64 y) z) (+.f64 z x)))))))) |
(if (<=.f64 x -7482888383134223/93536104789177786765035829293842113257979682750464) (+.f64 z x) (if (<=.f64 x -4458273336650843/1897137590064188545819787018382342682267975428761855001222473056385648716020711424) (sin.f64 y) (if (<=.f64 x -3493118597866993/71288134650346800291268306339067051951456695425758748915299883092176174487635584164154887676833928121541286087087412614229511011271491218722697833120659596691437416786879139845044909253853184) (+.f64 y (+.f64 z x)) (if (<=.f64 x 791560241142575/184083777009901148951480851536796132722480842643692193047992403105518260024832986247893480778145316885626996612988306798242600723265962621432675768974821503362834322867062256922933472871676000378319956942935045907290266298718681990629287025193807090855270922941016369397705979841003229496151404881535205516509184) (sin.f64 y) (if (<=.f64 x 30821108798135/5136851466355833503165029182500125649951503713694505722166289944403058744430742990345377476833582471901350555523611540735370539306820120960085756611964727392534398116336371677921546638558908903585247316148224) (+.f64 z y) (if (<=.f64 x 6742980379809911/766247770432944429179173513575154591809369561091801088) (sin.f64 y) (+.f64 z x))))))) |
(if (<=.f64 y -171999999999999997792253494063827901557632080594689583979988034633591947399310442958647836301729780320943327468084106775792139662000128) (+.f64 z x) (if (<=.f64 y 2526256292021047/87112285931760246646623899502532662132736) (+.f64 y (+.f64 z x)) (+.f64 z x))) |
(if (<=.f64 x -3023725277371503/31828687130226345097944463881396533766429193651030253916189694521162207808802136034115584) (+.f64 z x) (if (<=.f64 x 4514235495544015/8061134813471454564702450331367746071149403778627342561766978592325956765086744071570087522699847227396765060321916636335485039665263146015175460486800225477728068298324662539195732386420081192825687147647265448061340763744378078290380812053940375922997109693874176) (+.f64 z y) (+.f64 z x))) |
(+.f64 z x) |
(if (<=.f64 x -1960000000000000054736463379562496) x (if (<=.f64 x 1598517415830675/22835963083295358096932575511191922182123945984) z x)) |
(if (<=.f64 x -5856478431961647/63657374260452690195888927762793067532858387302060507832379389042324415617604272068231168) x (if (<=.f64 x 4514235495544015/8061134813471454564702450331367746071149403778627342561766978592325956765086744071570087522699847227396765060321916636335485039665263146015175460486800225477728068298324662539195732386420081192825687147647265448061340763744378078290380812053940375922997109693874176) y x)) |
x |
| Outputs |
|---|
(+.f64 (+.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) |
(if (<=.f64 z -460000000000000004166949569265473675810342253946315298906308135698869661409929372550785663268025055898907967488) (*.f64 (cos.f64 y) z) (if (<=.f64 z 450000000000000021726317691084931152972200686553929462358211032989699154136260220778388288402620416) (+.f64 (+.f64 x (sin.f64 y)) z) (*.f64 (cos.f64 y) z))) |
(if (<=.f64 z -27000000000000000135750961338633606936404173083047033444498766132903112092248489946821604533158507865450741760) (*.f64 (cos.f64 y) z) (if (<=.f64 z -713053462628379/79228162514264337593543950336) (+.f64 z x) (if (<=.f64 z 37000000000000000066314706275452279923329604227776834982044073968404507120605824807679312298770432) (+.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z)))) |
(if (<=.f64 x -4867778304876401/40564819207303340847894502572032) (+.f64 z x) (if (<=.f64 x 32108980623861/2293498615990071511610820895302086940796564989168281123737588839386922876088484808070018553110125686554624) (+.f64 z (sin.f64 y)) (if (<=.f64 x 4599528697196941/1393796574908163946345982392040522594123776) (*.f64 (cos.f64 y) z) (if (<=.f64 x 1786482426334927/21267647932558653966460912964485513216) (sin.f64 y) (+.f64 z x))))) |
(if (<=.f64 x -6942132777321789/730750818665451459101842416358141509827966271488) (+.f64 z x) (if (<=.f64 x -2667849736027765/14821387422376473014217086081112052205218558037201992197050570753012880593911808) (sin.f64 y) (if (<=.f64 x -3285937456539423/1113877103911668754551067286547922686741510866027480451801560673315252726369306002564920119950530126899082595110740822097336109551117050292542153642510306198303709637294986560078826707091456) (+.f64 y (+.f64 z x)) (if (<=.f64 x 6794509235780081/6176826577981891429214335532193521333299458305790469920559733826520701280761576748411876944013584121557222835214746457256769065471978560695404461668113357846725995613908885539687100455996497080726311269484641878313049544782247701984195048695347886851221010025401573777842206256568313675909006576801941109109732291903488) (sin.f64 y) (if (<=.f64 x 8618206661096855/21545516652742137885659094560277007014094191832363720128504958578969526904000843047377578132593002296225722240434905979752527594496752860623371529300590103961416596156942109074193054752294185849943217159109760516096) (*.f64 (cos.f64 y) z) (if (<=.f64 x 7445903087959423/145998099763910246996517491382409322396583312231953917778534160572776805350677676368189209962155884792916553906355021033942038551084014015944085162231110854024063829579528478402651974151891320832) (sin.f64 y) (if (<=.f64 x 4019129502659983/182687704666362864775460604089535377456991567872) (*.f64 (cos.f64 y) z) (+.f64 z x)))))))) |
(if (<=.f64 x -7482888383134223/93536104789177786765035829293842113257979682750464) (+.f64 z x) (if (<=.f64 x -4458273336650843/1897137590064188545819787018382342682267975428761855001222473056385648716020711424) (sin.f64 y) (if (<=.f64 x -3493118597866993/71288134650346800291268306339067051951456695425758748915299883092176174487635584164154887676833928121541286087087412614229511011271491218722697833120659596691437416786879139845044909253853184) (+.f64 y (+.f64 z x)) (if (<=.f64 x 791560241142575/184083777009901148951480851536796132722480842643692193047992403105518260024832986247893480778145316885626996612988306798242600723265962621432675768974821503362834322867062256922933472871676000378319956942935045907290266298718681990629287025193807090855270922941016369397705979841003229496151404881535205516509184) (sin.f64 y) (if (<=.f64 x 30821108798135/5136851466355833503165029182500125649951503713694505722166289944403058744430742990345377476833582471901350555523611540735370539306820120960085756611964727392534398116336371677921546638558908903585247316148224) (+.f64 z y) (if (<=.f64 x 6742980379809911/766247770432944429179173513575154591809369561091801088) (sin.f64 y) (+.f64 z x))))))) |
(if (<=.f64 y -171999999999999997792253494063827901557632080594689583979988034633591947399310442958647836301729780320943327468084106775792139662000128) (+.f64 z x) (if (<=.f64 y 2526256292021047/87112285931760246646623899502532662132736) (+.f64 y (+.f64 z x)) (+.f64 z x))) |
(if (<=.f64 x -3023725277371503/31828687130226345097944463881396533766429193651030253916189694521162207808802136034115584) (+.f64 z x) (if (<=.f64 x 4514235495544015/8061134813471454564702450331367746071149403778627342561766978592325956765086744071570087522699847227396765060321916636335485039665263146015175460486800225477728068298324662539195732386420081192825687147647265448061340763744378078290380812053940375922997109693874176) (+.f64 z y) (+.f64 z x))) |
(+.f64 z x) |
(if (<=.f64 x -1960000000000000054736463379562496) x (if (<=.f64 x 1598517415830675/22835963083295358096932575511191922182123945984) z x)) |
(if (<=.f64 x -5856478431961647/63657374260452690195888927762793067532858387302060507832379389042324415617604272068231168) x (if (<=.f64 x 4514235495544015/8061134813471454564702450331367746071149403778627342561766978592325956765086744071570087522699847227396765060321916636335485039665263146015175460486800225477728068298324662539195732386420081192825687147647265448061340763744378078290380812053940375922997109693874176) y x)) |
x |
Compiled 285 to 160 computations (43.9% saved)
Compiled 252 to 105 computations (58.3% saved)
Loading profile data...