
Time bar (total: 6.5s)
| 1× | search |
| Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
|---|---|---|---|---|---|---|---|
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 0 |
| 100% | 99.9% | 0% | 0.1% | 0% | 0% | 0% | 1 |
Compiled 15 to 12 computations (20% saved)
ival-sub, time spent: 0.0ms, 0.0% of total-timeival-exp, time spent: 0.0ms, 0.0% of total-timeival-add, time spent: 0.0ms, 0.0% of total-timeival-mult, time spent: 0.0ms, 0.0% of total-timeconst, time spent: 0.0ms, 0.0% of total-timeival-sin, time spent: 0.0ms, 0.0% of total-time| 845.0ms | 4188× | 256 | valid |
| 725.0ms | 4066× | 256 | infinite |
| 0.0ms | 1× | 256 | infinite |
| 0.0ms | 1× | 512 | valid |
ival-sin, time spent: 255.0ms, 34.0% of total-timeival-mult, time spent: 218.0ms, 29.0% of total-timeival-exp, time spent: 132.0ms, 17.0% of total-timeival-sub, time spent: 77.0ms, 10.0% of total-timeival-add, time spent: 58.0ms, 8.0% of total-timeconst, time spent: 19.0ms, 3.0% of total-time| 1× | egg-herbie |
| 1978× | fma-neg |
| 1450× | fma-define |
| 528× | times-frac |
| 430× | distribute-lft-neg-in |
| 340× | unsub-neg |
| Ground Truth | Overpredictions | Example | Underpredictions | Example | Subexpression |
|---|---|---|---|---|---|
| 0 | 0 | - | 0 | - | re |
| 0 | 0 | - | 0 | - | (*.f64 1/2 (sin.f64 re)) |
| 0 | 0 | - | 0 | - | (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))) |
| 0 | 0 | - | 0 | - | 1/2 |
| 0 | 0 | - | 0 | - | im |
| 0 | 0 | - | 0 | - | (-.f64 0 im) |
| 0 | 0 | - | 0 | - | (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)) |
| 0 | 2 | (2.7651482345644876e-169 115.89789498309474) | 0 | - | (exp.f64 (-.f64 0 im)) |
| 0 | 0 | - | 0 | - | (sin.f64 re) |
| 0 | 0 | - | 0 | - | (exp.f64 im) |
| 0 | 0 | - | 0 | - | 0 |
Useful iterations: 4 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 36 | 316 |
| 1 | 111 | 308 |
| 2 | 397 | 308 |
| 3 | 986 | 298 |
| 4 | 1988 | 294 |
| 5 | 3213 | 294 |
| 6 | 3708 | 294 |
| 7 | 4185 | 294 |
| 8 | 4839 | 294 |
| 9 | 4992 | 294 |
| 10 | 5009 | 294 |
| 11 | 5009 | 294 |
| 12 | 5041 | 294 |
| 13 | 5070 | 294 |
| 14 | 5070 | 294 |
| 1× | saturated |
| Inputs |
|---|
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))) |
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))) |
(*.f64 (*.f64 1/2 (sin.f64 (neg.f64 re))) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))) |
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 (neg.f64 im))) (exp.f64 (neg.f64 im)))) |
(neg.f64 (*.f64 (*.f64 1/2 (sin.f64 (neg.f64 re))) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))) |
(neg.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 (neg.f64 im))) (exp.f64 (neg.f64 im))))) |
(*.f64 (*.f64 1/2 (sin.f64 im)) (+.f64 (exp.f64 (-.f64 0 re)) (exp.f64 re))) |
| Outputs |
|---|
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))) |
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) |
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))) |
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) |
(*.f64 (*.f64 1/2 (sin.f64 (neg.f64 re))) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))) |
(*.f64 1/2 (*.f64 (neg.f64 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) |
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (sin.f64 re) -1/2)) |
(*.f64 (sin.f64 re) (*.f64 -1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) |
(*.f64 (sin.f64 re) (fma.f64 (exp.f64 im) -1/2 (/.f64 -1/2 (exp.f64 im)))) |
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 (neg.f64 im))) (exp.f64 (neg.f64 im)))) |
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) |
(neg.f64 (*.f64 (*.f64 1/2 (sin.f64 (neg.f64 re))) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))) |
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) |
(neg.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 (neg.f64 im))) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (*.f64 (neg.f64 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) |
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (sin.f64 re) -1/2)) |
(*.f64 (sin.f64 re) (*.f64 -1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) |
(*.f64 (sin.f64 re) (fma.f64 (exp.f64 im) -1/2 (/.f64 -1/2 (exp.f64 im)))) |
(*.f64 (*.f64 1/2 (sin.f64 im)) (+.f64 (exp.f64 (-.f64 0 re)) (exp.f64 re))) |
(*.f64 (*.f64 1/2 (sin.f64 im)) (+.f64 (exp.f64 (neg.f64 re)) (exp.f64 re))) |
(*.f64 (sin.f64 im) (*.f64 1/2 (+.f64 (exp.f64 (neg.f64 re)) (exp.f64 re)))) |
(*.f64 (sin.f64 im) (fma.f64 1/2 (exp.f64 re) (/.f64 1/2 (exp.f64 re)))) |
(abs im)
(negabs re)
Compiled 96 to 61 computations (36.5% saved)
ival-mult, time spent: 33.0ms, 32.0% of total-timeival-exp, time spent: 21.0ms, 20.0% of total-timeival-add, time spent: 19.0ms, 18.0% of total-timeival-sin, time spent: 17.0ms, 16.0% of total-timeival-sub, time spent: 10.0ms, 10.0% of total-timeconst, time spent: 3.0ms, 3.0% of total-timeCompiled 24 to 15 computations (37.5% saved)
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 100.0% | (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
Compiled 13 to 10 computations (23.1% saved)
Found 2 expressions with local error:
| New | Accuracy | Program |
|---|---|---|
| ✓ | 100.0% | (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
| ✓ | 100.0% | (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
Compiled 36 to 14 computations (61.1% saved)
ival-mult, time spent: 9.0ms, 39.0% of total-timeival-sin, time spent: 7.0ms, 30.0% of total-timeival-exp, time spent: 4.0ms, 17.0% of total-timeival-add, time spent: 2.0ms, 9.0% of total-timeconst, time spent: 1.0ms, 4.0% of total-timeival-neg, time spent: 1.0ms, 4.0% of total-time| Inputs |
|---|
#<alt (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))> |
#<alt (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))> |
| Outputs |
|---|
#<alt (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))> |
#<alt (*.f64 re (+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))> |
#<alt (*.f64 re (+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/12 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 1/240 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))))> |
#<alt (*.f64 re (+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/12 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/10080 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/240 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))))> |
#<alt (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))> |
#<alt (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))> |
#<alt (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))> |
#<alt (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))> |
#<alt (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))> |
#<alt (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))> |
#<alt (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))> |
#<alt (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))> |
#<alt (sin.f64 re)> |
#<alt (+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))))> |
#<alt (+.f64 (sin.f64 re) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 2) (sin.f64 re))) (*.f64 1/2 (sin.f64 re)))))> |
#<alt (+.f64 (sin.f64 re) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/720 (*.f64 (pow.f64 im 2) (sin.f64 re))) (*.f64 1/24 (sin.f64 re)))))))> |
#<alt (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))> |
#<alt (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))> |
#<alt (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))> |
#<alt (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))> |
#<alt (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))> |
#<alt (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))> |
#<alt (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))> |
#<alt (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))> |
#<alt 2> |
#<alt (+.f64 2 (pow.f64 im 2))> |
#<alt (+.f64 2 (*.f64 (pow.f64 im 2) (+.f64 1 (*.f64 1/12 (pow.f64 im 2)))))> |
#<alt (+.f64 2 (*.f64 (pow.f64 im 2) (+.f64 1 (*.f64 (pow.f64 im 2) (+.f64 1/12 (*.f64 1/360 (pow.f64 im 2)))))))> |
#<alt (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))> |
#<alt (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))> |
#<alt (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))> |
#<alt (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))> |
#<alt (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))> |
#<alt (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))> |
#<alt (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))> |
#<alt (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))> |
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 5.0ms | im | @ | inf | (* (* 1/2 (sin re)) (+ (exp (neg im)) (exp im))) |
| 1.0ms | re | @ | 0 | (* (* 1/2 (sin re)) (+ (exp (neg im)) (exp im))) |
| 1.0ms | im | @ | -inf | (* (* 1/2 (sin re)) (+ (exp (neg im)) (exp im))) |
| 1.0ms | re | @ | -inf | (* (* 1/2 (sin re)) (+ (exp (neg im)) (exp im))) |
| 1.0ms | re | @ | inf | (* (* 1/2 (sin re)) (+ (exp (neg im)) (exp im))) |
| 1× | batch-egg-rewrite |
| 200× | associate-*r* |
| 128× | associate-*l* |
| 90× | add-exp-log |
| 90× | add-log-exp |
| 90× | log1p-expm1-u |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 16 | 69 |
| 1 | 202 | 69 |
| 2 | 3306 | 69 |
| 1× | unsound |
| Inputs |
|---|
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) |
| Outputs |
|---|
(+.f64 (sin.f64 re) (sin.f64 re)) |
(+.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2)) |
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) -2))) 1) |
(/.f64 (*.f64 (sin.f64 re) -2) -2) |
(/.f64 (*.f64 (sin.f64 re) -2) 1) |
(/.f64 (*.f64 (sin.f64 re) -2) (+.f64 (*.f64 (sin.f64 re) -2) (-.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2)))) |
(/.f64 (-.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2)) (-.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2))) |
(pow.f64 (*.f64 (sin.f64 re) -2) -2) |
(pow.f64 (*.f64 (sin.f64 re) -2) 1) |
(pow.f64 (*.f64 (sin.f64 re) -2) 1/3) |
(sqrt.f64 (*.f64 (sin.f64 re) -2)) |
(fabs.f64 (*.f64 (sin.f64 re) -2)) |
(log.f64 (pow.f64 1 (sin.f64 re))) |
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) -2)))) |
(cbrt.f64 (*.f64 (sin.f64 re) -2)) |
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) -2))) |
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) -2))) |
(exp.f64 (log.f64 (*.f64 (sin.f64 re) -2))) |
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) -2)) 1)) |
(exp.f64 (+.f64 (log.f64 (*.f64 (sin.f64 re) -2)) -2)) |
(fma.f64 1 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2)) |
(fma.f64 (*.f64 (sin.f64 re) -2) 1 (*.f64 (sin.f64 re) -2)) |
-2 |
0 |
1/4 |
1/2 |
3/2 |
2 |
| 1× | egg-herbie |
| 1226× | fma-define |
| 918× | associate-*r* |
| 724× | associate-*l* |
| 658× | associate-*r/ |
| 652× | associate-*l/ |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 119 | 2103 |
| 1 | 361 | 1906 |
| 2 | 1243 | 1906 |
| 3 | 4594 | 1906 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 re (+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))) |
(*.f64 re (+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/12 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 1/240 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))) |
(*.f64 re (+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/12 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/10080 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/240 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))))) |
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(sin.f64 re) |
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))) |
(+.f64 (sin.f64 re) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 2) (sin.f64 re))) (*.f64 1/2 (sin.f64 re))))) |
(+.f64 (sin.f64 re) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/720 (*.f64 (pow.f64 im 2) (sin.f64 re))) (*.f64 1/24 (sin.f64 re))))))) |
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))))) |
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))))) |
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))))) |
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))))) |
2 |
(+.f64 2 (pow.f64 im 2)) |
(+.f64 2 (*.f64 (pow.f64 im 2) (+.f64 1 (*.f64 1/12 (pow.f64 im 2))))) |
(+.f64 2 (*.f64 (pow.f64 im 2) (+.f64 1 (*.f64 (pow.f64 im 2) (+.f64 1/12 (*.f64 1/360 (pow.f64 im 2))))))) |
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) |
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) |
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) |
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) |
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) |
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) |
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) |
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) |
(+.f64 (sin.f64 re) (sin.f64 re)) |
(+.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2)) |
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) -2))) 1) |
(/.f64 (*.f64 (sin.f64 re) -2) -2) |
(/.f64 (*.f64 (sin.f64 re) -2) 1) |
(/.f64 (*.f64 (sin.f64 re) -2) (+.f64 (*.f64 (sin.f64 re) -2) (-.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2)))) |
(/.f64 (-.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2)) (-.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2))) |
(pow.f64 (*.f64 (sin.f64 re) -2) -2) |
(pow.f64 (*.f64 (sin.f64 re) -2) 1) |
(pow.f64 (*.f64 (sin.f64 re) -2) 1/3) |
(sqrt.f64 (*.f64 (sin.f64 re) -2)) |
(fabs.f64 (*.f64 (sin.f64 re) -2)) |
(log.f64 (pow.f64 1 (sin.f64 re))) |
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) -2)))) |
(cbrt.f64 (*.f64 (sin.f64 re) -2)) |
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) -2))) |
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) -2))) |
(exp.f64 (log.f64 (*.f64 (sin.f64 re) -2))) |
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) -2)) 1)) |
(exp.f64 (+.f64 (log.f64 (*.f64 (sin.f64 re) -2)) -2)) |
(fma.f64 1 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2)) |
(fma.f64 (*.f64 (sin.f64 re) -2) 1 (*.f64 (sin.f64 re) -2)) |
-2 |
0 |
1/4 |
1/2 |
3/2 |
2 |
| Outputs |
|---|
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) |
(*.f64 re (+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))) |
(*.f64 re (fma.f64 -1/12 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 2)) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))) |
(*.f64 re (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 -1/12 (pow.f64 re 2)) 1/2))) |
(*.f64 re (+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/12 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 1/240 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))) |
(*.f64 re (fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (pow.f64 re 2) (fma.f64 -1/12 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 2)) 1/240))))) |
(*.f64 re (fma.f64 (pow.f64 re 2) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 -1/12 (*.f64 (pow.f64 re 2) 1/240))) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))) |
(*.f64 re (+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/12 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/10080 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/240 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))))) |
(*.f64 re (fma.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (pow.f64 re 2) (fma.f64 -1/12 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (pow.f64 re 2) (fma.f64 -1/10080 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 2)) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1/240))))))) |
(*.f64 re (+.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 -1/12 (pow.f64 re 2)) 1/2)) (*.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 (pow.f64 re 2) -1/10080) 1/240)) (*.f64 (pow.f64 re 2) (pow.f64 re 2))))) |
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re))) |
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re)) |
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re))) |
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re)) |
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re))) |
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re)) |
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re))) |
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re)) |
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re))) |
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re)) |
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re))) |
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re)) |
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re))) |
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re)) |
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re))) |
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re)) |
(sin.f64 re) |
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))) |
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))) |
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (sin.f64 re)) |
(+.f64 (sin.f64 re) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 2) (sin.f64 re))) (*.f64 1/2 (sin.f64 re))))) |
(+.f64 (sin.f64 re) (*.f64 (pow.f64 im 2) (fma.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 2)) (*.f64 1/2 (sin.f64 re))))) |
(fma.f64 (pow.f64 im 2) (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 2) 1/24) 1/2)) (sin.f64 re)) |
(+.f64 (sin.f64 re) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/720 (*.f64 (pow.f64 im 2) (sin.f64 re))) (*.f64 1/24 (sin.f64 re))))))) |
(+.f64 (sin.f64 re) (*.f64 (pow.f64 im 2) (fma.f64 1/2 (sin.f64 re) (*.f64 (pow.f64 im 2) (fma.f64 1/720 (*.f64 (sin.f64 re) (pow.f64 im 2)) (*.f64 (sin.f64 re) 1/24)))))) |
(fma.f64 (pow.f64 im 2) (fma.f64 (pow.f64 im 2) (*.f64 (sin.f64 re) (+.f64 1/24 (*.f64 (pow.f64 im 2) 1/720))) (*.f64 1/2 (sin.f64 re))) (sin.f64 re)) |
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re))) |
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re)) |
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re))) |
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re)) |
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re))) |
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re)) |
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re))) |
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re)) |
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))))) |
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re))) |
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re)) |
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))))) |
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re))) |
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re)) |
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))))) |
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re))) |
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re)) |
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))))) |
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re))) |
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re)) |
2 |
(sin.f64 re) |
(+.f64 2 (pow.f64 im 2)) |
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))) |
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (sin.f64 re)) |
(+.f64 2 (*.f64 (pow.f64 im 2) (+.f64 1 (*.f64 1/12 (pow.f64 im 2))))) |
(+.f64 2 (*.f64 (pow.f64 im 2) (+.f64 1 (*.f64 (pow.f64 im 2) 1/12)))) |
(fma.f64 (pow.f64 im 2) (fma.f64 (pow.f64 im 2) 1/12 1) 2) |
(+.f64 2 (*.f64 (pow.f64 im 2) (+.f64 1 (*.f64 (pow.f64 im 2) (+.f64 1/12 (*.f64 1/360 (pow.f64 im 2))))))) |
(+.f64 2 (*.f64 (pow.f64 im 2) (+.f64 1 (*.f64 (pow.f64 im 2) (+.f64 1/12 (*.f64 (pow.f64 im 2) 1/360)))))) |
(fma.f64 (pow.f64 im 2) (fma.f64 (pow.f64 im 2) (fma.f64 (pow.f64 im 2) 1/360 1/12) 1) 2) |
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) |
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re))) |
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re)) |
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) |
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re))) |
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re)) |
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) |
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re))) |
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re)) |
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) |
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re))) |
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re)) |
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) |
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re))) |
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re)) |
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) |
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re))) |
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re)) |
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) |
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re))) |
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re)) |
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) |
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re))) |
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re)) |
(+.f64 (sin.f64 re) (sin.f64 re)) |
(sin.f64 re) |
(+.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2)) |
(sin.f64 re) |
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) -2))) 1) |
(sin.f64 re) |
(/.f64 (*.f64 (sin.f64 re) -2) -2) |
(sin.f64 re) |
(/.f64 (*.f64 (sin.f64 re) -2) 1) |
(sin.f64 re) |
(/.f64 (*.f64 (sin.f64 re) -2) (+.f64 (*.f64 (sin.f64 re) -2) (-.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2)))) |
(sin.f64 re) |
(/.f64 (-.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2)) (-.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2))) |
(sin.f64 re) |
(pow.f64 (*.f64 (sin.f64 re) -2) -2) |
(sin.f64 re) |
(pow.f64 (*.f64 (sin.f64 re) -2) 1) |
(sin.f64 re) |
(pow.f64 (*.f64 (sin.f64 re) -2) 1/3) |
(sin.f64 re) |
(sqrt.f64 (*.f64 (sin.f64 re) -2)) |
(sin.f64 re) |
(fabs.f64 (*.f64 (sin.f64 re) -2)) |
(sin.f64 re) |
(log.f64 (pow.f64 1 (sin.f64 re))) |
(sin.f64 re) |
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) -2)))) |
(sin.f64 re) |
(cbrt.f64 (*.f64 (sin.f64 re) -2)) |
(sin.f64 re) |
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) -2))) |
(sin.f64 re) |
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) -2))) |
(sin.f64 re) |
(exp.f64 (log.f64 (*.f64 (sin.f64 re) -2))) |
(sin.f64 re) |
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) -2)) 1)) |
(sin.f64 re) |
(exp.f64 (+.f64 (log.f64 (*.f64 (sin.f64 re) -2)) -2)) |
(sin.f64 re) |
(fma.f64 1 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2)) |
(sin.f64 re) |
(fma.f64 (*.f64 (sin.f64 re) -2) 1 (*.f64 (sin.f64 re) -2)) |
(sin.f64 re) |
-2 |
(sin.f64 re) |
0 |
(sin.f64 re) |
1/4 |
(sin.f64 re) |
1/2 |
(sin.f64 re) |
3/2 |
(sin.f64 re) |
2 |
(sin.f64 re) |
Compiled 901 to 509 computations (43.5% saved)
6 alts after pruning (5 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 58 | 5 | 63 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 58 | 6 | 64 |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 19.6% | (pow.f64 (*.f64 (sin.f64 re) -2) -2) |
| ▶ | 10.6% | (+.f64 (sin.f64 re) (sin.f64 re)) |
| ▶ | 73.2% | (*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (sin.f64 re)) |
| ✓ | 100.0% | (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
| ▶ | 65.2% | (*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
| ▶ | 49.6% | (sin.f64 re) |
Compiled 99 to 76 computations (23.2% saved)
Found 6 expressions with local error:
| New | Accuracy | Program |
|---|---|---|
| ✓ | 100.0% | (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) |
| ✓ | 100.0% | (*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
| ✓ | 99.6% | (pow.f64 (*.f64 (sin.f64 re) -2) -2) |
| ✓ | 100.0% | (+.f64 (*.f64 1/2 (pow.f64 im 2)) 1) |
| ✓ | 100.0% | (*.f64 1/2 (pow.f64 im 2)) |
| ✓ | 94.8% | (*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (sin.f64 re)) |
Compiled 89 to 44 computations (50.6% saved)
ival-pow, time spent: 19.0ms, 33.0% of total-timeival-mult, time spent: 16.0ms, 28.0% of total-timeival-add, time spent: 7.0ms, 12.0% of total-timeival-sin, time spent: 7.0ms, 12.0% of total-timeival-exp, time spent: 4.0ms, 7.0% of total-timeconst, time spent: 3.0ms, 5.0% of total-timeival-neg, time spent: 1.0ms, 2.0% of total-time| Inputs |
|---|
#<alt (*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (sin.f64 re))> |
#<alt (*.f64 1/2 (pow.f64 im 2))> |
#<alt (+.f64 (*.f64 1/2 (pow.f64 im 2)) 1)> |
#<alt (pow.f64 (*.f64 (sin.f64 re) -2) -2)> |
#<alt (*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))> |
#<alt (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))> |
| Outputs |
|---|
#<alt (sin.f64 re)> |
#<alt (+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))))> |
#<alt (+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))))> |
#<alt (+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))))> |
#<alt (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))> |
#<alt (*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (sin.f64 re) (pow.f64 im 2))))> |
#<alt (*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (sin.f64 re) (pow.f64 im 2))))> |
#<alt (*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (sin.f64 re) (pow.f64 im 2))))> |
#<alt (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))> |
#<alt (*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (sin.f64 re) (pow.f64 im 2))))> |
#<alt (*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (sin.f64 re) (pow.f64 im 2))))> |
#<alt (*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (sin.f64 re) (pow.f64 im 2))))> |
#<alt (*.f64 re (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))> |
#<alt (*.f64 re (+.f64 1 (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 2) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))) (*.f64 1/2 (pow.f64 im 2)))))> |
#<alt (*.f64 re (+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/6 (+.f64 1 (*.f64 1/2 (pow.f64 im 2)))) (*.f64 1/120 (*.f64 (pow.f64 re 2) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))))))))> |
#<alt (*.f64 re (+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/6 (+.f64 1 (*.f64 1/2 (pow.f64 im 2)))) (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 re 2) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))) (*.f64 1/120 (+.f64 1 (*.f64 1/2 (pow.f64 im 2)))))))))))> |
#<alt (*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))> |
#<alt (*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))> |
#<alt (*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))> |
#<alt (*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))> |
#<alt (*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))> |
#<alt (*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))> |
#<alt (*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))> |
#<alt (*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))> |
#<alt 1> |
#<alt (+.f64 1 (*.f64 1/2 (pow.f64 im 2)))> |
#<alt (+.f64 1 (*.f64 1/2 (pow.f64 im 2)))> |
#<alt (+.f64 1 (*.f64 1/2 (pow.f64 im 2)))> |
#<alt (*.f64 1/2 (pow.f64 im 2))> |
#<alt (*.f64 (pow.f64 im 2) (+.f64 1/2 (/.f64 1 (pow.f64 im 2))))> |
#<alt (*.f64 (pow.f64 im 2) (+.f64 1/2 (/.f64 1 (pow.f64 im 2))))> |
#<alt (*.f64 (pow.f64 im 2) (+.f64 1/2 (/.f64 1 (pow.f64 im 2))))> |
#<alt (*.f64 1/2 (pow.f64 im 2))> |
#<alt (*.f64 (pow.f64 im 2) (+.f64 1/2 (/.f64 1 (pow.f64 im 2))))> |
#<alt (*.f64 (pow.f64 im 2) (+.f64 1/2 (/.f64 1 (pow.f64 im 2))))> |
#<alt (*.f64 (pow.f64 im 2) (+.f64 1/2 (/.f64 1 (pow.f64 im 2))))> |
#<alt (/.f64 1/4 (pow.f64 re 2))> |
#<alt (/.f64 (+.f64 1/4 (*.f64 1/12 (pow.f64 re 2))) (pow.f64 re 2))> |
#<alt (/.f64 (+.f64 1/4 (*.f64 (pow.f64 re 2) (+.f64 1/12 (*.f64 1/60 (pow.f64 re 2))))) (pow.f64 re 2))> |
#<alt (/.f64 (+.f64 1/4 (*.f64 (pow.f64 re 2) (+.f64 1/12 (*.f64 (pow.f64 re 2) (+.f64 1/60 (*.f64 1/378 (pow.f64 re 2))))))) (pow.f64 re 2))> |
#<alt (/.f64 1/4 (pow.f64 (sin.f64 re) 2))> |
#<alt (/.f64 1/4 (pow.f64 (sin.f64 re) 2))> |
#<alt (/.f64 1/4 (pow.f64 (sin.f64 re) 2))> |
#<alt (/.f64 1/4 (pow.f64 (sin.f64 re) 2))> |
#<alt (/.f64 1/4 (pow.f64 (sin.f64 re) 2))> |
#<alt (/.f64 1/4 (pow.f64 (sin.f64 re) 2))> |
#<alt (/.f64 1/4 (pow.f64 (sin.f64 re) 2))> |
#<alt (/.f64 1/4 (pow.f64 (sin.f64 re) 2))> |
#<alt (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))> |
#<alt (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))> |
#<alt (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))> |
#<alt (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))> |
#<alt (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))> |
#<alt (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))> |
#<alt (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))> |
#<alt (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))> |
#<alt (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))> |
#<alt (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))> |
#<alt (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))> |
#<alt (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))> |
#<alt re> |
#<alt (+.f64 re (*.f64 1/2 (*.f64 (pow.f64 im 2) re)))> |
#<alt (+.f64 re (*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 2) re)) (*.f64 1/2 re))))> |
#<alt (+.f64 re (*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/2 re) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/720 (*.f64 (pow.f64 im 2) re)) (*.f64 1/24 re))))))> |
#<alt (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))> |
#<alt (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))> |
#<alt (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))> |
#<alt (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))> |
#<alt (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))> |
#<alt (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))> |
#<alt (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))> |
#<alt (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))> |
#<alt 2> |
#<alt (+.f64 2 (pow.f64 im 2))> |
#<alt (+.f64 2 (*.f64 (pow.f64 im 2) (+.f64 1 (*.f64 1/12 (pow.f64 im 2)))))> |
#<alt (+.f64 2 (*.f64 (pow.f64 im 2) (+.f64 1 (*.f64 (pow.f64 im 2) (+.f64 1/12 (*.f64 1/360 (pow.f64 im 2)))))))> |
#<alt (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))> |
#<alt (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))> |
#<alt (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))> |
#<alt (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))> |
24 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 3.0ms | re | @ | 0 | (* (* 1/2 re) (+ (exp im) (exp (neg im)))) |
| 1.0ms | im | @ | inf | (* 1/2 (pow im 2)) |
| 1.0ms | re | @ | -inf | (pow (* (sin re) -2) -2) |
| 1.0ms | re | @ | inf | (pow (* (sin re) -2) -2) |
| 1.0ms | re | @ | inf | (* (* 1/2 re) (+ (exp im) (exp (neg im)))) |
| 1× | batch-egg-rewrite |
| 326× | associate-*r* |
| 216× | associate-*l* |
| 155× | log1p-expm1-u |
| 155× | expm1-log1p-u |
| 152× | add-exp-log |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 25 | 186 |
| 1 | 353 | 186 |
| 2 | 5692 | 186 |
| 1× | unsound |
| Inputs |
|---|
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (sin.f64 re)) |
(*.f64 1/2 (pow.f64 im 2)) |
(+.f64 (*.f64 1/2 (pow.f64 im 2)) 1) |
(pow.f64 (*.f64 (sin.f64 re) -2) -2) |
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) |
| Outputs |
|---|
-4 |
-2 |
-1 |
-1/2 |
0 |
1/16 |
1/8 |
1/4 |
1/2 |
1 |
3/2 |
2 |
3 |
4 |
-4 |
-2 |
-1 |
-1/2 |
0 |
1/16 |
1/8 |
1/4 |
1/2 |
1 |
3/2 |
2 |
3 |
4 |
-4 |
-2 |
-1 |
-1/2 |
0 |
1/16 |
1/8 |
1/4 |
1/2 |
1 |
3/2 |
2 |
3 |
4 |
-4 |
-2 |
-1 |
-1/2 |
0 |
1/16 |
1/8 |
1/4 |
1/2 |
1 |
3/2 |
2 |
3 |
4 |
-4 |
-2 |
-1 |
-1/2 |
0 |
1/16 |
1/8 |
1/4 |
1/2 |
1 |
3/2 |
2 |
3 |
4 |
-4 |
-2 |
-1 |
-1/2 |
0 |
1/16 |
1/8 |
1/4 |
1/2 |
1 |
3/2 |
2 |
3 |
4 |
| 1× | egg-herbie |
| 1652× | associate-+r+ |
| 1556× | fma-define |
| 1508× | associate-+l+ |
| 1302× | associate-*r* |
| 1098× | associate-*l* |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 124 | 3038 |
| 1 | 367 | 2678 |
| 2 | 1242 | 2623 |
| 3 | 4824 | 2595 |
| 1× | node limit |
| Inputs |
|---|
(sin.f64 re) |
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))) |
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))) |
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))) |
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))) |
(*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (sin.f64 re) (pow.f64 im 2)))) |
(*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (sin.f64 re) (pow.f64 im 2)))) |
(*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (sin.f64 re) (pow.f64 im 2)))) |
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))) |
(*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (sin.f64 re) (pow.f64 im 2)))) |
(*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (sin.f64 re) (pow.f64 im 2)))) |
(*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (sin.f64 re) (pow.f64 im 2)))) |
(*.f64 re (+.f64 1 (*.f64 1/2 (pow.f64 im 2)))) |
(*.f64 re (+.f64 1 (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 2) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))) (*.f64 1/2 (pow.f64 im 2))))) |
(*.f64 re (+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/6 (+.f64 1 (*.f64 1/2 (pow.f64 im 2)))) (*.f64 1/120 (*.f64 (pow.f64 re 2) (+.f64 1 (*.f64 1/2 (pow.f64 im 2)))))))))) |
(*.f64 re (+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/6 (+.f64 1 (*.f64 1/2 (pow.f64 im 2)))) (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 re 2) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))) (*.f64 1/120 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))))))))) |
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2)))) |
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2)))) |
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2)))) |
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2)))) |
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2)))) |
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2)))) |
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2)))) |
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2)))) |
1 |
(+.f64 1 (*.f64 1/2 (pow.f64 im 2))) |
(+.f64 1 (*.f64 1/2 (pow.f64 im 2))) |
(+.f64 1 (*.f64 1/2 (pow.f64 im 2))) |
(*.f64 1/2 (pow.f64 im 2)) |
(*.f64 (pow.f64 im 2) (+.f64 1/2 (/.f64 1 (pow.f64 im 2)))) |
(*.f64 (pow.f64 im 2) (+.f64 1/2 (/.f64 1 (pow.f64 im 2)))) |
(*.f64 (pow.f64 im 2) (+.f64 1/2 (/.f64 1 (pow.f64 im 2)))) |
(*.f64 1/2 (pow.f64 im 2)) |
(*.f64 (pow.f64 im 2) (+.f64 1/2 (/.f64 1 (pow.f64 im 2)))) |
(*.f64 (pow.f64 im 2) (+.f64 1/2 (/.f64 1 (pow.f64 im 2)))) |
(*.f64 (pow.f64 im 2) (+.f64 1/2 (/.f64 1 (pow.f64 im 2)))) |
(/.f64 1/4 (pow.f64 re 2)) |
(/.f64 (+.f64 1/4 (*.f64 1/12 (pow.f64 re 2))) (pow.f64 re 2)) |
(/.f64 (+.f64 1/4 (*.f64 (pow.f64 re 2) (+.f64 1/12 (*.f64 1/60 (pow.f64 re 2))))) (pow.f64 re 2)) |
(/.f64 (+.f64 1/4 (*.f64 (pow.f64 re 2) (+.f64 1/12 (*.f64 (pow.f64 re 2) (+.f64 1/60 (*.f64 1/378 (pow.f64 re 2))))))) (pow.f64 re 2)) |
(/.f64 1/4 (pow.f64 (sin.f64 re) 2)) |
(/.f64 1/4 (pow.f64 (sin.f64 re) 2)) |
(/.f64 1/4 (pow.f64 (sin.f64 re) 2)) |
(/.f64 1/4 (pow.f64 (sin.f64 re) 2)) |
(/.f64 1/4 (pow.f64 (sin.f64 re) 2)) |
(/.f64 1/4 (pow.f64 (sin.f64 re) 2)) |
(/.f64 1/4 (pow.f64 (sin.f64 re) 2)) |
(/.f64 1/4 (pow.f64 (sin.f64 re) 2)) |
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
re |
(+.f64 re (*.f64 1/2 (*.f64 (pow.f64 im 2) re))) |
(+.f64 re (*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 2) re)) (*.f64 1/2 re)))) |
(+.f64 re (*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/2 re) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/720 (*.f64 (pow.f64 im 2) re)) (*.f64 1/24 re)))))) |
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))))) |
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))))) |
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))))) |
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))))) |
2 |
(+.f64 2 (pow.f64 im 2)) |
(+.f64 2 (*.f64 (pow.f64 im 2) (+.f64 1 (*.f64 1/12 (pow.f64 im 2))))) |
(+.f64 2 (*.f64 (pow.f64 im 2) (+.f64 1 (*.f64 (pow.f64 im 2) (+.f64 1/12 (*.f64 1/360 (pow.f64 im 2))))))) |
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) |
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) |
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) |
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) |
-4 |
-2 |
-1 |
-1/2 |
0 |
1/16 |
1/8 |
1/4 |
1/2 |
1 |
3/2 |
2 |
3 |
4 |
-4 |
-2 |
-1 |
-1/2 |
0 |
1/16 |
1/8 |
1/4 |
1/2 |
1 |
3/2 |
2 |
3 |
4 |
-4 |
-2 |
-1 |
-1/2 |
0 |
1/16 |
1/8 |
1/4 |
1/2 |
1 |
3/2 |
2 |
3 |
4 |
-4 |
-2 |
-1 |
-1/2 |
0 |
1/16 |
1/8 |
1/4 |
1/2 |
1 |
3/2 |
2 |
3 |
4 |
-4 |
-2 |
-1 |
-1/2 |
0 |
1/16 |
1/8 |
1/4 |
1/2 |
1 |
3/2 |
2 |
3 |
4 |
-4 |
-2 |
-1 |
-1/2 |
0 |
1/16 |
1/8 |
1/4 |
1/2 |
1 |
3/2 |
2 |
3 |
4 |
| Outputs |
|---|
(sin.f64 re) |
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))) |
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))) |
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1)) |
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))) |
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))) |
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1)) |
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))) |
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))) |
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1)) |
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))) |
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) |
(*.f64 (sin.f64 re) (*.f64 1/2 (pow.f64 im 2))) |
(*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (sin.f64 re) (pow.f64 im 2)))) |
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))) |
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1)) |
(*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (sin.f64 re) (pow.f64 im 2)))) |
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))) |
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1)) |
(*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (sin.f64 re) (pow.f64 im 2)))) |
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))) |
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1)) |
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))) |
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) |
(*.f64 (sin.f64 re) (*.f64 1/2 (pow.f64 im 2))) |
(*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (sin.f64 re) (pow.f64 im 2)))) |
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))) |
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1)) |
(*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (sin.f64 re) (pow.f64 im 2)))) |
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))) |
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1)) |
(*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (sin.f64 re) (pow.f64 im 2)))) |
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))) |
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1)) |
(*.f64 re (+.f64 1 (*.f64 1/2 (pow.f64 im 2)))) |
(*.f64 re (fma.f64 1/2 (pow.f64 im 2) 1)) |
(*.f64 re (+.f64 1 (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 2) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))) (*.f64 1/2 (pow.f64 im 2))))) |
(*.f64 re (+.f64 1 (fma.f64 -1/6 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2))))) |
(*.f64 re (+.f64 1 (fma.f64 1/2 (pow.f64 im 2) (*.f64 (pow.f64 re 2) (+.f64 -1/6 (*.f64 (pow.f64 im 2) -1/12)))))) |
(*.f64 re (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 re 2)) 1) (fma.f64 1/2 (pow.f64 im 2) 1))) |
(*.f64 re (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (+.f64 1 (*.f64 -1/6 (pow.f64 re 2))))) |
(*.f64 re (+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/6 (+.f64 1 (*.f64 1/2 (pow.f64 im 2)))) (*.f64 1/120 (*.f64 (pow.f64 re 2) (+.f64 1 (*.f64 1/2 (pow.f64 im 2)))))))))) |
(*.f64 re (+.f64 1 (fma.f64 1/2 (pow.f64 im 2) (*.f64 (pow.f64 re 2) (fma.f64 -1/6 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (*.f64 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 2)) 1/120)))))) |
(*.f64 re (+.f64 1 (fma.f64 1/2 (pow.f64 im 2) (*.f64 (pow.f64 re 2) (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (+.f64 -1/6 (*.f64 (pow.f64 re 2) 1/120))))))) |
(*.f64 re (fma.f64 1/2 (pow.f64 im 2) (fma.f64 (pow.f64 re 2) (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (fma.f64 (pow.f64 re 2) 1/120 -1/6)) 1))) |
(*.f64 re (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (+.f64 1 (*.f64 (fma.f64 (pow.f64 re 2) 1/120 -1/6) (pow.f64 re 2))))) |
(*.f64 re (+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/6 (+.f64 1 (*.f64 1/2 (pow.f64 im 2)))) (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 re 2) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))) (*.f64 1/120 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))))))))) |
(*.f64 re (+.f64 1 (fma.f64 1/2 (pow.f64 im 2) (*.f64 (pow.f64 re 2) (fma.f64 -1/6 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (*.f64 (pow.f64 re 2) (fma.f64 -1/5040 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 2)) (+.f64 1/120 (*.f64 1/120 (*.f64 1/2 (pow.f64 im 2))))))))))) |
(*.f64 re (+.f64 1 (fma.f64 1/2 (pow.f64 im 2) (*.f64 (pow.f64 re 2) (fma.f64 (pow.f64 re 2) (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (+.f64 (*.f64 (pow.f64 re 2) -1/5040) 1/120)) (+.f64 -1/6 (*.f64 (pow.f64 im 2) -1/12))))))) |
(*.f64 re (+.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 re 2)) 1) (fma.f64 1/2 (pow.f64 im 2) 1)) (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (*.f64 (fma.f64 (pow.f64 re 2) -1/5040 1/120) (pow.f64 re 4))))) |
(fma.f64 re (fma.f64 1/2 (pow.f64 im 2) 1) (*.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (+.f64 -1/6 (*.f64 (fma.f64 (pow.f64 re 2) -1/5040 1/120) (pow.f64 re 2)))) (pow.f64 re 3))) |
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2)))) |
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))) |
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1)) |
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2)))) |
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))) |
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1)) |
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2)))) |
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))) |
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1)) |
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2)))) |
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))) |
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1)) |
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2)))) |
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))) |
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1)) |
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2)))) |
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))) |
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1)) |
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2)))) |
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))) |
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1)) |
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2)))) |
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))) |
(*.f64 (sin.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1)) |
1 |
(+.f64 1 (*.f64 1/2 (pow.f64 im 2))) |
(fma.f64 1/2 (pow.f64 im 2) 1) |
(+.f64 1 (*.f64 1/2 (pow.f64 im 2))) |
(fma.f64 1/2 (pow.f64 im 2) 1) |
(+.f64 1 (*.f64 1/2 (pow.f64 im 2))) |
(fma.f64 1/2 (pow.f64 im 2) 1) |
(*.f64 1/2 (pow.f64 im 2)) |
(*.f64 (pow.f64 im 2) (+.f64 1/2 (/.f64 1 (pow.f64 im 2)))) |
(+.f64 1 (*.f64 1/2 (pow.f64 im 2))) |
(fma.f64 1/2 (pow.f64 im 2) 1) |
(*.f64 (pow.f64 im 2) (+.f64 1/2 (/.f64 1 (pow.f64 im 2)))) |
(+.f64 1 (*.f64 1/2 (pow.f64 im 2))) |
(fma.f64 1/2 (pow.f64 im 2) 1) |
(*.f64 (pow.f64 im 2) (+.f64 1/2 (/.f64 1 (pow.f64 im 2)))) |
(+.f64 1 (*.f64 1/2 (pow.f64 im 2))) |
(fma.f64 1/2 (pow.f64 im 2) 1) |
(*.f64 1/2 (pow.f64 im 2)) |
(*.f64 (pow.f64 im 2) (+.f64 1/2 (/.f64 1 (pow.f64 im 2)))) |
(+.f64 1 (*.f64 1/2 (pow.f64 im 2))) |
(fma.f64 1/2 (pow.f64 im 2) 1) |
(*.f64 (pow.f64 im 2) (+.f64 1/2 (/.f64 1 (pow.f64 im 2)))) |
(+.f64 1 (*.f64 1/2 (pow.f64 im 2))) |
(fma.f64 1/2 (pow.f64 im 2) 1) |
(*.f64 (pow.f64 im 2) (+.f64 1/2 (/.f64 1 (pow.f64 im 2)))) |
(+.f64 1 (*.f64 1/2 (pow.f64 im 2))) |
(fma.f64 1/2 (pow.f64 im 2) 1) |
(/.f64 1/4 (pow.f64 re 2)) |
(/.f64 (+.f64 1/4 (*.f64 1/12 (pow.f64 re 2))) (pow.f64 re 2)) |
(/.f64 (+.f64 1/4 (*.f64 (pow.f64 re 2) 1/12)) (pow.f64 re 2)) |
(/.f64 (fma.f64 (pow.f64 re 2) 1/12 1/4) (pow.f64 re 2)) |
(/.f64 (+.f64 1/4 (*.f64 (pow.f64 re 2) (+.f64 1/12 (*.f64 1/60 (pow.f64 re 2))))) (pow.f64 re 2)) |
(/.f64 (+.f64 1/4 (*.f64 (pow.f64 re 2) (+.f64 1/12 (*.f64 (pow.f64 re 2) 1/60)))) (pow.f64 re 2)) |
(/.f64 (fma.f64 (pow.f64 re 2) (fma.f64 (pow.f64 re 2) 1/60 1/12) 1/4) (pow.f64 re 2)) |
(/.f64 (fma.f64 (pow.f64 re 2) 1/12 (fma.f64 1/60 (pow.f64 re 4) 1/4)) (pow.f64 re 2)) |
(/.f64 (+.f64 1/4 (*.f64 (pow.f64 re 2) (+.f64 1/12 (*.f64 (pow.f64 re 2) (+.f64 1/60 (*.f64 1/378 (pow.f64 re 2))))))) (pow.f64 re 2)) |
(/.f64 (+.f64 1/4 (*.f64 (pow.f64 re 2) (+.f64 1/12 (*.f64 (pow.f64 re 2) (+.f64 1/60 (*.f64 (pow.f64 re 2) 1/378)))))) (pow.f64 re 2)) |
(/.f64 (fma.f64 (pow.f64 re 2) (fma.f64 (pow.f64 re 2) (fma.f64 (pow.f64 re 2) 1/378 1/60) 1/12) 1/4) (pow.f64 re 2)) |
(/.f64 (fma.f64 (pow.f64 re 2) (fma.f64 (pow.f64 re 2) 1/60 (fma.f64 1/378 (pow.f64 re 4) 1/12)) 1/4) (pow.f64 re 2)) |
(/.f64 1/4 (pow.f64 (sin.f64 re) 2)) |
(/.f64 1/4 (pow.f64 (sin.f64 re) 2)) |
(/.f64 1/4 (pow.f64 (sin.f64 re) 2)) |
(/.f64 1/4 (pow.f64 (sin.f64 re) 2)) |
(/.f64 1/4 (pow.f64 (sin.f64 re) 2)) |
(/.f64 1/4 (pow.f64 (sin.f64 re) 2)) |
(/.f64 1/4 (pow.f64 (sin.f64 re) 2)) |
(/.f64 1/4 (pow.f64 (sin.f64 re) 2)) |
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
re |
(+.f64 re (*.f64 1/2 (*.f64 (pow.f64 im 2) re))) |
(*.f64 re (+.f64 1 (*.f64 1/2 (pow.f64 im 2)))) |
(*.f64 re (fma.f64 1/2 (pow.f64 im 2) 1)) |
(+.f64 re (*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 2) re)) (*.f64 1/2 re)))) |
(+.f64 re (*.f64 (pow.f64 im 2) (fma.f64 1/24 (*.f64 re (pow.f64 im 2)) (*.f64 re 1/2)))) |
(fma.f64 (pow.f64 im 2) (*.f64 re (+.f64 (*.f64 (pow.f64 im 2) 1/24) 1/2)) re) |
(fma.f64 (pow.f64 im 2) (*.f64 re (fma.f64 (pow.f64 im 2) 1/24 1/2)) re) |
(+.f64 re (*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/2 re) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/720 (*.f64 (pow.f64 im 2) re)) (*.f64 1/24 re)))))) |
(+.f64 re (*.f64 (pow.f64 im 2) (fma.f64 1/2 re (*.f64 (pow.f64 im 2) (fma.f64 1/720 (*.f64 re (pow.f64 im 2)) (*.f64 re 1/24)))))) |
(fma.f64 (pow.f64 im 2) (fma.f64 re 1/2 (*.f64 (pow.f64 im 2) (*.f64 re (+.f64 (*.f64 (pow.f64 im 2) 1/720) 1/24)))) re) |
(fma.f64 re (fma.f64 1/2 (pow.f64 im 2) 1) (*.f64 re (*.f64 (fma.f64 (pow.f64 im 2) 1/720 1/24) (pow.f64 im 4)))) |
(*.f64 re (+.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (*.f64 (fma.f64 (pow.f64 im 2) 1/720 1/24) (pow.f64 im 4)))) |
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))))) |
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))))) |
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))))) |
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))))) |
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
2 |
(+.f64 2 (pow.f64 im 2)) |
(fma.f64 im im 2) |
(+.f64 2 (*.f64 (pow.f64 im 2) (+.f64 1 (*.f64 1/12 (pow.f64 im 2))))) |
(+.f64 2 (*.f64 (pow.f64 im 2) (+.f64 1 (*.f64 (pow.f64 im 2) 1/12)))) |
(fma.f64 (pow.f64 im 2) (fma.f64 (pow.f64 im 2) 1/12 1) 2) |
(fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) |
(+.f64 2 (*.f64 (pow.f64 im 2) (+.f64 1 (*.f64 (pow.f64 im 2) (+.f64 1/12 (*.f64 1/360 (pow.f64 im 2))))))) |
(+.f64 2 (*.f64 (pow.f64 im 2) (+.f64 1 (*.f64 (pow.f64 im 2) (+.f64 1/12 (*.f64 (pow.f64 im 2) 1/360)))))) |
(fma.f64 (pow.f64 im 2) (fma.f64 (pow.f64 im 2) (fma.f64 (pow.f64 im 2) 1/360 1/12) 1) 2) |
(fma.f64 im im (fma.f64 (fma.f64 (pow.f64 im 2) 1/360 1/12) (pow.f64 im 4) 2)) |
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) |
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) |
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) |
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) |
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) |
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) |
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) |
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) |
-4 |
-2 |
-1 |
-1/2 |
0 |
1/16 |
1/8 |
1/4 |
1/2 |
1 |
3/2 |
2 |
3 |
4 |
-4 |
-2 |
-1 |
-1/2 |
0 |
1/16 |
1/8 |
1/4 |
1/2 |
1 |
3/2 |
2 |
3 |
4 |
-4 |
-2 |
-1 |
-1/2 |
0 |
1/16 |
1/8 |
1/4 |
1/2 |
1 |
3/2 |
2 |
3 |
4 |
-4 |
-2 |
-1 |
-1/2 |
0 |
1/16 |
1/8 |
1/4 |
1/2 |
1 |
3/2 |
2 |
3 |
4 |
-4 |
-2 |
-1 |
-1/2 |
0 |
1/16 |
1/8 |
1/4 |
1/2 |
1 |
3/2 |
2 |
3 |
4 |
-4 |
-2 |
-1 |
-1/2 |
0 |
1/16 |
1/8 |
1/4 |
1/2 |
1 |
3/2 |
2 |
3 |
4 |
Compiled 1203 to 917 computations (23.8% saved)
18 alts after pruning (13 fresh and 5 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 71 | 13 | 84 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 4 | 5 |
| Done | 0 | 1 | 1 |
| Total | 72 | 18 | 90 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 19.6% | (pow.f64 (*.f64 (sin.f64 re) -2) -2) |
| 17.5% | (/.f64 1/4 (pow.f64 re 2)) | |
| ✓ | 73.2% | (*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (sin.f64 re)) |
| 27.2% | (*.f64 (*.f64 1/2 (pow.f64 im 2)) (sin.f64 re)) | |
| ✓ | 100.0% | (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
| ▶ | 47.2% | (*.f64 (*.f64 1/2 re) (fma.f64 im im 2)) |
| ✓ | 65.2% | (*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
| ✓ | 49.6% | (sin.f64 re) |
| ▶ | 26.6% | re |
| 5.4% | 4 | |
| 5.7% | 3/2 | |
| ▶ | 5.9% | 1/2 |
| 5.7% | 1/4 | |
| 5.6% | 1/8 | |
| ▶ | 5.4% | 1/16 |
| 3.1% | -1/2 | |
| 3.5% | -1 | |
| ▶ | 2.8% | -4 |
Compiled 163 to 139 computations (14.7% saved)
Found 1 expressions with local error:
| New | Accuracy | Program |
|---|---|---|
| ✓ | 94.8% | (*.f64 (*.f64 1/2 re) (fma.f64 im im 2)) |
Compiled 26 to 17 computations (34.6% saved)
ival-mult, time spent: 14.0ms, 52.0% of total-timecomposed, time spent: 9.0ms, 33.0% of total-timeival-add, time spent: 3.0ms, 11.0% of total-timeconst, time spent: 2.0ms, 7.0% of total-time| Inputs |
|---|
#<alt (*.f64 (*.f64 1/2 re) (fma.f64 im im 2))> |
| Outputs |
|---|
#<alt (*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2))))> |
#<alt (*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2))))> |
#<alt (*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2))))> |
#<alt (*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2))))> |
#<alt (*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2))))> |
#<alt (*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2))))> |
#<alt (*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2))))> |
#<alt (*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2))))> |
#<alt (*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2))))> |
#<alt (*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2))))> |
#<alt (*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2))))> |
#<alt (*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2))))> |
#<alt re> |
#<alt (+.f64 re (*.f64 1/2 (*.f64 (pow.f64 im 2) re)))> |
#<alt (+.f64 re (*.f64 1/2 (*.f64 (pow.f64 im 2) re)))> |
#<alt (+.f64 re (*.f64 1/2 (*.f64 (pow.f64 im 2) re)))> |
#<alt (*.f64 1/2 (*.f64 (pow.f64 im 2) re))> |
#<alt (*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/2 re) (/.f64 re (pow.f64 im 2))))> |
#<alt (*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/2 re) (/.f64 re (pow.f64 im 2))))> |
#<alt (*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/2 re) (/.f64 re (pow.f64 im 2))))> |
#<alt (*.f64 1/2 (*.f64 (pow.f64 im 2) re))> |
#<alt (*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/2 re) (/.f64 re (pow.f64 im 2))))> |
#<alt (*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/2 re) (/.f64 re (pow.f64 im 2))))> |
#<alt (*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/2 re) (/.f64 re (pow.f64 im 2))))> |
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | re | @ | 0 | (* (* 1/2 re) (+ (* im im) 2)) |
| 1.0ms | re | @ | inf | (* (* 1/2 re) (+ (* im im) 2)) |
| 1.0ms | im | @ | inf | (* (* 1/2 re) (+ (* im im) 2)) |
| 0.0ms | im | @ | 0 | (* (* 1/2 re) (+ (* im im) 2)) |
| 0.0ms | re | @ | -inf | (* (* 1/2 re) (+ (* im im) 2)) |
| 1× | batch-egg-rewrite |
| 930× | unpow-prod-down |
| 560× | log-prod |
| 466× | log1p-expm1-u |
| 466× | expm1-log1p-u |
| 445× | add-exp-log |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 13 | 30 |
| 1 | 110 | 30 |
| 2 | 1268 | 30 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (*.f64 1/2 re) (fma.f64 im im 2)) |
| Outputs |
|---|
(+.f64 0 (*.f64 re (*.f64 1/2 (fma.f64 im im 2)))) |
(+.f64 (*.f64 (*.f64 1/2 re) (pow.f64 im 2)) (*.f64 (*.f64 1/2 re) 2)) |
(+.f64 (*.f64 (pow.f64 im 2) (*.f64 1/2 re)) (*.f64 2 (*.f64 1/2 re))) |
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 re)) (fma.f64 im im 2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 re)) (fma.f64 im im 2))))) |
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 re)) (fma.f64 im im 2)))) (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 re)) (fma.f64 im im 2))))) |
(-.f64 (+.f64 1 (*.f64 re (*.f64 1/2 (fma.f64 im im 2)))) 1) |
(pow.f64 (*.f64 re (*.f64 1/2 (fma.f64 im im 2))) 1) |
(pow.f64 (cbrt.f64 (*.f64 re (*.f64 1/2 (fma.f64 im im 2)))) 3) |
(pow.f64 (*.f64 (pow.f64 (*.f64 re (fma.f64 im im 2)) 2) 1/4) 1/2) |
(pow.f64 (*.f64 (pow.f64 (*.f64 re (fma.f64 im im 2)) 3) 1/8) 1/3) |
(pow.f64 (sqrt.f64 (*.f64 re (*.f64 1/2 (fma.f64 im im 2)))) 2) |
(pow.f64 (E.f64) (log.f64 (*.f64 re (*.f64 1/2 (fma.f64 im im 2))))) |
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 re (*.f64 1/2 (fma.f64 im im 2))))) 2)) (cbrt.f64 (log.f64 (*.f64 re (*.f64 1/2 (fma.f64 im im 2)))))) |
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 re (*.f64 1/2 (fma.f64 im im 2)))))) (sqrt.f64 (log.f64 (*.f64 re (*.f64 1/2 (fma.f64 im im 2)))))) |
(sqrt.f64 (*.f64 (pow.f64 (*.f64 re (fma.f64 im im 2)) 2) 1/4)) |
(log.f64 (pow.f64 (sqrt.f64 (exp.f64 re)) (fma.f64 im im 2))) |
(cbrt.f64 (*.f64 (pow.f64 (*.f64 re (fma.f64 im im 2)) 3) 1/8)) |
(expm1.f64 (log1p.f64 (*.f64 re (*.f64 1/2 (fma.f64 im im 2))))) |
(log1p.f64 (expm1.f64 (*.f64 re (*.f64 1/2 (fma.f64 im im 2))))) |
(exp.f64 (log.f64 (*.f64 re (*.f64 1/2 (fma.f64 im im 2))))) |
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 re (*.f64 1/2 (fma.f64 im im 2))))) 3)) |
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 re (*.f64 1/2 (fma.f64 im im 2))))) 1/3)) |
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 re (*.f64 1/2 (fma.f64 im im 2))))) 2)) |
(fma.f64 (*.f64 1/2 re) (pow.f64 im 2) (*.f64 (*.f64 1/2 re) 2)) |
(fma.f64 (pow.f64 im 2) (*.f64 1/2 re) (*.f64 2 (*.f64 1/2 re))) |
| 1× | egg-herbie |
| 1762× | distribute-lft-in |
| 1744× | distribute-rgt-in |
| 1176× | times-frac |
| 1048× | fma-define |
| 722× | fma-neg |
Useful iterations: 4 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 92 | 1647 |
| 1 | 184 | 1647 |
| 2 | 423 | 1515 |
| 3 | 1612 | 1506 |
| 4 | 6846 | 1494 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2)))) |
(*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2)))) |
(*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2)))) |
(*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2)))) |
(*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2)))) |
(*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2)))) |
(*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2)))) |
(*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2)))) |
(*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2)))) |
(*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2)))) |
(*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2)))) |
(*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2)))) |
re |
(+.f64 re (*.f64 1/2 (*.f64 (pow.f64 im 2) re))) |
(+.f64 re (*.f64 1/2 (*.f64 (pow.f64 im 2) re))) |
(+.f64 re (*.f64 1/2 (*.f64 (pow.f64 im 2) re))) |
(*.f64 1/2 (*.f64 (pow.f64 im 2) re)) |
(*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/2 re) (/.f64 re (pow.f64 im 2)))) |
(*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/2 re) (/.f64 re (pow.f64 im 2)))) |
(*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/2 re) (/.f64 re (pow.f64 im 2)))) |
(*.f64 1/2 (*.f64 (pow.f64 im 2) re)) |
(*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/2 re) (/.f64 re (pow.f64 im 2)))) |
(*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/2 re) (/.f64 re (pow.f64 im 2)))) |
(*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/2 re) (/.f64 re (pow.f64 im 2)))) |
(+.f64 0 (*.f64 re (*.f64 1/2 (fma.f64 im im 2)))) |
(+.f64 (*.f64 (*.f64 1/2 re) (pow.f64 im 2)) (*.f64 (*.f64 1/2 re) 2)) |
(+.f64 (*.f64 (pow.f64 im 2) (*.f64 1/2 re)) (*.f64 2 (*.f64 1/2 re))) |
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 re)) (fma.f64 im im 2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 re)) (fma.f64 im im 2))))) |
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 re)) (fma.f64 im im 2)))) (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 re)) (fma.f64 im im 2))))) |
(-.f64 (+.f64 1 (*.f64 re (*.f64 1/2 (fma.f64 im im 2)))) 1) |
(pow.f64 (*.f64 re (*.f64 1/2 (fma.f64 im im 2))) 1) |
(pow.f64 (cbrt.f64 (*.f64 re (*.f64 1/2 (fma.f64 im im 2)))) 3) |
(pow.f64 (*.f64 (pow.f64 (*.f64 re (fma.f64 im im 2)) 2) 1/4) 1/2) |
(pow.f64 (*.f64 (pow.f64 (*.f64 re (fma.f64 im im 2)) 3) 1/8) 1/3) |
(pow.f64 (sqrt.f64 (*.f64 re (*.f64 1/2 (fma.f64 im im 2)))) 2) |
(pow.f64 (E.f64) (log.f64 (*.f64 re (*.f64 1/2 (fma.f64 im im 2))))) |
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 re (*.f64 1/2 (fma.f64 im im 2))))) 2)) (cbrt.f64 (log.f64 (*.f64 re (*.f64 1/2 (fma.f64 im im 2)))))) |
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 re (*.f64 1/2 (fma.f64 im im 2)))))) (sqrt.f64 (log.f64 (*.f64 re (*.f64 1/2 (fma.f64 im im 2)))))) |
(sqrt.f64 (*.f64 (pow.f64 (*.f64 re (fma.f64 im im 2)) 2) 1/4)) |
(log.f64 (pow.f64 (sqrt.f64 (exp.f64 re)) (fma.f64 im im 2))) |
(cbrt.f64 (*.f64 (pow.f64 (*.f64 re (fma.f64 im im 2)) 3) 1/8)) |
(expm1.f64 (log1p.f64 (*.f64 re (*.f64 1/2 (fma.f64 im im 2))))) |
(log1p.f64 (expm1.f64 (*.f64 re (*.f64 1/2 (fma.f64 im im 2))))) |
(exp.f64 (log.f64 (*.f64 re (*.f64 1/2 (fma.f64 im im 2))))) |
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 re (*.f64 1/2 (fma.f64 im im 2))))) 3)) |
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 re (*.f64 1/2 (fma.f64 im im 2))))) 1/3)) |
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 re (*.f64 1/2 (fma.f64 im im 2))))) 2)) |
(fma.f64 (*.f64 1/2 re) (pow.f64 im 2) (*.f64 (*.f64 1/2 re) 2)) |
(fma.f64 (pow.f64 im 2) (*.f64 1/2 re) (*.f64 2 (*.f64 1/2 re))) |
| Outputs |
|---|
(*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2)))) |
(*.f64 (*.f64 1/2 re) (fma.f64 im im 2)) |
(*.f64 re (fma.f64 1/2 (pow.f64 im 2) 1)) |
(*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2)))) |
(*.f64 (*.f64 1/2 re) (fma.f64 im im 2)) |
(*.f64 re (fma.f64 1/2 (pow.f64 im 2) 1)) |
(*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2)))) |
(*.f64 (*.f64 1/2 re) (fma.f64 im im 2)) |
(*.f64 re (fma.f64 1/2 (pow.f64 im 2) 1)) |
(*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2)))) |
(*.f64 (*.f64 1/2 re) (fma.f64 im im 2)) |
(*.f64 re (fma.f64 1/2 (pow.f64 im 2) 1)) |
(*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2)))) |
(*.f64 (*.f64 1/2 re) (fma.f64 im im 2)) |
(*.f64 re (fma.f64 1/2 (pow.f64 im 2) 1)) |
(*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2)))) |
(*.f64 (*.f64 1/2 re) (fma.f64 im im 2)) |
(*.f64 re (fma.f64 1/2 (pow.f64 im 2) 1)) |
(*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2)))) |
(*.f64 (*.f64 1/2 re) (fma.f64 im im 2)) |
(*.f64 re (fma.f64 1/2 (pow.f64 im 2) 1)) |
(*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2)))) |
(*.f64 (*.f64 1/2 re) (fma.f64 im im 2)) |
(*.f64 re (fma.f64 1/2 (pow.f64 im 2) 1)) |
(*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2)))) |
(*.f64 (*.f64 1/2 re) (fma.f64 im im 2)) |
(*.f64 re (fma.f64 1/2 (pow.f64 im 2) 1)) |
(*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2)))) |
(*.f64 (*.f64 1/2 re) (fma.f64 im im 2)) |
(*.f64 re (fma.f64 1/2 (pow.f64 im 2) 1)) |
(*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2)))) |
(*.f64 (*.f64 1/2 re) (fma.f64 im im 2)) |
(*.f64 re (fma.f64 1/2 (pow.f64 im 2) 1)) |
(*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2)))) |
(*.f64 (*.f64 1/2 re) (fma.f64 im im 2)) |
(*.f64 re (fma.f64 1/2 (pow.f64 im 2) 1)) |
re |
(+.f64 re (*.f64 1/2 (*.f64 (pow.f64 im 2) re))) |
(*.f64 (*.f64 1/2 re) (fma.f64 im im 2)) |
(*.f64 re (fma.f64 1/2 (pow.f64 im 2) 1)) |
(+.f64 re (*.f64 1/2 (*.f64 (pow.f64 im 2) re))) |
(*.f64 (*.f64 1/2 re) (fma.f64 im im 2)) |
(*.f64 re (fma.f64 1/2 (pow.f64 im 2) 1)) |
(+.f64 re (*.f64 1/2 (*.f64 (pow.f64 im 2) re))) |
(*.f64 (*.f64 1/2 re) (fma.f64 im im 2)) |
(*.f64 re (fma.f64 1/2 (pow.f64 im 2) 1)) |
(*.f64 1/2 (*.f64 (pow.f64 im 2) re)) |
(*.f64 1/2 (*.f64 re (pow.f64 im 2))) |
(*.f64 (pow.f64 im 2) (*.f64 1/2 re)) |
(*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/2 re) (/.f64 re (pow.f64 im 2)))) |
(*.f64 (*.f64 1/2 re) (fma.f64 im im 2)) |
(*.f64 re (fma.f64 1/2 (pow.f64 im 2) 1)) |
(*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/2 re) (/.f64 re (pow.f64 im 2)))) |
(*.f64 (*.f64 1/2 re) (fma.f64 im im 2)) |
(*.f64 re (fma.f64 1/2 (pow.f64 im 2) 1)) |
(*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/2 re) (/.f64 re (pow.f64 im 2)))) |
(*.f64 (*.f64 1/2 re) (fma.f64 im im 2)) |
(*.f64 re (fma.f64 1/2 (pow.f64 im 2) 1)) |
(*.f64 1/2 (*.f64 (pow.f64 im 2) re)) |
(*.f64 1/2 (*.f64 re (pow.f64 im 2))) |
(*.f64 (pow.f64 im 2) (*.f64 1/2 re)) |
(*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/2 re) (/.f64 re (pow.f64 im 2)))) |
(*.f64 (*.f64 1/2 re) (fma.f64 im im 2)) |
(*.f64 re (fma.f64 1/2 (pow.f64 im 2) 1)) |
(*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/2 re) (/.f64 re (pow.f64 im 2)))) |
(*.f64 (*.f64 1/2 re) (fma.f64 im im 2)) |
(*.f64 re (fma.f64 1/2 (pow.f64 im 2) 1)) |
(*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/2 re) (/.f64 re (pow.f64 im 2)))) |
(*.f64 (*.f64 1/2 re) (fma.f64 im im 2)) |
(*.f64 re (fma.f64 1/2 (pow.f64 im 2) 1)) |
(+.f64 0 (*.f64 re (*.f64 1/2 (fma.f64 im im 2)))) |
(*.f64 (*.f64 1/2 re) (fma.f64 im im 2)) |
(*.f64 re (fma.f64 1/2 (pow.f64 im 2) 1)) |
(+.f64 (*.f64 (*.f64 1/2 re) (pow.f64 im 2)) (*.f64 (*.f64 1/2 re) 2)) |
(*.f64 (*.f64 1/2 re) (fma.f64 im im 2)) |
(*.f64 re (fma.f64 1/2 (pow.f64 im 2) 1)) |
(+.f64 (*.f64 (pow.f64 im 2) (*.f64 1/2 re)) (*.f64 2 (*.f64 1/2 re))) |
(*.f64 (*.f64 1/2 re) (fma.f64 im im 2)) |
(*.f64 re (fma.f64 1/2 (pow.f64 im 2) 1)) |
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 re)) (fma.f64 im im 2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 re)) (fma.f64 im im 2))))) |
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))))) |
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 re)) (fma.f64 im im 2)))) (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 re)) (fma.f64 im im 2))))) |
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 re)) (fma.f64 im im 2))))) |
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))))) |
(-.f64 (+.f64 1 (*.f64 re (*.f64 1/2 (fma.f64 im im 2)))) 1) |
(*.f64 (*.f64 1/2 re) (fma.f64 im im 2)) |
(*.f64 re (fma.f64 1/2 (pow.f64 im 2) 1)) |
(pow.f64 (*.f64 re (*.f64 1/2 (fma.f64 im im 2))) 1) |
(*.f64 (*.f64 1/2 re) (fma.f64 im im 2)) |
(*.f64 re (fma.f64 1/2 (pow.f64 im 2) 1)) |
(pow.f64 (cbrt.f64 (*.f64 re (*.f64 1/2 (fma.f64 im im 2)))) 3) |
(*.f64 (*.f64 1/2 re) (fma.f64 im im 2)) |
(*.f64 re (fma.f64 1/2 (pow.f64 im 2) 1)) |
(pow.f64 (*.f64 (pow.f64 (*.f64 re (fma.f64 im im 2)) 2) 1/4) 1/2) |
(sqrt.f64 (*.f64 (pow.f64 (*.f64 re (fma.f64 im im 2)) 2) 1/4)) |
(sqrt.f64 (pow.f64 (*.f64 re (fma.f64 1/2 (pow.f64 im 2) 1)) 2)) |
(fabs.f64 (*.f64 re (fma.f64 1/2 (pow.f64 im 2) 1))) |
(pow.f64 (*.f64 (pow.f64 (*.f64 re (fma.f64 im im 2)) 3) 1/8) 1/3) |
(*.f64 (*.f64 1/2 re) (fma.f64 im im 2)) |
(*.f64 re (fma.f64 1/2 (pow.f64 im 2) 1)) |
(pow.f64 (sqrt.f64 (*.f64 re (*.f64 1/2 (fma.f64 im im 2)))) 2) |
(*.f64 (*.f64 1/2 re) (fma.f64 im im 2)) |
(*.f64 re (fma.f64 1/2 (pow.f64 im 2) 1)) |
(pow.f64 (E.f64) (log.f64 (*.f64 re (*.f64 1/2 (fma.f64 im im 2))))) |
(*.f64 (*.f64 1/2 re) (fma.f64 im im 2)) |
(*.f64 re (fma.f64 1/2 (pow.f64 im 2) 1)) |
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 re (*.f64 1/2 (fma.f64 im im 2))))) 2)) (cbrt.f64 (log.f64 (*.f64 re (*.f64 1/2 (fma.f64 im im 2)))))) |
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (*.f64 1/2 re) (fma.f64 im im 2)))) 2)) (cbrt.f64 (log.f64 (*.f64 (*.f64 1/2 re) (fma.f64 im im 2))))) |
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 re (fma.f64 1/2 (pow.f64 im 2) 1)))) 2)) (cbrt.f64 (log.f64 (*.f64 re (fma.f64 1/2 (pow.f64 im 2) 1))))) |
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 re (*.f64 1/2 (fma.f64 im im 2)))))) (sqrt.f64 (log.f64 (*.f64 re (*.f64 1/2 (fma.f64 im im 2)))))) |
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (*.f64 1/2 re) (fma.f64 im im 2))))) (sqrt.f64 (log.f64 (*.f64 (*.f64 1/2 re) (fma.f64 im im 2))))) |
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 re (fma.f64 1/2 (pow.f64 im 2) 1))))) (sqrt.f64 (log.f64 (*.f64 re (fma.f64 1/2 (pow.f64 im 2) 1))))) |
(sqrt.f64 (*.f64 (pow.f64 (*.f64 re (fma.f64 im im 2)) 2) 1/4)) |
(sqrt.f64 (pow.f64 (*.f64 re (fma.f64 1/2 (pow.f64 im 2) 1)) 2)) |
(fabs.f64 (*.f64 re (fma.f64 1/2 (pow.f64 im 2) 1))) |
(log.f64 (pow.f64 (sqrt.f64 (exp.f64 re)) (fma.f64 im im 2))) |
(*.f64 (*.f64 1/2 re) (fma.f64 im im 2)) |
(*.f64 re (fma.f64 1/2 (pow.f64 im 2) 1)) |
(cbrt.f64 (*.f64 (pow.f64 (*.f64 re (fma.f64 im im 2)) 3) 1/8)) |
(*.f64 (*.f64 1/2 re) (fma.f64 im im 2)) |
(*.f64 re (fma.f64 1/2 (pow.f64 im 2) 1)) |
(expm1.f64 (log1p.f64 (*.f64 re (*.f64 1/2 (fma.f64 im im 2))))) |
(*.f64 (*.f64 1/2 re) (fma.f64 im im 2)) |
(*.f64 re (fma.f64 1/2 (pow.f64 im 2) 1)) |
(log1p.f64 (expm1.f64 (*.f64 re (*.f64 1/2 (fma.f64 im im 2))))) |
(*.f64 (*.f64 1/2 re) (fma.f64 im im 2)) |
(*.f64 re (fma.f64 1/2 (pow.f64 im 2) 1)) |
(exp.f64 (log.f64 (*.f64 re (*.f64 1/2 (fma.f64 im im 2))))) |
(*.f64 (*.f64 1/2 re) (fma.f64 im im 2)) |
(*.f64 re (fma.f64 1/2 (pow.f64 im 2) 1)) |
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 re (*.f64 1/2 (fma.f64 im im 2))))) 3)) |
(*.f64 (*.f64 1/2 re) (fma.f64 im im 2)) |
(*.f64 re (fma.f64 1/2 (pow.f64 im 2) 1)) |
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 re (*.f64 1/2 (fma.f64 im im 2))))) 1/3)) |
(*.f64 (*.f64 1/2 re) (fma.f64 im im 2)) |
(*.f64 re (fma.f64 1/2 (pow.f64 im 2) 1)) |
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 re (*.f64 1/2 (fma.f64 im im 2))))) 2)) |
(*.f64 (*.f64 1/2 re) (fma.f64 im im 2)) |
(*.f64 re (fma.f64 1/2 (pow.f64 im 2) 1)) |
(fma.f64 (*.f64 1/2 re) (pow.f64 im 2) (*.f64 (*.f64 1/2 re) 2)) |
(*.f64 (*.f64 1/2 re) (fma.f64 im im 2)) |
(*.f64 re (fma.f64 1/2 (pow.f64 im 2) 1)) |
(fma.f64 (pow.f64 im 2) (*.f64 1/2 re) (*.f64 2 (*.f64 1/2 re))) |
(*.f64 (*.f64 1/2 re) (fma.f64 im im 2)) |
(*.f64 re (fma.f64 1/2 (pow.f64 im 2) 1)) |
Compiled 563 to 409 computations (27.4% saved)
19 alts after pruning (9 fresh and 10 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 42 | 1 | 43 |
| Fresh | 0 | 8 | 8 |
| Picked | 0 | 5 | 5 |
| Done | 0 | 5 | 5 |
| Total | 42 | 19 | 61 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 19.6% | (pow.f64 (*.f64 (sin.f64 re) -2) -2) |
| ▶ | 17.5% | (/.f64 1/4 (pow.f64 re 2)) |
| 24.3% | (*.f64 (pow.f64 im 2) (*.f64 1/2 re)) | |
| ✓ | 73.2% | (*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (sin.f64 re)) |
| ▶ | 27.2% | (*.f64 (*.f64 1/2 (pow.f64 im 2)) (sin.f64 re)) |
| ✓ | 100.0% | (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
| ✓ | 47.2% | (*.f64 (*.f64 1/2 re) (fma.f64 im im 2)) |
| ✓ | 65.2% | (*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
| ✓ | 49.6% | (sin.f64 re) |
| ✓ | 26.6% | re |
| 5.4% | 4 | |
| ▶ | 5.7% | 3/2 |
| ✓ | 5.9% | 1/2 |
| 5.7% | 1/4 | |
| ▶ | 5.6% | 1/8 |
| ✓ | 5.4% | 1/16 |
| 3.1% | -1/2 | |
| ▶ | 3.5% | -1 |
| ✓ | 2.8% | -4 |
Compiled 159 to 135 computations (15.1% saved)
Found 3 expressions with local error:
| New | Accuracy | Program |
|---|---|---|
| ✓ | 99.2% | (/.f64 1/4 (pow.f64 re 2)) |
| ✓ | 100.0% | (*.f64 1/2 (pow.f64 im 2)) |
| ✓ | 94.7% | (*.f64 (*.f64 1/2 (pow.f64 im 2)) (sin.f64 re)) |
Compiled 39 to 28 computations (28.2% saved)
ival-pow, time spent: 8.0ms, 32.0% of total-timeival-sin, time spent: 7.0ms, 28.0% of total-timeival-mult, time spent: 6.0ms, 24.0% of total-timeival-div, time spent: 2.0ms, 8.0% of total-timeconst, time spent: 2.0ms, 8.0% of total-time| Inputs |
|---|
#<alt (*.f64 (*.f64 1/2 (pow.f64 im 2)) (sin.f64 re))> |
#<alt (*.f64 1/2 (pow.f64 im 2))> |
#<alt (/.f64 1/4 (pow.f64 re 2))> |
| Outputs |
|---|
#<alt (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))> |
#<alt (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))> |
#<alt (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))> |
#<alt (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))> |
#<alt (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))> |
#<alt (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))> |
#<alt (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))> |
#<alt (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))> |
#<alt (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))> |
#<alt (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))> |
#<alt (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))> |
#<alt (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))> |
#<alt (*.f64 1/2 (*.f64 (pow.f64 im 2) re))> |
#<alt (*.f64 re (+.f64 (*.f64 -1/12 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (*.f64 1/2 (pow.f64 im 2))))> |
#<alt (*.f64 re (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/12 (pow.f64 im 2)) (*.f64 1/240 (*.f64 (pow.f64 im 2) (pow.f64 re 2)))))))> |
#<alt (*.f64 re (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/12 (pow.f64 im 2)) (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/10080 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (*.f64 1/240 (pow.f64 im 2))))))))> |
#<alt (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))> |
#<alt (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))> |
#<alt (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))> |
#<alt (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))> |
#<alt (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))> |
#<alt (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))> |
#<alt (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))> |
#<alt (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))> |
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 3.0ms | re | @ | 0 | (* (* 1/2 (pow im 2)) (sin re)) |
| 2.0ms | re | @ | -inf | (/ 1/4 (pow re 2)) |
| 1.0ms | im | @ | 0 | (* (* 1/2 (pow im 2)) (sin re)) |
| 1.0ms | im | @ | inf | (* (* 1/2 (pow im 2)) (sin re)) |
| 1.0ms | re | @ | inf | (* (* 1/2 (pow im 2)) (sin re)) |
| 1× | batch-egg-rewrite |
| 1418× | unpow-prod-down |
| 848× | log-prod |
| 707× | log1p-expm1-u |
| 707× | expm1-log1p-u |
| 348× | pow-unpow |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 17 | 61 |
| 1 | 179 | 61 |
| 2 | 2071 | 61 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (sin.f64 re)) |
(*.f64 1/2 (pow.f64 im 2)) |
(/.f64 1/4 (pow.f64 re 2)) |
| Outputs |
|---|
(+.f64 0 (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))) |
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) (*.f64 1/2 (pow.f64 im 2)))) (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) (*.f64 1/2 (pow.f64 im 2)))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) (*.f64 1/2 (pow.f64 im 2)))))) |
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) (*.f64 1/2 (pow.f64 im 2))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) (*.f64 1/2 (pow.f64 im 2)))))) |
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))))) 1) |
(pow.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))) 1) |
(pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))) 3) |
(pow.f64 (*.f64 (pow.f64 (sin.f64 re) 3) (*.f64 (pow.f64 im 6) 1/8)) 1/3) |
(pow.f64 (*.f64 im (pow.f64 (*.f64 1/2 (sin.f64 re)) 1/2)) 2) |
(sqrt.f64 (*.f64 (pow.f64 (sin.f64 re) 2) (*.f64 1/4 (pow.f64 im 4)))) |
(log.f64 (pow.f64 (exp.f64 (sin.f64 re)) (*.f64 1/2 (pow.f64 im 2)))) |
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))))) |
(cbrt.f64 (*.f64 (pow.f64 (sin.f64 re) 3) (*.f64 (pow.f64 im 6) 1/8))) |
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))))) |
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))))) |
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))))) |
(exp.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))) 1)) |
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))))) 3)) |
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))))) 1/3)) |
(exp.f64 (*.f64 (log.f64 (*.f64 im (pow.f64 (*.f64 1/2 (sin.f64 re)) 1/2))) 2)) |
(+.f64 0 (*.f64 1/2 (pow.f64 im 2))) |
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) 1/2)) (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) 1/2)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) 1/2)))) |
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) 1/2))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) 1/2)))) |
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (pow.f64 im 2)))) 1) |
(pow.f64 (*.f64 1/2 (pow.f64 im 2)) 1) |
(pow.f64 (cbrt.f64 (*.f64 1/2 (pow.f64 im 2))) 3) |
(pow.f64 (*.f64 (pow.f64 im 6) 1/8) 1/3) |
(pow.f64 (*.f64 im (sqrt.f64 1/2)) 2) |
(sqrt.f64 (*.f64 1/4 (pow.f64 im 4))) |
(log.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) 1/2)) |
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (pow.f64 im 2))))) |
(cbrt.f64 (*.f64 (pow.f64 im 6) 1/8)) |
(expm1.f64 (log1p.f64 (*.f64 1/2 (pow.f64 im 2)))) |
(log1p.f64 (expm1.f64 (*.f64 1/2 (pow.f64 im 2)))) |
(exp.f64 (fma.f64 2 (log.f64 im) (log.f64 1/2))) |
(exp.f64 (*.f64 (fma.f64 2 (log.f64 im) (log.f64 1/2)) 1)) |
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (pow.f64 im 2)))) 3)) |
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 im 6) 1/8)) 1/3)) |
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 1/2))) 2)) |
(+.f64 0 (*.f64 1/4 (pow.f64 re -2))) |
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 1/4) (pow.f64 re -2))) (cbrt.f64 (pow.f64 (exp.f64 1/4) (pow.f64 re -2))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/4) (pow.f64 re -2))))) |
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/4) (pow.f64 re -2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/4) (pow.f64 re -2))))) |
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/4 (pow.f64 re -2)))) 1) |
(*.f64 1/4 (pow.f64 re -2)) |
(*.f64 1/4 (pow.f64 (sqrt.f64 (pow.f64 re -2)) 2)) |
(*.f64 (*.f64 1/4 (pow.f64 re -2)) 1) |
(*.f64 (*.f64 1/4 (pow.f64 re -2)) (log.f64 (exp.f64 1))) |
(*.f64 1 (*.f64 1/4 (pow.f64 re -2))) |
(*.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 re -2))) (cbrt.f64 (/.f64 1/16 (pow.f64 re 4)))) |
(*.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 re -2))) (pow.f64 (/.f64 1/16 (pow.f64 re 4)) 1/3)) |
(*.f64 (cbrt.f64 (/.f64 1/16 (pow.f64 re 4))) (cbrt.f64 (*.f64 1/4 (pow.f64 re -2)))) |
(*.f64 (cbrt.f64 (/.f64 1/16 (pow.f64 re 4))) (pow.f64 (cbrt.f64 (/.f64 1/2 re)) 2)) |
(*.f64 (/.f64 1/2 re) (/.f64 1/2 re)) |
(*.f64 -1/4 (/.f64 1 (neg.f64 (pow.f64 re 2)))) |
(*.f64 -1/4 (pow.f64 (/.f64 1 (neg.f64 (pow.f64 re 2))) 1)) |
(*.f64 (pow.f64 re -2) 1/4) |
(*.f64 (pow.f64 re -2) (log.f64 (exp.f64 1/4))) |
(*.f64 (/.f64 1 re) (pow.f64 (/.f64 re 1/4) -1)) |
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 re) 4)) (pow.f64 (/.f64 (pow.f64 (cbrt.f64 re) 2) 1/4) -1)) |
(*.f64 (pow.f64 1 1/3) (*.f64 1/4 (pow.f64 re -2))) |
(*.f64 (pow.f64 (cbrt.f64 1/4) 3) (pow.f64 (cbrt.f64 (pow.f64 re -2)) 3)) |
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 1/16 (pow.f64 re 4)))) 3) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 re -2)))) 3)) |
(*.f64 (pow.f64 (cbrt.f64 (/.f64 1/2 re)) 3) (pow.f64 (cbrt.f64 (/.f64 1/2 re)) 3)) |
(*.f64 (pow.f64 (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 re -2)))) (cbrt.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 re -2))))) 3) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 re -2)))) 3)) |
(*.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 re -2)))) 3) (pow.f64 (sqrt.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 re -2)))) 3)) |
(*.f64 (pow.f64 (/.f64 1/16 (pow.f64 re 4)) 1/3) (cbrt.f64 (*.f64 1/4 (pow.f64 re -2)))) |
(*.f64 (pow.f64 (*.f64 (*.f64 1/4 (pow.f64 re -2)) (/.f64 1/2 re)) 1/3) (pow.f64 (*.f64 (*.f64 1/4 (pow.f64 re -2)) (/.f64 1/2 re)) 1/3)) |
(*.f64 (pow.f64 (sqrt.f64 (pow.f64 (/.f64 1/2 re) 6)) 1/3) (pow.f64 (sqrt.f64 (pow.f64 (/.f64 1/2 re) 6)) 1/3)) |
(*.f64 (pow.f64 (*.f64 (/.f64 1/16 (pow.f64 re 4)) 1/4) 1/3) (pow.f64 (pow.f64 re -2) 1/3)) |
(*.f64 (pow.f64 (*.f64 (/.f64 1/16 (pow.f64 re 4)) (cbrt.f64 (/.f64 1/16 (pow.f64 re 4)))) 1/3) (pow.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 re -2))) 1/3)) |
(*.f64 (pow.f64 (*.f64 (/.f64 1/16 (pow.f64 re 4)) (/.f64 1/2 re)) 1/3) (pow.f64 (/.f64 1/2 re) 1/3)) |
(*.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (/.f64 1/16 (pow.f64 re 4)))) 2) (pow.f64 (sqrt.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 re -2)))) 2)) |
(*.f64 (pow.f64 (sqrt.f64 (/.f64 1/2 re)) 2) (pow.f64 (sqrt.f64 (/.f64 1/2 re)) 2)) |
(*.f64 (pow.f64 (*.f64 (cbrt.f64 (*.f64 (pow.f64 re 2) 4)) (cbrt.f64 (*.f64 (pow.f64 re 2) 4))) -1) (cbrt.f64 (*.f64 1/4 (pow.f64 re -2)))) |
(pow.f64 (*.f64 1/4 (pow.f64 re -2)) 1) |
(pow.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 re -2))) 3) |
(pow.f64 (pow.f64 (/.f64 1/2 re) 6) 1/3) |
(pow.f64 (/.f64 1/2 re) 2) |
(pow.f64 (*.f64 (pow.f64 re 2) 4) -1) |
(pow.f64 (/.f64 (*.f64 (pow.f64 re 2) 4) 1) -1) |
(neg.f64 (/.f64 -1/4 (pow.f64 re 2))) |
(sqrt.f64 (/.f64 1/16 (pow.f64 re 4))) |
(log.f64 (pow.f64 (exp.f64 1/4) (pow.f64 re -2))) |
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/4 (pow.f64 re -2))))) |
(cbrt.f64 (pow.f64 (/.f64 1/2 re) 6)) |
(expm1.f64 (log1p.f64 (*.f64 1/4 (pow.f64 re -2)))) |
(log1p.f64 (expm1.f64 (*.f64 1/4 (pow.f64 re -2)))) |
(exp.f64 (*.f64 2 (log.f64 (/.f64 1/2 re)))) |
(exp.f64 (*.f64 (*.f64 2 (log.f64 (/.f64 1/2 re))) 1)) |
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 re -2)))) 3)) |
(exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 1/2 re) 6)) 1/3)) |
(exp.f64 (*.f64 (log.f64 (/.f64 1/2 re)) 2)) |
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 re 2) 4)) -1)) |
| 1× | egg-herbie |
| 1192× | associate-*r* |
| 1124× | associate-*l* |
| 916× | fma-define |
| 690× | times-frac |
| 666× | exp-prod |
Useful iterations: 4 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 288 | 3440 |
| 1 | 562 | 3416 |
| 2 | 1381 | 3356 |
| 3 | 4227 | 3332 |
| 4 | 6780 | 3330 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))) |
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))) |
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))) |
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))) |
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))) |
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))) |
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))) |
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))) |
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))) |
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))) |
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))) |
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))) |
(*.f64 1/2 (*.f64 (pow.f64 im 2) re)) |
(*.f64 re (+.f64 (*.f64 -1/12 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (*.f64 1/2 (pow.f64 im 2)))) |
(*.f64 re (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/12 (pow.f64 im 2)) (*.f64 1/240 (*.f64 (pow.f64 im 2) (pow.f64 re 2))))))) |
(*.f64 re (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/12 (pow.f64 im 2)) (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/10080 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (*.f64 1/240 (pow.f64 im 2)))))))) |
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))) |
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))) |
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))) |
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))) |
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))) |
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))) |
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))) |
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))) |
(+.f64 0 (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))) |
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) (*.f64 1/2 (pow.f64 im 2)))) (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) (*.f64 1/2 (pow.f64 im 2)))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) (*.f64 1/2 (pow.f64 im 2)))))) |
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) (*.f64 1/2 (pow.f64 im 2))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) (*.f64 1/2 (pow.f64 im 2)))))) |
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))))) 1) |
(pow.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))) 1) |
(pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))) 3) |
(pow.f64 (*.f64 (pow.f64 (sin.f64 re) 3) (*.f64 (pow.f64 im 6) 1/8)) 1/3) |
(pow.f64 (*.f64 im (pow.f64 (*.f64 1/2 (sin.f64 re)) 1/2)) 2) |
(sqrt.f64 (*.f64 (pow.f64 (sin.f64 re) 2) (*.f64 1/4 (pow.f64 im 4)))) |
(log.f64 (pow.f64 (exp.f64 (sin.f64 re)) (*.f64 1/2 (pow.f64 im 2)))) |
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))))) |
(cbrt.f64 (*.f64 (pow.f64 (sin.f64 re) 3) (*.f64 (pow.f64 im 6) 1/8))) |
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))))) |
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))))) |
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))))) |
(exp.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))) 1)) |
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))))) 3)) |
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))))) 1/3)) |
(exp.f64 (*.f64 (log.f64 (*.f64 im (pow.f64 (*.f64 1/2 (sin.f64 re)) 1/2))) 2)) |
(+.f64 0 (*.f64 1/2 (pow.f64 im 2))) |
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) 1/2)) (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) 1/2)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) 1/2)))) |
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) 1/2))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) 1/2)))) |
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (pow.f64 im 2)))) 1) |
(pow.f64 (*.f64 1/2 (pow.f64 im 2)) 1) |
(pow.f64 (cbrt.f64 (*.f64 1/2 (pow.f64 im 2))) 3) |
(pow.f64 (*.f64 (pow.f64 im 6) 1/8) 1/3) |
(pow.f64 (*.f64 im (sqrt.f64 1/2)) 2) |
(sqrt.f64 (*.f64 1/4 (pow.f64 im 4))) |
(log.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) 1/2)) |
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (pow.f64 im 2))))) |
(cbrt.f64 (*.f64 (pow.f64 im 6) 1/8)) |
(expm1.f64 (log1p.f64 (*.f64 1/2 (pow.f64 im 2)))) |
(log1p.f64 (expm1.f64 (*.f64 1/2 (pow.f64 im 2)))) |
(exp.f64 (fma.f64 2 (log.f64 im) (log.f64 1/2))) |
(exp.f64 (*.f64 (fma.f64 2 (log.f64 im) (log.f64 1/2)) 1)) |
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (pow.f64 im 2)))) 3)) |
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 im 6) 1/8)) 1/3)) |
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 1/2))) 2)) |
(+.f64 0 (*.f64 1/4 (pow.f64 re -2))) |
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 1/4) (pow.f64 re -2))) (cbrt.f64 (pow.f64 (exp.f64 1/4) (pow.f64 re -2))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/4) (pow.f64 re -2))))) |
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/4) (pow.f64 re -2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/4) (pow.f64 re -2))))) |
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/4 (pow.f64 re -2)))) 1) |
(*.f64 1/4 (pow.f64 re -2)) |
(*.f64 1/4 (pow.f64 (sqrt.f64 (pow.f64 re -2)) 2)) |
(*.f64 (*.f64 1/4 (pow.f64 re -2)) 1) |
(*.f64 (*.f64 1/4 (pow.f64 re -2)) (log.f64 (exp.f64 1))) |
(*.f64 1 (*.f64 1/4 (pow.f64 re -2))) |
(*.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 re -2))) (cbrt.f64 (/.f64 1/16 (pow.f64 re 4)))) |
(*.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 re -2))) (pow.f64 (/.f64 1/16 (pow.f64 re 4)) 1/3)) |
(*.f64 (cbrt.f64 (/.f64 1/16 (pow.f64 re 4))) (cbrt.f64 (*.f64 1/4 (pow.f64 re -2)))) |
(*.f64 (cbrt.f64 (/.f64 1/16 (pow.f64 re 4))) (pow.f64 (cbrt.f64 (/.f64 1/2 re)) 2)) |
(*.f64 (/.f64 1/2 re) (/.f64 1/2 re)) |
(*.f64 -1/4 (/.f64 1 (neg.f64 (pow.f64 re 2)))) |
(*.f64 -1/4 (pow.f64 (/.f64 1 (neg.f64 (pow.f64 re 2))) 1)) |
(*.f64 (pow.f64 re -2) 1/4) |
(*.f64 (pow.f64 re -2) (log.f64 (exp.f64 1/4))) |
(*.f64 (/.f64 1 re) (pow.f64 (/.f64 re 1/4) -1)) |
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 re) 4)) (pow.f64 (/.f64 (pow.f64 (cbrt.f64 re) 2) 1/4) -1)) |
(*.f64 (pow.f64 1 1/3) (*.f64 1/4 (pow.f64 re -2))) |
(*.f64 (pow.f64 (cbrt.f64 1/4) 3) (pow.f64 (cbrt.f64 (pow.f64 re -2)) 3)) |
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 1/16 (pow.f64 re 4)))) 3) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 re -2)))) 3)) |
(*.f64 (pow.f64 (cbrt.f64 (/.f64 1/2 re)) 3) (pow.f64 (cbrt.f64 (/.f64 1/2 re)) 3)) |
(*.f64 (pow.f64 (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 re -2)))) (cbrt.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 re -2))))) 3) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 re -2)))) 3)) |
(*.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 re -2)))) 3) (pow.f64 (sqrt.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 re -2)))) 3)) |
(*.f64 (pow.f64 (/.f64 1/16 (pow.f64 re 4)) 1/3) (cbrt.f64 (*.f64 1/4 (pow.f64 re -2)))) |
(*.f64 (pow.f64 (*.f64 (*.f64 1/4 (pow.f64 re -2)) (/.f64 1/2 re)) 1/3) (pow.f64 (*.f64 (*.f64 1/4 (pow.f64 re -2)) (/.f64 1/2 re)) 1/3)) |
(*.f64 (pow.f64 (sqrt.f64 (pow.f64 (/.f64 1/2 re) 6)) 1/3) (pow.f64 (sqrt.f64 (pow.f64 (/.f64 1/2 re) 6)) 1/3)) |
(*.f64 (pow.f64 (*.f64 (/.f64 1/16 (pow.f64 re 4)) 1/4) 1/3) (pow.f64 (pow.f64 re -2) 1/3)) |
(*.f64 (pow.f64 (*.f64 (/.f64 1/16 (pow.f64 re 4)) (cbrt.f64 (/.f64 1/16 (pow.f64 re 4)))) 1/3) (pow.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 re -2))) 1/3)) |
(*.f64 (pow.f64 (*.f64 (/.f64 1/16 (pow.f64 re 4)) (/.f64 1/2 re)) 1/3) (pow.f64 (/.f64 1/2 re) 1/3)) |
(*.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (/.f64 1/16 (pow.f64 re 4)))) 2) (pow.f64 (sqrt.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 re -2)))) 2)) |
(*.f64 (pow.f64 (sqrt.f64 (/.f64 1/2 re)) 2) (pow.f64 (sqrt.f64 (/.f64 1/2 re)) 2)) |
(*.f64 (pow.f64 (*.f64 (cbrt.f64 (*.f64 (pow.f64 re 2) 4)) (cbrt.f64 (*.f64 (pow.f64 re 2) 4))) -1) (cbrt.f64 (*.f64 1/4 (pow.f64 re -2)))) |
(pow.f64 (*.f64 1/4 (pow.f64 re -2)) 1) |
(pow.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 re -2))) 3) |
(pow.f64 (pow.f64 (/.f64 1/2 re) 6) 1/3) |
(pow.f64 (/.f64 1/2 re) 2) |
(pow.f64 (*.f64 (pow.f64 re 2) 4) -1) |
(pow.f64 (/.f64 (*.f64 (pow.f64 re 2) 4) 1) -1) |
(neg.f64 (/.f64 -1/4 (pow.f64 re 2))) |
(sqrt.f64 (/.f64 1/16 (pow.f64 re 4))) |
(log.f64 (pow.f64 (exp.f64 1/4) (pow.f64 re -2))) |
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/4 (pow.f64 re -2))))) |
(cbrt.f64 (pow.f64 (/.f64 1/2 re) 6)) |
(expm1.f64 (log1p.f64 (*.f64 1/4 (pow.f64 re -2)))) |
(log1p.f64 (expm1.f64 (*.f64 1/4 (pow.f64 re -2)))) |
(exp.f64 (*.f64 2 (log.f64 (/.f64 1/2 re)))) |
(exp.f64 (*.f64 (*.f64 2 (log.f64 (/.f64 1/2 re))) 1)) |
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 re -2)))) 3)) |
(exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 1/2 re) 6)) 1/3)) |
(exp.f64 (*.f64 (log.f64 (/.f64 1/2 re)) 2)) |
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 re 2) 4)) -1)) |
| Outputs |
|---|
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))) |
(*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re))) |
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))) |
(*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re))) |
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))) |
(*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re))) |
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))) |
(*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re))) |
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))) |
(*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re))) |
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))) |
(*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re))) |
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))) |
(*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re))) |
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))) |
(*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re))) |
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))) |
(*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re))) |
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))) |
(*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re))) |
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))) |
(*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re))) |
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))) |
(*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re))) |
(*.f64 1/2 (*.f64 (pow.f64 im 2) re)) |
(*.f64 re (+.f64 (*.f64 -1/12 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (*.f64 1/2 (pow.f64 im 2)))) |
(*.f64 re (fma.f64 -1/12 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2)))) |
(*.f64 re (fma.f64 1/2 (pow.f64 im 2) (*.f64 (pow.f64 im 2) (*.f64 -1/12 (pow.f64 re 2))))) |
(*.f64 re (*.f64 (pow.f64 im 2) (+.f64 (*.f64 -1/12 (pow.f64 re 2)) 1/2))) |
(*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3)))) |
(*.f64 re (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/12 (pow.f64 im 2)) (*.f64 1/240 (*.f64 (pow.f64 im 2) (pow.f64 re 2))))))) |
(*.f64 re (fma.f64 1/2 (pow.f64 im 2) (*.f64 (pow.f64 re 2) (fma.f64 -1/12 (pow.f64 im 2) (*.f64 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) 1/240))))) |
(*.f64 re (fma.f64 (pow.f64 re 2) (fma.f64 (pow.f64 im 2) -1/12 (*.f64 (pow.f64 re 2) (*.f64 (pow.f64 im 2) 1/240))) (*.f64 1/2 (pow.f64 im 2)))) |
(fma.f64 (*.f64 (pow.f64 im 2) (+.f64 -1/12 (*.f64 (pow.f64 re 2) 1/240))) (pow.f64 re 3) (*.f64 1/2 (*.f64 (pow.f64 im 2) re))) |
(*.f64 re (*.f64 (pow.f64 im 2) (+.f64 (+.f64 1/2 (*.f64 -1/12 (pow.f64 re 2))) (*.f64 1/240 (pow.f64 re 4))))) |
(*.f64 re (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/12 (pow.f64 im 2)) (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/10080 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (*.f64 1/240 (pow.f64 im 2)))))))) |
(*.f64 re (fma.f64 1/2 (pow.f64 im 2) (*.f64 (pow.f64 re 2) (fma.f64 -1/12 (pow.f64 im 2) (*.f64 (pow.f64 re 2) (fma.f64 -1/10080 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (*.f64 (pow.f64 im 2) 1/240))))))) |
(*.f64 re (fma.f64 (pow.f64 re 2) (fma.f64 (pow.f64 re 2) (fma.f64 (pow.f64 im 2) 1/240 (*.f64 (pow.f64 im 2) (*.f64 (pow.f64 re 2) -1/10080))) (*.f64 (pow.f64 im 2) -1/12)) (*.f64 1/2 (pow.f64 im 2)))) |
(*.f64 re (+.f64 (*.f64 (pow.f64 im 2) (+.f64 (*.f64 -1/12 (pow.f64 re 2)) 1/2)) (*.f64 (*.f64 (pow.f64 im 2) (+.f64 (*.f64 (pow.f64 re 2) -1/10080) 1/240)) (pow.f64 re 4)))) |
(*.f64 re (fma.f64 1/2 (pow.f64 im 2) (*.f64 (pow.f64 re 2) (*.f64 (pow.f64 im 2) (+.f64 (+.f64 -1/12 (*.f64 (pow.f64 re 2) 1/240)) (*.f64 -1/10080 (pow.f64 re 4))))))) |
(*.f64 re (fma.f64 (pow.f64 re 2) (*.f64 (pow.f64 im 2) (+.f64 (+.f64 -1/12 (*.f64 (pow.f64 re 2) 1/240)) (*.f64 -1/10080 (pow.f64 re 4)))) (*.f64 1/2 (pow.f64 im 2)))) |
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))) |
(*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re))) |
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))) |
(*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re))) |
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))) |
(*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re))) |
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))) |
(*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re))) |
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))) |
(*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re))) |
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))) |
(*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re))) |
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))) |
(*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re))) |
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))) |
(*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re))) |
(+.f64 0 (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))) |
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))) |
(*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re))) |
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) (*.f64 1/2 (pow.f64 im 2)))) (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) (*.f64 1/2 (pow.f64 im 2)))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) (*.f64 1/2 (pow.f64 im 2)))))) |
(+.f64 (log.f64 (*.f64 (cbrt.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) (pow.f64 im 2)))) (cbrt.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) (pow.f64 im 2)))))) (log.f64 (cbrt.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) (pow.f64 im 2)))))) |
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (pow.f64 im 2))) (sin.f64 re))) (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (pow.f64 im 2))) (sin.f64 re))))) (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (pow.f64 im 2))) (sin.f64 re))))) |
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) (*.f64 1/2 (pow.f64 im 2))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) (*.f64 1/2 (pow.f64 im 2)))))) |
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) (*.f64 1/2 (pow.f64 im 2)))))) |
(*.f64 2 (log.f64 (sqrt.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) (pow.f64 im 2)))))) |
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (pow.f64 im 2))) (sin.f64 re))))) |
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))))) 1) |
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))) |
(*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re))) |
(pow.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))) 1) |
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))) |
(*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re))) |
(pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))) 3) |
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))) |
(*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re))) |
(pow.f64 (*.f64 (pow.f64 (sin.f64 re) 3) (*.f64 (pow.f64 im 6) 1/8)) 1/3) |
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))) |
(*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re))) |
(pow.f64 (*.f64 im (pow.f64 (*.f64 1/2 (sin.f64 re)) 1/2)) 2) |
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))) |
(*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re))) |
(sqrt.f64 (*.f64 (pow.f64 (sin.f64 re) 2) (*.f64 1/4 (pow.f64 im 4)))) |
(sqrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 4)) |
(log.f64 (pow.f64 (exp.f64 (sin.f64 re)) (*.f64 1/2 (pow.f64 im 2)))) |
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))) |
(*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re))) |
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))))) |
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))) |
(*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re))) |
(cbrt.f64 (*.f64 (pow.f64 (sin.f64 re) 3) (*.f64 (pow.f64 im 6) 1/8))) |
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))) |
(*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re))) |
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))))) |
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))) |
(*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re))) |
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))))) |
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))) |
(*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re))) |
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))))) |
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))) |
(*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re))) |
(exp.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))) 1)) |
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))) |
(*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re))) |
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))))) 3)) |
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))) |
(*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re))) |
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))))) 1/3)) |
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))) |
(*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re))) |
(exp.f64 (*.f64 (log.f64 (*.f64 im (pow.f64 (*.f64 1/2 (sin.f64 re)) 1/2))) 2)) |
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))) |
(*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re))) |
(+.f64 0 (*.f64 1/2 (pow.f64 im 2))) |
(*.f64 1/2 (pow.f64 im 2)) |
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) 1/2)) (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) 1/2)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) 1/2)))) |
(+.f64 (log.f64 (*.f64 (cbrt.f64 (sqrt.f64 (exp.f64 (pow.f64 im 2)))) (cbrt.f64 (sqrt.f64 (exp.f64 (pow.f64 im 2)))))) (log.f64 (cbrt.f64 (sqrt.f64 (exp.f64 (pow.f64 im 2)))))) |
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) 1/2))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) 1/2)))) |
(*.f64 2 (log.f64 (sqrt.f64 (sqrt.f64 (exp.f64 (pow.f64 im 2)))))) |
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (pow.f64 im 2)))) 1) |
(*.f64 1/2 (pow.f64 im 2)) |
(pow.f64 (*.f64 1/2 (pow.f64 im 2)) 1) |
(*.f64 1/2 (pow.f64 im 2)) |
(pow.f64 (cbrt.f64 (*.f64 1/2 (pow.f64 im 2))) 3) |
(*.f64 1/2 (pow.f64 im 2)) |
(pow.f64 (*.f64 (pow.f64 im 6) 1/8) 1/3) |
(cbrt.f64 (*.f64 (pow.f64 im 6) 1/8)) |
(pow.f64 (*.f64 im (sqrt.f64 1/2)) 2) |
(*.f64 1/2 (pow.f64 im 2)) |
(sqrt.f64 (*.f64 1/4 (pow.f64 im 4))) |
(log.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) 1/2)) |
(*.f64 1/2 (pow.f64 im 2)) |
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (pow.f64 im 2))))) |
(*.f64 1/2 (pow.f64 im 2)) |
(cbrt.f64 (*.f64 (pow.f64 im 6) 1/8)) |
(expm1.f64 (log1p.f64 (*.f64 1/2 (pow.f64 im 2)))) |
(*.f64 1/2 (pow.f64 im 2)) |
(log1p.f64 (expm1.f64 (*.f64 1/2 (pow.f64 im 2)))) |
(*.f64 1/2 (pow.f64 im 2)) |
(exp.f64 (fma.f64 2 (log.f64 im) (log.f64 1/2))) |
(*.f64 1/2 (pow.f64 im 2)) |
(exp.f64 (*.f64 (fma.f64 2 (log.f64 im) (log.f64 1/2)) 1)) |
(*.f64 1/2 (pow.f64 im 2)) |
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (pow.f64 im 2)))) 3)) |
(*.f64 1/2 (pow.f64 im 2)) |
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 im 6) 1/8)) 1/3)) |
(cbrt.f64 (*.f64 (pow.f64 im 6) 1/8)) |
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 1/2))) 2)) |
(*.f64 1/2 (pow.f64 im 2)) |
(+.f64 0 (*.f64 1/4 (pow.f64 re -2))) |
(*.f64 1/4 (pow.f64 re -2)) |
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 1/4) (pow.f64 re -2))) (cbrt.f64 (pow.f64 (exp.f64 1/4) (pow.f64 re -2))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/4) (pow.f64 re -2))))) |
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/4) (pow.f64 re -2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/4) (pow.f64 re -2))))) |
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/4) (pow.f64 re -2))))) |
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/4 (pow.f64 re -2)))) 1) |
(*.f64 1/4 (pow.f64 re -2)) |
(*.f64 1/4 (pow.f64 re -2)) |
(*.f64 1/4 (pow.f64 (sqrt.f64 (pow.f64 re -2)) 2)) |
(*.f64 1/4 (pow.f64 re -2)) |
(*.f64 (*.f64 1/4 (pow.f64 re -2)) 1) |
(*.f64 1/4 (pow.f64 re -2)) |
(*.f64 (*.f64 1/4 (pow.f64 re -2)) (log.f64 (exp.f64 1))) |
(*.f64 1/4 (pow.f64 re -2)) |
(*.f64 1 (*.f64 1/4 (pow.f64 re -2))) |
(*.f64 1/4 (pow.f64 re -2)) |
(*.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 re -2))) (cbrt.f64 (/.f64 1/16 (pow.f64 re 4)))) |
(*.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 re -2))) (pow.f64 (/.f64 1/16 (pow.f64 re 4)) 1/3)) |
(*.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 re -2))) (cbrt.f64 (/.f64 1/16 (pow.f64 re 4)))) |
(*.f64 (cbrt.f64 (/.f64 1/16 (pow.f64 re 4))) (cbrt.f64 (*.f64 1/4 (pow.f64 re -2)))) |
(*.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 re -2))) (cbrt.f64 (/.f64 1/16 (pow.f64 re 4)))) |
(*.f64 (cbrt.f64 (/.f64 1/16 (pow.f64 re 4))) (pow.f64 (cbrt.f64 (/.f64 1/2 re)) 2)) |
(*.f64 (/.f64 1/2 re) (/.f64 1/2 re)) |
(pow.f64 (/.f64 1/2 re) 2) |
(/.f64 1/4 (pow.f64 re 2)) |
(*.f64 -1/4 (/.f64 1 (neg.f64 (pow.f64 re 2)))) |
(pow.f64 (/.f64 1/2 re) 2) |
(/.f64 1/4 (pow.f64 re 2)) |
(*.f64 -1/4 (pow.f64 (/.f64 1 (neg.f64 (pow.f64 re 2))) 1)) |
(pow.f64 (/.f64 1/2 re) 2) |
(/.f64 1/4 (pow.f64 re 2)) |
(*.f64 (pow.f64 re -2) 1/4) |
(*.f64 1/4 (pow.f64 re -2)) |
(*.f64 (pow.f64 re -2) (log.f64 (exp.f64 1/4))) |
(*.f64 1/4 (pow.f64 re -2)) |
(*.f64 (/.f64 1 re) (pow.f64 (/.f64 re 1/4) -1)) |
(pow.f64 (/.f64 1/2 re) 2) |
(/.f64 1/4 (pow.f64 re 2)) |
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 re) 4)) (pow.f64 (/.f64 (pow.f64 (cbrt.f64 re) 2) 1/4) -1)) |
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 re) 4)) (/.f64 1 (/.f64 (pow.f64 (cbrt.f64 re) 2) 1/4))) |
(/.f64 (*.f64 (/.f64 1 (pow.f64 (cbrt.f64 re) 2)) 1/4) (pow.f64 (cbrt.f64 re) 4)) |
(/.f64 (/.f64 1/4 (pow.f64 (cbrt.f64 re) 2)) (pow.f64 (cbrt.f64 re) 4)) |
(/.f64 1/4 (*.f64 (pow.f64 (cbrt.f64 re) 4) (pow.f64 (cbrt.f64 re) 2))) |
(*.f64 (pow.f64 1 1/3) (*.f64 1/4 (pow.f64 re -2))) |
(*.f64 1/4 (pow.f64 re -2)) |
(*.f64 (pow.f64 (cbrt.f64 1/4) 3) (pow.f64 (cbrt.f64 (pow.f64 re -2)) 3)) |
(*.f64 1/4 (pow.f64 re -2)) |
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 1/16 (pow.f64 re 4)))) 3) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 re -2)))) 3)) |
(*.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 re -2))) (cbrt.f64 (/.f64 1/16 (pow.f64 re 4)))) |
(*.f64 (pow.f64 (cbrt.f64 (/.f64 1/2 re)) 3) (pow.f64 (cbrt.f64 (/.f64 1/2 re)) 3)) |
(pow.f64 (/.f64 1/2 re) 2) |
(/.f64 1/4 (pow.f64 re 2)) |
(*.f64 (pow.f64 (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 re -2)))) (cbrt.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 re -2))))) 3) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 re -2)))) 3)) |
(*.f64 1/4 (pow.f64 re -2)) |
(*.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 re -2)))) 3) (pow.f64 (sqrt.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 re -2)))) 3)) |
(*.f64 1/4 (pow.f64 re -2)) |
(*.f64 (pow.f64 (/.f64 1/16 (pow.f64 re 4)) 1/3) (cbrt.f64 (*.f64 1/4 (pow.f64 re -2)))) |
(*.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 re -2))) (cbrt.f64 (/.f64 1/16 (pow.f64 re 4)))) |
(*.f64 (pow.f64 (*.f64 (*.f64 1/4 (pow.f64 re -2)) (/.f64 1/2 re)) 1/3) (pow.f64 (*.f64 (*.f64 1/4 (pow.f64 re -2)) (/.f64 1/2 re)) 1/3)) |
(*.f64 (cbrt.f64 (*.f64 1/4 (*.f64 (pow.f64 re -2) (/.f64 1/2 re)))) (cbrt.f64 (*.f64 1/4 (*.f64 (pow.f64 re -2) (/.f64 1/2 re))))) |
(*.f64 (cbrt.f64 (/.f64 (*.f64 (pow.f64 re -2) 1/8) re)) (cbrt.f64 (/.f64 (*.f64 (pow.f64 re -2) 1/8) re))) |
(*.f64 (cbrt.f64 (*.f64 (pow.f64 re -2) (/.f64 1/8 re))) (cbrt.f64 (*.f64 (pow.f64 re -2) (/.f64 1/8 re)))) |
(*.f64 (cbrt.f64 (*.f64 1/8 (/.f64 (pow.f64 re -2) re))) (cbrt.f64 (*.f64 1/8 (/.f64 (pow.f64 re -2) re)))) |
(*.f64 (pow.f64 (sqrt.f64 (pow.f64 (/.f64 1/2 re) 6)) 1/3) (pow.f64 (sqrt.f64 (pow.f64 (/.f64 1/2 re) 6)) 1/3)) |
(*.f64 (cbrt.f64 (sqrt.f64 (pow.f64 (/.f64 1/2 re) 6))) (cbrt.f64 (sqrt.f64 (pow.f64 (/.f64 1/2 re) 6)))) |
(*.f64 (pow.f64 (*.f64 (/.f64 1/16 (pow.f64 re 4)) 1/4) 1/3) (pow.f64 (pow.f64 re -2) 1/3)) |
(*.f64 (cbrt.f64 (pow.f64 re -2)) (cbrt.f64 (/.f64 1/64 (pow.f64 re 4)))) |
(*.f64 (pow.f64 (*.f64 (/.f64 1/16 (pow.f64 re 4)) (cbrt.f64 (/.f64 1/16 (pow.f64 re 4)))) 1/3) (pow.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 re -2))) 1/3)) |
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 re -2)))) (cbrt.f64 (*.f64 (/.f64 1/16 (pow.f64 re 4)) (cbrt.f64 (/.f64 1/16 (pow.f64 re 4)))))) |
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 re -2)))) (cbrt.f64 (*.f64 1/16 (/.f64 (cbrt.f64 (/.f64 1/16 (pow.f64 re 4))) (pow.f64 re 4))))) |
(*.f64 (pow.f64 (*.f64 (/.f64 1/16 (pow.f64 re 4)) (/.f64 1/2 re)) 1/3) (pow.f64 (/.f64 1/2 re) 1/3)) |
(*.f64 (cbrt.f64 (/.f64 1/2 re)) (cbrt.f64 (*.f64 (/.f64 1/16 (pow.f64 re 4)) (/.f64 1/2 re)))) |
(*.f64 (cbrt.f64 (/.f64 1/2 re)) (cbrt.f64 (/.f64 (/.f64 1/32 re) (pow.f64 re 4)))) |
(*.f64 (cbrt.f64 (/.f64 1/2 re)) (cbrt.f64 (/.f64 (/.f64 1/32 (pow.f64 re 4)) re))) |
(*.f64 (cbrt.f64 (/.f64 1/2 re)) (cbrt.f64 (/.f64 1/32 (pow.f64 re 5)))) |
(*.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (/.f64 1/16 (pow.f64 re 4)))) 2) (pow.f64 (sqrt.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 re -2)))) 2)) |
(*.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 re -2))) (cbrt.f64 (/.f64 1/16 (pow.f64 re 4)))) |
(*.f64 (pow.f64 (sqrt.f64 (/.f64 1/2 re)) 2) (pow.f64 (sqrt.f64 (/.f64 1/2 re)) 2)) |
(pow.f64 (/.f64 1/2 re) 2) |
(/.f64 1/4 (pow.f64 re 2)) |
(*.f64 (pow.f64 (*.f64 (cbrt.f64 (*.f64 (pow.f64 re 2) 4)) (cbrt.f64 (*.f64 (pow.f64 re 2) 4))) -1) (cbrt.f64 (*.f64 1/4 (pow.f64 re -2)))) |
(*.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 re -2))) (/.f64 1 (*.f64 (cbrt.f64 (*.f64 (pow.f64 re 2) 4)) (cbrt.f64 (*.f64 (pow.f64 re 2) 4))))) |
(/.f64 (*.f64 1 (cbrt.f64 (*.f64 1/4 (pow.f64 re -2)))) (*.f64 (cbrt.f64 (*.f64 (pow.f64 re 2) 4)) (cbrt.f64 (*.f64 (pow.f64 re 2) 4)))) |
(/.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 re -2))) (*.f64 (cbrt.f64 (*.f64 (pow.f64 re 2) 4)) (cbrt.f64 (*.f64 (pow.f64 re 2) 4)))) |
(pow.f64 (*.f64 1/4 (pow.f64 re -2)) 1) |
(*.f64 1/4 (pow.f64 re -2)) |
(pow.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 re -2))) 3) |
(*.f64 1/4 (pow.f64 re -2)) |
(pow.f64 (pow.f64 (/.f64 1/2 re) 6) 1/3) |
(cbrt.f64 (pow.f64 (/.f64 1/2 re) 6)) |
(pow.f64 (/.f64 1/2 re) 2) |
(/.f64 1/4 (pow.f64 re 2)) |
(pow.f64 (*.f64 (pow.f64 re 2) 4) -1) |
(pow.f64 (/.f64 1/2 re) 2) |
(/.f64 1/4 (pow.f64 re 2)) |
(pow.f64 (/.f64 (*.f64 (pow.f64 re 2) 4) 1) -1) |
(pow.f64 (/.f64 1/2 re) 2) |
(/.f64 1/4 (pow.f64 re 2)) |
(neg.f64 (/.f64 -1/4 (pow.f64 re 2))) |
(pow.f64 (/.f64 1/2 re) 2) |
(/.f64 1/4 (pow.f64 re 2)) |
(sqrt.f64 (/.f64 1/16 (pow.f64 re 4))) |
(log.f64 (pow.f64 (exp.f64 1/4) (pow.f64 re -2))) |
(*.f64 1/4 (pow.f64 re -2)) |
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/4 (pow.f64 re -2))))) |
(*.f64 1/4 (pow.f64 re -2)) |
(cbrt.f64 (pow.f64 (/.f64 1/2 re) 6)) |
(expm1.f64 (log1p.f64 (*.f64 1/4 (pow.f64 re -2)))) |
(*.f64 1/4 (pow.f64 re -2)) |
(log1p.f64 (expm1.f64 (*.f64 1/4 (pow.f64 re -2)))) |
(*.f64 1/4 (pow.f64 re -2)) |
(exp.f64 (*.f64 2 (log.f64 (/.f64 1/2 re)))) |
(pow.f64 (/.f64 1/2 re) 2) |
(/.f64 1/4 (pow.f64 re 2)) |
(exp.f64 (*.f64 (*.f64 2 (log.f64 (/.f64 1/2 re))) 1)) |
(pow.f64 (/.f64 1/2 re) 2) |
(/.f64 1/4 (pow.f64 re 2)) |
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 re -2)))) 3)) |
(*.f64 1/4 (pow.f64 re -2)) |
(exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 1/2 re) 6)) 1/3)) |
(cbrt.f64 (pow.f64 (/.f64 1/2 re) 6)) |
(exp.f64 (*.f64 (log.f64 (/.f64 1/2 re)) 2)) |
(pow.f64 (/.f64 1/2 re) 2) |
(/.f64 1/4 (pow.f64 re 2)) |
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 re 2) 4)) -1)) |
(pow.f64 (/.f64 1/2 re) 2) |
(/.f64 1/4 (pow.f64 re 2)) |
Compiled 1969 to 1549 computations (21.3% saved)
23 alts after pruning (9 fresh and 14 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 136 | 5 | 141 |
| Fresh | 0 | 4 | 4 |
| Picked | 0 | 5 | 5 |
| Done | 1 | 9 | 10 |
| Total | 137 | 23 | 160 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 17.5% | (/.f64 1/4 (pow.f64 re 2)) |
| 17.5% | (*.f64 (pow.f64 re -2) 1/4) | |
| 24.2% | (*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3)))) | |
| 24.3% | (*.f64 (pow.f64 im 2) (*.f64 1/2 re)) | |
| 17.5% | (*.f64 (/.f64 1/2 re) (/.f64 1/2 re)) | |
| ✓ | 73.2% | (*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (sin.f64 re)) |
| ✓ | 27.2% | (*.f64 (*.f64 1/2 (pow.f64 im 2)) (sin.f64 re)) |
| ✓ | 100.0% | (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
| ✓ | 47.2% | (*.f64 (*.f64 1/2 re) (fma.f64 im im 2)) |
| ✓ | 65.2% | (*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
| ✓ | 49.6% | (sin.f64 re) |
| 17.5% | (exp.f64 (*.f64 (log.f64 (/.f64 1/2 re)) 2)) | |
| 23.7% | (cbrt.f64 (pow.f64 (/.f64 1/2 re) 6)) | |
| ✓ | 26.6% | re |
| 5.4% | 4 | |
| ✓ | 5.7% | 3/2 |
| ✓ | 5.9% | 1/2 |
| 5.7% | 1/4 | |
| ✓ | 5.6% | 1/8 |
| ✓ | 5.4% | 1/16 |
| 3.1% | -1/2 | |
| ✓ | 3.5% | -1 |
| ✓ | 2.8% | -4 |
Compiled 289 to 220 computations (23.9% saved)
| Inputs |
|---|
-4 |
-1 |
-1/2 |
1/16 |
1/8 |
1/4 |
1/2 |
3/2 |
4 |
re |
(*.f64 (/.f64 1/2 re) (/.f64 1/2 re)) |
(sin.f64 re) |
(*.f64 (pow.f64 re -2) 1/4) |
(/.f64 1/4 (pow.f64 re 2)) |
(*.f64 (pow.f64 im 2) (*.f64 1/2 re)) |
(*.f64 (*.f64 1/2 re) (fma.f64 im im 2)) |
(+.f64 (sin.f64 re) (sin.f64 re)) |
(cbrt.f64 (pow.f64 (/.f64 1/2 re) 6)) |
(pow.f64 (*.f64 (sin.f64 re) -2) -2) |
(exp.f64 (*.f64 (log.f64 (/.f64 1/2 re)) 2)) |
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (sin.f64 re)) |
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (sin.f64 re)) |
(*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3)))) |
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))) |
| Outputs |
|---|
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
6 calls:
| 16.0ms | im |
| 15.0ms | (sin.f64 re) |
| 15.0ms | re |
| 15.0ms | (*.f64 1/2 (sin.f64 re)) |
| 12.0ms | (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))) |
| Accuracy | Segments | Branch |
|---|---|---|
| 100.0% | 1 | re |
| 100.0% | 1 | im |
| 100.0% | 1 | (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))) |
| 100.0% | 1 | (*.f64 1/2 (sin.f64 re)) |
| 100.0% | 1 | (sin.f64 re) |
| 100.0% | 1 | (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)) |
Compiled 39 to 30 computations (23.1% saved)
| Inputs |
|---|
-4 |
-1 |
-1/2 |
1/16 |
1/8 |
1/4 |
1/2 |
3/2 |
4 |
re |
(*.f64 (/.f64 1/2 re) (/.f64 1/2 re)) |
(sin.f64 re) |
(*.f64 (pow.f64 re -2) 1/4) |
(/.f64 1/4 (pow.f64 re 2)) |
(*.f64 (pow.f64 im 2) (*.f64 1/2 re)) |
(*.f64 (*.f64 1/2 re) (fma.f64 im im 2)) |
(+.f64 (sin.f64 re) (sin.f64 re)) |
(cbrt.f64 (pow.f64 (/.f64 1/2 re) 6)) |
(pow.f64 (*.f64 (sin.f64 re) -2) -2) |
(exp.f64 (*.f64 (log.f64 (/.f64 1/2 re)) 2)) |
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (sin.f64 re)) |
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (sin.f64 re)) |
(*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3)))) |
| Outputs |
|---|
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (sin.f64 re)) |
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (sin.f64 re)) |
3 calls:
| 47.0ms | (sin.f64 re) |
| 47.0ms | re |
| 38.0ms | im |
| Accuracy | Segments | Branch |
|---|---|---|
| 88.6% | 2 | re |
| 95.4% | 3 | im |
| 88.0% | 3 | (sin.f64 re) |
Compiled 10 to 7 computations (30% saved)
| Inputs |
|---|
-4 |
-1 |
-1/2 |
1/16 |
1/8 |
1/4 |
1/2 |
3/2 |
4 |
re |
(*.f64 (/.f64 1/2 re) (/.f64 1/2 re)) |
(sin.f64 re) |
(*.f64 (pow.f64 re -2) 1/4) |
(/.f64 1/4 (pow.f64 re 2)) |
(*.f64 (pow.f64 im 2) (*.f64 1/2 re)) |
(*.f64 (*.f64 1/2 re) (fma.f64 im im 2)) |
(+.f64 (sin.f64 re) (sin.f64 re)) |
(cbrt.f64 (pow.f64 (/.f64 1/2 re) 6)) |
(pow.f64 (*.f64 (sin.f64 re) -2) -2) |
(exp.f64 (*.f64 (log.f64 (/.f64 1/2 re)) 2)) |
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (sin.f64 re)) |
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
| Outputs |
|---|
(sin.f64 re) |
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (sin.f64 re)) |
1 calls:
| 35.0ms | im |
| Accuracy | Segments | Branch |
|---|---|---|
| 95.1% | 3 | im |
Compiled 3 to 2 computations (33.3% saved)
| Inputs |
|---|
-4 |
-1 |
-1/2 |
1/16 |
1/8 |
1/4 |
1/2 |
3/2 |
4 |
re |
(*.f64 (/.f64 1/2 re) (/.f64 1/2 re)) |
(sin.f64 re) |
(*.f64 (pow.f64 re -2) 1/4) |
(/.f64 1/4 (pow.f64 re 2)) |
(*.f64 (pow.f64 im 2) (*.f64 1/2 re)) |
(*.f64 (*.f64 1/2 re) (fma.f64 im im 2)) |
(+.f64 (sin.f64 re) (sin.f64 re)) |
(cbrt.f64 (pow.f64 (/.f64 1/2 re) 6)) |
(pow.f64 (*.f64 (sin.f64 re) -2) -2) |
(exp.f64 (*.f64 (log.f64 (/.f64 1/2 re)) 2)) |
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (sin.f64 re)) |
| Outputs |
|---|
(sin.f64 re) |
(cbrt.f64 (pow.f64 (/.f64 1/2 re) 6)) |
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (sin.f64 re)) |
3 calls:
| 64.0ms | (sin.f64 re) |
| 44.0ms | re |
| 34.0ms | im |
| Accuracy | Segments | Branch |
|---|---|---|
| 62.9% | 5 | (sin.f64 re) |
| 63.1% | 4 | re |
| 85.0% | 3 | im |
Compiled 10 to 7 computations (30% saved)
| Inputs |
|---|
-4 |
-1 |
-1/2 |
1/16 |
1/8 |
1/4 |
1/2 |
3/2 |
4 |
re |
(*.f64 (/.f64 1/2 re) (/.f64 1/2 re)) |
(sin.f64 re) |
(*.f64 (pow.f64 re -2) 1/4) |
(/.f64 1/4 (pow.f64 re 2)) |
(*.f64 (pow.f64 im 2) (*.f64 1/2 re)) |
(*.f64 (*.f64 1/2 re) (fma.f64 im im 2)) |
(+.f64 (sin.f64 re) (sin.f64 re)) |
(cbrt.f64 (pow.f64 (/.f64 1/2 re) 6)) |
(pow.f64 (*.f64 (sin.f64 re) -2) -2) |
(exp.f64 (*.f64 (log.f64 (/.f64 1/2 re)) 2)) |
| Outputs |
|---|
(sin.f64 re) |
(cbrt.f64 (pow.f64 (/.f64 1/2 re) 6)) |
(*.f64 (*.f64 1/2 re) (fma.f64 im im 2)) |
1 calls:
| 36.0ms | im |
| Accuracy | Segments | Branch |
|---|---|---|
| 79.4% | 3 | im |
Compiled 3 to 2 computations (33.3% saved)
| Inputs |
|---|
-4 |
-1 |
-1/2 |
1/16 |
1/8 |
1/4 |
1/2 |
3/2 |
4 |
re |
(*.f64 (/.f64 1/2 re) (/.f64 1/2 re)) |
(sin.f64 re) |
(*.f64 (pow.f64 re -2) 1/4) |
(/.f64 1/4 (pow.f64 re 2)) |
(*.f64 (pow.f64 im 2) (*.f64 1/2 re)) |
(*.f64 (*.f64 1/2 re) (fma.f64 im im 2)) |
(+.f64 (sin.f64 re) (sin.f64 re)) |
| Outputs |
|---|
(sin.f64 re) |
(/.f64 1/4 (pow.f64 re 2)) |
(*.f64 (*.f64 1/2 re) (fma.f64 im im 2)) |
1 calls:
| 28.0ms | im |
| Accuracy | Segments | Branch |
|---|---|---|
| 75.8% | 3 | im |
Compiled 3 to 2 computations (33.3% saved)
| Inputs |
|---|
-4 |
-1 |
-1/2 |
1/16 |
1/8 |
1/4 |
1/2 |
3/2 |
4 |
re |
(*.f64 (/.f64 1/2 re) (/.f64 1/2 re)) |
(sin.f64 re) |
(*.f64 (pow.f64 re -2) 1/4) |
(/.f64 1/4 (pow.f64 re 2)) |
(*.f64 (pow.f64 im 2) (*.f64 1/2 re)) |
| Outputs |
|---|
(sin.f64 re) |
(/.f64 1/4 (pow.f64 re 2)) |
(*.f64 (pow.f64 im 2) (*.f64 1/2 re)) |
1 calls:
| 26.0ms | im |
| Accuracy | Segments | Branch |
|---|---|---|
| 75.8% | 3 | im |
Compiled 3 to 2 computations (33.3% saved)
| Inputs |
|---|
-4 |
-1 |
-1/2 |
1/16 |
1/8 |
1/4 |
1/2 |
3/2 |
4 |
re |
(*.f64 (/.f64 1/2 re) (/.f64 1/2 re)) |
(sin.f64 re) |
(*.f64 (pow.f64 re -2) 1/4) |
(/.f64 1/4 (pow.f64 re 2)) |
| Outputs |
|---|
(sin.f64 re) |
(/.f64 1/4 (pow.f64 re 2)) |
1 calls:
| 18.0ms | im |
| Accuracy | Segments | Branch |
|---|---|---|
| 64.1% | 2 | im |
Compiled 3 to 2 computations (33.3% saved)
| Inputs |
|---|
-4 |
-1 |
-1/2 |
1/16 |
1/8 |
1/4 |
1/2 |
3/2 |
4 |
re |
(*.f64 (/.f64 1/2 re) (/.f64 1/2 re)) |
(sin.f64 re) |
(*.f64 (pow.f64 re -2) 1/4) |
| Outputs |
|---|
(sin.f64 re) |
(*.f64 (/.f64 1/2 re) (/.f64 1/2 re)) |
1 calls:
| 16.0ms | im |
| Accuracy | Segments | Branch |
|---|---|---|
| 64.1% | 2 | im |
Compiled 3 to 2 computations (33.3% saved)
| Inputs |
|---|
-4 |
-1 |
-1/2 |
1/16 |
1/8 |
1/4 |
1/2 |
3/2 |
4 |
re |
(*.f64 (/.f64 1/2 re) (/.f64 1/2 re)) |
| Outputs |
|---|
re |
(*.f64 (/.f64 1/2 re) (/.f64 1/2 re)) |
2 calls:
| 32.0ms | re |
| 15.0ms | im |
| Accuracy | Segments | Branch |
|---|---|---|
| 31.8% | 4 | re |
| 41.2% | 2 | im |
Compiled 6 to 4 computations (33.3% saved)
| Inputs |
|---|
-4 |
-1 |
-1/2 |
1/16 |
1/8 |
1/4 |
1/2 |
3/2 |
4 |
re |
| Outputs |
|---|
re |
1/2 |
2 calls:
| 15.0ms | re |
| 7.0ms | im |
| Accuracy | Segments | Branch |
|---|---|---|
| 28.7% | 2 | re |
| 26.6% | 1 | im |
Compiled 6 to 4 computations (33.3% saved)
| Inputs |
|---|
-4 |
-1 |
-1/2 |
1/16 |
1/8 |
1/4 |
1/2 |
3/2 |
4 |
| Outputs |
|---|
1/2 |
2 calls:
| 9.0ms | re |
| 6.0ms | im |
| Accuracy | Segments | Branch |
|---|---|---|
| 5.9% | 1 | im |
| 5.9% | 1 | re |
Compiled 6 to 4 computations (33.3% saved)
| Inputs |
|---|
-4 |
-1 |
-1/2 |
1/16 |
1/8 |
1/4 |
| Outputs |
|---|
1/4 |
2 calls:
| 7.0ms | re |
| 5.0ms | im |
| Accuracy | Segments | Branch |
|---|---|---|
| 5.7% | 1 | im |
| 5.7% | 1 | re |
Compiled 6 to 4 computations (33.3% saved)
| Inputs |
|---|
-4 |
-1 |
-1/2 |
1/16 |
1/8 |
| Outputs |
|---|
1/8 |
2 calls:
| 7.0ms | re |
| 5.0ms | im |
| Accuracy | Segments | Branch |
|---|---|---|
| 5.6% | 1 | re |
| 5.6% | 1 | im |
Compiled 6 to 4 computations (33.3% saved)
| Inputs |
|---|
-4 |
-1 |
-1/2 |
1/16 |
| Outputs |
|---|
1/16 |
2 calls:
| 4.0ms | re |
| 4.0ms | im |
| Accuracy | Segments | Branch |
|---|---|---|
| 5.4% | 1 | im |
| 5.4% | 1 | re |
Compiled 6 to 4 computations (33.3% saved)
| Inputs |
|---|
-4 |
-1 |
-1/2 |
| Outputs |
|---|
-1 |
2 calls:
| 6.0ms | re |
| 4.0ms | im |
| Accuracy | Segments | Branch |
|---|---|---|
| 3.5% | 1 | im |
| 3.5% | 1 | re |
Compiled 6 to 4 computations (33.3% saved)
Total -0.0b remaining (-0%)
Threshold costs -0b (-0%)
| Inputs |
|---|
-4 |
| Outputs |
|---|
-4 |
2 calls:
| 3.0ms | re |
| 3.0ms | im |
| Accuracy | Segments | Branch |
|---|---|---|
| 2.8% | 1 | im |
| 2.8% | 1 | re |
Compiled 6 to 4 computations (33.3% saved)
| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 25.0ms | 9.145324002269404e+153 | 1.1330357428851182e+158 |
| 36.0ms | 7.000889689079437 | 115.89789498309474 |
| 21.0ms | 127× | 256 | infinite |
| 33.0ms | 112× | 256 | valid |
| 0.0ms | 1× | 256 | infinite |
Compiled 393 to 314 computations (20.1% saved)
ival-sin, time spent: 21.0ms, 65.0% of total-timeival-exp, time spent: 4.0ms, 12.0% of total-timeival-mult, time spent: 4.0ms, 12.0% of total-timeival-sub, time spent: 1.0ms, 3.0% of total-timeival-add, time spent: 1.0ms, 3.0% of total-timeconst, time spent: 1.0ms, 3.0% of total-time| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 27.0ms | 9.145324002269404e+153 | 1.1330357428851182e+158 |
| 24.0ms | 7.000889689079437 | 115.89789498309474 |
| 23.0ms | 127× | 256 | infinite |
| 22.0ms | 112× | 256 | valid |
| 0.0ms | 1× | 256 | infinite |
Compiled 337 to 265 computations (21.4% saved)
ival-sin, time spent: 7.0ms, 38.0% of total-timeival-exp, time spent: 4.0ms, 22.0% of total-timeival-mult, time spent: 4.0ms, 22.0% of total-timeival-sub, time spent: 1.0ms, 5.0% of total-timeival-add, time spent: 1.0ms, 5.0% of total-timeconst, time spent: 1.0ms, 5.0% of total-time| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 26.0ms | 2.1792421171292586e+148 | 4.430133590712047e+152 |
| 159.0ms | 458.16950264340966 | 25835790.500216555 |
| 169.0ms | 212× | 256 | infinite |
| 7.0ms | 43× | 256 | valid |
| 0.0ms | 1× | 256 | infinite |
Compiled 291 to 247 computations (15.1% saved)
ival-sin, time spent: 7.0ms, 35.0% of total-timeival-exp, time spent: 5.0ms, 25.0% of total-timeival-mult, time spent: 4.0ms, 20.0% of total-timeival-sub, time spent: 2.0ms, 10.0% of total-timeival-add, time spent: 2.0ms, 10.0% of total-timeconst, time spent: 1.0ms, 5.0% of total-time| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 17.0ms | 5.1345211802972185e+128 | 3.025916563889182e+129 |
| 26.0ms | 458.16950264340966 | 25835790.500216555 |
| 30.0ms | 180× | 256 | infinite |
| 7.0ms | 43× | 256 | valid |
| 0.0ms | 1× | 256 | infinite |
Compiled 251 to 207 computations (17.5% saved)
ival-sin, time spent: 7.0ms, 38.0% of total-timeival-exp, time spent: 4.0ms, 22.0% of total-timeival-mult, time spent: 4.0ms, 22.0% of total-timeival-sub, time spent: 1.0ms, 5.0% of total-timeival-add, time spent: 1.0ms, 5.0% of total-timeconst, time spent: 1.0ms, 5.0% of total-time| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 20.0ms | 5.1345211802972185e+128 | 3.025916563889182e+129 |
| 26.0ms | 458.16950264340966 | 25835790.500216555 |
| 26.0ms | 154× | 256 | infinite |
| 11.0ms | 69× | 256 | valid |
| 0.0ms | 1× | 256 | infinite |
Compiled 237 to 193 computations (18.6% saved)
ival-sin, time spent: 8.0ms, 43.0% of total-timeival-exp, time spent: 4.0ms, 21.0% of total-timeival-mult, time spent: 4.0ms, 21.0% of total-timeival-sub, time spent: 1.0ms, 5.0% of total-timeival-add, time spent: 1.0ms, 5.0% of total-timeconst, time spent: 1.0ms, 5.0% of total-time| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 19.0ms | 5.1345211802972185e+128 | 3.025916563889182e+129 |
| 77.0ms | 458.16950264340966 | 25835790.500216555 |
| 87.0ms | 203× | 256 | infinite |
| 3.0ms | 20× | 256 | valid |
| 0.0ms | 1× | 256 | infinite |
Compiled 231 to 193 computations (16.5% saved)
ival-sin, time spent: 6.0ms, 35.0% of total-timeival-exp, time spent: 4.0ms, 23.0% of total-timeival-mult, time spent: 4.0ms, 23.0% of total-timeival-sub, time spent: 1.0ms, 6.0% of total-timeival-add, time spent: 1.0ms, 6.0% of total-timeconst, time spent: 0.0ms, 0.0% of total-time| 1× | binary-search |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 27.0ms | 458.16950264340966 | 25835790.500216555 |
| 21.0ms | 105× | 256 | infinite |
| 3.0ms | 22× | 256 | valid |
| 0.0ms | 1× | 256 | infinite |
Compiled 123 to 103 computations (16.3% saved)
ival-exp, time spent: 4.0ms, 30.0% of total-timeival-sin, time spent: 4.0ms, 30.0% of total-timeival-mult, time spent: 3.0ms, 23.0% of total-timeival-sub, time spent: 1.0ms, 8.0% of total-timeival-add, time spent: 1.0ms, 8.0% of total-timeconst, time spent: 0.0ms, 0.0% of total-time| 1× | binary-search |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 81.0ms | 458.16950264340966 | 25835790.500216555 |
| 14.0ms | 82× | 256 | infinite |
| 63.0ms | 45× | 256 | valid |
| 0.0ms | 1× | 256 | infinite |
Compiled 139 to 111 computations (20.1% saved)
ival-exp, time spent: 60.0ms, 90.0% of total-timeival-sin, time spent: 3.0ms, 4.0% of total-timeival-mult, time spent: 2.0ms, 3.0% of total-timeival-sub, time spent: 1.0ms, 1.0% of total-timeival-add, time spent: 1.0ms, 1.0% of total-timeconst, time spent: 0.0ms, 0.0% of total-time| 1× | binary-search |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 26.0ms | 458.16950264340966 | 25835790.500216555 |
| 19.0ms | 112× | 256 | infinite |
| 3.0ms | 15× | 256 | valid |
| 0.0ms | 1× | 256 | infinite |
Compiled 131 to 103 computations (21.4% saved)
ival-sin, time spent: 4.0ms, 36.0% of total-timeival-exp, time spent: 3.0ms, 27.0% of total-timeival-mult, time spent: 2.0ms, 18.0% of total-timeival-sub, time spent: 1.0ms, 9.0% of total-timeival-add, time spent: 1.0ms, 9.0% of total-timeconst, time spent: 0.0ms, 0.0% of total-time| 1× | binary-search |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 15.0ms | 66572300311498.234 | 196996681976374.44 |
| 7.0ms | 40× | 256 | valid |
| 7.0ms | 39× | 256 | infinite |
| 0.0ms | 1× | 256 | valid |
Compiled 59 to 50 computations (15.3% saved)
ival-sin, time spent: 3.0ms, 43.0% of total-timeival-exp, time spent: 1.0ms, 14.0% of total-timeival-mult, time spent: 1.0ms, 14.0% of total-timeival-sub, time spent: 0.0ms, 0.0% of total-timeival-add, time spent: 0.0ms, 0.0% of total-timeconst, time spent: 0.0ms, 0.0% of total-time| 1× | egg-herbie |
| 20× | *-commutative |
| 6× | +-commutative |
| 3× | 1-exp |
| 2× | sub-neg |
| 2× | neg-sub0 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 86 | 732 |
| 1 | 104 | 732 |
| 2 | 106 | 732 |
| 3 | 107 | 732 |
| 1× | fuel |
| 1× | saturated |
| Inputs |
|---|
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(if (<=.f64 im 3996944669291315/562949953421312) (*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (sin.f64 re)) (if (<=.f64 im 13199999999999999773196063550815192655340841269168371305534464478777571651222204465790151517816444445650545021209011632002935604597533337723926189038370816) (*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (sin.f64 re)))) |
(if (<=.f64 im 3996944669291315/562949953421312) (sin.f64 re) (if (<=.f64 im 13199999999999999773196063550815192655340841269168371305534464478777571651222204465790151517816444445650545021209011632002935604597533337723926189038370816) (*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (sin.f64 re)))) |
(if (<=.f64 im 760) (sin.f64 re) (if (<=.f64 im 420000000000000033380757677273290089352167455508992351255846779441851483170486358146484695282494513417224755996317159248501885136279671869730309707661312) (cbrt.f64 (pow.f64 (/.f64 1/2 re) 6)) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (sin.f64 re)))) |
(if (<=.f64 im 850) (sin.f64 re) (if (<=.f64 im 3000000000000000302480504101887593093896787388650220353495093069701123299063756169161048638248763581703286644188658439930477805568) (cbrt.f64 (pow.f64 (/.f64 1/2 re) 6)) (*.f64 (*.f64 1/2 re) (fma.f64 im im 2)))) |
(if (<=.f64 im 650) (sin.f64 re) (if (<=.f64 im 820000000000000023164557595378447468785321734972476878532802582619455297030525190241211035422416851341933693595808641112652906496) (/.f64 1/4 (pow.f64 re 2)) (*.f64 (*.f64 1/2 re) (fma.f64 im im 2)))) |
(if (<=.f64 im 920) (sin.f64 re) (if (<=.f64 im 1949999999999999858001336915961879780509910942013462092367801139743297841710795067218010141057542636265785690805384197772851281920) (/.f64 1/4 (pow.f64 re 2)) (*.f64 (pow.f64 im 2) (*.f64 1/2 re)))) |
(if (<=.f64 im 920) (sin.f64 re) (/.f64 1/4 (pow.f64 re 2))) |
(if (<=.f64 im 800) (sin.f64 re) (*.f64 (/.f64 1/2 re) (/.f64 1/2 re))) |
(if (<=.f64 im 1100) re (*.f64 (/.f64 1/2 re) (/.f64 1/2 re))) |
(if (<=.f64 re 68000000000000) re 1/2) |
1/2 |
1/4 |
1/8 |
1/16 |
-1 |
-4 |
| Outputs |
|---|
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(if (<=.f64 im 3996944669291315/562949953421312) (*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (sin.f64 re)) (if (<=.f64 im 13199999999999999773196063550815192655340841269168371305534464478777571651222204465790151517816444445650545021209011632002935604597533337723926189038370816) (*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (sin.f64 re)))) |
(if (<=.f64 im 3996944669291315/562949953421312) (*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (pow.f64 im 2)) 1)) (if (<=.f64 im 13199999999999999773196063550815192655340841269168371305534464478777571651222204465790151517816444445650545021209011632002935604597533337723926189038370816) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 re)) (*.f64 (sin.f64 re) (*.f64 1/2 (pow.f64 im 2))))) |
(if (<=.f64 im 3996944669291315/562949953421312) (sin.f64 re) (if (<=.f64 im 13199999999999999773196063550815192655340841269168371305534464478777571651222204465790151517816444445650545021209011632002935604597533337723926189038370816) (*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (sin.f64 re)))) |
(if (<=.f64 im 3996944669291315/562949953421312) (sin.f64 re) (if (<=.f64 im 13199999999999999773196063550815192655340841269168371305534464478777571651222204465790151517816444445650545021209011632002935604597533337723926189038370816) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 re)) (*.f64 (sin.f64 re) (*.f64 1/2 (pow.f64 im 2))))) |
(if (<=.f64 im 760) (sin.f64 re) (if (<=.f64 im 420000000000000033380757677273290089352167455508992351255846779441851483170486358146484695282494513417224755996317159248501885136279671869730309707661312) (cbrt.f64 (pow.f64 (/.f64 1/2 re) 6)) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (sin.f64 re)))) |
(if (<=.f64 im 760) (sin.f64 re) (if (<=.f64 im 420000000000000033380757677273290089352167455508992351255846779441851483170486358146484695282494513417224755996317159248501885136279671869730309707661312) (cbrt.f64 (pow.f64 (/.f64 1/2 re) 6)) (*.f64 (sin.f64 re) (*.f64 1/2 (pow.f64 im 2))))) |
(if (<=.f64 im 850) (sin.f64 re) (if (<=.f64 im 3000000000000000302480504101887593093896787388650220353495093069701123299063756169161048638248763581703286644188658439930477805568) (cbrt.f64 (pow.f64 (/.f64 1/2 re) 6)) (*.f64 (*.f64 1/2 re) (fma.f64 im im 2)))) |
(if (<=.f64 im 650) (sin.f64 re) (if (<=.f64 im 820000000000000023164557595378447468785321734972476878532802582619455297030525190241211035422416851341933693595808641112652906496) (/.f64 1/4 (pow.f64 re 2)) (*.f64 (*.f64 1/2 re) (fma.f64 im im 2)))) |
(if (<=.f64 im 920) (sin.f64 re) (if (<=.f64 im 1949999999999999858001336915961879780509910942013462092367801139743297841710795067218010141057542636265785690805384197772851281920) (/.f64 1/4 (pow.f64 re 2)) (*.f64 (pow.f64 im 2) (*.f64 1/2 re)))) |
(if (<=.f64 im 920) (sin.f64 re) (/.f64 1/4 (pow.f64 re 2))) |
(if (<=.f64 im 800) (sin.f64 re) (*.f64 (/.f64 1/2 re) (/.f64 1/2 re))) |
(if (<=.f64 im 1100) re (*.f64 (/.f64 1/2 re) (/.f64 1/2 re))) |
(if (<=.f64 re 68000000000000) re 1/2) |
1/2 |
1/4 |
1/8 |
1/16 |
-1 |
-4 |
Compiled 250 to 188 computations (24.8% saved)
| 1978× | fma-neg |
| 1762× | distribute-lft-in |
| 1744× | distribute-rgt-in |
| 1652× | associate-+r+ |
| 1556× | fma-define |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 92 | 1647 |
| 1 | 184 | 1647 |
| 2 | 423 | 1515 |
| 3 | 1612 | 1506 |
| 4 | 6846 | 1494 |
| 0 | 288 | 3440 |
| 1 | 562 | 3416 |
| 2 | 1381 | 3356 |
| 3 | 4227 | 3332 |
| 4 | 6780 | 3330 |
| 0 | 17 | 61 |
| 1 | 179 | 61 |
| 2 | 2071 | 61 |
| 0 | 119 | 2103 |
| 1 | 361 | 1906 |
| 2 | 1243 | 1906 |
| 3 | 4594 | 1906 |
| 0 | 124 | 3038 |
| 1 | 367 | 2678 |
| 2 | 1242 | 2623 |
| 3 | 4824 | 2595 |
| 0 | 16 | 69 |
| 1 | 202 | 69 |
| 2 | 3306 | 69 |
| 0 | 25 | 186 |
| 1 | 353 | 186 |
| 2 | 5692 | 186 |
| 0 | 36 | 316 |
| 1 | 111 | 308 |
| 2 | 397 | 308 |
| 3 | 986 | 298 |
| 4 | 1988 | 294 |
| 5 | 3213 | 294 |
| 6 | 3708 | 294 |
| 7 | 4185 | 294 |
| 8 | 4839 | 294 |
| 9 | 4992 | 294 |
| 10 | 5009 | 294 |
| 11 | 5009 | 294 |
| 12 | 5041 | 294 |
| 13 | 5070 | 294 |
| 14 | 5070 | 294 |
| 1× | saturated |
| 1× | unsound |
| 1× | unsound |
| 1× | node limit |
| 1× | node limit |
| 1× | node limit |
| 1× | node limit |
| 1× | node limit |
Compiled 471 to 371 computations (21.2% saved)
(negabs re)
(abs im)
Compiled 880 to 622 computations (29.3% saved)
Loading profile data...