Time bar (total: 2.1s)
| 1× | search |
| Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
|---|---|---|---|---|---|---|---|
| 0% | 0% | 100% | 0% | 0% | 0% | 0% | 0 |
| 0% | 0% | 100% | 0% | 0% | 0% | 0% | 1 |
| 0% | 0% | 100% | 0% | 0% | 0% | 0% | 2 |
| 0% | 0% | 50% | 0% | 0% | 50% | 0% | 3 |
| 33.3% | 12.5% | 25% | 0% | 0% | 62.5% | 0% | 4 |
| 60% | 18.7% | 12.5% | 0% | 0% | 68.7% | 0% | 5 |
| 77.8% | 21.9% | 6.2% | 0% | 0% | 71.8% | 0% | 6 |
| 88.2% | 23.4% | 3.1% | 0% | 0% | 73.4% | 0% | 7 |
| 93.9% | 24.2% | 1.6% | 0% | 0% | 74.2% | 0% | 8 |
| 96.9% | 24.6% | 0.8% | 0% | 0% | 74.6% | 0% | 9 |
| 98.4% | 24.8% | 0.4% | 0% | 0% | 74.8% | 0% | 10 |
| 99.2% | 24.9% | 0.2% | 0% | 0% | 74.9% | 0% | 11 |
| 99.6% | 24.9% | 0.1% | 0% | 0% | 74.9% | 0% | 12 |
Compiled 15 to 11 computations (26.7% saved)
| 984.0ms | 8256× | body | 256 | valid |
| 1.0ms | 15× | body | 256 | invalid |
| 2× | egg-herbie |
| 760× | rational_best-simplify-96 |
| 736× | rational_best-simplify-117 |
| 712× | rational_best-simplify-113 |
| 690× | rational_best-simplify-65 |
| 684× | rational_best-simplify-61 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 12 | 39 |
| 1 | 55 | 39 |
| 2 | 305 | 39 |
| 3 | 2025 | 39 |
| 0 | 1 | 1 |
| 1× | saturated |
| 1× | node limit |
| Inputs |
|---|
0 |
| Outputs |
|---|
0 |
| Inputs |
|---|
(log.f64 (+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x))) |
| Outputs |
|---|
(log.f64 (+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x))) |
Compiled 15 to 11 computations (26.7% saved)
| 1× | egg-herbie |
| 760× | rational_best-simplify-96 |
| 736× | rational_best-simplify-117 |
| 712× | rational_best-simplify-113 |
| 690× | rational_best-simplify-65 |
| 684× | rational_best-simplify-61 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 12 | 39 |
| 1 | 55 | 39 |
| 2 | 305 | 39 |
| 3 | 2025 | 39 |
| 1× | node limit |
| Inputs |
|---|
(log.f64 (+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x))) |
| Outputs |
|---|
(log.f64 (+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x))) |
Compiled 14 to 10 computations (28.6% saved)
2 alts after pruning (2 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 0 | 1 | 1 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 0 | 0 |
| Total | 0 | 2 | 2 |
| Status | Error | Program |
|---|---|---|
| ▶ | 0b | (log.f64 (+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x))) |
Compiled 14 to 10 computations (28.6% saved)
Found 3 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x) |
| ✓ | 0.0b | (+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)) |
| ✓ | 0.0b | (sqrt.f64 (-.f64 1 (*.f64 x x))) |
Compiled 53 to 29 computations (45.3% saved)
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | x | @ | inf | (sqrt.f64 (-.f64 1 (*.f64 x x))) |
| 0.0ms | x | @ | inf | (+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)) |
| 0.0ms | x | @ | -inf | (+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)) |
| 0.0ms | x | @ | -inf | (sqrt.f64 (-.f64 1 (*.f64 x x))) |
| 0.0ms | x | @ | 0 | (sqrt.f64 (-.f64 1 (*.f64 x x))) |
| 1× | batch-egg-rewrite |
| 760× | rational_best-simplify-96 |
| 734× | rational_best-simplify-117 |
| 706× | rational_best-simplify-113 |
| 690× | rational_best-simplify-65 |
| 680× | rational_best-simplify-61 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 75 |
| 1 | 54 | 75 |
| 2 | 304 | 75 |
| 3 | 2082 | 75 |
| 1× | node limit |
| Inputs |
|---|
(sqrt.f64 (-.f64 1 (*.f64 x x))) |
(+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)) |
(/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (sqrt.f64 (-.f64 1 (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (sqrt.f64 (-.f64 1 (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 (-.f64 1 (*.f64 x x)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 (*.f64 x x) -1)) (sqrt.f64 -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 -1) (sqrt.f64 (+.f64 (*.f64 x x) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (sqrt.f64 (-.f64 1 (*.f64 x x)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 1 x) (neg.f64 (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x) (neg.f64 (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 (neg.f64 (/.f64 1 x)) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (neg.f64 (/.f64 1 x)) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (neg.f64 (/.f64 1 x)) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (neg.f64 (/.f64 1 x)) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (-.f64 (neg.f64 (/.f64 1 x)) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)) (-.f64 (neg.f64 (/.f64 1 x)) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)) (*.f64 (-.f64 (neg.f64 (/.f64 1 x)) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)) (-.f64 (neg.f64 (/.f64 1 x)) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)))) (-.f64 1 (+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (neg.f64 (/.f64 1 x)) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (-.f64 (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x) (/.f64 1 x)) 0) (/.f64 (-.f64 (/.f64 (sqrt.f64 (*.f64 (-.f64 1 (*.f64 x x)) (-.f64 1 (*.f64 x x)))) (*.f64 x x)) (/.f64 1 (*.f64 x x))) (-.f64 (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x) (/.f64 1 x))) (+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (neg.f64 (/.f64 1 x)) 0) (/.f64 (*.f64 (+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)) (/.f64 1 x)) (/.f64 1 x)) (+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x) 0) (/.f64 (*.f64 (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x) (+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x))) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)) (+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (-.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)) 0) (/.f64 (-.f64 (/.f64 1 (*.f64 x x)) (/.f64 (sqrt.f64 (*.f64 (-.f64 1 (*.f64 x x)) (-.f64 1 (*.f64 x x)))) (*.f64 x x))) (-.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x))) (+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (/.f64 1 x) 0) (/.f64 (*.f64 (+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)) (/.f64 1 x)) (/.f64 1 x)) (+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (neg.f64 (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)) 0) (/.f64 (*.f64 (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x) (+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x))) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)) (+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x))))))) |
| 1× | egg-herbie |
| 994× | rational_best-simplify-1 |
| 848× | rational_best-simplify-53 |
| 626× | rational_best-simplify-21 |
| 610× | rational_best-simplify-20 |
| 608× | rational_best-simplify-18 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 165 | 2473 |
| 1 | 958 | 2449 |
| 2 | 5998 | 2413 |
| 1× | node limit |
| Inputs |
|---|
1 |
(+.f64 1 (*.f64 -1/2 (pow.f64 x 2))) |
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 x 2)) (*.f64 -1/8 (pow.f64 x 4)))) |
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 x 2)) (+.f64 (*.f64 -1/16 (pow.f64 x 6)) (*.f64 -1/8 (pow.f64 x 4))))) |
(*.f64 (sqrt.f64 -1) x) |
(+.f64 (*.f64 1/2 (/.f64 1 (*.f64 (sqrt.f64 -1) x))) (*.f64 (sqrt.f64 -1) x)) |
(-.f64 (+.f64 (*.f64 1/2 (/.f64 1 (*.f64 (sqrt.f64 -1) x))) (*.f64 (sqrt.f64 -1) x)) (*.f64 1/8 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 x 3))))) |
(-.f64 (+.f64 (*.f64 1/16 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 5) (pow.f64 x 5)))) (+.f64 (*.f64 1/2 (/.f64 1 (*.f64 (sqrt.f64 -1) x))) (*.f64 (sqrt.f64 -1) x))) (*.f64 1/8 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 x 3))))) |
(*.f64 -1 (*.f64 (sqrt.f64 -1) x)) |
(-.f64 (*.f64 -1 (*.f64 (sqrt.f64 -1) x)) (*.f64 1/2 (/.f64 1 (*.f64 (sqrt.f64 -1) x)))) |
(-.f64 (+.f64 (*.f64 1/8 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 x 3)))) (*.f64 -1 (*.f64 (sqrt.f64 -1) x))) (*.f64 1/2 (/.f64 1 (*.f64 (sqrt.f64 -1) x)))) |
(-.f64 (+.f64 (*.f64 1/8 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 x 3)))) (*.f64 -1 (*.f64 (sqrt.f64 -1) x))) (+.f64 (*.f64 1/16 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 5) (pow.f64 x 5)))) (*.f64 1/2 (/.f64 1 (*.f64 (sqrt.f64 -1) x))))) |
(/.f64 2 x) |
(+.f64 (*.f64 -1/2 x) (*.f64 2 (/.f64 1 x))) |
(+.f64 (*.f64 -1/8 (pow.f64 x 3)) (+.f64 (*.f64 -1/2 x) (*.f64 2 (/.f64 1 x)))) |
(+.f64 (*.f64 -1/8 (pow.f64 x 3)) (+.f64 (*.f64 -1/2 x) (+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 -1/16 (pow.f64 x 5))))) |
(sqrt.f64 -1) |
(+.f64 (sqrt.f64 -1) (/.f64 1 x)) |
(+.f64 (sqrt.f64 -1) (+.f64 (/.f64 1 x) (*.f64 1/2 (/.f64 1 (*.f64 (sqrt.f64 -1) (pow.f64 x 2)))))) |
(-.f64 (+.f64 (sqrt.f64 -1) (+.f64 (/.f64 1 x) (*.f64 1/2 (/.f64 1 (*.f64 (sqrt.f64 -1) (pow.f64 x 2)))))) (*.f64 1/8 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 x 4))))) |
(*.f64 -1 (sqrt.f64 -1)) |
(+.f64 (/.f64 1 x) (*.f64 -1 (sqrt.f64 -1))) |
(-.f64 (+.f64 (/.f64 1 x) (*.f64 -1 (sqrt.f64 -1))) (*.f64 1/2 (/.f64 1 (*.f64 (sqrt.f64 -1) (pow.f64 x 2))))) |
(-.f64 (+.f64 (/.f64 1 x) (+.f64 (*.f64 -1 (sqrt.f64 -1)) (*.f64 1/8 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 x 4)))))) (*.f64 1/2 (/.f64 1 (*.f64 (sqrt.f64 -1) (pow.f64 x 2))))) |
(/.f64 1 x) |
(+.f64 (*.f64 -1/2 x) (/.f64 1 x)) |
(+.f64 (*.f64 -1/8 (pow.f64 x 3)) (+.f64 (*.f64 -1/2 x) (/.f64 1 x))) |
(+.f64 (*.f64 -1/8 (pow.f64 x 3)) (+.f64 (*.f64 -1/2 x) (+.f64 (/.f64 1 x) (*.f64 -1/16 (pow.f64 x 5))))) |
(sqrt.f64 -1) |
(+.f64 (sqrt.f64 -1) (*.f64 1/2 (/.f64 1 (*.f64 (sqrt.f64 -1) (pow.f64 x 2))))) |
(-.f64 (+.f64 (sqrt.f64 -1) (*.f64 1/2 (/.f64 1 (*.f64 (sqrt.f64 -1) (pow.f64 x 2))))) (*.f64 1/8 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 x 4))))) |
(-.f64 (+.f64 (sqrt.f64 -1) (+.f64 (*.f64 1/2 (/.f64 1 (*.f64 (sqrt.f64 -1) (pow.f64 x 2)))) (*.f64 1/16 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 5) (pow.f64 x 6)))))) (*.f64 1/8 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 x 4))))) |
(*.f64 -1 (sqrt.f64 -1)) |
(-.f64 (*.f64 -1 (sqrt.f64 -1)) (*.f64 1/2 (/.f64 1 (*.f64 (sqrt.f64 -1) (pow.f64 x 2))))) |
(-.f64 (+.f64 (*.f64 -1 (sqrt.f64 -1)) (*.f64 1/8 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 x 4))))) (*.f64 1/2 (/.f64 1 (*.f64 (sqrt.f64 -1) (pow.f64 x 2))))) |
(-.f64 (+.f64 (*.f64 -1 (sqrt.f64 -1)) (*.f64 1/8 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 x 4))))) (+.f64 (*.f64 1/2 (/.f64 1 (*.f64 (sqrt.f64 -1) (pow.f64 x 2)))) (*.f64 1/16 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 5) (pow.f64 x 6)))))) |
(-.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) 0) |
(-.f64 0 (neg.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))))) |
(*.f64 -1 (neg.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))))) |
(*.f64 (neg.f64 (sqrt.f64 (-.f64 1 (*.f64 x x)))) -1) |
(*.f64 (sqrt.f64 (+.f64 (*.f64 x x) -1)) (sqrt.f64 -1)) |
(*.f64 (sqrt.f64 -1) (sqrt.f64 (+.f64 (*.f64 x x) -1))) |
(/.f64 (neg.f64 (sqrt.f64 (-.f64 1 (*.f64 x x)))) -1) |
(neg.f64 (neg.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))))) |
(-.f64 (/.f64 1 x) (neg.f64 (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x))) |
(-.f64 (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x) (neg.f64 (/.f64 1 x))) |
(-.f64 0 (-.f64 (neg.f64 (/.f64 1 x)) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x))) |
(*.f64 -1 (-.f64 (neg.f64 (/.f64 1 x)) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x))) |
(*.f64 (-.f64 (neg.f64 (/.f64 1 x)) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)) -1) |
(/.f64 (+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)) 1) |
(/.f64 (-.f64 (neg.f64 (/.f64 1 x)) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)) -1) |
(/.f64 (+.f64 (-.f64 (neg.f64 (/.f64 1 x)) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)) (-.f64 (neg.f64 (/.f64 1 x)) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x))) -2) |
(/.f64 (-.f64 (+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)) (*.f64 (-.f64 (neg.f64 (/.f64 1 x)) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)) (-.f64 (neg.f64 (/.f64 1 x)) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)))) (-.f64 1 (+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)))) |
(neg.f64 (-.f64 (neg.f64 (/.f64 1 x)) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x))) |
(if (!=.f64 (-.f64 (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x) (/.f64 1 x)) 0) (/.f64 (-.f64 (/.f64 (sqrt.f64 (*.f64 (-.f64 1 (*.f64 x x)) (-.f64 1 (*.f64 x x)))) (*.f64 x x)) (/.f64 1 (*.f64 x x))) (-.f64 (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x) (/.f64 1 x))) (+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x))) |
(if (!=.f64 (neg.f64 (/.f64 1 x)) 0) (/.f64 (*.f64 (+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)) (/.f64 1 x)) (/.f64 1 x)) (+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x))) |
(if (!=.f64 (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x) 0) (/.f64 (*.f64 (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x) (+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x))) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)) (+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x))) |
(if (!=.f64 (-.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)) 0) (/.f64 (-.f64 (/.f64 1 (*.f64 x x)) (/.f64 (sqrt.f64 (*.f64 (-.f64 1 (*.f64 x x)) (-.f64 1 (*.f64 x x)))) (*.f64 x x))) (-.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x))) (+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x))) |
(if (!=.f64 (/.f64 1 x) 0) (/.f64 (*.f64 (+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)) (/.f64 1 x)) (/.f64 1 x)) (+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x))) |
(if (!=.f64 (neg.f64 (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)) 0) (/.f64 (*.f64 (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x) (+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x))) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)) (+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x))) |
(-.f64 (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x) 0) |
(-.f64 0 (neg.f64 (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x))) |
(*.f64 -1 (neg.f64 (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x))) |
(*.f64 (neg.f64 (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)) -1) |
(neg.f64 (neg.f64 (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x))) |
| Outputs |
|---|
1 |
(+.f64 1 (*.f64 -1/2 (pow.f64 x 2))) |
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 x 2)) (*.f64 -1/8 (pow.f64 x 4)))) |
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 x 2)) (+.f64 (*.f64 -1/16 (pow.f64 x 6)) (*.f64 -1/8 (pow.f64 x 4))))) |
(+.f64 (+.f64 (*.f64 -1/8 (pow.f64 x 4)) (*.f64 -1/16 (pow.f64 x 6))) (+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))) |
(+.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 x 2))) (+.f64 (*.f64 -1/8 (pow.f64 x 4)) (*.f64 -1/16 (pow.f64 x 6)))) |
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 x 2)) (+.f64 (*.f64 -1/8 (pow.f64 x 4)) (*.f64 -1/16 (pow.f64 x 6))))) |
(*.f64 (sqrt.f64 -1) x) |
(*.f64 x (sqrt.f64 -1)) |
(+.f64 (*.f64 1/2 (/.f64 1 (*.f64 (sqrt.f64 -1) x))) (*.f64 (sqrt.f64 -1) x)) |
(+.f64 (*.f64 x (sqrt.f64 -1)) (*.f64 1/2 (/.f64 1 (*.f64 x (sqrt.f64 -1))))) |
(-.f64 (+.f64 (*.f64 1/2 (/.f64 1 (*.f64 (sqrt.f64 -1) x))) (*.f64 (sqrt.f64 -1) x)) (*.f64 1/8 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 x 3))))) |
(-.f64 (+.f64 (*.f64 x (sqrt.f64 -1)) (*.f64 1/2 (/.f64 1 (*.f64 x (sqrt.f64 -1))))) (*.f64 1/8 (/.f64 1 (*.f64 (sqrt.f64 -1) (pow.f64 x 3))))) |
(+.f64 (+.f64 (*.f64 x (sqrt.f64 -1)) (*.f64 1/2 (/.f64 1 (*.f64 x (sqrt.f64 -1))))) (*.f64 (/.f64 1 (*.f64 (sqrt.f64 -1) (pow.f64 x 3))) -1/8)) |
(-.f64 (+.f64 (*.f64 1/16 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 5) (pow.f64 x 5)))) (+.f64 (*.f64 1/2 (/.f64 1 (*.f64 (sqrt.f64 -1) x))) (*.f64 (sqrt.f64 -1) x))) (*.f64 1/8 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 x 3))))) |
(-.f64 (+.f64 (*.f64 x (sqrt.f64 -1)) (+.f64 (*.f64 1/2 (/.f64 1 (*.f64 x (sqrt.f64 -1)))) (*.f64 1/16 (/.f64 1 (*.f64 (sqrt.f64 -1) (pow.f64 x 5)))))) (*.f64 1/8 (/.f64 1 (*.f64 (sqrt.f64 -1) (pow.f64 x 3))))) |
(+.f64 (+.f64 (*.f64 x (sqrt.f64 -1)) (+.f64 (*.f64 1/2 (/.f64 1 (*.f64 x (sqrt.f64 -1)))) (*.f64 1/16 (/.f64 1 (*.f64 (sqrt.f64 -1) (pow.f64 x 5)))))) (*.f64 (/.f64 1 (*.f64 (sqrt.f64 -1) (pow.f64 x 3))) -1/8)) |
(*.f64 -1 (*.f64 (sqrt.f64 -1) x)) |
(*.f64 -1 (*.f64 x (sqrt.f64 -1))) |
(*.f64 x (neg.f64 (sqrt.f64 -1))) |
(-.f64 (*.f64 -1 (*.f64 (sqrt.f64 -1) x)) (*.f64 1/2 (/.f64 1 (*.f64 (sqrt.f64 -1) x)))) |
(-.f64 (*.f64 -1 (*.f64 x (sqrt.f64 -1))) (*.f64 1/2 (/.f64 1 (*.f64 x (sqrt.f64 -1))))) |
(+.f64 (*.f64 x (neg.f64 (sqrt.f64 -1))) (*.f64 (/.f64 1 (*.f64 x (sqrt.f64 -1))) -1/2)) |
(-.f64 (*.f64 (/.f64 1 (*.f64 x (sqrt.f64 -1))) -1/2) (*.f64 x (sqrt.f64 -1))) |
(-.f64 (+.f64 (*.f64 1/8 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 x 3)))) (*.f64 -1 (*.f64 (sqrt.f64 -1) x))) (*.f64 1/2 (/.f64 1 (*.f64 (sqrt.f64 -1) x)))) |
(-.f64 (+.f64 (*.f64 1/8 (/.f64 1 (*.f64 (sqrt.f64 -1) (pow.f64 x 3)))) (*.f64 -1 (*.f64 x (sqrt.f64 -1)))) (*.f64 1/2 (/.f64 1 (*.f64 x (sqrt.f64 -1))))) |
(+.f64 (-.f64 (*.f64 x (neg.f64 (sqrt.f64 -1))) (*.f64 (/.f64 1 (*.f64 (sqrt.f64 -1) (pow.f64 x 3))) -1/8)) (*.f64 (/.f64 1 (*.f64 x (sqrt.f64 -1))) -1/2)) |
(-.f64 (-.f64 (*.f64 1/8 (/.f64 1 (*.f64 (sqrt.f64 -1) (pow.f64 x 3)))) (*.f64 x (sqrt.f64 -1))) (*.f64 1/2 (/.f64 1 (*.f64 x (sqrt.f64 -1))))) |
(-.f64 (+.f64 (*.f64 1/8 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 x 3)))) (*.f64 -1 (*.f64 (sqrt.f64 -1) x))) (+.f64 (*.f64 1/16 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 5) (pow.f64 x 5)))) (*.f64 1/2 (/.f64 1 (*.f64 (sqrt.f64 -1) x))))) |
(-.f64 (+.f64 (*.f64 1/8 (/.f64 1 (*.f64 (sqrt.f64 -1) (pow.f64 x 3)))) (*.f64 -1 (*.f64 x (sqrt.f64 -1)))) (+.f64 (*.f64 1/2 (/.f64 1 (*.f64 x (sqrt.f64 -1)))) (*.f64 1/16 (/.f64 1 (*.f64 (sqrt.f64 -1) (pow.f64 x 5)))))) |
(+.f64 (-.f64 (*.f64 x (neg.f64 (sqrt.f64 -1))) (*.f64 (/.f64 1 (*.f64 (sqrt.f64 -1) (pow.f64 x 3))) -1/8)) (-.f64 (*.f64 (/.f64 1 (*.f64 (sqrt.f64 -1) (pow.f64 x 5))) -1/16) (*.f64 1/2 (/.f64 1 (*.f64 x (sqrt.f64 -1)))))) |
(-.f64 (-.f64 (*.f64 1/8 (/.f64 1 (*.f64 (sqrt.f64 -1) (pow.f64 x 3)))) (*.f64 x (sqrt.f64 -1))) (+.f64 (*.f64 1/2 (/.f64 1 (*.f64 x (sqrt.f64 -1)))) (*.f64 1/16 (/.f64 1 (*.f64 (sqrt.f64 -1) (pow.f64 x 5)))))) |
(/.f64 2 x) |
(+.f64 (*.f64 -1/2 x) (*.f64 2 (/.f64 1 x))) |
(-.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x 1/2)) |
(+.f64 (*.f64 -1/8 (pow.f64 x 3)) (+.f64 (*.f64 -1/2 x) (*.f64 2 (/.f64 1 x)))) |
(+.f64 (*.f64 -1/2 x) (+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 -1/8 (pow.f64 x 3)))) |
(+.f64 (*.f64 -1/8 (pow.f64 x 3)) (+.f64 (*.f64 -1/2 x) (+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 -1/16 (pow.f64 x 5))))) |
(+.f64 (+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 -1/16 (pow.f64 x 5))) (+.f64 (*.f64 -1/8 (pow.f64 x 3)) (*.f64 -1/2 x))) |
(+.f64 (+.f64 (*.f64 -1/2 x) (*.f64 2 (/.f64 1 x))) (+.f64 (*.f64 -1/8 (pow.f64 x 3)) (*.f64 -1/16 (pow.f64 x 5)))) |
(+.f64 (*.f64 -1/2 x) (+.f64 (*.f64 -1/8 (pow.f64 x 3)) (+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 -1/16 (pow.f64 x 5))))) |
(sqrt.f64 -1) |
(+.f64 (sqrt.f64 -1) (/.f64 1 x)) |
(+.f64 (sqrt.f64 -1) (+.f64 (/.f64 1 x) (*.f64 1/2 (/.f64 1 (*.f64 (sqrt.f64 -1) (pow.f64 x 2)))))) |
(+.f64 (*.f64 1/2 (/.f64 1 (*.f64 (pow.f64 x 2) (sqrt.f64 -1)))) (+.f64 (sqrt.f64 -1) (/.f64 1 x))) |
(+.f64 (+.f64 (sqrt.f64 -1) (/.f64 1 x)) (*.f64 1/2 (/.f64 1 (*.f64 (pow.f64 x 2) (sqrt.f64 -1))))) |
(+.f64 (sqrt.f64 -1) (+.f64 (/.f64 1 x) (*.f64 1/2 (/.f64 1 (*.f64 (pow.f64 x 2) (sqrt.f64 -1)))))) |
(-.f64 (+.f64 (sqrt.f64 -1) (+.f64 (/.f64 1 x) (*.f64 1/2 (/.f64 1 (*.f64 (sqrt.f64 -1) (pow.f64 x 2)))))) (*.f64 1/8 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 x 4))))) |
(-.f64 (+.f64 (*.f64 1/2 (/.f64 1 (*.f64 (pow.f64 x 2) (sqrt.f64 -1)))) (+.f64 (sqrt.f64 -1) (/.f64 1 x))) (*.f64 1/8 (/.f64 1 (*.f64 (pow.f64 x 4) (sqrt.f64 -1))))) |
(+.f64 (+.f64 (+.f64 (sqrt.f64 -1) (/.f64 1 x)) (*.f64 1/2 (/.f64 1 (*.f64 (pow.f64 x 2) (sqrt.f64 -1))))) (*.f64 (/.f64 1 (*.f64 (pow.f64 x 4) (sqrt.f64 -1))) -1/8)) |
(+.f64 (+.f64 (sqrt.f64 -1) (+.f64 (/.f64 1 x) (*.f64 1/2 (/.f64 1 (*.f64 (pow.f64 x 2) (sqrt.f64 -1)))))) (*.f64 (/.f64 1 (*.f64 (pow.f64 x 4) (sqrt.f64 -1))) -1/8)) |
(*.f64 -1 (sqrt.f64 -1)) |
(neg.f64 (sqrt.f64 -1)) |
(+.f64 (/.f64 1 x) (*.f64 -1 (sqrt.f64 -1))) |
(+.f64 (/.f64 1 x) (neg.f64 (sqrt.f64 -1))) |
(-.f64 (/.f64 1 x) (sqrt.f64 -1)) |
(-.f64 (+.f64 (/.f64 1 x) (*.f64 -1 (sqrt.f64 -1))) (*.f64 1/2 (/.f64 1 (*.f64 (sqrt.f64 -1) (pow.f64 x 2))))) |
(-.f64 (+.f64 (/.f64 1 x) (*.f64 -1 (sqrt.f64 -1))) (*.f64 1/2 (/.f64 1 (*.f64 (pow.f64 x 2) (sqrt.f64 -1))))) |
(+.f64 (+.f64 (/.f64 1 x) (neg.f64 (sqrt.f64 -1))) (*.f64 (/.f64 1 (*.f64 (pow.f64 x 2) (sqrt.f64 -1))) -1/2)) |
(+.f64 (-.f64 (/.f64 1 x) (sqrt.f64 -1)) (*.f64 (/.f64 1 (*.f64 (pow.f64 x 2) (sqrt.f64 -1))) -1/2)) |
(-.f64 (+.f64 (/.f64 1 x) (+.f64 (*.f64 -1 (sqrt.f64 -1)) (*.f64 1/8 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 x 4)))))) (*.f64 1/2 (/.f64 1 (*.f64 (sqrt.f64 -1) (pow.f64 x 2))))) |
(-.f64 (+.f64 (/.f64 1 x) (+.f64 (*.f64 1/8 (/.f64 1 (*.f64 (pow.f64 x 4) (sqrt.f64 -1)))) (*.f64 -1 (sqrt.f64 -1)))) (*.f64 1/2 (/.f64 1 (*.f64 (pow.f64 x 2) (sqrt.f64 -1))))) |
(+.f64 (-.f64 (+.f64 (/.f64 1 x) (neg.f64 (sqrt.f64 -1))) (*.f64 (/.f64 1 (*.f64 (pow.f64 x 4) (sqrt.f64 -1))) -1/8)) (*.f64 (/.f64 1 (*.f64 (pow.f64 x 2) (sqrt.f64 -1))) -1/2)) |
(+.f64 (+.f64 (/.f64 1 x) (-.f64 (*.f64 1/8 (/.f64 1 (*.f64 (pow.f64 x 4) (sqrt.f64 -1)))) (sqrt.f64 -1))) (*.f64 (/.f64 1 (*.f64 (pow.f64 x 2) (sqrt.f64 -1))) -1/2)) |
(/.f64 1 x) |
(+.f64 (*.f64 -1/2 x) (/.f64 1 x)) |
(-.f64 (/.f64 1 x) (*.f64 x 1/2)) |
(+.f64 (*.f64 -1/8 (pow.f64 x 3)) (+.f64 (*.f64 -1/2 x) (/.f64 1 x))) |
(+.f64 (*.f64 -1/2 x) (+.f64 (/.f64 1 x) (*.f64 -1/8 (pow.f64 x 3)))) |
(+.f64 (*.f64 -1/8 (pow.f64 x 3)) (-.f64 (/.f64 1 x) (*.f64 x 1/2))) |
(+.f64 (*.f64 -1/8 (pow.f64 x 3)) (+.f64 (*.f64 -1/2 x) (+.f64 (/.f64 1 x) (*.f64 -1/16 (pow.f64 x 5))))) |
(+.f64 (*.f64 -1/2 x) (+.f64 (+.f64 (/.f64 1 x) (*.f64 -1/16 (pow.f64 x 5))) (*.f64 -1/8 (pow.f64 x 3)))) |
(+.f64 (*.f64 -1/2 x) (+.f64 (*.f64 -1/8 (pow.f64 x 3)) (+.f64 (/.f64 1 x) (*.f64 -1/16 (pow.f64 x 5))))) |
(sqrt.f64 -1) |
(+.f64 (sqrt.f64 -1) (*.f64 1/2 (/.f64 1 (*.f64 (sqrt.f64 -1) (pow.f64 x 2))))) |
(+.f64 (sqrt.f64 -1) (*.f64 1/2 (/.f64 1 (*.f64 (pow.f64 x 2) (sqrt.f64 -1))))) |
(-.f64 (+.f64 (sqrt.f64 -1) (*.f64 1/2 (/.f64 1 (*.f64 (sqrt.f64 -1) (pow.f64 x 2))))) (*.f64 1/8 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 x 4))))) |
(-.f64 (+.f64 (sqrt.f64 -1) (*.f64 1/2 (/.f64 1 (*.f64 (pow.f64 x 2) (sqrt.f64 -1))))) (*.f64 1/8 (/.f64 1 (*.f64 (pow.f64 x 4) (sqrt.f64 -1))))) |
(+.f64 (+.f64 (sqrt.f64 -1) (*.f64 1/2 (/.f64 1 (*.f64 (pow.f64 x 2) (sqrt.f64 -1))))) (*.f64 (/.f64 1 (*.f64 (pow.f64 x 4) (sqrt.f64 -1))) -1/8)) |
(-.f64 (+.f64 (sqrt.f64 -1) (+.f64 (*.f64 1/2 (/.f64 1 (*.f64 (sqrt.f64 -1) (pow.f64 x 2)))) (*.f64 1/16 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 5) (pow.f64 x 6)))))) (*.f64 1/8 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 x 4))))) |
(-.f64 (+.f64 (sqrt.f64 -1) (+.f64 (*.f64 1/2 (/.f64 1 (*.f64 (pow.f64 x 2) (sqrt.f64 -1)))) (*.f64 1/16 (/.f64 1 (*.f64 (pow.f64 x 6) (sqrt.f64 -1)))))) (*.f64 1/8 (/.f64 1 (*.f64 (pow.f64 x 4) (sqrt.f64 -1))))) |
(+.f64 (+.f64 (*.f64 1/2 (/.f64 1 (*.f64 (pow.f64 x 2) (sqrt.f64 -1)))) (+.f64 (sqrt.f64 -1) (*.f64 1/16 (/.f64 1 (*.f64 (pow.f64 x 6) (sqrt.f64 -1)))))) (*.f64 (/.f64 1 (*.f64 (pow.f64 x 4) (sqrt.f64 -1))) -1/8)) |
(+.f64 (+.f64 (sqrt.f64 -1) (+.f64 (*.f64 1/2 (/.f64 1 (*.f64 (pow.f64 x 2) (sqrt.f64 -1)))) (*.f64 1/16 (/.f64 1 (*.f64 (pow.f64 x 6) (sqrt.f64 -1)))))) (*.f64 (/.f64 1 (*.f64 (pow.f64 x 4) (sqrt.f64 -1))) -1/8)) |
(*.f64 -1 (sqrt.f64 -1)) |
(neg.f64 (sqrt.f64 -1)) |
(-.f64 (*.f64 -1 (sqrt.f64 -1)) (*.f64 1/2 (/.f64 1 (*.f64 (sqrt.f64 -1) (pow.f64 x 2))))) |
(-.f64 (*.f64 -1 (sqrt.f64 -1)) (*.f64 1/2 (/.f64 1 (*.f64 (pow.f64 x 2) (sqrt.f64 -1))))) |
(+.f64 (neg.f64 (sqrt.f64 -1)) (*.f64 (/.f64 1 (*.f64 (pow.f64 x 2) (sqrt.f64 -1))) -1/2)) |
(-.f64 (*.f64 (/.f64 1 (*.f64 (pow.f64 x 2) (sqrt.f64 -1))) -1/2) (sqrt.f64 -1)) |
(-.f64 (+.f64 (*.f64 -1 (sqrt.f64 -1)) (*.f64 1/8 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 x 4))))) (*.f64 1/2 (/.f64 1 (*.f64 (sqrt.f64 -1) (pow.f64 x 2))))) |
(-.f64 (+.f64 (*.f64 1/8 (/.f64 1 (*.f64 (pow.f64 x 4) (sqrt.f64 -1)))) (*.f64 -1 (sqrt.f64 -1))) (*.f64 1/2 (/.f64 1 (*.f64 (pow.f64 x 2) (sqrt.f64 -1))))) |
(+.f64 (+.f64 (*.f64 1/8 (/.f64 1 (*.f64 (pow.f64 x 4) (sqrt.f64 -1)))) (neg.f64 (sqrt.f64 -1))) (*.f64 (/.f64 1 (*.f64 (pow.f64 x 2) (sqrt.f64 -1))) -1/2)) |
(+.f64 (-.f64 (*.f64 1/8 (/.f64 1 (*.f64 (pow.f64 x 4) (sqrt.f64 -1)))) (sqrt.f64 -1)) (*.f64 (/.f64 1 (*.f64 (pow.f64 x 2) (sqrt.f64 -1))) -1/2)) |
(-.f64 (+.f64 (*.f64 -1 (sqrt.f64 -1)) (*.f64 1/8 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 x 4))))) (+.f64 (*.f64 1/2 (/.f64 1 (*.f64 (sqrt.f64 -1) (pow.f64 x 2)))) (*.f64 1/16 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 5) (pow.f64 x 6)))))) |
(-.f64 (+.f64 (*.f64 1/8 (/.f64 1 (*.f64 (pow.f64 x 4) (sqrt.f64 -1)))) (*.f64 -1 (sqrt.f64 -1))) (+.f64 (*.f64 1/2 (/.f64 1 (*.f64 (pow.f64 x 2) (sqrt.f64 -1)))) (*.f64 1/16 (/.f64 1 (*.f64 (pow.f64 x 6) (sqrt.f64 -1)))))) |
(+.f64 (+.f64 (*.f64 1/8 (/.f64 1 (*.f64 (pow.f64 x 4) (sqrt.f64 -1)))) (neg.f64 (sqrt.f64 -1))) (-.f64 (*.f64 (/.f64 1 (*.f64 (pow.f64 x 2) (sqrt.f64 -1))) -1/2) (*.f64 1/16 (/.f64 1 (*.f64 (pow.f64 x 6) (sqrt.f64 -1)))))) |
(+.f64 (-.f64 (*.f64 1/8 (/.f64 1 (*.f64 (pow.f64 x 4) (sqrt.f64 -1)))) (sqrt.f64 -1)) (-.f64 (*.f64 (/.f64 1 (*.f64 (pow.f64 x 2) (sqrt.f64 -1))) -1/2) (*.f64 1/16 (/.f64 1 (*.f64 (pow.f64 x 6) (sqrt.f64 -1)))))) |
(-.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) 0) |
(sqrt.f64 (-.f64 1 (*.f64 x x))) |
(-.f64 0 (neg.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))))) |
(sqrt.f64 (-.f64 1 (*.f64 x x))) |
(*.f64 -1 (neg.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))))) |
(sqrt.f64 (-.f64 1 (*.f64 x x))) |
(*.f64 (neg.f64 (sqrt.f64 (-.f64 1 (*.f64 x x)))) -1) |
(sqrt.f64 (-.f64 1 (*.f64 x x))) |
(*.f64 (sqrt.f64 (+.f64 (*.f64 x x) -1)) (sqrt.f64 -1)) |
(sqrt.f64 (-.f64 1 (*.f64 x x))) |
(*.f64 (sqrt.f64 -1) (sqrt.f64 (+.f64 (*.f64 x x) -1))) |
(sqrt.f64 (-.f64 1 (*.f64 x x))) |
(/.f64 (neg.f64 (sqrt.f64 (-.f64 1 (*.f64 x x)))) -1) |
(sqrt.f64 (-.f64 1 (*.f64 x x))) |
(neg.f64 (neg.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))))) |
(sqrt.f64 (-.f64 1 (*.f64 x x))) |
(-.f64 (/.f64 1 x) (neg.f64 (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x))) |
(+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)) |
(-.f64 (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x) (neg.f64 (/.f64 1 x))) |
(+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)) |
(-.f64 0 (-.f64 (neg.f64 (/.f64 1 x)) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x))) |
(+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)) |
(*.f64 -1 (-.f64 (neg.f64 (/.f64 1 x)) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x))) |
(+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)) |
(*.f64 (-.f64 (neg.f64 (/.f64 1 x)) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)) -1) |
(+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)) |
(/.f64 (+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)) 1) |
(+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)) |
(/.f64 (-.f64 (neg.f64 (/.f64 1 x)) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)) -1) |
(+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)) |
(/.f64 (+.f64 (-.f64 (neg.f64 (/.f64 1 x)) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)) (-.f64 (neg.f64 (/.f64 1 x)) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x))) -2) |
(+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)) |
(/.f64 (-.f64 (+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)) (*.f64 (-.f64 (neg.f64 (/.f64 1 x)) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)) (-.f64 (neg.f64 (/.f64 1 x)) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)))) (-.f64 1 (+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)))) |
(+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)) |
(neg.f64 (-.f64 (neg.f64 (/.f64 1 x)) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x))) |
(+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)) |
(if (!=.f64 (-.f64 (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x) (/.f64 1 x)) 0) (/.f64 (-.f64 (/.f64 (sqrt.f64 (*.f64 (-.f64 1 (*.f64 x x)) (-.f64 1 (*.f64 x x)))) (*.f64 x x)) (/.f64 1 (*.f64 x x))) (-.f64 (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x) (/.f64 1 x))) (+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x))) |
(+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)) |
(if (!=.f64 (neg.f64 (/.f64 1 x)) 0) (/.f64 (*.f64 (+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)) (/.f64 1 x)) (/.f64 1 x)) (+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x))) |
(+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)) |
(if (!=.f64 (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x) 0) (/.f64 (*.f64 (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x) (+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x))) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)) (+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x))) |
(+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)) |
(if (!=.f64 (-.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)) 0) (/.f64 (-.f64 (/.f64 1 (*.f64 x x)) (/.f64 (sqrt.f64 (*.f64 (-.f64 1 (*.f64 x x)) (-.f64 1 (*.f64 x x)))) (*.f64 x x))) (-.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x))) (+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x))) |
(+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)) |
(if (!=.f64 (/.f64 1 x) 0) (/.f64 (*.f64 (+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)) (/.f64 1 x)) (/.f64 1 x)) (+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x))) |
(+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)) |
(if (!=.f64 (neg.f64 (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)) 0) (/.f64 (*.f64 (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x) (+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x))) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)) (+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x))) |
(+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)) |
(-.f64 (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x) 0) |
(/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x) |
(-.f64 0 (neg.f64 (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x))) |
(/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x) |
(*.f64 -1 (neg.f64 (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x))) |
(/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x) |
(*.f64 (neg.f64 (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)) -1) |
(/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x) |
(neg.f64 (neg.f64 (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x))) |
(/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x) |
Compiled 3023 to 2434 computations (19.5% saved)
3 alts after pruning (2 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 124 | 2 | 126 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 124 | 3 | 127 |
| Status | Error | Program |
|---|---|---|
| ▶ | 0.9b | (log.f64 (/.f64 2 x)) |
| ▶ | 0.5b | (log.f64 (-.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x 1/2))) |
| ✓ | 0b | (log.f64 (+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x))) |
Compiled 30 to 23 computations (23.3% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (-.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x 1/2)) |
Compiled 35 to 27 computations (22.9% saved)
3 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | x | @ | 0 | (-.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x 1/2)) |
| 0.0ms | x | @ | inf | (-.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x 1/2)) |
| 0.0ms | x | @ | -inf | (-.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x 1/2)) |
| 1× | batch-egg-rewrite |
| 972× | rational_best-simplify-113 |
| 538× | rational_best-simplify-124 |
| 486× | rational_best-simplify-65 |
| 472× | rational_best-simplify-96 |
| 470× | rational_best-simplify-61 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 25 |
| 1 | 46 | 25 |
| 2 | 227 | 25 |
| 3 | 1406 | 25 |
| 1× | node limit |
| Inputs |
|---|
(-.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x 1/2)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x -1/2) (*.f64 2 (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x -1/2) (+.f64 (*.f64 2 (/.f64 1 x)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x -1/2) (+.f64 0 (*.f64 2 (/.f64 1 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)) (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)) (-.f64 -1 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)))) (+.f64 1 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2)) (+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (+.f64 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)) (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2))) (+.f64 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)) (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)))) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)) (-.f64 -1 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)))) (*.f64 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)) (-.f64 -1 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2))))) (+.f64 (+.f64 1 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2))) (+.f64 1 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 1 (+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2))) (*.f64 (+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2)) (+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2)))) (-.f64 1 (*.f64 1 (+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 -2 (+.f64 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)) (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)))) (*.f64 (+.f64 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)) (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2))) (+.f64 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)) (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2))))) (-.f64 4 (*.f64 -2 (+.f64 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)) (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (+.f64 1 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2))) (*.f64 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)) (-.f64 -1 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2))))) (*.f64 (*.f64 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)) (-.f64 -1 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)))) (*.f64 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)) (-.f64 -1 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)))))) (-.f64 (*.f64 (+.f64 1 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2))) (+.f64 1 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)))) (*.f64 (+.f64 1 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2))) (*.f64 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)) (-.f64 -1 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x 1/2)) 0) (/.f64 (-.f64 (*.f64 (/.f64 1 x) (*.f64 (/.f64 1 x) 4)) (/.f64 (*.f64 x x) 4)) (+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x 1/2))) (+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (*.f64 x 1/2) 0) (/.f64 (-.f64 (*.f64 x (/.f64 1 x)) (/.f64 (*.f64 x x) 4)) (*.f64 x 1/2)) (+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (*.f64 2 (/.f64 1 x)) 0) (/.f64 (*.f64 (/.f64 1 x) (-.f64 (*.f64 (/.f64 1 x) 4) x)) (*.f64 2 (/.f64 1 x))) (+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (*.f64 x -1/2) 0) (/.f64 (-.f64 (*.f64 x (/.f64 1 x)) (/.f64 (*.f64 x x) 4)) (*.f64 x 1/2)) (+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (*.f64 (/.f64 1 x) -2) 0) (/.f64 (*.f64 (/.f64 1 x) (-.f64 (*.f64 (/.f64 1 x) 4) x)) (*.f64 2 (/.f64 1 x))) (+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)) 0) (/.f64 (*.f64 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)) (+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2))) (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2))) (+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 0 0) (/.f64 (neg.f64 (*.f64 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)) 0)) 0) (+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (+.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) -2)) 0) (/.f64 (-.f64 (*.f64 (/.f64 1 x) (*.f64 (/.f64 1 x) 4)) (/.f64 (*.f64 x x) 4)) (+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x 1/2))) (+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2))))))) |
| 1× | egg-herbie |
| 1062× | rational_best-simplify-61 |
| 1048× | rational_best-simplify-65 |
| 988× | rational_best-simplify-96 |
| 778× | rational_best-simplify-3 |
| 768× | rational_best-simplify-62 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 104 | 1439 |
| 1 | 503 | 1439 |
| 2 | 3353 | 1439 |
| 1× | node limit |
| Inputs |
|---|
(/.f64 2 x) |
(+.f64 (*.f64 -1/2 x) (*.f64 2 (/.f64 1 x))) |
(+.f64 (*.f64 -1/2 x) (*.f64 2 (/.f64 1 x))) |
(+.f64 (*.f64 -1/2 x) (*.f64 2 (/.f64 1 x))) |
(*.f64 -1/2 x) |
(+.f64 (*.f64 -1/2 x) (*.f64 2 (/.f64 1 x))) |
(+.f64 (*.f64 -1/2 x) (*.f64 2 (/.f64 1 x))) |
(+.f64 (*.f64 -1/2 x) (*.f64 2 (/.f64 1 x))) |
(*.f64 -1/2 x) |
(+.f64 (*.f64 -1/2 x) (*.f64 2 (/.f64 1 x))) |
(+.f64 (*.f64 -1/2 x) (*.f64 2 (/.f64 1 x))) |
(+.f64 (*.f64 -1/2 x) (*.f64 2 (/.f64 1 x))) |
(+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2)) |
(+.f64 (+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2)) 0) |
(+.f64 (*.f64 x -1/2) (*.f64 2 (/.f64 1 x))) |
(+.f64 (*.f64 x -1/2) (+.f64 (*.f64 2 (/.f64 1 x)) 0)) |
(+.f64 (*.f64 x -1/2) (+.f64 0 (*.f64 2 (/.f64 1 x)))) |
(+.f64 0 (+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2))) |
(*.f64 (+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2)) 1) |
(*.f64 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)) -1) |
(*.f64 -1 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2))) |
(/.f64 (+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2)) 1) |
(/.f64 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)) -1) |
(/.f64 (+.f64 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)) (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2))) -2) |
(/.f64 (*.f64 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)) (-.f64 -1 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)))) (+.f64 1 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)))) |
(/.f64 (+.f64 (+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2)) (+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2))) 2) |
(/.f64 (+.f64 (+.f64 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)) (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2))) (+.f64 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)) (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)))) -4) |
(/.f64 (+.f64 (*.f64 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)) (-.f64 -1 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)))) (*.f64 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)) (-.f64 -1 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2))))) (+.f64 (+.f64 1 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2))) (+.f64 1 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2))))) |
(/.f64 (-.f64 (*.f64 1 (+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2))) (*.f64 (+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2)) (+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2)))) (-.f64 1 (*.f64 1 (+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2))))) |
(/.f64 (-.f64 (*.f64 -2 (+.f64 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)) (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)))) (*.f64 (+.f64 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)) (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2))) (+.f64 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)) (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2))))) (-.f64 4 (*.f64 -2 (+.f64 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)) (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)))))) |
(/.f64 (-.f64 (*.f64 (+.f64 1 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2))) (*.f64 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)) (-.f64 -1 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2))))) (*.f64 (*.f64 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)) (-.f64 -1 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)))) (*.f64 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)) (-.f64 -1 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)))))) (-.f64 (*.f64 (+.f64 1 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2))) (+.f64 1 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)))) (*.f64 (+.f64 1 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2))) (*.f64 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)) (-.f64 -1 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2))))))) |
(pow.f64 (+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2)) 1) |
(neg.f64 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2))) |
(if (!=.f64 (+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x 1/2)) 0) (/.f64 (-.f64 (*.f64 (/.f64 1 x) (*.f64 (/.f64 1 x) 4)) (/.f64 (*.f64 x x) 4)) (+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x 1/2))) (+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2))) |
(if (!=.f64 (*.f64 x 1/2) 0) (/.f64 (-.f64 (*.f64 x (/.f64 1 x)) (/.f64 (*.f64 x x) 4)) (*.f64 x 1/2)) (+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2))) |
(if (!=.f64 (*.f64 2 (/.f64 1 x)) 0) (/.f64 (*.f64 (/.f64 1 x) (-.f64 (*.f64 (/.f64 1 x) 4) x)) (*.f64 2 (/.f64 1 x))) (+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2))) |
(if (!=.f64 (*.f64 x -1/2) 0) (/.f64 (-.f64 (*.f64 x (/.f64 1 x)) (/.f64 (*.f64 x x) 4)) (*.f64 x 1/2)) (+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2))) |
(if (!=.f64 (*.f64 (/.f64 1 x) -2) 0) (/.f64 (*.f64 (/.f64 1 x) (-.f64 (*.f64 (/.f64 1 x) 4) x)) (*.f64 2 (/.f64 1 x))) (+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2))) |
(if (!=.f64 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)) 0) (/.f64 (*.f64 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)) (+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2))) (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2))) (+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2))) |
(if (!=.f64 0 0) (/.f64 (neg.f64 (*.f64 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)) 0)) 0) (+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2))) |
(if (!=.f64 (+.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) -2)) 0) (/.f64 (-.f64 (*.f64 (/.f64 1 x) (*.f64 (/.f64 1 x) 4)) (/.f64 (*.f64 x x) 4)) (+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x 1/2))) (+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2))) |
| Outputs |
|---|
(/.f64 2 x) |
(+.f64 (*.f64 -1/2 x) (*.f64 2 (/.f64 1 x))) |
(+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2)) |
(-.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) -2)) |
(+.f64 (*.f64 -1/2 x) (*.f64 2 (/.f64 1 x))) |
(+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2)) |
(-.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) -2)) |
(+.f64 (*.f64 -1/2 x) (*.f64 2 (/.f64 1 x))) |
(+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2)) |
(-.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) -2)) |
(*.f64 -1/2 x) |
(*.f64 x -1/2) |
(+.f64 (*.f64 -1/2 x) (*.f64 2 (/.f64 1 x))) |
(+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2)) |
(-.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) -2)) |
(+.f64 (*.f64 -1/2 x) (*.f64 2 (/.f64 1 x))) |
(+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2)) |
(-.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) -2)) |
(+.f64 (*.f64 -1/2 x) (*.f64 2 (/.f64 1 x))) |
(+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2)) |
(-.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) -2)) |
(*.f64 -1/2 x) |
(*.f64 x -1/2) |
(+.f64 (*.f64 -1/2 x) (*.f64 2 (/.f64 1 x))) |
(+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2)) |
(-.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) -2)) |
(+.f64 (*.f64 -1/2 x) (*.f64 2 (/.f64 1 x))) |
(+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2)) |
(-.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) -2)) |
(+.f64 (*.f64 -1/2 x) (*.f64 2 (/.f64 1 x))) |
(+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2)) |
(-.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) -2)) |
(+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2)) |
(-.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) -2)) |
(+.f64 (+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2)) 0) |
(+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2)) |
(-.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) -2)) |
(+.f64 (*.f64 x -1/2) (*.f64 2 (/.f64 1 x))) |
(+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2)) |
(-.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) -2)) |
(+.f64 (*.f64 x -1/2) (+.f64 (*.f64 2 (/.f64 1 x)) 0)) |
(+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2)) |
(-.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) -2)) |
(+.f64 (*.f64 x -1/2) (+.f64 0 (*.f64 2 (/.f64 1 x)))) |
(+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2)) |
(-.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) -2)) |
(+.f64 0 (+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2))) |
(+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2)) |
(-.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) -2)) |
(*.f64 (+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2)) 1) |
(+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2)) |
(-.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) -2)) |
(*.f64 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)) -1) |
(+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2)) |
(-.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) -2)) |
(*.f64 -1 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2))) |
(+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2)) |
(-.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) -2)) |
(/.f64 (+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2)) 1) |
(+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2)) |
(-.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) -2)) |
(/.f64 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)) -1) |
(+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2)) |
(-.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) -2)) |
(/.f64 (+.f64 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)) (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2))) -2) |
(+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2)) |
(-.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) -2)) |
(/.f64 (*.f64 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)) (-.f64 -1 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)))) (+.f64 1 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)))) |
(+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2)) |
(-.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) -2)) |
(/.f64 (+.f64 (+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2)) (+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2))) 2) |
(+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2)) |
(-.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) -2)) |
(/.f64 (+.f64 (+.f64 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)) (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2))) (+.f64 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)) (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)))) -4) |
(+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2)) |
(-.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) -2)) |
(/.f64 (+.f64 (*.f64 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)) (-.f64 -1 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)))) (*.f64 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)) (-.f64 -1 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2))))) (+.f64 (+.f64 1 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2))) (+.f64 1 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2))))) |
(+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2)) |
(-.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) -2)) |
(/.f64 (-.f64 (*.f64 1 (+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2))) (*.f64 (+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2)) (+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2)))) (-.f64 1 (*.f64 1 (+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2))))) |
(+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2)) |
(-.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) -2)) |
(/.f64 (-.f64 (*.f64 -2 (+.f64 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)) (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)))) (*.f64 (+.f64 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)) (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2))) (+.f64 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)) (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2))))) (-.f64 4 (*.f64 -2 (+.f64 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)) (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)))))) |
(+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2)) |
(-.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) -2)) |
(/.f64 (-.f64 (*.f64 (+.f64 1 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2))) (*.f64 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)) (-.f64 -1 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2))))) (*.f64 (*.f64 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)) (-.f64 -1 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)))) (*.f64 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)) (-.f64 -1 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)))))) (-.f64 (*.f64 (+.f64 1 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2))) (+.f64 1 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)))) (*.f64 (+.f64 1 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2))) (*.f64 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)) (-.f64 -1 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2))))))) |
(+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2)) |
(-.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) -2)) |
(pow.f64 (+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2)) 1) |
(+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2)) |
(-.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) -2)) |
(neg.f64 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2))) |
(+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2)) |
(-.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) -2)) |
(if (!=.f64 (+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x 1/2)) 0) (/.f64 (-.f64 (*.f64 (/.f64 1 x) (*.f64 (/.f64 1 x) 4)) (/.f64 (*.f64 x x) 4)) (+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x 1/2))) (+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2))) |
(if (!=.f64 (-.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)) 0) (/.f64 (-.f64 (*.f64 4 (*.f64 (/.f64 1 x) (/.f64 1 x))) (/.f64 (*.f64 x x) 4)) (-.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2))) (-.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) -2))) |
(if (!=.f64 (*.f64 x 1/2) 0) (/.f64 (-.f64 (*.f64 x (/.f64 1 x)) (/.f64 (*.f64 x x) 4)) (*.f64 x 1/2)) (+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2))) |
(if (!=.f64 (*.f64 x 1/2) 0) (/.f64 (-.f64 (-.f64 1 (/.f64 0 x)) (/.f64 (*.f64 x x) 4)) (*.f64 x 1/2)) (+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2))) |
(if (!=.f64 (*.f64 x 1/2) 0) (/.f64 (-.f64 (/.f64 (*.f64 x x) 4) (-.f64 1 (/.f64 0 x))) (*.f64 x -1/2)) (-.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) -2))) |
(if (!=.f64 (*.f64 2 (/.f64 1 x)) 0) (/.f64 (*.f64 (/.f64 1 x) (-.f64 (*.f64 (/.f64 1 x) 4) x)) (*.f64 2 (/.f64 1 x))) (+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2))) |
(if (!=.f64 (*.f64 2 (/.f64 1 x)) 0) (/.f64 (*.f64 (/.f64 1 x) (-.f64 (*.f64 (/.f64 1 x) 4) x)) (*.f64 2 (/.f64 1 x))) (-.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) -2))) |
(if (!=.f64 (*.f64 2 (/.f64 1 x)) 0) (/.f64 (*.f64 (/.f64 1 x) (+.f64 x (*.f64 (/.f64 1 x) -4))) (*.f64 (/.f64 1 x) -2)) (-.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) -2))) |
(if (!=.f64 (*.f64 x -1/2) 0) (/.f64 (-.f64 (*.f64 x (/.f64 1 x)) (/.f64 (*.f64 x x) 4)) (*.f64 x 1/2)) (+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2))) |
(if (!=.f64 (*.f64 x -1/2) 0) (/.f64 (-.f64 (-.f64 1 (/.f64 0 x)) (/.f64 (*.f64 x x) 4)) (*.f64 x 1/2)) (+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2))) |
(if (!=.f64 (*.f64 x -1/2) 0) (/.f64 (-.f64 (/.f64 (*.f64 x x) 4) (-.f64 1 (/.f64 0 x))) (*.f64 x -1/2)) (-.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) -2))) |
(if (!=.f64 (*.f64 (/.f64 1 x) -2) 0) (/.f64 (*.f64 (/.f64 1 x) (-.f64 (*.f64 (/.f64 1 x) 4) x)) (*.f64 2 (/.f64 1 x))) (+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2))) |
(if (!=.f64 (*.f64 (/.f64 1 x) -2) 0) (/.f64 (*.f64 (/.f64 1 x) (-.f64 (*.f64 (/.f64 1 x) 4) x)) (*.f64 2 (/.f64 1 x))) (-.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) -2))) |
(if (!=.f64 (*.f64 (/.f64 1 x) -2) 0) (/.f64 (*.f64 (/.f64 1 x) (+.f64 x (*.f64 (/.f64 1 x) -4))) (*.f64 (/.f64 1 x) -2)) (-.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) -2))) |
(if (!=.f64 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)) 0) (/.f64 (*.f64 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)) (+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2))) (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2))) (+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2))) |
(+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2)) |
(-.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) -2)) |
(if (!=.f64 0 0) (/.f64 (neg.f64 (*.f64 (+.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2)) 0)) 0) (+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2))) |
(+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2)) |
(-.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) -2)) |
(if (!=.f64 (+.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) -2)) 0) (/.f64 (-.f64 (*.f64 (/.f64 1 x) (*.f64 (/.f64 1 x) 4)) (/.f64 (*.f64 x x) 4)) (+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x 1/2))) (+.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x -1/2))) |
(if (!=.f64 (+.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) -2)) 0) (/.f64 (-.f64 (*.f64 4 (*.f64 (/.f64 1 x) (/.f64 1 x))) (/.f64 (*.f64 x x) 4)) (-.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) -2))) (-.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) -2))) |
Compiled 10 to 7 computations (30% saved)
Compiled 1303 to 1039 computations (20.3% saved)
4 alts after pruning (1 fresh and 3 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 43 | 1 | 44 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 2 | 2 |
| Total | 43 | 4 | 47 |
| Status | Error | Program |
|---|---|---|
| ▶ | 0.5b | (log.f64 (if (!=.f64 (*.f64 x 1/2) 0) (/.f64 (-.f64 (/.f64 (*.f64 x x) 4) (-.f64 1 (/.f64 0 x))) (*.f64 x -1/2)) (-.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) -2)))) |
| ✓ | 0.9b | (log.f64 (/.f64 2 x)) |
| ✓ | 0.5b | (log.f64 (-.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x 1/2))) |
| ✓ | 0b | (log.f64 (+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x))) |
Compiled 62 to 48 computations (22.6% saved)
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (-.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) -2)) |
| ✓ | 0.0b | (/.f64 (-.f64 (/.f64 (*.f64 x x) 4) (-.f64 1 (/.f64 0 x))) (*.f64 x -1/2)) |
Compiled 139 to 99 computations (28.8% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | x | @ | 0 | (/.f64 (-.f64 (/.f64 (*.f64 x x) 4) (-.f64 1 (/.f64 0 x))) (*.f64 x -1/2)) |
| 1.0ms | x | @ | inf | (/.f64 (-.f64 (/.f64 (*.f64 x x) 4) (-.f64 1 (/.f64 0 x))) (*.f64 x -1/2)) |
| 0.0ms | x | @ | -inf | (/.f64 (-.f64 (/.f64 (*.f64 x x) 4) (-.f64 1 (/.f64 0 x))) (*.f64 x -1/2)) |
| 0.0ms | x | @ | 0 | (-.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) -2)) |
| 0.0ms | x | @ | -inf | (-.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) -2)) |
| 1× | batch-egg-rewrite |
| 726× | rational_best-simplify-52 |
| 660× | rational_best-simplify-53 |
| 656× | rational_best-simplify-1 |
| 482× | rational_best-simplify-21 |
| 482× | rational_best-simplify-20 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 18 | 68 |
| 1 | 129 | 68 |
| 2 | 775 | 68 |
| 3 | 5643 | 68 |
| 1× | node limit |
| Inputs |
|---|
(/.f64 (-.f64 (/.f64 (*.f64 x x) 4) (-.f64 1 (/.f64 0 x))) (*.f64 x -1/2)) |
(-.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) -2)) |
| Outputs |
|---|
() |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (+.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 1 x) 2) (*.f64 x -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (+.f64 (*.f64 (/.f64 1 x) -2) (*.f64 x 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (/.f64 1 x) -2) (*.f64 x 1/2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (/.f64 1 x) -2) (*.f64 x 1/2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (+.f64 (*.f64 (/.f64 1 x) -2) (*.f64 x 1/2)) (+.f64 (*.f64 (/.f64 1 x) -2) (*.f64 x 1/2))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (+.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) 2)) (*.f64 (+.f64 (*.f64 (/.f64 1 x) -2) (*.f64 x 1/2)) (+.f64 (*.f64 (/.f64 1 x) -2) (*.f64 x 1/2)))) (-.f64 1 (+.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (+.f64 (*.f64 (/.f64 1 x) -2) (*.f64 x 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (+.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) -2)) 0) (/.f64 (+.f64 (*.f64 -1/2 (*.f64 x (*.f64 x -1/2))) (*.f64 (*.f64 (/.f64 1 x) -2) (*.f64 (/.f64 1 x) 2))) (+.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) -2))) (+.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (*.f64 (/.f64 1 x) -2) 0) (/.f64 (*.f64 (*.f64 (/.f64 1 x) -2) (+.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) 2))) (*.f64 (/.f64 1 x) -2)) (+.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (*.f64 x -1/2) 0) (/.f64 (*.f64 (*.f64 x -1/2) (+.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) 2))) (*.f64 x -1/2)) (+.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 0 0) (/.f64 (neg.f64 (*.f64 (+.f64 (*.f64 (/.f64 1 x) -2) (*.f64 x 1/2)) 0)) 0) (+.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (+.f64 (*.f64 (/.f64 1 x) 2) (*.f64 x 1/2)) 0) (/.f64 (-.f64 (*.f64 (*.f64 (/.f64 1 x) 2) (*.f64 (/.f64 1 x) 2)) (*.f64 (*.f64 x 1/2) (*.f64 x 1/2))) (+.f64 (*.f64 (/.f64 1 x) 2) (*.f64 x 1/2))) (+.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (*.f64 x 1/2) 0) (/.f64 (-.f64 (*.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) 2)) (*.f64 (*.f64 x 1/2) (*.f64 x 1/2))) (*.f64 x 1/2)) (+.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (*.f64 (/.f64 1 x) 2) 0) (/.f64 (-.f64 (*.f64 (*.f64 (/.f64 1 x) 2) (*.f64 (/.f64 1 x) 2)) (*.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) 2))) (*.f64 (/.f64 1 x) 2)) (+.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (+.f64 (*.f64 (/.f64 1 x) -2) (*.f64 x 1/2)) 0) (/.f64 (neg.f64 (*.f64 (+.f64 (*.f64 (/.f64 1 x) -2) (*.f64 x 1/2)) (+.f64 (*.f64 (/.f64 1 x) -2) (*.f64 x 1/2)))) (+.f64 (*.f64 (/.f64 1 x) -2) (*.f64 x 1/2))) (+.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (+.f64 (*.f64 (/.f64 1 x) -2) (*.f64 x 1/2)) 0) (/.f64 (-.f64 (*.f64 (+.f64 (*.f64 (/.f64 1 x) -2) (*.f64 x 1/2)) 0) (*.f64 (+.f64 (*.f64 (/.f64 1 x) -2) (*.f64 x 1/2)) (+.f64 (*.f64 (/.f64 1 x) -2) (*.f64 x 1/2)))) (+.f64 (*.f64 (/.f64 1 x) -2) (*.f64 x 1/2))) (+.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) 2))))))) |
| 1× | egg-herbie |
| 1168× | rational_best-simplify-113 |
| 724× | rational_best-simplify-65 |
| 720× | rational_best-simplify-61 |
| 694× | rational_best-simplify-96 |
| 652× | rational_best-simplify-111 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 85 | 1042 |
| 1 | 368 | 1042 |
| 2 | 2467 | 1042 |
| 1× | node limit |
| Inputs |
|---|
(/.f64 2 x) |
(+.f64 (*.f64 -1/2 x) (*.f64 2 (/.f64 1 x))) |
(+.f64 (*.f64 -1/2 x) (*.f64 2 (/.f64 1 x))) |
(+.f64 (*.f64 -1/2 x) (*.f64 2 (/.f64 1 x))) |
(*.f64 -1/2 x) |
(+.f64 (*.f64 -1/2 x) (*.f64 2 (/.f64 1 x))) |
(+.f64 (*.f64 -1/2 x) (*.f64 2 (/.f64 1 x))) |
(+.f64 (*.f64 -1/2 x) (*.f64 2 (/.f64 1 x))) |
(*.f64 -1/2 x) |
(+.f64 (*.f64 -1/2 x) (*.f64 2 (/.f64 1 x))) |
(+.f64 (*.f64 -1/2 x) (*.f64 2 (/.f64 1 x))) |
(+.f64 (*.f64 -1/2 x) (*.f64 2 (/.f64 1 x))) |
(/.f64 2 x) |
(+.f64 (*.f64 -1/2 x) (*.f64 2 (/.f64 1 x))) |
(+.f64 (*.f64 -1/2 x) (*.f64 2 (/.f64 1 x))) |
(+.f64 (*.f64 -1/2 x) (*.f64 2 (/.f64 1 x))) |
(*.f64 -1/2 x) |
(+.f64 (*.f64 -1/2 x) (*.f64 2 (/.f64 1 x))) |
(+.f64 (*.f64 -1/2 x) (*.f64 2 (/.f64 1 x))) |
(+.f64 (*.f64 -1/2 x) (*.f64 2 (/.f64 1 x))) |
(*.f64 -1/2 x) |
(+.f64 (*.f64 -1/2 x) (*.f64 2 (/.f64 1 x))) |
(+.f64 (*.f64 -1/2 x) (*.f64 2 (/.f64 1 x))) |
(+.f64 (*.f64 -1/2 x) (*.f64 2 (/.f64 1 x))) |
(+.f64 0 (+.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) 2))) |
(+.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) 2)) |
(+.f64 (+.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) 2)) 0) |
(+.f64 (*.f64 (/.f64 1 x) 2) (*.f64 x -1/2)) |
(*.f64 (+.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) 2)) 1) |
(*.f64 -1 (+.f64 (*.f64 (/.f64 1 x) -2) (*.f64 x 1/2))) |
(*.f64 (+.f64 (*.f64 (/.f64 1 x) -2) (*.f64 x 1/2)) -1) |
(/.f64 (+.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) 2)) 1) |
(/.f64 (+.f64 (*.f64 (/.f64 1 x) -2) (*.f64 x 1/2)) -1) |
(/.f64 (+.f64 (+.f64 (*.f64 (/.f64 1 x) -2) (*.f64 x 1/2)) (+.f64 (*.f64 (/.f64 1 x) -2) (*.f64 x 1/2))) -2) |
(/.f64 (-.f64 (+.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) 2)) (*.f64 (+.f64 (*.f64 (/.f64 1 x) -2) (*.f64 x 1/2)) (+.f64 (*.f64 (/.f64 1 x) -2) (*.f64 x 1/2)))) (-.f64 1 (+.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) 2)))) |
(pow.f64 (+.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) 2)) 1) |
(neg.f64 (+.f64 (*.f64 (/.f64 1 x) -2) (*.f64 x 1/2))) |
(if (!=.f64 (+.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) -2)) 0) (/.f64 (+.f64 (*.f64 -1/2 (*.f64 x (*.f64 x -1/2))) (*.f64 (*.f64 (/.f64 1 x) -2) (*.f64 (/.f64 1 x) 2))) (+.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) -2))) (+.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) 2))) |
(if (!=.f64 (*.f64 (/.f64 1 x) -2) 0) (/.f64 (*.f64 (*.f64 (/.f64 1 x) -2) (+.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) 2))) (*.f64 (/.f64 1 x) -2)) (+.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) 2))) |
(if (!=.f64 (*.f64 x -1/2) 0) (/.f64 (*.f64 (*.f64 x -1/2) (+.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) 2))) (*.f64 x -1/2)) (+.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) 2))) |
(if (!=.f64 0 0) (/.f64 (neg.f64 (*.f64 (+.f64 (*.f64 (/.f64 1 x) -2) (*.f64 x 1/2)) 0)) 0) (+.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) 2))) |
(if (!=.f64 (+.f64 (*.f64 (/.f64 1 x) 2) (*.f64 x 1/2)) 0) (/.f64 (-.f64 (*.f64 (*.f64 (/.f64 1 x) 2) (*.f64 (/.f64 1 x) 2)) (*.f64 (*.f64 x 1/2) (*.f64 x 1/2))) (+.f64 (*.f64 (/.f64 1 x) 2) (*.f64 x 1/2))) (+.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) 2))) |
(if (!=.f64 (*.f64 x 1/2) 0) (/.f64 (-.f64 (*.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) 2)) (*.f64 (*.f64 x 1/2) (*.f64 x 1/2))) (*.f64 x 1/2)) (+.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) 2))) |
(if (!=.f64 (*.f64 (/.f64 1 x) 2) 0) (/.f64 (-.f64 (*.f64 (*.f64 (/.f64 1 x) 2) (*.f64 (/.f64 1 x) 2)) (*.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) 2))) (*.f64 (/.f64 1 x) 2)) (+.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) 2))) |
(if (!=.f64 (+.f64 (*.f64 (/.f64 1 x) -2) (*.f64 x 1/2)) 0) (/.f64 (neg.f64 (*.f64 (+.f64 (*.f64 (/.f64 1 x) -2) (*.f64 x 1/2)) (+.f64 (*.f64 (/.f64 1 x) -2) (*.f64 x 1/2)))) (+.f64 (*.f64 (/.f64 1 x) -2) (*.f64 x 1/2))) (+.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) 2))) |
(if (!=.f64 (+.f64 (*.f64 (/.f64 1 x) -2) (*.f64 x 1/2)) 0) (/.f64 (-.f64 (*.f64 (+.f64 (*.f64 (/.f64 1 x) -2) (*.f64 x 1/2)) 0) (*.f64 (+.f64 (*.f64 (/.f64 1 x) -2) (*.f64 x 1/2)) (+.f64 (*.f64 (/.f64 1 x) -2) (*.f64 x 1/2)))) (+.f64 (*.f64 (/.f64 1 x) -2) (*.f64 x 1/2))) (+.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) 2))) |
| Outputs |
|---|
(/.f64 2 x) |
(+.f64 (*.f64 -1/2 x) (*.f64 2 (/.f64 1 x))) |
(+.f64 (*.f64 x -1/2) (*.f64 2 (/.f64 1 x))) |
(+.f64 (*.f64 -1/2 x) (*.f64 2 (/.f64 1 x))) |
(+.f64 (*.f64 x -1/2) (*.f64 2 (/.f64 1 x))) |
(+.f64 (*.f64 -1/2 x) (*.f64 2 (/.f64 1 x))) |
(+.f64 (*.f64 x -1/2) (*.f64 2 (/.f64 1 x))) |
(*.f64 -1/2 x) |
(*.f64 x -1/2) |
(+.f64 (*.f64 -1/2 x) (*.f64 2 (/.f64 1 x))) |
(+.f64 (*.f64 x -1/2) (*.f64 2 (/.f64 1 x))) |
(+.f64 (*.f64 -1/2 x) (*.f64 2 (/.f64 1 x))) |
(+.f64 (*.f64 x -1/2) (*.f64 2 (/.f64 1 x))) |
(+.f64 (*.f64 -1/2 x) (*.f64 2 (/.f64 1 x))) |
(+.f64 (*.f64 x -1/2) (*.f64 2 (/.f64 1 x))) |
(*.f64 -1/2 x) |
(*.f64 x -1/2) |
(+.f64 (*.f64 -1/2 x) (*.f64 2 (/.f64 1 x))) |
(+.f64 (*.f64 x -1/2) (*.f64 2 (/.f64 1 x))) |
(+.f64 (*.f64 -1/2 x) (*.f64 2 (/.f64 1 x))) |
(+.f64 (*.f64 x -1/2) (*.f64 2 (/.f64 1 x))) |
(+.f64 (*.f64 -1/2 x) (*.f64 2 (/.f64 1 x))) |
(+.f64 (*.f64 x -1/2) (*.f64 2 (/.f64 1 x))) |
(/.f64 2 x) |
(+.f64 (*.f64 -1/2 x) (*.f64 2 (/.f64 1 x))) |
(+.f64 (*.f64 x -1/2) (*.f64 2 (/.f64 1 x))) |
(+.f64 (*.f64 -1/2 x) (*.f64 2 (/.f64 1 x))) |
(+.f64 (*.f64 x -1/2) (*.f64 2 (/.f64 1 x))) |
(+.f64 (*.f64 -1/2 x) (*.f64 2 (/.f64 1 x))) |
(+.f64 (*.f64 x -1/2) (*.f64 2 (/.f64 1 x))) |
(*.f64 -1/2 x) |
(*.f64 x -1/2) |
(+.f64 (*.f64 -1/2 x) (*.f64 2 (/.f64 1 x))) |
(+.f64 (*.f64 x -1/2) (*.f64 2 (/.f64 1 x))) |
(+.f64 (*.f64 -1/2 x) (*.f64 2 (/.f64 1 x))) |
(+.f64 (*.f64 x -1/2) (*.f64 2 (/.f64 1 x))) |
(+.f64 (*.f64 -1/2 x) (*.f64 2 (/.f64 1 x))) |
(+.f64 (*.f64 x -1/2) (*.f64 2 (/.f64 1 x))) |
(*.f64 -1/2 x) |
(*.f64 x -1/2) |
(+.f64 (*.f64 -1/2 x) (*.f64 2 (/.f64 1 x))) |
(+.f64 (*.f64 x -1/2) (*.f64 2 (/.f64 1 x))) |
(+.f64 (*.f64 -1/2 x) (*.f64 2 (/.f64 1 x))) |
(+.f64 (*.f64 x -1/2) (*.f64 2 (/.f64 1 x))) |
(+.f64 (*.f64 -1/2 x) (*.f64 2 (/.f64 1 x))) |
(+.f64 (*.f64 x -1/2) (*.f64 2 (/.f64 1 x))) |
(+.f64 0 (+.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) 2))) |
(+.f64 (*.f64 x -1/2) (*.f64 2 (/.f64 1 x))) |
(+.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) 2)) |
(+.f64 (*.f64 x -1/2) (*.f64 2 (/.f64 1 x))) |
(+.f64 (+.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) 2)) 0) |
(+.f64 (*.f64 x -1/2) (*.f64 2 (/.f64 1 x))) |
(+.f64 (*.f64 (/.f64 1 x) 2) (*.f64 x -1/2)) |
(+.f64 (*.f64 x -1/2) (*.f64 2 (/.f64 1 x))) |
(*.f64 (+.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) 2)) 1) |
(+.f64 (*.f64 x -1/2) (*.f64 2 (/.f64 1 x))) |
(*.f64 -1 (+.f64 (*.f64 (/.f64 1 x) -2) (*.f64 x 1/2))) |
(+.f64 (*.f64 x -1/2) (*.f64 2 (/.f64 1 x))) |
(*.f64 (+.f64 (*.f64 (/.f64 1 x) -2) (*.f64 x 1/2)) -1) |
(+.f64 (*.f64 x -1/2) (*.f64 2 (/.f64 1 x))) |
(/.f64 (+.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) 2)) 1) |
(+.f64 (*.f64 x -1/2) (*.f64 2 (/.f64 1 x))) |
(/.f64 (+.f64 (*.f64 (/.f64 1 x) -2) (*.f64 x 1/2)) -1) |
(+.f64 (*.f64 x -1/2) (*.f64 2 (/.f64 1 x))) |
(/.f64 (+.f64 (+.f64 (*.f64 (/.f64 1 x) -2) (*.f64 x 1/2)) (+.f64 (*.f64 (/.f64 1 x) -2) (*.f64 x 1/2))) -2) |
(+.f64 (*.f64 x -1/2) (*.f64 2 (/.f64 1 x))) |
(/.f64 (-.f64 (+.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) 2)) (*.f64 (+.f64 (*.f64 (/.f64 1 x) -2) (*.f64 x 1/2)) (+.f64 (*.f64 (/.f64 1 x) -2) (*.f64 x 1/2)))) (-.f64 1 (+.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) 2)))) |
(+.f64 (*.f64 x -1/2) (*.f64 2 (/.f64 1 x))) |
(pow.f64 (+.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) 2)) 1) |
(+.f64 (*.f64 x -1/2) (*.f64 2 (/.f64 1 x))) |
(neg.f64 (+.f64 (*.f64 (/.f64 1 x) -2) (*.f64 x 1/2))) |
(+.f64 (*.f64 x -1/2) (*.f64 2 (/.f64 1 x))) |
(if (!=.f64 (+.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) -2)) 0) (/.f64 (+.f64 (*.f64 -1/2 (*.f64 x (*.f64 x -1/2))) (*.f64 (*.f64 (/.f64 1 x) -2) (*.f64 (/.f64 1 x) 2))) (+.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) -2))) (+.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) 2))) |
(+.f64 (*.f64 x -1/2) (*.f64 2 (/.f64 1 x))) |
(if (!=.f64 (*.f64 (/.f64 1 x) -2) 0) (/.f64 (*.f64 (*.f64 (/.f64 1 x) -2) (+.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) 2))) (*.f64 (/.f64 1 x) -2)) (+.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) 2))) |
(+.f64 (*.f64 x -1/2) (*.f64 2 (/.f64 1 x))) |
(if (!=.f64 (*.f64 x -1/2) 0) (/.f64 (*.f64 (*.f64 x -1/2) (+.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) 2))) (*.f64 x -1/2)) (+.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) 2))) |
(+.f64 (*.f64 x -1/2) (*.f64 2 (/.f64 1 x))) |
(if (!=.f64 0 0) (/.f64 (neg.f64 (*.f64 (+.f64 (*.f64 (/.f64 1 x) -2) (*.f64 x 1/2)) 0)) 0) (+.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) 2))) |
(+.f64 (*.f64 x -1/2) (*.f64 2 (/.f64 1 x))) |
(if (!=.f64 (+.f64 (*.f64 (/.f64 1 x) 2) (*.f64 x 1/2)) 0) (/.f64 (-.f64 (*.f64 (*.f64 (/.f64 1 x) 2) (*.f64 (/.f64 1 x) 2)) (*.f64 (*.f64 x 1/2) (*.f64 x 1/2))) (+.f64 (*.f64 (/.f64 1 x) 2) (*.f64 x 1/2))) (+.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) 2))) |
(+.f64 (*.f64 x -1/2) (*.f64 2 (/.f64 1 x))) |
(if (!=.f64 (*.f64 x 1/2) 0) (/.f64 (-.f64 (*.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) 2)) (*.f64 (*.f64 x 1/2) (*.f64 x 1/2))) (*.f64 x 1/2)) (+.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) 2))) |
(+.f64 (*.f64 x -1/2) (*.f64 2 (/.f64 1 x))) |
(if (!=.f64 (*.f64 (/.f64 1 x) 2) 0) (/.f64 (-.f64 (*.f64 (*.f64 (/.f64 1 x) 2) (*.f64 (/.f64 1 x) 2)) (*.f64 (*.f64 x 1/2) (*.f64 (/.f64 1 x) 2))) (*.f64 (/.f64 1 x) 2)) (+.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) 2))) |
(+.f64 (*.f64 x -1/2) (*.f64 2 (/.f64 1 x))) |
(if (!=.f64 (+.f64 (*.f64 (/.f64 1 x) -2) (*.f64 x 1/2)) 0) (/.f64 (neg.f64 (*.f64 (+.f64 (*.f64 (/.f64 1 x) -2) (*.f64 x 1/2)) (+.f64 (*.f64 (/.f64 1 x) -2) (*.f64 x 1/2)))) (+.f64 (*.f64 (/.f64 1 x) -2) (*.f64 x 1/2))) (+.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) 2))) |
(+.f64 (*.f64 x -1/2) (*.f64 2 (/.f64 1 x))) |
(if (!=.f64 (+.f64 (*.f64 (/.f64 1 x) -2) (*.f64 x 1/2)) 0) (/.f64 (-.f64 (*.f64 (+.f64 (*.f64 (/.f64 1 x) -2) (*.f64 x 1/2)) 0) (*.f64 (+.f64 (*.f64 (/.f64 1 x) -2) (*.f64 x 1/2)) (+.f64 (*.f64 (/.f64 1 x) -2) (*.f64 x 1/2)))) (+.f64 (*.f64 (/.f64 1 x) -2) (*.f64 x 1/2))) (+.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) 2))) |
(+.f64 (*.f64 x -1/2) (*.f64 2 (/.f64 1 x))) |
Compiled 1160 to 897 computations (22.7% saved)
4 alts after pruning (0 fresh and 4 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 27 | 0 | 27 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 3 | 3 |
| Total | 27 | 4 | 31 |
| Status | Error | Program |
|---|---|---|
| ✓ | 0.5b | (log.f64 (if (!=.f64 (*.f64 x 1/2) 0) (/.f64 (-.f64 (/.f64 (*.f64 x x) 4) (-.f64 1 (/.f64 0 x))) (*.f64 x -1/2)) (-.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) -2)))) |
| ✓ | 0.9b | (log.f64 (/.f64 2 x)) |
| ✓ | 0.5b | (log.f64 (-.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x 1/2))) |
| ✓ | 0b | (log.f64 (+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x))) |
Compiled 62 to 48 computations (22.6% saved)
| Inputs |
|---|
(log.f64 (/.f64 2 x)) |
(log.f64 (-.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x 1/2))) |
(log.f64 (if (!=.f64 (*.f64 x 1/2) 0) (/.f64 (-.f64 (/.f64 (*.f64 x x) 4) (-.f64 1 (/.f64 0 x))) (*.f64 x -1/2)) (-.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) -2)))) |
(log.f64 (+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x))) |
| Outputs |
|---|
(log.f64 (+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x))) |
3 calls:
| 6.0ms | (+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)) |
| 4.0ms | (log.f64 (+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x))) |
| 3.0ms | x |
| Error | Segments | Branch |
|---|---|---|
| 0b | 1 | x |
| 0b | 1 | (log.f64 (+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x))) |
| 0b | 1 | (+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x)) |
Compiled 88 to 64 computations (27.3% saved)
| Inputs |
|---|
(log.f64 (/.f64 2 x)) |
(log.f64 (-.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x 1/2))) |
(log.f64 (if (!=.f64 (*.f64 x 1/2) 0) (/.f64 (-.f64 (/.f64 (*.f64 x x) 4) (-.f64 1 (/.f64 0 x))) (*.f64 x -1/2)) (-.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) -2)))) |
| Outputs |
|---|
(log.f64 (if (!=.f64 (*.f64 x 1/2) 0) (/.f64 (-.f64 (/.f64 (*.f64 x x) 4) (-.f64 1 (/.f64 0 x))) (*.f64 x -1/2)) (-.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) -2)))) |
1 calls:
| 3.0ms | x |
| Error | Segments | Branch |
|---|---|---|
| 0.5b | 1 | x |
Compiled 48 to 37 computations (22.9% saved)
Total -0.4b remaining (-97.6%)
Threshold costs -0.4b (-97.6%)
| Inputs |
|---|
(log.f64 (/.f64 2 x)) |
(log.f64 (-.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x 1/2))) |
| Outputs |
|---|
(log.f64 (-.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x 1/2))) |
1 calls:
| 2.0ms | x |
| Error | Segments | Branch |
|---|---|---|
| 0.5b | 1 | x |
Compiled 17 to 13 computations (23.5% saved)
| 1× | egg-herbie |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 38 | 166 |
| 1× | done |
| 1× | saturated |
| Inputs |
|---|
(log.f64 (+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x))) |
(log.f64 (if (!=.f64 (*.f64 x 1/2) 0) (/.f64 (-.f64 (/.f64 (*.f64 x x) 4) (-.f64 1 (/.f64 0 x))) (*.f64 x -1/2)) (-.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) -2)))) |
(log.f64 (-.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x 1/2))) |
(log.f64 (/.f64 2 x)) |
| Outputs |
|---|
(log.f64 (+.f64 (/.f64 1 x) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) x))) |
(log.f64 (if (!=.f64 (*.f64 x 1/2) 0) (/.f64 (-.f64 (/.f64 (*.f64 x x) 4) (-.f64 1 (/.f64 0 x))) (*.f64 x -1/2)) (-.f64 (*.f64 x -1/2) (*.f64 (/.f64 1 x) -2)))) |
(log.f64 (-.f64 (*.f64 2 (/.f64 1 x)) (*.f64 x 1/2))) |
(log.f64 (/.f64 2 x)) |
Compiled 62 to 48 computations (22.6% saved)
Compiled 59 to 44 computations (25.4% saved)
Loading profile data...