Time bar (total: 4.3s)
| 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 |
| 12.5% | 12.5% | 87.4% | 0.1% | 0% | 0% | 0% | 5 |
| 18.8% | 18.7% | 81.2% | 0.1% | 0% | 0% | 0% | 6 |
| 37.5% | 37.5% | 62.4% | 0.1% | 0% | 0% | 0% | 7 |
| 42.2% | 42.1% | 57.8% | 0.1% | 0% | 0% | 0% | 8 |
| 54.7% | 54.6% | 45.3% | 0.1% | 0% | 0% | 0% | 9 |
| 57.4% | 57.4% | 42.5% | 0.1% | 0% | 0% | 0% | 10 |
| 64.5% | 64.4% | 35.5% | 0.1% | 0% | 0% | 0% | 11 |
| 65.9% | 65.9% | 34% | 0.1% | 0% | 0% | 0% | 12 |
Compiled 18 to 13 computations (27.8% saved)
| 719.0ms | 6372× | body | 256 | valid |
| 249.0ms | 546× | body | 4096 | valid |
| 231.0ms | 657× | body | 2048 | valid |
| 116.0ms | 422× | body | 1024 | valid |
| 48.0ms | 259× | body | 512 | valid |
| 2× | egg-herbie |
| 8× | rational.json-simplify-2 |
| 6× | rational.json-simplify-1 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 21 | 90 |
| 1 | 29 | 90 |
| 0 | 2 | 2 |
| 1× | saturated |
| 1× | saturated |
| Inputs |
|---|
0 |
1 |
| Outputs |
|---|
0 |
1 |
| Inputs |
|---|
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))) |
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 im im) (*.f64 re re))) im)))) |
| Outputs |
|---|
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))) |
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))) |
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 im im) (*.f64 re re))) im)))) |
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 im (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))) |
Compiled 19 to 14 computations (26.3% saved)
| 1× | egg-herbie |
| 4× | rational.json-simplify-2 |
| 4× | rational.json-simplify-1 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 15 | 45 |
| 1 | 19 | 45 |
| 1× | saturated |
| Inputs |
|---|
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))) |
| Outputs |
|---|
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))) |
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))) |
Compiled 32 to 18 computations (43.8% saved)
2 alts after pruning (2 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 1 | 1 | 2 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 0 | 0 |
| Total | 1 | 2 | 3 |
| Status | Error | Program |
|---|---|---|
| ▶ | 40.2b | (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))) |
Compiled 17 to 12 computations (29.4% saved)
Found 3 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (*.f64 re re) (*.f64 im im)) |
| ✓ | 0.9b | (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) |
| ✓ | 31.1b | (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) |
Compiled 77 to 19 computations (75.3% saved)
18 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | re | @ | 0 | (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) |
| 0.0ms | re | @ | inf | (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) |
| 0.0ms | im | @ | inf | (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) |
| 0.0ms | re | @ | -inf | (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) |
| 0.0ms | im | @ | 0 | (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) |
| 1× | batch-egg-rewrite |
| 28× | rational.json-simplify-1 |
| 28× | bool.json-1 |
| 24× | rational.json-1 |
| 24× | rational.json-2 |
| 24× | rational.json-simplify-2 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 71 |
| 1 | 46 | 71 |
| 2 | 78 | 71 |
| 3 | 82 | 71 |
| 1× | saturated |
| Inputs |
|---|
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) |
(+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) |
(+.f64 (*.f64 re re) (*.f64 im im)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x or (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))))) |
((#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))))))) |
((#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 re re) (*.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (*.f64 re re) (*.f64 im im)) (+.f64 (*.f64 re re) (*.f64 im im))))))) |
| 1× | egg-herbie |
| 382× | rational.json-simplify-1 |
| 256× | rational.json-simplify-33 |
| 42× | rational.json-simplify-2 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 106 | 2654 |
| 1 | 194 | 2654 |
| 2 | 301 | 2654 |
| 3 | 412 | 2654 |
| 4 | 477 | 2654 |
| 5 | 482 | 2654 |
| 1× | saturated |
| Inputs |
|---|
im |
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im) |
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im)) |
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5))) im))) |
re |
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) re) |
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 re (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))) |
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 re (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))) |
(*.f64 -1 re) |
(+.f64 (*.f64 -1 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))) |
(+.f64 (*.f64 -1 re) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))) |
(+.f64 (*.f64 -1 re) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))))) |
re |
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) re) |
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 re (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))) |
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 re (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))) |
im |
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im) |
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im)) |
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5))) im))) |
(*.f64 -1 im) |
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im)) |
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im))) |
(+.f64 (*.f64 -1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5))) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im)))) |
im |
(+.f64 re im) |
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 re im)) |
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 re im))) |
(*.f64 2 re) |
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re)) |
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 2 re) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))) |
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 (*.f64 2 re) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))) |
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) |
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))) |
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))) |
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 (*.f64 1/2 (/.f64 (+.f64 (pow.f64 (*.f64 -1/8 (pow.f64 im 4)) 2) (*.f64 1/16 (pow.f64 im 8))) (pow.f64 re 7))) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))))) |
(*.f64 2 re) |
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re)) |
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 2 re) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))) |
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 (*.f64 2 re) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))) |
im |
(+.f64 re im) |
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 re im)) |
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 re im))) |
(*.f64 -1 im) |
(+.f64 re (*.f64 -1 im)) |
(+.f64 re (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im))) |
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 re (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im)))) |
(pow.f64 im 2) |
(+.f64 (pow.f64 re 2) (pow.f64 im 2)) |
(+.f64 (pow.f64 re 2) (pow.f64 im 2)) |
(+.f64 (pow.f64 re 2) (pow.f64 im 2)) |
(pow.f64 re 2) |
(+.f64 (pow.f64 re 2) (pow.f64 im 2)) |
(+.f64 (pow.f64 re 2) (pow.f64 im 2)) |
(+.f64 (pow.f64 re 2) (pow.f64 im 2)) |
(pow.f64 re 2) |
(+.f64 (pow.f64 re 2) (pow.f64 im 2)) |
(+.f64 (pow.f64 re 2) (pow.f64 im 2)) |
(+.f64 (pow.f64 re 2) (pow.f64 im 2)) |
(pow.f64 re 2) |
(+.f64 (pow.f64 re 2) (pow.f64 im 2)) |
(+.f64 (pow.f64 re 2) (pow.f64 im 2)) |
(+.f64 (pow.f64 re 2) (pow.f64 im 2)) |
(pow.f64 im 2) |
(+.f64 (pow.f64 re 2) (pow.f64 im 2)) |
(+.f64 (pow.f64 re 2) (pow.f64 im 2)) |
(+.f64 (pow.f64 re 2) (pow.f64 im 2)) |
(pow.f64 im 2) |
(+.f64 (pow.f64 re 2) (pow.f64 im 2)) |
(+.f64 (pow.f64 re 2) (pow.f64 im 2)) |
(+.f64 (pow.f64 re 2) (pow.f64 im 2)) |
(+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 0) |
(+.f64 0 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) |
(*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 1) |
(*.f64 1 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) |
(*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 1) |
(*.f64 1 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))) |
(*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 1) |
(*.f64 1 (+.f64 (*.f64 re re) (*.f64 im im))) |
| Outputs |
|---|
im |
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im) |
(+.f64 im (*.f64 1/2 (/.f64 (pow.f64 re 2) im))) |
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im)) |
(+.f64 (+.f64 im (*.f64 1/2 (/.f64 (pow.f64 re 2) im))) (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)))) |
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 im (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))))) |
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5))) im))) |
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 im (*.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5)))))) |
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 im (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5)))))) |
(+.f64 (+.f64 im (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5))))) |
(+.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5)))) (+.f64 im (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))))) |
re |
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) re) |
(+.f64 re (*.f64 1/2 (/.f64 (pow.f64 im 2) re))) |
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 re (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))) |
(+.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))) re) |
(+.f64 re (+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))) |
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 re (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))) |
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (+.f64 re (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))) (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))))) |
(+.f64 (+.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))) re) (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)))) |
(+.f64 (+.f64 re (+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))) (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)))) |
(+.f64 re (+.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))) (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))))) |
(+.f64 re (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))) |
(*.f64 -1 re) |
(*.f64 re -1) |
(+.f64 (*.f64 -1 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))) |
(+.f64 (*.f64 re -1) (*.f64 (/.f64 (pow.f64 im 2) re) -1/2)) |
(+.f64 (*.f64 -1 re) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))) |
(+.f64 (*.f64 re -1) (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))) |
(+.f64 (*.f64 -1 re) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))))) |
(+.f64 (+.f64 (*.f64 re -1) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)) (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) -1/16))) |
(+.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) -1/16)) (+.f64 (*.f64 re -1) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))) |
(+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (+.f64 (*.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) -1/16) (+.f64 (*.f64 re -1) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))) |
re |
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) re) |
(+.f64 re (*.f64 1/2 (/.f64 (pow.f64 im 2) re))) |
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 re (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))) |
(+.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))) re) |
(+.f64 re (+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))) |
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 re (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))) |
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (+.f64 re (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))) (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))))) |
(+.f64 (+.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))) re) (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)))) |
(+.f64 (+.f64 re (+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))) (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)))) |
(+.f64 re (+.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))) (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))))) |
(+.f64 re (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))) |
im |
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im) |
(+.f64 im (*.f64 1/2 (/.f64 (pow.f64 re 2) im))) |
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im)) |
(+.f64 (+.f64 im (*.f64 1/2 (/.f64 (pow.f64 re 2) im))) (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)))) |
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 im (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))))) |
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5))) im))) |
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 im (*.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5)))))) |
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 im (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5)))))) |
(+.f64 (+.f64 im (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5))))) |
(+.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5)))) (+.f64 im (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))))) |
(*.f64 -1 im) |
(*.f64 im -1) |
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im)) |
(+.f64 (*.f64 im -1) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2)) |
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im))) |
(+.f64 (+.f64 (*.f64 im -1) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2)) (*.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8)) |
(+.f64 (*.f64 im -1) (+.f64 (*.f64 (/.f64 (pow.f64 re 2) im) -1/2) (*.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8))) |
(+.f64 (*.f64 -1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5))) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im)))) |
(+.f64 (+.f64 (+.f64 (*.f64 im -1) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2)) (*.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8)) (*.f64 (/.f64 (pow.f64 re 6) (pow.f64 im 5)) -1/16)) |
(+.f64 (+.f64 (*.f64 im -1) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2)) (+.f64 (*.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8) (*.f64 (/.f64 (pow.f64 re 6) (pow.f64 im 5)) -1/16))) |
(+.f64 (*.f64 im -1) (+.f64 (*.f64 (/.f64 (pow.f64 re 6) (pow.f64 im 5)) -1/16) (+.f64 (*.f64 (/.f64 (pow.f64 re 2) im) -1/2) (*.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8)))) |
(+.f64 (*.f64 im -1) (+.f64 (*.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8) (+.f64 (*.f64 (/.f64 (pow.f64 re 2) im) -1/2) (*.f64 (/.f64 (pow.f64 re 6) (pow.f64 im 5)) -1/16)))) |
im |
(+.f64 re im) |
(+.f64 im re) |
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 re im)) |
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 im re)) |
(+.f64 re (+.f64 im (*.f64 1/2 (/.f64 (pow.f64 re 2) im)))) |
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 re im))) |
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 im re))) |
(+.f64 re (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 im (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)))))) |
(*.f64 2 re) |
(*.f64 re 2) |
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re)) |
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 re 2)) |
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 2 re) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))) |
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 re 2))) |
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 (*.f64 2 re) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))) |
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 re 2)))) |
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) |
(*.f64 (/.f64 (pow.f64 im 2) re) -1/2) |
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))) |
(+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)) |
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))) |
(+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) -1/16))) |
(+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (*.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) -1/16))) |
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 (*.f64 1/2 (/.f64 (+.f64 (pow.f64 (*.f64 -1/8 (pow.f64 im 4)) 2) (*.f64 1/16 (pow.f64 im 8))) (pow.f64 re 7))) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))))) |
(+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (+.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) -1/16)) (*.f64 1/2 (/.f64 (+.f64 (pow.f64 (*.f64 -1/8 (pow.f64 im 4)) 2) (*.f64 1/16 (pow.f64 im 8))) (pow.f64 re 7))))) |
(+.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (+.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8) (*.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) -1/16))) (*.f64 1/2 (/.f64 (+.f64 (pow.f64 (*.f64 -1/8 (pow.f64 im 4)) 2) (*.f64 1/16 (pow.f64 im 8))) (pow.f64 re 7)))) |
(*.f64 2 re) |
(*.f64 re 2) |
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re)) |
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 re 2)) |
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 2 re) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))) |
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 re 2))) |
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 (*.f64 2 re) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))) |
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 re 2)))) |
im |
(+.f64 re im) |
(+.f64 im re) |
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 re im)) |
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 im re)) |
(+.f64 re (+.f64 im (*.f64 1/2 (/.f64 (pow.f64 re 2) im)))) |
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 re im))) |
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 im re))) |
(+.f64 re (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 im (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)))))) |
(*.f64 -1 im) |
(*.f64 im -1) |
(+.f64 re (*.f64 -1 im)) |
(+.f64 re (*.f64 im -1)) |
(+.f64 re (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im))) |
(+.f64 (+.f64 re (*.f64 (/.f64 (pow.f64 re 2) im) -1/2)) (*.f64 im -1)) |
(+.f64 (*.f64 im -1) (+.f64 re (*.f64 (/.f64 (pow.f64 re 2) im) -1/2))) |
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 re (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im)))) |
(+.f64 (*.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8) (+.f64 (+.f64 re (*.f64 (/.f64 (pow.f64 re 2) im) -1/2)) (*.f64 im -1))) |
(+.f64 (+.f64 (*.f64 im -1) (*.f64 (/.f64 (pow.f64 re 2) im) -1/2)) (+.f64 re (*.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8))) |
(+.f64 re (+.f64 (*.f64 im -1) (+.f64 (*.f64 (/.f64 (pow.f64 re 2) im) -1/2) (*.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8)))) |
(pow.f64 im 2) |
(+.f64 (pow.f64 re 2) (pow.f64 im 2)) |
(+.f64 (pow.f64 re 2) (pow.f64 im 2)) |
(+.f64 (pow.f64 re 2) (pow.f64 im 2)) |
(pow.f64 re 2) |
(+.f64 (pow.f64 re 2) (pow.f64 im 2)) |
(+.f64 (pow.f64 re 2) (pow.f64 im 2)) |
(+.f64 (pow.f64 re 2) (pow.f64 im 2)) |
(pow.f64 re 2) |
(+.f64 (pow.f64 re 2) (pow.f64 im 2)) |
(+.f64 (pow.f64 re 2) (pow.f64 im 2)) |
(+.f64 (pow.f64 re 2) (pow.f64 im 2)) |
(pow.f64 re 2) |
(+.f64 (pow.f64 re 2) (pow.f64 im 2)) |
(+.f64 (pow.f64 re 2) (pow.f64 im 2)) |
(+.f64 (pow.f64 re 2) (pow.f64 im 2)) |
(pow.f64 im 2) |
(+.f64 (pow.f64 re 2) (pow.f64 im 2)) |
(+.f64 (pow.f64 re 2) (pow.f64 im 2)) |
(+.f64 (pow.f64 re 2) (pow.f64 im 2)) |
(pow.f64 im 2) |
(+.f64 (pow.f64 re 2) (pow.f64 im 2)) |
(+.f64 (pow.f64 re 2) (pow.f64 im 2)) |
(+.f64 (pow.f64 re 2) (pow.f64 im 2)) |
(+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 0) |
(+.f64 0 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) |
(+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 0) |
(*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 1) |
(*.f64 1 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) |
(*.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) 1) |
(*.f64 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) 1) |
(*.f64 1 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))) |
(*.f64 1 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))) |
(*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 1) |
(*.f64 1 (+.f64 (*.f64 re re) (*.f64 im im))) |
(*.f64 (+.f64 (*.f64 re re) (*.f64 im im)) 1) |
Compiled 2221 to 1709 computations (23.1% saved)
7 alts after pruning (6 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 85 | 6 | 91 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 85 | 7 | 92 |
| Status | Error | Program |
|---|---|---|
| 56.6b | (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))))) | |
| ▶ | 60.0b | (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 re -1) re)))) |
| ▶ | 44.8b | (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 im -1) re)))) |
| ✓ | 40.2b | (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))) |
| ▶ | 47.9b | (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re re)))) |
| ▶ | 43.0b | (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im)))) |
| ▶ | 54.9b | (*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2)))) |
Compiled 181 to 148 computations (18.2% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (sqrt.f64 (*.f64 2 (+.f64 re im))) |
Compiled 28 to 15 computations (46.4% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | re | @ | 0 | (sqrt.f64 (*.f64 2 (+.f64 re im))) |
| 1.0ms | re | @ | inf | (sqrt.f64 (*.f64 2 (+.f64 re im))) |
| 0.0ms | im | @ | 0 | (sqrt.f64 (*.f64 2 (+.f64 re im))) |
| 0.0ms | im | @ | inf | (sqrt.f64 (*.f64 2 (+.f64 re im))) |
| 0.0ms | re | @ | -inf | (sqrt.f64 (*.f64 2 (+.f64 re im))) |
| 1× | batch-egg-rewrite |
| 26× | bool.json-1 |
| 22× | rational.json-simplify-2 |
| 22× | rational.json-simplify-1 |
| 20× | rational.json-1 |
| 20× | rational.json-2 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 17 |
| 1 | 42 | 17 |
| 2 | 70 | 17 |
| 3 | 75 | 17 |
| 1× | saturated |
| Inputs |
|---|
(sqrt.f64 (*.f64 2 (+.f64 re im))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (*.f64 2 (+.f64 re im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (*.f64 2 (+.f64 re im))))))) (#(struct:change #<rule egg-rr> (2) ((x or (sqrt.f64 (*.f64 2 (+.f64 re im))) (sqrt.f64 (*.f64 2 (+.f64 re im)))))))) |
| 1× | egg-herbie |
| 326× | rational.json-simplify-2 |
| 206× | rational.json-simplify-31 |
| 106× | rational.json-simplify-1 |
| 70× | rational.json-simplify-33 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 70 | 740 |
| 1 | 123 | 740 |
| 2 | 201 | 740 |
| 3 | 336 | 740 |
| 4 | 456 | 740 |
| 5 | 480 | 740 |
| 1× | saturated |
| Inputs |
|---|
(*.f64 (sqrt.f64 2) (sqrt.f64 im)) |
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))) |
(+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))) |
(+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/16 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 5)))))))) |
(*.f64 (sqrt.f64 2) (sqrt.f64 re)) |
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 re)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re))))) |
(+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 re)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))))) |
(+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (+.f64 (*.f64 1/16 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 re)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re))))))) |
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 0) |
(+.f64 0 (sqrt.f64 (*.f64 2 (+.f64 re im)))) |
(*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 1) |
(*.f64 1 (sqrt.f64 (*.f64 2 (+.f64 re im)))) |
| Outputs |
|---|
(*.f64 (sqrt.f64 2) (sqrt.f64 im)) |
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))) |
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))) |
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 im)) re)))) |
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 (sqrt.f64 2) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))) |
(+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))) |
(+.f64 (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))))) (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))) |
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 im)) re))) (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))) |
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (+.f64 (*.f64 (sqrt.f64 2) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 (sqrt.f64 2) (*.f64 -1/8 (pow.f64 re 2)))))) |
(+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/16 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 5)))))))) |
(+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 im)) re))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/16 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 5))) (pow.f64 re 3))))))) |
(+.f64 (*.f64 (sqrt.f64 2) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))) (+.f64 (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 (sqrt.f64 2) (*.f64 -1/8 (pow.f64 re 2))))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 5))) (*.f64 1/16 (*.f64 (sqrt.f64 2) (pow.f64 re 3)))))) |
(+.f64 (*.f64 (sqrt.f64 2) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (+.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 (sqrt.f64 2) (*.f64 -1/8 (pow.f64 re 2)))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 5))) (*.f64 1/16 (*.f64 (sqrt.f64 2) (pow.f64 re 3))))))) |
(*.f64 (sqrt.f64 2) (sqrt.f64 re)) |
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 re)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re))))) |
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 re)) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) im)))) |
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 re)) (*.f64 (*.f64 (sqrt.f64 2) im) (*.f64 1/2 (sqrt.f64 (/.f64 1 re))))) |
(+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 re)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))))) |
(+.f64 (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 re)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re))))) (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))) |
(+.f64 (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 re)) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) im)))) (*.f64 -1/8 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))))) |
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) im) (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 re)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (sqrt.f64 2) (*.f64 -1/8 (pow.f64 im 2)))))) |
(+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (+.f64 (*.f64 1/16 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 re)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re))))))) |
(+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (+.f64 (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 re)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re))))) (*.f64 1/16 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))))) |
(+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2)))) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) im))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 re)) (*.f64 1/16 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (pow.f64 im 3))))))) |
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 re)) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) im) (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (sqrt.f64 2) (*.f64 -1/8 (pow.f64 im 2)))) (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (*.f64 1/16 (sqrt.f64 (/.f64 1 (pow.f64 re 5)))))))) |
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 0) |
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 im re))) 0) |
(+.f64 0 (sqrt.f64 (*.f64 2 (+.f64 re im)))) |
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 im re))) 0) |
(*.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 1) |
(*.f64 1 (sqrt.f64 (*.f64 2 (+.f64 im re)))) |
(*.f64 1 (sqrt.f64 (*.f64 2 (+.f64 re im)))) |
(*.f64 1 (sqrt.f64 (*.f64 2 (+.f64 im re)))) |
Compiled 27 to 15 computations (44.4% saved)
Compiled 40 to 29 computations (27.5% saved)
Compiled 39 to 29 computations (25.6% saved)
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 6.2b | (/.f64 (pow.f64 im 2) re) |
| ✓ | 15.8b | (sqrt.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2))) |
Compiled 53 to 40 computations (24.5% saved)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | im | @ | 0 | (sqrt.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2))) |
| 1.0ms | re | @ | 0 | (sqrt.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2))) |
| 0.0ms | im | @ | inf | (sqrt.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2))) |
| 0.0ms | re | @ | inf | (sqrt.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2))) |
| 0.0ms | re | @ | -inf | (sqrt.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2))) |
| 1× | batch-egg-rewrite |
| 36× | bool.json-1 |
| 34× | rational.json-simplify-2 |
| 26× | rational.json-1 |
| 26× | rational.json-2 |
| 26× | rational.json-simplify-1 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 12 | 36 |
| 1 | 57 | 36 |
| 2 | 95 | 36 |
| 3 | 109 | 36 |
| 4 | 111 | 36 |
| 1× | saturated |
| Inputs |
|---|
(sqrt.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2))) |
(/.f64 (pow.f64 im 2) re) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x or (sqrt.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1)) (sqrt.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1))))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (pow.f64 im 2) re) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (pow.f64 im 2) re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 im 2) re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (pow.f64 im 2) re))))) (#(struct:change #<rule egg-rr> (2) ((x or (/.f64 (pow.f64 im 2) re) (/.f64 (pow.f64 im 2) re)))))) |
| 1× | egg-herbie |
| 60× | rational.json-simplify-2 |
| 32× | rational.json-simplify-31 |
| 4× | rational.json-simplify-1 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 27 | 540 |
| 1 | 33 | 540 |
| 2 | 41 | 540 |
| 3 | 59 | 540 |
| 4 | 75 | 540 |
| 5 | 79 | 540 |
| 1× | saturated |
| Inputs |
|---|
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))) |
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))) |
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))) |
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))) |
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))) |
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))) |
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))) |
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))) |
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))) |
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))) |
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))) |
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))) |
(+.f64 (sqrt.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1)) 0) |
(+.f64 0 (sqrt.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1))) |
(*.f64 (sqrt.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1)) 1) |
(*.f64 1 (sqrt.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1))) |
(+.f64 (/.f64 (pow.f64 im 2) re) 0) |
(+.f64 0 (/.f64 (pow.f64 im 2) re)) |
(*.f64 (/.f64 (pow.f64 im 2) re) 1) |
(*.f64 1 (/.f64 (pow.f64 im 2) re)) |
| Outputs |
|---|
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))) |
(*.f64 (sqrt.f64 -1) (*.f64 (sqrt.f64 (/.f64 1 re)) im)) |
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))) |
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))) |
(*.f64 (sqrt.f64 -1) (*.f64 (sqrt.f64 (/.f64 1 re)) im)) |
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))) |
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))) |
(*.f64 (sqrt.f64 -1) (*.f64 (sqrt.f64 (/.f64 1 re)) im)) |
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))) |
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))) |
(*.f64 (sqrt.f64 -1) (*.f64 (sqrt.f64 (/.f64 1 re)) im)) |
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))) |
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))) |
(*.f64 (sqrt.f64 -1) (*.f64 (sqrt.f64 (/.f64 1 re)) im)) |
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))) |
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))) |
(*.f64 (sqrt.f64 -1) (*.f64 (sqrt.f64 (/.f64 1 re)) im)) |
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))) |
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))) |
(*.f64 (sqrt.f64 -1) (*.f64 (sqrt.f64 (/.f64 1 re)) im)) |
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))) |
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))) |
(*.f64 (sqrt.f64 -1) (*.f64 (sqrt.f64 (/.f64 1 re)) im)) |
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))) |
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))) |
(*.f64 -1 (*.f64 (sqrt.f64 -1) (*.f64 (sqrt.f64 (/.f64 1 re)) im))) |
(*.f64 -1 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))) |
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))) |
(*.f64 -1 (*.f64 (sqrt.f64 -1) (*.f64 (sqrt.f64 (/.f64 1 re)) im))) |
(*.f64 -1 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))) |
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))) |
(*.f64 -1 (*.f64 (sqrt.f64 -1) (*.f64 (sqrt.f64 (/.f64 1 re)) im))) |
(*.f64 -1 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))) |
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))) |
(*.f64 -1 (*.f64 (sqrt.f64 -1) (*.f64 (sqrt.f64 (/.f64 1 re)) im))) |
(*.f64 -1 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))) |
(+.f64 (sqrt.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1)) 0) |
(+.f64 (sqrt.f64 (*.f64 -1 (/.f64 (pow.f64 im 2) re))) 0) |
(+.f64 0 (sqrt.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1))) |
(+.f64 (sqrt.f64 (*.f64 -1 (/.f64 (pow.f64 im 2) re))) 0) |
(*.f64 (sqrt.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1)) 1) |
(*.f64 1 (sqrt.f64 (*.f64 -1 (/.f64 (pow.f64 im 2) re)))) |
(*.f64 1 (sqrt.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1))) |
(*.f64 1 (sqrt.f64 (*.f64 -1 (/.f64 (pow.f64 im 2) re)))) |
(+.f64 (/.f64 (pow.f64 im 2) re) 0) |
(+.f64 0 (/.f64 (pow.f64 im 2) re)) |
(+.f64 (/.f64 (pow.f64 im 2) re) 0) |
(*.f64 (/.f64 (pow.f64 im 2) re) 1) |
(*.f64 1 (/.f64 (pow.f64 im 2) re)) |
(*.f64 1 (/.f64 (pow.f64 im 2) re)) |
Compiled 1097 to 907 computations (17.3% saved)
8 alts after pruning (2 fresh and 6 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 46 | 1 | 47 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 5 | 5 |
| Total | 46 | 8 | 54 |
| Status | Error | Program |
|---|---|---|
| ▶ | 45.4b | (*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 im))) |
| ▶ | 56.6b | (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))))) |
| ✓ | 60.0b | (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 re -1) re)))) |
| ✓ | 44.8b | (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 im -1) re)))) |
| ✓ | 40.2b | (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))) |
| ✓ | 47.9b | (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re re)))) |
| ✓ | 43.0b | (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im)))) |
| ✓ | 54.9b | (*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2)))) |
Compiled 108 to 88 computations (18.5% saved)
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| 6.2b | (/.f64 (pow.f64 im 2) re) | |
| ✓ | 16.5b | (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))) |
| ✓ | 16.7b | (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)) |
| ✓ | 17.1b | (/.f64 (pow.f64 im 4) (pow.f64 re 3)) |
Compiled 125 to 96 computations (23.2% saved)
18 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 5.0ms | re | @ | inf | (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))) |
| 1.0ms | im | @ | 0 | (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))) |
| 1.0ms | im | @ | 0 | (/.f64 (pow.f64 im 4) (pow.f64 re 3)) |
| 1.0ms | im | @ | inf | (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))) |
| 1.0ms | re | @ | 0 | (/.f64 (pow.f64 im 4) (pow.f64 re 3)) |
| 1× | batch-egg-rewrite |
| 48× | bool.json-1 |
| 40× | rational.json-simplify-2 |
| 36× | rational.json-simplify-1 |
| 34× | rational.json-1 |
| 34× | rational.json-2 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 20 | 127 |
| 1 | 88 | 127 |
| 2 | 130 | 127 |
| 3 | 137 | 127 |
| 1× | saturated |
| Inputs |
|---|
(/.f64 (pow.f64 im 4) (pow.f64 re 3)) |
(+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)) |
(sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))) (#(struct:change #<rule egg-rr> (2) ((x or (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))) |
((#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)) (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))))))) (#(struct:change #<rule egg-rr> (2) ((x or (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))) (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))))))))) |
| 1× | egg-herbie |
| 198× | rational.json-simplify-2 |
| 120× | rational.json-simplify-1 |
| 92× | rational.json-simplify-31 |
| 72× | rational.json-simplify-33 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 107 | 2978 |
| 1 | 163 | 2978 |
| 2 | 234 | 2978 |
| 3 | 316 | 2978 |
| 4 | 374 | 2978 |
| 5 | 384 | 2978 |
| 1× | saturated |
| Inputs |
|---|
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) |
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))) |
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))) |
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))) |
(*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) |
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))) |
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))) |
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))) |
(*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) |
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))) |
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))) |
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))) |
(*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) |
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))) |
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))) |
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))) |
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) |
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))) |
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))) |
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))) |
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) |
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))) |
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))) |
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))) |
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re))) |
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re))) (*.f64 1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 -1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))))) |
(+.f64 (*.f64 -1/512 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 5)) (pow.f64 (sqrt.f64 -1/2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 9))))) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re))) (*.f64 1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 -1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))))) |
(+.f64 (*.f64 1/8192 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 7)) (pow.f64 (sqrt.f64 -1/2) 5)) (sqrt.f64 (/.f64 1 (pow.f64 re 13))))) (+.f64 (*.f64 -1/512 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 5)) (pow.f64 (sqrt.f64 -1/2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 9))))) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re))) (*.f64 1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 -1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))))))) |
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/8) (pow.f64 im 2))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) |
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/8) (pow.f64 im 2))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re)))) |
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/8) (pow.f64 im 2))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (+.f64 (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))) (*.f64 -1/32 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 1/8) 3))) (sqrt.f64 (pow.f64 re 5)))))) |
(+.f64 (*.f64 -1/128 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 4) (pow.f64 (sqrt.f64 1/8) 5))) (sqrt.f64 (pow.f64 re 9)))) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/8) (pow.f64 im 2))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (+.f64 (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))) (*.f64 -1/32 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 1/8) 3))) (sqrt.f64 (pow.f64 re 5))))))) |
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/8) (pow.f64 im 2))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) |
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/8) (pow.f64 im 2))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re)))) |
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/8) (pow.f64 im 2))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (+.f64 (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))) (*.f64 -1/32 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 1/8) 3))) (sqrt.f64 (pow.f64 re 5)))))) |
(+.f64 (*.f64 -1/128 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 4) (pow.f64 (sqrt.f64 1/8) 5))) (sqrt.f64 (pow.f64 re 9)))) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/8) (pow.f64 im 2))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (+.f64 (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))) (*.f64 -1/32 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 1/8) 3))) (sqrt.f64 (pow.f64 re 5))))))) |
(+.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 0) |
(+.f64 0 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) |
(*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1) |
(*.f64 1 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) |
(*.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)) 1) |
(*.f64 1 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))) |
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))) 0) |
(+.f64 0 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))))) |
(*.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))) 1) |
(*.f64 1 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))))) |
| Outputs |
|---|
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) |
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))) |
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))) |
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))) |
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))) |
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))) |
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))) |
(*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) |
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))) |
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))) |
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))) |
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))) |
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))) |
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))) |
(*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) |
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))) |
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))) |
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))) |
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))) |
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))) |
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))) |
(*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) |
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))) |
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))) |
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))) |
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))) |
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))) |
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))) |
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) |
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))) |
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))) |
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))) |
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))) |
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))) |
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))) |
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) |
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))) |
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))) |
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))) |
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))) |
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))) |
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))) |
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re))) |
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 -1/2))) (sqrt.f64 (/.f64 1 re))) |
(*.f64 (sqrt.f64 -1/2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im (sqrt.f64 2)))) |
(*.f64 (sqrt.f64 -1/2) (*.f64 im (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))) |
(*.f64 im (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))) (sqrt.f64 -1/2))) |
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re))) (*.f64 1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 -1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))))) |
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 -1/2))) (sqrt.f64 (/.f64 1 re))) (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 -1/2)) (*.f64 1/16 (sqrt.f64 (/.f64 1 (pow.f64 re 5)))))) |
(+.f64 (*.f64 (sqrt.f64 -1/2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im (sqrt.f64 2)))) (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 -1/2)) (*.f64 1/16 (sqrt.f64 (/.f64 1 (pow.f64 re 5)))))) |
(+.f64 (*.f64 (sqrt.f64 -1/2) (*.f64 im (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))) (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 -1/2)) (*.f64 1/16 (sqrt.f64 (/.f64 1 (pow.f64 re 5)))))) |
(+.f64 (*.f64 im (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))) (sqrt.f64 -1/2))) (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 -1/2)) (*.f64 1/16 (sqrt.f64 (/.f64 1 (pow.f64 re 5)))))) |
(+.f64 (*.f64 -1/512 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 5)) (pow.f64 (sqrt.f64 -1/2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 9))))) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re))) (*.f64 1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 -1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))))) |
(+.f64 (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 -1/2))) (sqrt.f64 (/.f64 1 re))) (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 -1/2)) (*.f64 1/16 (sqrt.f64 (/.f64 1 (pow.f64 re 5)))))) (*.f64 -1/512 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 5)) (pow.f64 (sqrt.f64 -1/2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 9)))))) |
(+.f64 (+.f64 (*.f64 -1/512 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 5)) (pow.f64 (sqrt.f64 -1/2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 9))))) (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 -1/2)) (*.f64 1/16 (sqrt.f64 (/.f64 1 (pow.f64 re 5)))))) (*.f64 (sqrt.f64 -1/2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im (sqrt.f64 2))))) |
(+.f64 (*.f64 (sqrt.f64 -1/2) (*.f64 im (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))) (+.f64 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 -1/2)) (*.f64 1/16 (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (*.f64 -1/512 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 5)) (pow.f64 (sqrt.f64 -1/2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 9))))))) |
(+.f64 (*.f64 im (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))) (sqrt.f64 -1/2))) (+.f64 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 -1/2)) (*.f64 1/16 (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (*.f64 -1/512 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 5)) (pow.f64 (sqrt.f64 -1/2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 9))))))) |
(+.f64 (*.f64 1/8192 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 7)) (pow.f64 (sqrt.f64 -1/2) 5)) (sqrt.f64 (/.f64 1 (pow.f64 re 13))))) (+.f64 (*.f64 -1/512 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 5)) (pow.f64 (sqrt.f64 -1/2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 9))))) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re))) (*.f64 1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 -1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))))))) |
(+.f64 (+.f64 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 7)) (pow.f64 (sqrt.f64 -1/2) 5)) (*.f64 1/8192 (sqrt.f64 (/.f64 1 (pow.f64 re 13))))) (*.f64 -1/512 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 5)) (pow.f64 (sqrt.f64 -1/2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 9)))))) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 -1/2))) (sqrt.f64 (/.f64 1 re))) (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 -1/2)) (*.f64 1/16 (sqrt.f64 (/.f64 1 (pow.f64 re 5))))))) |
(+.f64 (+.f64 (*.f64 (sqrt.f64 -1/2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im (sqrt.f64 2)))) (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 -1/2)) (*.f64 1/16 (sqrt.f64 (/.f64 1 (pow.f64 re 5)))))) (+.f64 (*.f64 -1/512 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 5)) (pow.f64 (sqrt.f64 -1/2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 9))))) (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 7)) (pow.f64 (sqrt.f64 -1/2) 5)) (*.f64 1/8192 (sqrt.f64 (/.f64 1 (pow.f64 re 13))))))) |
(+.f64 (*.f64 (sqrt.f64 -1/2) (*.f64 im (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))) (+.f64 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 -1/2)) (*.f64 1/16 (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 -1/512 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 5)) (pow.f64 (sqrt.f64 -1/2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 9))))) (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 7)) (pow.f64 (sqrt.f64 -1/2) 5)) (*.f64 1/8192 (sqrt.f64 (/.f64 1 (pow.f64 re 13)))))))) |
(+.f64 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 -1/2)) (*.f64 1/16 (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 im (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))) (sqrt.f64 -1/2))) (+.f64 (*.f64 -1/512 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 5)) (pow.f64 (sqrt.f64 -1/2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 9))))) (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 7)) (pow.f64 (sqrt.f64 -1/2) 5)) (*.f64 1/8192 (sqrt.f64 (/.f64 1 (pow.f64 re 13)))))))) |
(+.f64 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 -1/2)) (*.f64 1/16 (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 (sqrt.f64 -1/2) (*.f64 im (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))) (+.f64 (*.f64 -1/512 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 5)) (pow.f64 (sqrt.f64 -1/2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 9))))) (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 7)) (pow.f64 (sqrt.f64 -1/2) 5)) (*.f64 1/8192 (sqrt.f64 (/.f64 1 (pow.f64 re 13)))))))) |
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/8) (pow.f64 im 2))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) |
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (sqrt.f64 1/8))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) |
(*.f64 (sqrt.f64 1/8) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (pow.f64 im 2) (sqrt.f64 2)))) |
(*.f64 (sqrt.f64 1/8) (*.f64 (pow.f64 im 2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))) |
(*.f64 (pow.f64 im 2) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (sqrt.f64 1/8))) |
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/8) (pow.f64 im 2))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re)))) |
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (sqrt.f64 1/8))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re)))) |
(+.f64 (*.f64 (sqrt.f64 1/8) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (pow.f64 im 2) (sqrt.f64 2)))) (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re)))) |
(+.f64 (*.f64 (sqrt.f64 1/8) (*.f64 (pow.f64 im 2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))) (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re)))) |
(+.f64 (*.f64 (pow.f64 im 2) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (sqrt.f64 1/8))) (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re)))) |
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/8) (pow.f64 im 2))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (+.f64 (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))) (*.f64 -1/32 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 1/8) 3))) (sqrt.f64 (pow.f64 re 5)))))) |
(+.f64 (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (sqrt.f64 1/8))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re)))) (*.f64 -1/32 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 1/8) 3))) (sqrt.f64 (pow.f64 re 5))))) |
(+.f64 (+.f64 (*.f64 (sqrt.f64 1/8) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (pow.f64 im 2) (sqrt.f64 2)))) (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re)))) (*.f64 -1/32 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 1/8) 3))) (sqrt.f64 (pow.f64 re 5))))) |
(+.f64 (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))) (+.f64 (*.f64 (sqrt.f64 1/8) (*.f64 (pow.f64 im 2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))) (*.f64 -1/32 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 1/8) 3))) (sqrt.f64 (pow.f64 re 5)))))) |
(+.f64 (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))) (+.f64 (*.f64 (pow.f64 im 2) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (sqrt.f64 1/8))) (*.f64 -1/32 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 1/8) 3))) (sqrt.f64 (pow.f64 re 5)))))) |
(+.f64 (*.f64 -1/128 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 4) (pow.f64 (sqrt.f64 1/8) 5))) (sqrt.f64 (pow.f64 re 9)))) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/8) (pow.f64 im 2))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (+.f64 (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))) (*.f64 -1/32 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 1/8) 3))) (sqrt.f64 (pow.f64 re 5))))))) |
(+.f64 (+.f64 (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (sqrt.f64 1/8))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re)))) (*.f64 -1/32 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 1/8) 3))) (sqrt.f64 (pow.f64 re 5))))) (*.f64 -1/128 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 4) (pow.f64 (sqrt.f64 1/8) 5))) (sqrt.f64 (pow.f64 re 9))))) |
(+.f64 (+.f64 (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))) (*.f64 -1/32 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 1/8) 3))) (sqrt.f64 (pow.f64 re 5))))) (+.f64 (*.f64 (sqrt.f64 1/8) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (pow.f64 im 2) (sqrt.f64 2)))) (*.f64 -1/128 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 4) (pow.f64 (sqrt.f64 1/8) 5))) (sqrt.f64 (pow.f64 re 9)))))) |
(+.f64 (*.f64 -1/32 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 1/8) 3))) (sqrt.f64 (pow.f64 re 5)))) (+.f64 (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))) (+.f64 (*.f64 (sqrt.f64 1/8) (*.f64 (pow.f64 im 2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))) (*.f64 -1/128 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 4) (pow.f64 (sqrt.f64 1/8) 5))) (sqrt.f64 (pow.f64 re 9))))))) |
(+.f64 (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))) (+.f64 (*.f64 -1/32 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 1/8) 3))) (sqrt.f64 (pow.f64 re 5)))) (+.f64 (*.f64 (pow.f64 im 2) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (sqrt.f64 1/8))) (*.f64 -1/128 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 4) (pow.f64 (sqrt.f64 1/8) 5))) (sqrt.f64 (pow.f64 re 9))))))) |
(+.f64 (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))) (+.f64 (*.f64 -1/32 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 1/8) 3))) (sqrt.f64 (pow.f64 re 5)))) (+.f64 (*.f64 (sqrt.f64 1/8) (*.f64 (pow.f64 im 2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))) (*.f64 -1/128 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 4) (pow.f64 (sqrt.f64 1/8) 5))) (sqrt.f64 (pow.f64 re 9))))))) |
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/8) (pow.f64 im 2))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) |
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (sqrt.f64 1/8))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) |
(*.f64 (sqrt.f64 1/8) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (pow.f64 im 2) (sqrt.f64 2)))) |
(*.f64 (sqrt.f64 1/8) (*.f64 (pow.f64 im 2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))) |
(*.f64 (pow.f64 im 2) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (sqrt.f64 1/8))) |
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/8) (pow.f64 im 2))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re)))) |
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (sqrt.f64 1/8))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re)))) |
(+.f64 (*.f64 (sqrt.f64 1/8) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (pow.f64 im 2) (sqrt.f64 2)))) (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re)))) |
(+.f64 (*.f64 (sqrt.f64 1/8) (*.f64 (pow.f64 im 2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))) (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re)))) |
(+.f64 (*.f64 (pow.f64 im 2) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (sqrt.f64 1/8))) (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re)))) |
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/8) (pow.f64 im 2))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (+.f64 (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))) (*.f64 -1/32 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 1/8) 3))) (sqrt.f64 (pow.f64 re 5)))))) |
(+.f64 (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (sqrt.f64 1/8))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re)))) (*.f64 -1/32 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 1/8) 3))) (sqrt.f64 (pow.f64 re 5))))) |
(+.f64 (+.f64 (*.f64 (sqrt.f64 1/8) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (pow.f64 im 2) (sqrt.f64 2)))) (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re)))) (*.f64 -1/32 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 1/8) 3))) (sqrt.f64 (pow.f64 re 5))))) |
(+.f64 (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))) (+.f64 (*.f64 (sqrt.f64 1/8) (*.f64 (pow.f64 im 2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))) (*.f64 -1/32 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 1/8) 3))) (sqrt.f64 (pow.f64 re 5)))))) |
(+.f64 (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))) (+.f64 (*.f64 (pow.f64 im 2) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (sqrt.f64 1/8))) (*.f64 -1/32 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 1/8) 3))) (sqrt.f64 (pow.f64 re 5)))))) |
(+.f64 (*.f64 -1/128 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 4) (pow.f64 (sqrt.f64 1/8) 5))) (sqrt.f64 (pow.f64 re 9)))) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/8) (pow.f64 im 2))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (+.f64 (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))) (*.f64 -1/32 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 1/8) 3))) (sqrt.f64 (pow.f64 re 5))))))) |
(+.f64 (+.f64 (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (sqrt.f64 1/8))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re)))) (*.f64 -1/32 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 1/8) 3))) (sqrt.f64 (pow.f64 re 5))))) (*.f64 -1/128 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 4) (pow.f64 (sqrt.f64 1/8) 5))) (sqrt.f64 (pow.f64 re 9))))) |
(+.f64 (+.f64 (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))) (*.f64 -1/32 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 1/8) 3))) (sqrt.f64 (pow.f64 re 5))))) (+.f64 (*.f64 (sqrt.f64 1/8) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (pow.f64 im 2) (sqrt.f64 2)))) (*.f64 -1/128 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 4) (pow.f64 (sqrt.f64 1/8) 5))) (sqrt.f64 (pow.f64 re 9)))))) |
(+.f64 (*.f64 -1/32 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 1/8) 3))) (sqrt.f64 (pow.f64 re 5)))) (+.f64 (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))) (+.f64 (*.f64 (sqrt.f64 1/8) (*.f64 (pow.f64 im 2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))) (*.f64 -1/128 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 4) (pow.f64 (sqrt.f64 1/8) 5))) (sqrt.f64 (pow.f64 re 9))))))) |
(+.f64 (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))) (+.f64 (*.f64 -1/32 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 1/8) 3))) (sqrt.f64 (pow.f64 re 5)))) (+.f64 (*.f64 (pow.f64 im 2) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (sqrt.f64 1/8))) (*.f64 -1/128 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 4) (pow.f64 (sqrt.f64 1/8) 5))) (sqrt.f64 (pow.f64 re 9))))))) |
(+.f64 (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/8)) (sqrt.f64 re))) (+.f64 (*.f64 -1/32 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 1/8) 3))) (sqrt.f64 (pow.f64 re 5)))) (+.f64 (*.f64 (sqrt.f64 1/8) (*.f64 (pow.f64 im 2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))) (*.f64 -1/128 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 4) (pow.f64 (sqrt.f64 1/8) 5))) (sqrt.f64 (pow.f64 re 9))))))) |
(+.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 0) |
(+.f64 0 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) |
(+.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 0) |
(*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1) |
(*.f64 1 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) |
(*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1) |
(*.f64 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)) 1) |
(*.f64 1 (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))) |
(*.f64 1 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))) |
(*.f64 1 (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))) |
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))) 0) |
(+.f64 0 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))) |
(+.f64 0 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))))) |
(+.f64 0 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))) |
(*.f64 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)))) 1) |
(*.f64 1 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))) |
(*.f64 1 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))))) |
(*.f64 1 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))) |
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.2b | (*.f64 (sqrt.f64 2) (sqrt.f64 im)) |
Compiled 21 to 15 computations (28.6% saved)
3 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | im | @ | 0 | (*.f64 (sqrt.f64 2) (sqrt.f64 im)) |
| 0.0ms | im | @ | -inf | (*.f64 (sqrt.f64 2) (sqrt.f64 im)) |
| 0.0ms | im | @ | inf | (*.f64 (sqrt.f64 2) (sqrt.f64 im)) |
| 1× | batch-egg-rewrite |
| 24× | bool.json-1 |
| 20× | rational.json-simplify-2 |
| 18× | rational.json-1 |
| 18× | rational.json-2 |
| 18× | rational.json-simplify-1 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 15 |
| 1 | 37 | 15 |
| 2 | 63 | 15 |
| 3 | 67 | 15 |
| 1× | saturated |
| Inputs |
|---|
(*.f64 (sqrt.f64 2) (sqrt.f64 im)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))))) |
| 1× | egg-herbie |
| 2× | rational.json-simplify-2 |
| 2× | rational.json-simplify-1 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 42 |
| 1 | 12 | 42 |
| 1× | saturated |
| Inputs |
|---|
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) 0) |
(+.f64 0 (*.f64 (sqrt.f64 2) (sqrt.f64 im))) |
| Outputs |
|---|
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) 0) |
(+.f64 0 (*.f64 (sqrt.f64 2) (sqrt.f64 im))) |
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) 0) |
Compiled 2330 to 2032 computations (12.8% saved)
8 alts after pruning (0 fresh and 8 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 65 | 0 | 65 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 7 | 7 |
| Total | 65 | 8 | 73 |
| Status | Error | Program |
|---|---|---|
| ✓ | 45.4b | (*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 im))) |
| ✓ | 56.6b | (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))))) |
| ✓ | 60.0b | (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 re -1) re)))) |
| ✓ | 44.8b | (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 im -1) re)))) |
| ✓ | 40.2b | (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))) |
| ✓ | 47.9b | (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re re)))) |
| ✓ | 43.0b | (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im)))) |
| ✓ | 54.9b | (*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2)))) |
Compiled 108 to 88 computations (18.5% saved)
| Inputs |
|---|
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im)))) |
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re re)))) |
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 im -1) re)))) |
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 re -1) re)))) |
(*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 im))) |
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2)))) |
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))) |
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))))) |
| Outputs |
|---|
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 im -1) re)))) |
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))))) |
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))) |
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re re)))) |
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))) |
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re re)))) |
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im)))) |
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))) |
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im)))) |
7 calls:
| 96.0ms | (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) |
| 42.0ms | im |
| 34.0ms | re |
| 15.0ms | (*.f64 im im) |
| 15.0ms | (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))) |
| Error | Segments | Branch |
|---|---|---|
| 25.2b | 7 | re |
| 18.9b | 9 | im |
| 25.5b | 3 | (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))) |
| 25.5b | 3 | (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))) |
| 25.6b | 3 | (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)) |
| 25.6b | 3 | (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) |
| 27.3b | 5 | (*.f64 im im) |
Compiled 163 to 119 computations (27% saved)
| 8× | binary-search |
| Time | Left | Right |
|---|---|---|
| 23.0ms | 2.9504234503807147e+105 | 1.1107312503969242e+122 |
| 7.0ms | 0.18722549612844513 | 0.24360567087052257 |
| 22.0ms | 1.7617879061895282e-60 | 2.7634780834322707e-58 |
| 23.0ms | 8.44819938833964e-81 | 2.829272655690707e-77 |
| 30.0ms | 3.509039957599945e-208 | 3.1231504087300827e-202 |
| 34.0ms | -4.7722725517755445e-147 | -1.8557832195237242e-163 |
| 20.0ms | -1.1662021405051466e+52 | -1.4506019583455933e+49 |
| 20.0ms | -1.9415540863029944e+64 | -2.3699073667649256e+62 |
| 94.0ms | 788× | body | 256 | valid |
| 31.0ms | 86× | body | 2048 | valid |
| 21.0ms | 47× | body | 4096 | valid |
| 16.0ms | 56× | body | 1024 | valid |
| 3.0ms | 15× | body | 512 | valid |
Compiled 1946 to 1518 computations (22% saved)
| Inputs |
|---|
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im)))) |
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re re)))) |
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 im -1) re)))) |
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 re -1) re)))) |
(*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 im))) |
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2)))) |
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))) |
| Outputs |
|---|
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 im -1) re)))) |
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2)))) |
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))) |
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re re)))) |
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))) |
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re re)))) |
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im)))) |
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))) |
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im)))) |
7 calls:
| 138.0ms | im |
| 118.0ms | (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) |
| 32.0ms | re |
| 12.0ms | (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))) |
| 10.0ms | (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)) |
| Error | Segments | Branch |
|---|---|---|
| 25.2b | 7 | re |
| 19.0b | 9 | im |
| 25.5b | 3 | (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))) |
| 25.5b | 3 | (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))) |
| 25.6b | 3 | (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)) |
| 25.6b | 3 | (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re) |
| 28.3b | 3 | (*.f64 im im) |
Compiled 141 to 101 computations (28.4% saved)
| 8× | binary-search |
| Time | Left | Right |
|---|---|---|
| 23.0ms | 2.9504234503807147e+105 | 1.1107312503969242e+122 |
| 8.0ms | 0.18722549612844513 | 0.24360567087052257 |
| 21.0ms | 1.7617879061895282e-60 | 2.7634780834322707e-58 |
| 26.0ms | 8.44819938833964e-81 | 2.829272655690707e-77 |
| 30.0ms | 3.509039957599945e-208 | 3.1231504087300827e-202 |
| 26.0ms | -6.34722731856428e-117 | -4.220395234414973e-121 |
| 20.0ms | -1.1662021405051466e+52 | -1.4506019583455933e+49 |
| 20.0ms | -1.9415540863029944e+64 | -2.3699073667649256e+62 |
| 95.0ms | 787× | body | 256 | valid |
| 23.0ms | 65× | body | 2048 | valid |
| 21.0ms | 46× | body | 4096 | valid |
| 15.0ms | 44× | body | 1024 | valid |
| 4.0ms | 18× | body | 512 | valid |
Compiled 1738 to 1354 computations (22.1% saved)
| Inputs |
|---|
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im)))) |
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re re)))) |
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 im -1) re)))) |
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 re -1) re)))) |
(*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 im))) |
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2)))) |
| Outputs |
|---|
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 im -1) re)))) |
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2)))) |
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 im -1) re)))) |
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re re)))) |
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im)))) |
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re re)))) |
(*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 im))) |
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im)))) |
2 calls:
| 35.0ms | im |
| 25.0ms | re |
| Error | Segments | Branch |
|---|---|---|
| 28.6b | 5 | re |
| 20.5b | 8 | im |
Compiled 63 to 50 computations (20.6% saved)
| 7× | binary-search |
| Time | Left | Right |
|---|---|---|
| 22.0ms | 1.8466697338960404e-39 | 9.526305360688859e-37 |
| 22.0ms | 1.7617879061895282e-60 | 2.7634780834322707e-58 |
| 25.0ms | 8.44819938833964e-81 | 2.829272655690707e-77 |
| 29.0ms | 4.413482784947031e-199 | 3.662120945324378e-193 |
| 27.0ms | -3.681996862624609e-110 | -6.34722731856428e-117 |
| 22.0ms | -1.1662021405051466e+52 | -1.4506019583455933e+49 |
| 17.0ms | -1.9415540863029944e+64 | -2.3699073667649256e+62 |
| 82.0ms | 714× | body | 256 | valid |
| 29.0ms | 71× | body | 2048 | valid |
| 22.0ms | 46× | body | 4096 | valid |
| 14.0ms | 41× | body | 1024 | valid |
| 5.0ms | 24× | body | 512 | valid |
Compiled 1347 to 1132 computations (16% saved)
| Inputs |
|---|
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im)))) |
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re re)))) |
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 im -1) re)))) |
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 re -1) re)))) |
(*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 im))) |
| Outputs |
|---|
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 im -1) re)))) |
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re re)))) |
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im)))) |
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re re)))) |
(*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 im))) |
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im)))) |
2 calls:
| 25.0ms | im |
| 23.0ms | re |
| Error | Segments | Branch |
|---|---|---|
| 32.5b | 5 | re |
| 21.6b | 6 | im |
Compiled 51 to 40 computations (21.6% saved)
| 5× | binary-search |
| Time | Left | Right |
|---|---|---|
| 22.0ms | 1.8466697338960404e-39 | 9.526305360688859e-37 |
| 22.0ms | 1.7617879061895282e-60 | 2.7634780834322707e-58 |
| 24.0ms | 8.44819938833964e-81 | 2.829272655690707e-77 |
| 31.0ms | 4.413482784947031e-199 | 3.662120945324378e-193 |
| 29.0ms | -3.681996862624609e-110 | -6.34722731856428e-117 |
| 55.0ms | 488× | body | 256 | valid |
| 28.0ms | 54× | body | 4096 | valid |
| 26.0ms | 70× | body | 2048 | valid |
| 8.0ms | 28× | body | 1024 | valid |
| 3.0ms | 16× | body | 512 | valid |
Compiled 927 to 772 computations (16.7% saved)
| Inputs |
|---|
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im)))) |
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re re)))) |
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 im -1) re)))) |
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 re -1) re)))) |
| Outputs |
|---|
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 im -1) re)))) |
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re re)))) |
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im)))) |
2 calls:
| 29.0ms | re |
| 14.0ms | im |
| Error | Segments | Branch |
|---|---|---|
| 31.7b | 7 | re |
| 22.6b | 3 | im |
Compiled 44 to 34 computations (22.7% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 32.0ms | 4.413482784947031e-199 | 3.662120945324378e-193 |
| 28.0ms | -3.681996862624609e-110 | -6.34722731856428e-117 |
| 23.0ms | 200× | body | 256 | valid |
| 14.0ms | 31× | body | 4096 | valid |
| 9.0ms | 25× | body | 2048 | valid |
| 5.0ms | 19× | body | 1024 | valid |
| 3.0ms | 13× | body | 512 | valid |
Compiled 436 to 358 computations (17.9% saved)
Total -25.2b remaining (-71.8%)
Threshold costs -25.2b (-71.8%)
| Inputs |
|---|
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im)))) |
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re re)))) |
| Outputs |
|---|
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re re)))) |
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im)))) |
2 calls:
| 8.0ms | re |
| 8.0ms | im |
| Error | Segments | Branch |
|---|---|---|
| 36.1b | 2 | re |
| 35.0b | 2 | im |
Compiled 24 to 18 computations (25% saved)
| 1× | binary-search |
| Time | Left | Right |
|---|---|---|
| 33.0ms | 4.413482784947031e-199 | 3.662120945324378e-193 |
| 11.0ms | 23× | body | 4096 | valid |
| 10.0ms | 87× | body | 256 | valid |
| 6.0ms | 17× | body | 2048 | valid |
| 2.0ms | 8× | body | 1024 | valid |
| 2.0ms | 9× | body | 512 | valid |
Compiled 220 to 178 computations (19.1% saved)
| 1× | egg-herbie |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 134 | 1383 |
| 1× | done |
| 1× | saturated |
| Inputs |
|---|
(if (<=.f64 im -239999999999999999270894012945443576537562558239179508602109952) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 im -1) re)))) (if (<=.f64 im -11499999999999999922040909755158721729309647082356736) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))))) (if (<=.f64 im -1038787686187039/247330401473104534060502521019647190035131349101211839914063056092897225106531867170316401061243044989597671426016139339351365034306751209967546155101893167916606772148699136) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))) (if (<=.f64 im 1345819152196885/11031304526203974597457456414861827591216226218170224705794538792432397774848431640257320003887617175667569787102671861633294128382337464639166223001902133228245297232354359845986844033174623155170927185464197384241152) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re re)))) (if (<=.f64 im 3389627864620585/130370302485407109521180524058200202307293977194619920040712988758680403184853549195737432064) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))) (if (<=.f64 im 2487720667207965/113078212145816597093331040047546785012958969400039613319782796882727665664) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re re)))) (if (<=.f64 im 7926335344172073/36028797018963968) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im)))) (if (<=.f64 im 50000000000000000777970806473342151213410069846053071668488529021541689058237785163249269495752372383810314043392) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im)))))))))))) |
(if (<=.f64 im -239999999999999999270894012945443576537562558239179508602109952) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 im -1) re)))) (if (<=.f64 im -11499999999999999922040909755158721729309647082356736) (*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2)))) (if (<=.f64 im -5116944619041073/11629419588729710248789180926208072549658261770997088964503843186890228609814366773219056811420217048972200345700258846936553626057834496) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))) (if (<=.f64 im 106865762597601/344728266443874206170545512964432112225507069317819522056079337263512430464013488758041250121488036739611555846958495676040441511948045769973944468809441663382665538511073745187088876036706973599091474545756168257536) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re re)))) (if (<=.f64 im 3650368469591399/130370302485407109521180524058200202307293977194619920040712988758680403184853549195737432064) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))) (if (<=.f64 im 5608679322432503/904625697166532776746648320380374280103671755200316906558262375061821325312) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re re)))) (if (<=.f64 im 3422735716801577/18014398509481984) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im)))) (if (<=.f64 im 2800000000000000058684642172207338889213699305215970890756464731540218947836242400647554222228219234814300666013300031488) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im)))))))))))) |
(if (<=.f64 im -239999999999999999270894012945443576537562558239179508602109952) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 im -1) re)))) (if (<=.f64 im -11499999999999999922040909755158721729309647082356736) (*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2)))) (if (<=.f64 im -5415370496329717/43322963970637732180912721627235682866194329302747133987038743447103457934462900359999600095377180907771737671271930809827721216) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 im -1) re)))) (if (<=.f64 im 6943379390043853/21040543606193494028963959531520514662201359211292695437993123612274928617188323288454666145110353804907931875424712870852077729000735215452511259082607523399820894684513778392766655031537290869085173006943125504) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re re)))) (if (<=.f64 im 604918203532289/2085924839766513752338888384931203236916703635113918720651407820138886450957656787131798913024) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im)))) (if (<=.f64 im 1764020109474739/904625697166532776746648320380374280103671755200316906558262375061821325312) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re re)))) (if (<=.f64 im 5670233501203789/3064991081731777716716694054300618367237478244367204352) (*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 im))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))))))))) |
(if (<=.f64 im -465383402028335/169230328010303641331690318856389386196071598838855992136870091590247882556495704531248437872567112920983350278405979725889536) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 im -1) re)))) (if (<=.f64 im 3544427511785525/10273702932711667006330058365000251299903007427389011444332579888806117488861485980690754953667164943802701111047223081470741078613640241920171513223929454785068796232672743355843093277117817807170494632296448) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re re)))) (if (<=.f64 im 3650368469591399/130370302485407109521180524058200202307293977194619920040712988758680403184853549195737432064) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im)))) (if (<=.f64 im 2352026812632985/452312848583266388373324160190187140051835877600158453279131187530910662656) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re re)))) (if (<=.f64 im 5670233501203789/3064991081731777716716694054300618367237478244367204352) (*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 im))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))))))) |
(if (<=.f64 im -6099873327065793/1386334847060407429789207092071541851718218537687908287585239790307310653902812811519987203052069789048695605480701785914487078912) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 im -1) re)))) (if (<=.f64 im 1515371182574971/5136851466355833503165029182500125649951503713694505722166289944403058744430742990345377476833582471901350555523611540735370539306820120960085756611964727392534398116336371677921546638558908903585247316148224) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re re)))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im)))))) |
(if (<=.f64 im 462316631972025/1284212866588958375791257295625031412487875928423626430541572486100764686107685747586344369208395617975337638880902885183842634826705030240021439152991181848133599529084092919480386659639727225896311829037056) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re re)))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))) |
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im)))) |
| Outputs |
|---|
(if (<=.f64 im -239999999999999999270894012945443576537562558239179508602109952) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 im -1) re)))) (if (<=.f64 im -11499999999999999922040909755158721729309647082356736) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))))) (if (<=.f64 im -1038787686187039/247330401473104534060502521019647190035131349101211839914063056092897225106531867170316401061243044989597671426016139339351365034306751209967546155101893167916606772148699136) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))) (if (<=.f64 im 1345819152196885/11031304526203974597457456414861827591216226218170224705794538792432397774848431640257320003887617175667569787102671861633294128382337464639166223001902133228245297232354359845986844033174623155170927185464197384241152) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re re)))) (if (<=.f64 im 3389627864620585/130370302485407109521180524058200202307293977194619920040712988758680403184853549195737432064) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))) (if (<=.f64 im 2487720667207965/113078212145816597093331040047546785012958969400039613319782796882727665664) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re re)))) (if (<=.f64 im 7926335344172073/36028797018963968) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im)))) (if (<=.f64 im 50000000000000000777970806473342151213410069846053071668488529021541689058237785163249269495752372383810314043392) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im)))))))))))) |
(if (<=.f64 im -239999999999999999270894012945443576537562558239179508602109952) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 im -1) re)))) (if (<=.f64 im -11499999999999999922040909755158721729309647082356736) (*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2)))) (if (<=.f64 im -5116944619041073/11629419588729710248789180926208072549658261770997088964503843186890228609814366773219056811420217048972200345700258846936553626057834496) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))) (if (<=.f64 im 106865762597601/344728266443874206170545512964432112225507069317819522056079337263512430464013488758041250121488036739611555846958495676040441511948045769973944468809441663382665538511073745187088876036706973599091474545756168257536) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re re)))) (if (<=.f64 im 3650368469591399/130370302485407109521180524058200202307293977194619920040712988758680403184853549195737432064) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))) (if (<=.f64 im 5608679322432503/904625697166532776746648320380374280103671755200316906558262375061821325312) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re re)))) (if (<=.f64 im 3422735716801577/18014398509481984) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im)))) (if (<=.f64 im 2800000000000000058684642172207338889213699305215970890756464731540218947836242400647554222228219234814300666013300031488) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im)))))))))))) |
(if (<=.f64 im -239999999999999999270894012945443576537562558239179508602109952) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 im -1) re)))) (if (<=.f64 im -11499999999999999922040909755158721729309647082356736) (*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (/.f64 (pow.f64 im 2) re) -1/2)))) (if (<=.f64 im -5415370496329717/43322963970637732180912721627235682866194329302747133987038743447103457934462900359999600095377180907771737671271930809827721216) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 im -1) re)))) (if (<=.f64 im 6943379390043853/21040543606193494028963959531520514662201359211292695437993123612274928617188323288454666145110353804907931875424712870852077729000735215452511259082607523399820894684513778392766655031537290869085173006943125504) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re re)))) (if (<=.f64 im 604918203532289/2085924839766513752338888384931203236916703635113918720651407820138886450957656787131798913024) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im)))) (if (<=.f64 im 1764020109474739/904625697166532776746648320380374280103671755200316906558262375061821325312) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re re)))) (if (<=.f64 im 5670233501203789/3064991081731777716716694054300618367237478244367204352) (*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 im))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))))))))) |
(if (<=.f64 im -465383402028335/169230328010303641331690318856389386196071598838855992136870091590247882556495704531248437872567112920983350278405979725889536) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 im -1) re)))) (if (<=.f64 im 3544427511785525/10273702932711667006330058365000251299903007427389011444332579888806117488861485980690754953667164943802701111047223081470741078613640241920171513223929454785068796232672743355843093277117817807170494632296448) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re re)))) (if (<=.f64 im 3650368469591399/130370302485407109521180524058200202307293977194619920040712988758680403184853549195737432064) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im)))) (if (<=.f64 im 2352026812632985/452312848583266388373324160190187140051835877600158453279131187530910662656) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re re)))) (if (<=.f64 im 5670233501203789/3064991081731777716716694054300618367237478244367204352) (*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 im))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))))))) |
(if (<=.f64 im -6099873327065793/1386334847060407429789207092071541851718218537687908287585239790307310653902812811519987203052069789048695605480701785914487078912) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (*.f64 im -1) re)))) (if (<=.f64 im 1515371182574971/5136851466355833503165029182500125649951503713694505722166289944403058744430742990345377476833582471901350555523611540735370539306820120960085756611964727392534398116336371677921546638558908903585247316148224) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re re)))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im)))))) |
(if (<=.f64 im 462316631972025/1284212866588958375791257295625031412487875928423626430541572486100764686107685747586344369208395617975337638880902885183842634826705030240021439152991181848133599529084092919480386659639727225896311829037056) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re re)))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))) |
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im)))) |
Compiled 516 to 363 computations (29.7% saved)
| 2× | egg-herbie |
| 382× | rational.json-simplify-1 |
| 382× | rational.json-simplify-1 |
| 256× | rational.json-simplify-33 |
| 256× | rational.json-simplify-33 |
| 42× | rational.json-simplify-2 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 106 | 2654 |
| 1 | 194 | 2654 |
| 2 | 301 | 2654 |
| 3 | 412 | 2654 |
| 4 | 477 | 2654 |
| 5 | 482 | 2654 |
| 0 | 106 | 2654 |
| 1 | 194 | 2654 |
| 2 | 301 | 2654 |
| 3 | 412 | 2654 |
| 4 | 477 | 2654 |
| 5 | 482 | 2654 |
| 1× | saturated |
| 1× | saturated |
Compiled 112 to 92 computations (17.9% saved)
Compiled 504 to 334 computations (33.7% saved)
Loading profile data...