
Time bar (total: 6.9s)
| 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| 1.5s | 4256× | 256 | valid |
| 921.0ms | 4000× | 256 | infinite |
ival-mult, time spent: 680.0ms, 48.0% of total-timeival-sin, time spent: 366.0ms, 26.0% of total-timeival-exp, time spent: 179.0ms, 13.0% of total-timeival-add, time spent: 84.0ms, 6.0% of total-timeival-sub, time spent: 77.0ms, 5.0% of total-timeconst, time spent: 28.0ms, 2.0% of total-time| 1× | egg-herbie |
| 989× | fma-neg |
| 725× | fma-define |
| 264× | times-frac |
| 215× | distribute-lft-neg-in |
| 170× | unsub-neg |
| Ground Truth | Overpredictions | Example | Underpredictions | Example | Subexpression |
|---|---|---|---|---|---|
| 0 | 0 | - | 0 | - | (exp.f64 (-.f64 #s(literal 0 binary64) im)) |
| 0 | 0 | - | 0 | - | #s(literal 1/2 binary64) |
| 0 | 0 | - | 0 | - | re |
| 0 | 0 | - | 0 | - | (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) |
| 0 | 0 | - | 0 | - | (-.f64 #s(literal 0 binary64) im) |
| 0 | 0 | - | 0 | - | im |
| 0 | 0 | - | 0 | - | #s(literal 0 binary64) |
| 0 | 0 | - | 0 | - | (sin.f64 re) |
| 0 | 0 | - | 0 | - | (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)) |
| 0 | 0 | - | 0 | - | (exp.f64 im) |
| 0 | 0 | - | 0 | - | (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) |
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 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) |
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) |
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 (neg.f64 re))) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) |
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) (neg.f64 im))) (exp.f64 (neg.f64 im)))) |
(neg.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 (neg.f64 re))) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))) |
(neg.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) (neg.f64 im))) (exp.f64 (neg.f64 im))))) |
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 im)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) re)) (exp.f64 re))) |
| Outputs |
|---|
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) |
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(*.f64 (sin.f64 re) (fma.f64 #s(literal 1/2 binary64) (exp.f64 im) (/.f64 #s(literal 1/2 binary64) (exp.f64 im)))) |
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) |
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(*.f64 (sin.f64 re) (fma.f64 #s(literal 1/2 binary64) (exp.f64 im) (/.f64 #s(literal 1/2 binary64) (exp.f64 im)))) |
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 (neg.f64 re))) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) |
(*.f64 #s(literal 1/2 binary64) (*.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) #s(literal -1/2 binary64))) |
(*.f64 (sin.f64 re) (*.f64 #s(literal -1/2 binary64) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) |
(*.f64 (sin.f64 re) (fma.f64 (exp.f64 im) #s(literal -1/2 binary64) (/.f64 #s(literal -1/2 binary64) (exp.f64 im)))) |
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) (neg.f64 im))) (exp.f64 (neg.f64 im)))) |
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(*.f64 (sin.f64 re) (fma.f64 #s(literal 1/2 binary64) (exp.f64 im) (/.f64 #s(literal 1/2 binary64) (exp.f64 im)))) |
(neg.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 (neg.f64 re))) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))) |
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(*.f64 (sin.f64 re) (fma.f64 #s(literal 1/2 binary64) (exp.f64 im) (/.f64 #s(literal 1/2 binary64) (exp.f64 im)))) |
(neg.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) (neg.f64 im))) (exp.f64 (neg.f64 im))))) |
(*.f64 #s(literal 1/2 binary64) (*.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) #s(literal -1/2 binary64))) |
(*.f64 (sin.f64 re) (*.f64 #s(literal -1/2 binary64) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) |
(*.f64 (sin.f64 re) (fma.f64 (exp.f64 im) #s(literal -1/2 binary64) (/.f64 #s(literal -1/2 binary64) (exp.f64 im)))) |
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 im)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) re)) (exp.f64 re))) |
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 im)) (+.f64 (exp.f64 (neg.f64 re)) (exp.f64 re))) |
(*.f64 (sin.f64 im) (*.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 (neg.f64 re)) (exp.f64 re)))) |
(*.f64 (sin.f64 im) (fma.f64 #s(literal 1/2 binary64) (exp.f64 re) (/.f64 #s(literal 1/2 binary64) (exp.f64 re)))) |
(abs im)
(negabs re)
Compiled 96 to 61 computations (36.5% saved)
ival-exp, time spent: 78.0ms, 62.0% of total-timeival-sin, time spent: 15.0ms, 12.0% of total-timeival-mult, time spent: 13.0ms, 10.0% of total-timeival-sub, time spent: 11.0ms, 9.0% of total-timeival-add, time spent: 6.0ms, 5.0% of total-timeconst, time spent: 3.0ms, 2.0% of total-timeCompiled 24 to 15 computations (37.5% saved)
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 100.0% | (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
Compiled 13 to 10 computations (23.1% saved)
Found 1 expressions with local error:
| New | Accuracy | Program |
|---|---|---|
| ✓ | 100.0% | (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
Compiled 36 to 14 computations (61.1% saved)
ival-sin, time spent: 8.0ms, 36.0% of total-timeival-mult, time spent: 7.0ms, 32.0% of total-timeival-exp, time spent: 4.0ms, 18.0% of total-timeival-add, time spent: 2.0ms, 9.0% of total-timeconst, time spent: 1.0ms, 5.0% of total-timeival-neg, time spent: 1.0ms, 5.0% of total-time| Inputs |
|---|
#<alt (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))> |
| Outputs |
|---|
#<alt (*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))> |
#<alt (*.f64 re (+.f64 (*.f64 #s(literal -1/12 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))> |
#<alt (*.f64 re (+.f64 (*.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal -1/12 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 #s(literal 1/240 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))))> |
#<alt (*.f64 re (+.f64 (*.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal -1/12 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal -1/10080 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 #s(literal 1/240 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))))> |
#<alt (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))> |
#<alt (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))> |
#<alt (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))> |
#<alt (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))> |
#<alt (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))> |
#<alt (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))> |
#<alt (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))> |
#<alt (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))> |
#<alt (sin.f64 re)> |
#<alt (+.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))))> |
#<alt (+.f64 (sin.f64 re) (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))) (*.f64 #s(literal 1/2 binary64) (sin.f64 re)))))> |
#<alt (+.f64 (sin.f64 re) (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal 1/720 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))) (*.f64 #s(literal 1/24 binary64) (sin.f64 re)))))))> |
#<alt (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))> |
#<alt (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))> |
#<alt (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))> |
#<alt (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))> |
#<alt (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 #s(literal -1 binary64) im)))))> |
#<alt (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 #s(literal -1 binary64) im)))))> |
#<alt (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 #s(literal -1 binary64) im)))))> |
#<alt (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 #s(literal -1 binary64) im)))))> |
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 2.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 | 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.0ms | im | @ | -inf | (* (* 1/2 (sin re)) (+ (exp (neg im)) (exp im))) |
| 1× | batch-egg-rewrite |
| 100× | associate-*r* |
| 90× | add-exp-log |
| 90× | add-log-exp |
| 90× | log1p-expm1-u |
| 90× | expm1-log1p-u |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 16 | 44 |
| 1 | 202 | 44 |
| 2 | 3306 | 44 |
| 1× | unsound |
| Inputs |
|---|
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
| Outputs |
|---|
(+.f64 (sin.f64 re) (sin.f64 re)) |
(+.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) (*.f64 (sin.f64 re) #s(literal -2 binary64))) |
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)))) #s(literal 1 binary64)) |
(/.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) #s(literal -2 binary64)) |
(/.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) #s(literal 1 binary64)) |
(/.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) (+.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) (-.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) (*.f64 (sin.f64 re) #s(literal -2 binary64))))) |
(/.f64 (-.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) (*.f64 (sin.f64 re) #s(literal -2 binary64))) (-.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) (*.f64 (sin.f64 re) #s(literal -2 binary64)))) |
(pow.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) #s(literal -2 binary64)) |
(pow.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) #s(literal 1 binary64)) |
(pow.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) #s(literal 1/3 binary64)) |
(sqrt.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64))) |
(fabs.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64))) |
(log.f64 (pow.f64 #s(literal 1 binary64) (sin.f64 re))) |
(log.f64 (+.f64 #s(literal 1 binary64) (expm1.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64))))) |
(cbrt.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64))) |
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)))) |
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)))) |
(exp.f64 (log.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)))) |
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64))) #s(literal 1 binary64))) |
(exp.f64 (+.f64 (log.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64))) #s(literal -2 binary64))) |
(fma.f64 #s(literal 1 binary64) (*.f64 (sin.f64 re) #s(literal -2 binary64)) (*.f64 (sin.f64 re) #s(literal -2 binary64))) |
(fma.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) #s(literal 1 binary64) (*.f64 (sin.f64 re) #s(literal -2 binary64))) |
| 1× | egg-herbie |
| 510× | fma-define |
| 395× | associate-*r* |
| 328× | associate-*r/ |
| 324× | associate-*l/ |
| 307× | associate-*l* |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 103 | 1556 |
| 1 | 320 | 1402 |
| 2 | 1102 | 1402 |
| 3 | 4177 | 1402 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 re (+.f64 (*.f64 #s(literal -1/12 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))) |
(*.f64 re (+.f64 (*.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal -1/12 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 #s(literal 1/240 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))) |
(*.f64 re (+.f64 (*.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal -1/12 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal -1/10080 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 #s(literal 1/240 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(sin.f64 re) |
(+.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))) |
(+.f64 (sin.f64 re) (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))) (*.f64 #s(literal 1/2 binary64) (sin.f64 re))))) |
(+.f64 (sin.f64 re) (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal 1/720 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))) (*.f64 #s(literal 1/24 binary64) (sin.f64 re))))))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 #s(literal -1 binary64) im))))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 #s(literal -1 binary64) im))))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 #s(literal -1 binary64) im))))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 #s(literal -1 binary64) im))))) |
(+.f64 (sin.f64 re) (sin.f64 re)) |
(+.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) (*.f64 (sin.f64 re) #s(literal -2 binary64))) |
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)))) #s(literal 1 binary64)) |
(/.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) #s(literal -2 binary64)) |
(/.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) #s(literal 1 binary64)) |
(/.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) (+.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) (-.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) (*.f64 (sin.f64 re) #s(literal -2 binary64))))) |
(/.f64 (-.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) (*.f64 (sin.f64 re) #s(literal -2 binary64))) (-.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) (*.f64 (sin.f64 re) #s(literal -2 binary64)))) |
(pow.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) #s(literal -2 binary64)) |
(pow.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) #s(literal 1 binary64)) |
(pow.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) #s(literal 1/3 binary64)) |
(sqrt.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64))) |
(fabs.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64))) |
(log.f64 (pow.f64 #s(literal 1 binary64) (sin.f64 re))) |
(log.f64 (+.f64 #s(literal 1 binary64) (expm1.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64))))) |
(cbrt.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64))) |
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)))) |
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)))) |
(exp.f64 (log.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)))) |
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64))) #s(literal 1 binary64))) |
(exp.f64 (+.f64 (log.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64))) #s(literal -2 binary64))) |
(fma.f64 #s(literal 1 binary64) (*.f64 (sin.f64 re) #s(literal -2 binary64)) (*.f64 (sin.f64 re) #s(literal -2 binary64))) |
(fma.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) #s(literal 1 binary64) (*.f64 (sin.f64 re) #s(literal -2 binary64))) |
| Outputs |
|---|
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 (*.f64 #s(literal 1/2 binary64) re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
(*.f64 re (fma.f64 #s(literal 1/2 binary64) (exp.f64 im) (/.f64 #s(literal 1/2 binary64) (exp.f64 im)))) |
(*.f64 re (+.f64 (*.f64 #s(literal -1/12 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))) |
(*.f64 re (fma.f64 #s(literal -1/12 binary64) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re #s(literal 2 binary64))) (*.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))) |
(*.f64 re (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 #s(literal -1/12 binary64) (pow.f64 re #s(literal 2 binary64))) #s(literal 1/2 binary64)))) |
(*.f64 re (+.f64 (*.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal -1/12 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 #s(literal 1/240 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))) |
(*.f64 re (fma.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal -1/12 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re #s(literal 2 binary64))) #s(literal 1/240 binary64)))))) |
(*.f64 re (fma.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 #s(literal -1/12 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) #s(literal 1/240 binary64)))) (fma.f64 #s(literal 1/2 binary64) (exp.f64 im) (/.f64 #s(literal 1/2 binary64) (exp.f64 im))))) |
(*.f64 re (+.f64 (*.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal -1/12 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal -1/10080 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 #s(literal 1/240 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))))) |
(*.f64 re (fma.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal -1/12 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal -1/10080 binary64) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re #s(literal 2 binary64))) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) #s(literal 1/240 binary64)))))))) |
(*.f64 re (+.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 #s(literal -1/12 binary64) (pow.f64 re #s(literal 2 binary64))) #s(literal 1/2 binary64))) (*.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 (pow.f64 re #s(literal 2 binary64)) #s(literal -1/10080 binary64)) #s(literal 1/240 binary64))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64)))))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re))) |
(*.f64 (fma.f64 #s(literal 1/2 binary64) (exp.f64 im) (/.f64 #s(literal 1/2 binary64) (exp.f64 im))) (sin.f64 re)) |
(*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re))) |
(*.f64 (fma.f64 #s(literal 1/2 binary64) (exp.f64 im) (/.f64 #s(literal 1/2 binary64) (exp.f64 im))) (sin.f64 re)) |
(*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re))) |
(*.f64 (fma.f64 #s(literal 1/2 binary64) (exp.f64 im) (/.f64 #s(literal 1/2 binary64) (exp.f64 im))) (sin.f64 re)) |
(*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re))) |
(*.f64 (fma.f64 #s(literal 1/2 binary64) (exp.f64 im) (/.f64 #s(literal 1/2 binary64) (exp.f64 im))) (sin.f64 re)) |
(*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re))) |
(*.f64 (fma.f64 #s(literal 1/2 binary64) (exp.f64 im) (/.f64 #s(literal 1/2 binary64) (exp.f64 im))) (sin.f64 re)) |
(*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re))) |
(*.f64 (fma.f64 #s(literal 1/2 binary64) (exp.f64 im) (/.f64 #s(literal 1/2 binary64) (exp.f64 im))) (sin.f64 re)) |
(*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re))) |
(*.f64 (fma.f64 #s(literal 1/2 binary64) (exp.f64 im) (/.f64 #s(literal 1/2 binary64) (exp.f64 im))) (sin.f64 re)) |
(*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re))) |
(*.f64 (fma.f64 #s(literal 1/2 binary64) (exp.f64 im) (/.f64 #s(literal 1/2 binary64) (exp.f64 im))) (sin.f64 re)) |
(sin.f64 re) |
(+.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))) |
(+.f64 (sin.f64 re) (*.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))) (sin.f64 re))) |
(*.f64 (+.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))) #s(literal 1 binary64)) (sin.f64 re)) |
(+.f64 (sin.f64 re) (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))) (*.f64 #s(literal 1/2 binary64) (sin.f64 re))))) |
(+.f64 (sin.f64 re) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal 1/24 binary64) (*.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64))) (*.f64 #s(literal 1/2 binary64) (sin.f64 re))))) |
(fma.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 (sin.f64 re) (+.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) #s(literal 1/24 binary64)))) (sin.f64 re)) |
(+.f64 (sin.f64 re) (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal 1/720 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))) (*.f64 #s(literal 1/24 binary64) (sin.f64 re))))))) |
(+.f64 (sin.f64 re) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal 1/2 binary64) (sin.f64 re) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal 1/720 binary64) (*.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64))) (*.f64 (sin.f64 re) #s(literal 1/24 binary64))))))) |
(fma.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal 1/2 binary64) (sin.f64 re) (*.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) #s(literal 1/720 binary64)) #s(literal 1/24 binary64))))) (sin.f64 re)) |
(*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re))) |
(*.f64 (fma.f64 #s(literal 1/2 binary64) (exp.f64 im) (/.f64 #s(literal 1/2 binary64) (exp.f64 im))) (sin.f64 re)) |
(*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re))) |
(*.f64 (fma.f64 #s(literal 1/2 binary64) (exp.f64 im) (/.f64 #s(literal 1/2 binary64) (exp.f64 im))) (sin.f64 re)) |
(*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re))) |
(*.f64 (fma.f64 #s(literal 1/2 binary64) (exp.f64 im) (/.f64 #s(literal 1/2 binary64) (exp.f64 im))) (sin.f64 re)) |
(*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re))) |
(*.f64 (fma.f64 #s(literal 1/2 binary64) (exp.f64 im) (/.f64 #s(literal 1/2 binary64) (exp.f64 im))) (sin.f64 re)) |
(*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 #s(literal -1 binary64) im))))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re))) |
(*.f64 (fma.f64 #s(literal 1/2 binary64) (exp.f64 im) (/.f64 #s(literal 1/2 binary64) (exp.f64 im))) (sin.f64 re)) |
(*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 #s(literal -1 binary64) im))))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re))) |
(*.f64 (fma.f64 #s(literal 1/2 binary64) (exp.f64 im) (/.f64 #s(literal 1/2 binary64) (exp.f64 im))) (sin.f64 re)) |
(*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 #s(literal -1 binary64) im))))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re))) |
(*.f64 (fma.f64 #s(literal 1/2 binary64) (exp.f64 im) (/.f64 #s(literal 1/2 binary64) (exp.f64 im))) (sin.f64 re)) |
(*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 #s(literal -1 binary64) im))))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re))) |
(*.f64 (fma.f64 #s(literal 1/2 binary64) (exp.f64 im) (/.f64 #s(literal 1/2 binary64) (exp.f64 im))) (sin.f64 re)) |
(+.f64 (sin.f64 re) (sin.f64 re)) |
(sin.f64 re) |
(+.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) (*.f64 (sin.f64 re) #s(literal -2 binary64))) |
(sin.f64 re) |
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)))) #s(literal 1 binary64)) |
(sin.f64 re) |
(/.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) #s(literal -2 binary64)) |
(sin.f64 re) |
(/.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) #s(literal 1 binary64)) |
(sin.f64 re) |
(/.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) (+.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) (-.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) (*.f64 (sin.f64 re) #s(literal -2 binary64))))) |
(sin.f64 re) |
(/.f64 (-.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) (*.f64 (sin.f64 re) #s(literal -2 binary64))) (-.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) (*.f64 (sin.f64 re) #s(literal -2 binary64)))) |
(sin.f64 re) |
(pow.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) #s(literal -2 binary64)) |
(sin.f64 re) |
(pow.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) #s(literal 1 binary64)) |
(sin.f64 re) |
(pow.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) #s(literal 1/3 binary64)) |
(sin.f64 re) |
(sqrt.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64))) |
(fabs.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64))) |
(sin.f64 re) |
(log.f64 (pow.f64 #s(literal 1 binary64) (sin.f64 re))) |
(sin.f64 re) |
(log.f64 (+.f64 #s(literal 1 binary64) (expm1.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64))))) |
(sin.f64 re) |
(cbrt.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64))) |
(sin.f64 re) |
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)))) |
(sin.f64 re) |
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)))) |
(sin.f64 re) |
(exp.f64 (log.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)))) |
(sin.f64 re) |
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64))) #s(literal 1 binary64))) |
(sin.f64 re) |
(exp.f64 (+.f64 (log.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64))) #s(literal -2 binary64))) |
(sin.f64 re) |
(fma.f64 #s(literal 1 binary64) (*.f64 (sin.f64 re) #s(literal -2 binary64)) (*.f64 (sin.f64 re) #s(literal -2 binary64))) |
(sin.f64 re) |
(fma.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) #s(literal 1 binary64) (*.f64 (sin.f64 re) #s(literal -2 binary64))) |
(sin.f64 re) |
Compiled 711 to 374 computations (47.4% saved)
6 alts after pruning (5 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 43 | 5 | 48 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 43 | 6 | 49 |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 23.0% | (pow.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) #s(literal -2 binary64)) |
| ▶ | 10.0% | (+.f64 (sin.f64 re) (sin.f64 re)) |
| ▶ | 72.4% | (*.f64 (+.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))) #s(literal 1 binary64)) (sin.f64 re)) |
| ✓ | 100.0% | (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
| ▶ | 62.2% | (*.f64 (*.f64 #s(literal 1/2 binary64) re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
| ▶ | 46.9% | (sin.f64 re) |
Compiled 99 to 76 computations (23.2% saved)
Found 4 expressions with local error:
| New | Accuracy | Program |
|---|---|---|
| ✓ | 100.0% | (*.f64 (*.f64 #s(literal 1/2 binary64) re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
| ✓ | 99.6% | (pow.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) #s(literal -2 binary64)) |
| ✓ | 100.0% | (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))) |
| ✓ | 94.4% | (*.f64 (+.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))) #s(literal 1 binary64)) (sin.f64 re)) |
Compiled 89 to 44 computations (50.6% saved)
ival-pow, time spent: 28.0ms, 40.0% of total-timeival-mult, time spent: 19.0ms, 27.0% of total-timeival-sin, time spent: 8.0ms, 11.0% of total-timeival-add, time spent: 7.0ms, 10.0% of total-timeival-exp, time spent: 4.0ms, 6.0% of total-timeconst, time spent: 3.0ms, 4.0% of total-timeival-neg, time spent: 1.0ms, 1.0% of total-time| Inputs |
|---|
#<alt (*.f64 (+.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))) #s(literal 1 binary64)) (sin.f64 re))> |
#<alt (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))> |
#<alt (pow.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) #s(literal -2 binary64))> |
#<alt (*.f64 (*.f64 #s(literal 1/2 binary64) re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))> |
| Outputs |
|---|
#<alt (sin.f64 re)> |
#<alt (+.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))))> |
#<alt (+.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))))> |
#<alt (+.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))))> |
#<alt (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))> |
#<alt (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (/.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64)))))> |
#<alt (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (/.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64)))))> |
#<alt (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (/.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64)))))> |
#<alt (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))> |
#<alt (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (/.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64)))))> |
#<alt (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (/.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64)))))> |
#<alt (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (/.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64)))))> |
#<alt (*.f64 re (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))))> |
#<alt (*.f64 re (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))))) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))))))> |
#<alt (*.f64 re (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal -1/6 binary64) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))))) (*.f64 #s(literal 1/120 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))))))))))> |
#<alt (*.f64 re (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal -1/6 binary64) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))))) (*.f64 #s(literal 1/120 binary64) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))))))))))))> |
#<alt (*.f64 (sin.f64 re) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))))> |
#<alt (*.f64 (sin.f64 re) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))))> |
#<alt (*.f64 (sin.f64 re) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))))> |
#<alt (*.f64 (sin.f64 re) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))))> |
#<alt (*.f64 (sin.f64 re) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))))> |
#<alt (*.f64 (sin.f64 re) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))))> |
#<alt (*.f64 (sin.f64 re) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))))> |
#<alt (*.f64 (sin.f64 re) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))))> |
#<alt (/.f64 #s(literal 1/4 binary64) (pow.f64 re #s(literal 2 binary64)))> |
#<alt (/.f64 (+.f64 #s(literal 1/4 binary64) (*.f64 #s(literal 1/12 binary64) (pow.f64 re #s(literal 2 binary64)))) (pow.f64 re #s(literal 2 binary64)))> |
#<alt (/.f64 (+.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 #s(literal 1/12 binary64) (*.f64 #s(literal 1/60 binary64) (pow.f64 re #s(literal 2 binary64)))))) (pow.f64 re #s(literal 2 binary64)))> |
#<alt (/.f64 (+.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 #s(literal 1/12 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 #s(literal 1/60 binary64) (*.f64 #s(literal 1/378 binary64) (pow.f64 re #s(literal 2 binary64)))))))) (pow.f64 re #s(literal 2 binary64)))> |
#<alt (/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 re) #s(literal 2 binary64)))> |
#<alt (/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 re) #s(literal 2 binary64)))> |
#<alt (/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 re) #s(literal 2 binary64)))> |
#<alt (/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 re) #s(literal 2 binary64)))> |
#<alt (/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 re) #s(literal 2 binary64)))> |
#<alt (/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 re) #s(literal 2 binary64)))> |
#<alt (/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 re) #s(literal 2 binary64)))> |
#<alt (/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 re) #s(literal 2 binary64)))> |
#<alt (*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))> |
#<alt (*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))> |
#<alt (*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))> |
#<alt (*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))> |
#<alt (*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))> |
#<alt (*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))> |
#<alt (*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))> |
#<alt (*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))> |
#<alt (*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))> |
#<alt (*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))> |
#<alt (*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))> |
#<alt (*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))> |
#<alt re> |
#<alt (+.f64 re (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re)))> |
#<alt (+.f64 re (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re)) (*.f64 #s(literal 1/2 binary64) re))))> |
#<alt (+.f64 re (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal 1/2 binary64) re) (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal 1/720 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re)) (*.f64 #s(literal 1/24 binary64) re))))))> |
#<alt (*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))> |
#<alt (*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))> |
#<alt (*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))> |
#<alt (*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))> |
#<alt (*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (*.f64 #s(literal -1 binary64) im)))))> |
#<alt (*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (*.f64 #s(literal -1 binary64) im)))))> |
#<alt (*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (*.f64 #s(literal -1 binary64) im)))))> |
#<alt (*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (*.f64 #s(literal -1 binary64) im)))))> |
18 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 3.0ms | im | @ | inf | (* 1/2 (pow im 2)) |
| 2.0ms | re | @ | inf | (pow (* (sin re) -2) -2) |
| 2.0ms | re | @ | -inf | (pow (* (sin re) -2) -2) |
| 1.0ms | re | @ | 0 | (* (* 1/2 re) (+ (exp im) (exp (neg im)))) |
| 1.0ms | im | @ | inf | (* (* 1/2 re) (+ (exp im) (exp (neg im)))) |
| 1× | batch-egg-rewrite |
| 163× | associate-*r* |
| 155× | log1p-expm1-u |
| 155× | expm1-log1p-u |
| 152× | add-exp-log |
| 152× | add-log-exp |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 25 | 124 |
| 1 | 353 | 124 |
| 2 | 5692 | 124 |
| 1× | unsound |
| Inputs |
|---|
(*.f64 (+.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))) #s(literal 1 binary64)) (sin.f64 re)) |
(*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))) |
(pow.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) #s(literal -2 binary64)) |
(*.f64 (*.f64 #s(literal 1/2 binary64) re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
| Outputs |
|---|
#s(literal -4 binary64) |
#s(literal -2 binary64) |
#s(literal -1 binary64) |
#s(literal -1/2 binary64) |
#s(literal 0 binary64) |
#s(literal 1/16 binary64) |
#s(literal 1/8 binary64) |
#s(literal 1/4 binary64) |
#s(literal 1/2 binary64) |
#s(literal 1 binary64) |
#s(literal 3/2 binary64) |
#s(literal 2 binary64) |
#s(literal 3 binary64) |
#s(literal 4 binary64) |
#s(literal -4 binary64) |
#s(literal -2 binary64) |
#s(literal -1 binary64) |
#s(literal -1/2 binary64) |
#s(literal 0 binary64) |
#s(literal 1/16 binary64) |
#s(literal 1/8 binary64) |
#s(literal 1/4 binary64) |
#s(literal 1/2 binary64) |
#s(literal 1 binary64) |
#s(literal 3/2 binary64) |
#s(literal 2 binary64) |
#s(literal 3 binary64) |
#s(literal 4 binary64) |
#s(literal -4 binary64) |
#s(literal -2 binary64) |
#s(literal -1 binary64) |
#s(literal -1/2 binary64) |
#s(literal 0 binary64) |
#s(literal 1/16 binary64) |
#s(literal 1/8 binary64) |
#s(literal 1/4 binary64) |
#s(literal 1/2 binary64) |
#s(literal 1 binary64) |
#s(literal 3/2 binary64) |
#s(literal 2 binary64) |
#s(literal 3 binary64) |
#s(literal 4 binary64) |
#s(literal -4 binary64) |
#s(literal -2 binary64) |
#s(literal -1 binary64) |
#s(literal -1/2 binary64) |
#s(literal 0 binary64) |
#s(literal 1/16 binary64) |
#s(literal 1/8 binary64) |
#s(literal 1/4 binary64) |
#s(literal 1/2 binary64) |
#s(literal 1 binary64) |
#s(literal 3/2 binary64) |
#s(literal 2 binary64) |
#s(literal 3 binary64) |
#s(literal 4 binary64) |
| 1× | egg-herbie |
| 807× | associate-+r+ |
| 722× | associate-+l+ |
| 659× | fma-define |
| 527× | associate-*r* |
| 452× | distribute-rgt-out |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 109 | 2555 |
| 1 | 319 | 2252 |
| 2 | 1077 | 2203 |
| 3 | 4078 | 2179 |
| 4 | 6659 | 2179 |
| 5 | 7583 | 2179 |
| 1× | node limit |
| Inputs |
|---|
(sin.f64 re) |
(+.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))) |
(+.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))) |
(+.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))) |
(*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (/.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64))))) |
(*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (/.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64))))) |
(*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (/.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64))))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))) |
(*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (/.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64))))) |
(*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (/.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64))))) |
(*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (/.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64))))) |
(*.f64 re (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))))) |
(*.f64 re (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))))) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))))) |
(*.f64 re (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal -1/6 binary64) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))))) (*.f64 #s(literal 1/120 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))))))))))) |
(*.f64 re (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal -1/6 binary64) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))))) (*.f64 #s(literal 1/120 binary64) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))))))))))) |
(*.f64 (sin.f64 re) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))))) |
(*.f64 (sin.f64 re) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))))) |
(*.f64 (sin.f64 re) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))))) |
(*.f64 (sin.f64 re) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))))) |
(*.f64 (sin.f64 re) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))))) |
(*.f64 (sin.f64 re) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))))) |
(*.f64 (sin.f64 re) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))))) |
(*.f64 (sin.f64 re) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))))) |
(/.f64 #s(literal 1/4 binary64) (pow.f64 re #s(literal 2 binary64))) |
(/.f64 (+.f64 #s(literal 1/4 binary64) (*.f64 #s(literal 1/12 binary64) (pow.f64 re #s(literal 2 binary64)))) (pow.f64 re #s(literal 2 binary64))) |
(/.f64 (+.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 #s(literal 1/12 binary64) (*.f64 #s(literal 1/60 binary64) (pow.f64 re #s(literal 2 binary64)))))) (pow.f64 re #s(literal 2 binary64))) |
(/.f64 (+.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 #s(literal 1/12 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 #s(literal 1/60 binary64) (*.f64 #s(literal 1/378 binary64) (pow.f64 re #s(literal 2 binary64)))))))) (pow.f64 re #s(literal 2 binary64))) |
(/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 re) #s(literal 2 binary64))) |
(/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 re) #s(literal 2 binary64))) |
(/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 re) #s(literal 2 binary64))) |
(/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 re) #s(literal 2 binary64))) |
(/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 re) #s(literal 2 binary64))) |
(/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 re) #s(literal 2 binary64))) |
(/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 re) #s(literal 2 binary64))) |
(/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 re) #s(literal 2 binary64))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
re |
(+.f64 re (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re))) |
(+.f64 re (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re)) (*.f64 #s(literal 1/2 binary64) re)))) |
(+.f64 re (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal 1/2 binary64) re) (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal 1/720 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re)) (*.f64 #s(literal 1/24 binary64) re)))))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (*.f64 #s(literal -1 binary64) im))))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (*.f64 #s(literal -1 binary64) im))))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (*.f64 #s(literal -1 binary64) im))))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (*.f64 #s(literal -1 binary64) im))))) |
#s(literal -4 binary64) |
#s(literal -2 binary64) |
#s(literal -1 binary64) |
#s(literal -1/2 binary64) |
#s(literal 0 binary64) |
#s(literal 1/16 binary64) |
#s(literal 1/8 binary64) |
#s(literal 1/4 binary64) |
#s(literal 1/2 binary64) |
#s(literal 1 binary64) |
#s(literal 3/2 binary64) |
#s(literal 2 binary64) |
#s(literal 3 binary64) |
#s(literal 4 binary64) |
#s(literal -4 binary64) |
#s(literal -2 binary64) |
#s(literal -1 binary64) |
#s(literal -1/2 binary64) |
#s(literal 0 binary64) |
#s(literal 1/16 binary64) |
#s(literal 1/8 binary64) |
#s(literal 1/4 binary64) |
#s(literal 1/2 binary64) |
#s(literal 1 binary64) |
#s(literal 3/2 binary64) |
#s(literal 2 binary64) |
#s(literal 3 binary64) |
#s(literal 4 binary64) |
#s(literal -4 binary64) |
#s(literal -2 binary64) |
#s(literal -1 binary64) |
#s(literal -1/2 binary64) |
#s(literal 0 binary64) |
#s(literal 1/16 binary64) |
#s(literal 1/8 binary64) |
#s(literal 1/4 binary64) |
#s(literal 1/2 binary64) |
#s(literal 1 binary64) |
#s(literal 3/2 binary64) |
#s(literal 2 binary64) |
#s(literal 3 binary64) |
#s(literal 4 binary64) |
#s(literal -4 binary64) |
#s(literal -2 binary64) |
#s(literal -1 binary64) |
#s(literal -1/2 binary64) |
#s(literal 0 binary64) |
#s(literal 1/16 binary64) |
#s(literal 1/8 binary64) |
#s(literal 1/4 binary64) |
#s(literal 1/2 binary64) |
#s(literal 1 binary64) |
#s(literal 3/2 binary64) |
#s(literal 2 binary64) |
#s(literal 3 binary64) |
#s(literal 4 binary64) |
| Outputs |
|---|
(sin.f64 re) |
(+.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))) |
(+.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64))))) |
(*.f64 (sin.f64 re) (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) #s(literal 1 binary64))) |
(+.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))) |
(+.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64))))) |
(*.f64 (sin.f64 re) (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) #s(literal 1 binary64))) |
(+.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))) |
(+.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64))))) |
(*.f64 (sin.f64 re) (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) #s(literal 1 binary64))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64)))) |
(*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (/.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64))))) |
(+.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64))))) |
(*.f64 (sin.f64 re) (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) #s(literal 1 binary64))) |
(*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (/.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64))))) |
(+.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64))))) |
(*.f64 (sin.f64 re) (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) #s(literal 1 binary64))) |
(*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (/.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64))))) |
(+.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64))))) |
(*.f64 (sin.f64 re) (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) #s(literal 1 binary64))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64)))) |
(*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (/.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64))))) |
(+.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64))))) |
(*.f64 (sin.f64 re) (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) #s(literal 1 binary64))) |
(*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (/.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64))))) |
(+.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64))))) |
(*.f64 (sin.f64 re) (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) #s(literal 1 binary64))) |
(*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (/.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64))))) |
(+.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64))))) |
(*.f64 (sin.f64 re) (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) #s(literal 1 binary64))) |
(*.f64 re (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))))) |
(*.f64 re (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) #s(literal 1 binary64))) |
(*.f64 re (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))))) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))))) |
(*.f64 re (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1/6 binary64) (*.f64 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))) (pow.f64 re #s(literal 2 binary64))) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))))) |
(*.f64 re (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 #s(literal -1/6 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) #s(literal -1/12 binary64))))))) |
(*.f64 re (*.f64 (+.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 re #s(literal 2 binary64))) #s(literal 1 binary64)) (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) #s(literal 1 binary64)))) |
(*.f64 re (*.f64 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (pow.f64 re #s(literal 2 binary64)))) (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) #s(literal 1 binary64)))) |
(*.f64 re (*.f64 (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) #s(literal 1 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (pow.f64 re #s(literal 2 binary64)))))) |
(*.f64 re (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal -1/6 binary64) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))))) (*.f64 #s(literal 1/120 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))))))))))) |
(*.f64 re (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal -1/6 binary64) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))) (*.f64 (*.f64 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))) (pow.f64 re #s(literal 2 binary64))) #s(literal 1/120 binary64))))))) |
(*.f64 re (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) #s(literal 1 binary64)) (+.f64 #s(literal -1/6 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) #s(literal 1/120 binary64)))))))) |
(*.f64 re (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) (fma.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) #s(literal 1 binary64)) (fma.f64 (pow.f64 re #s(literal 2 binary64)) #s(literal 1/120 binary64) #s(literal -1/6 binary64))) #s(literal 1 binary64)))) |
(*.f64 re (*.f64 (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) #s(literal 1 binary64)) (+.f64 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (pow.f64 re #s(literal 2 binary64)))) (*.f64 (pow.f64 re #s(literal 4 binary64)) #s(literal 1/120 binary64))))) |
(*.f64 re (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal -1/6 binary64) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))))) (*.f64 #s(literal 1/120 binary64) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))))))))))) |
(*.f64 re (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal -1/6 binary64) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal -1/5040 binary64) (*.f64 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))) (pow.f64 re #s(literal 2 binary64))) (+.f64 #s(literal 1/120 binary64) (*.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))) #s(literal 1/120 binary64)))))))))) |
(*.f64 re (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) #s(literal 1 binary64)) (+.f64 (*.f64 (pow.f64 re #s(literal 2 binary64)) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64))) (+.f64 #s(literal -1/6 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) #s(literal -1/12 binary64)))))))) |
(*.f64 re (+.f64 (*.f64 (+.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 re #s(literal 2 binary64))) #s(literal 1 binary64)) (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) #s(literal 1 binary64))) (*.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) #s(literal 1 binary64)) (fma.f64 (pow.f64 re #s(literal 2 binary64)) #s(literal -1/5040 binary64) #s(literal 1/120 binary64))) (pow.f64 re #s(literal 4 binary64))))) |
(*.f64 re (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) (fma.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) #s(literal 1 binary64)) (+.f64 #s(literal -1/6 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 (pow.f64 re #s(literal 2 binary64)) #s(literal -1/5040 binary64) #s(literal 1/120 binary64))))) #s(literal 1 binary64)))) |
(*.f64 (sin.f64 re) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))))) |
(+.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64))))) |
(*.f64 (sin.f64 re) (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) #s(literal 1 binary64))) |
(*.f64 (sin.f64 re) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))))) |
(+.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64))))) |
(*.f64 (sin.f64 re) (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) #s(literal 1 binary64))) |
(*.f64 (sin.f64 re) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))))) |
(+.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64))))) |
(*.f64 (sin.f64 re) (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) #s(literal 1 binary64))) |
(*.f64 (sin.f64 re) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))))) |
(+.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64))))) |
(*.f64 (sin.f64 re) (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) #s(literal 1 binary64))) |
(*.f64 (sin.f64 re) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))))) |
(+.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64))))) |
(*.f64 (sin.f64 re) (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) #s(literal 1 binary64))) |
(*.f64 (sin.f64 re) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))))) |
(+.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64))))) |
(*.f64 (sin.f64 re) (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) #s(literal 1 binary64))) |
(*.f64 (sin.f64 re) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))))) |
(+.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64))))) |
(*.f64 (sin.f64 re) (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) #s(literal 1 binary64))) |
(*.f64 (sin.f64 re) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))))) |
(+.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64))))) |
(*.f64 (sin.f64 re) (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) #s(literal 1 binary64))) |
(/.f64 #s(literal 1/4 binary64) (pow.f64 re #s(literal 2 binary64))) |
(/.f64 (+.f64 #s(literal 1/4 binary64) (*.f64 #s(literal 1/12 binary64) (pow.f64 re #s(literal 2 binary64)))) (pow.f64 re #s(literal 2 binary64))) |
(/.f64 (+.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) #s(literal 1/12 binary64))) (pow.f64 re #s(literal 2 binary64))) |
(/.f64 (fma.f64 (pow.f64 re #s(literal 2 binary64)) #s(literal 1/12 binary64) #s(literal 1/4 binary64)) (pow.f64 re #s(literal 2 binary64))) |
(/.f64 (+.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 #s(literal 1/12 binary64) (*.f64 #s(literal 1/60 binary64) (pow.f64 re #s(literal 2 binary64)))))) (pow.f64 re #s(literal 2 binary64))) |
(/.f64 (+.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 #s(literal 1/12 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) #s(literal 1/60 binary64))))) (pow.f64 re #s(literal 2 binary64))) |
(/.f64 (fma.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 (pow.f64 re #s(literal 2 binary64)) #s(literal 1/60 binary64) #s(literal 1/12 binary64)) #s(literal 1/4 binary64)) (pow.f64 re #s(literal 2 binary64))) |
(/.f64 (fma.f64 (pow.f64 re #s(literal 2 binary64)) #s(literal 1/12 binary64) (fma.f64 #s(literal 1/60 binary64) (pow.f64 re #s(literal 4 binary64)) #s(literal 1/4 binary64))) (pow.f64 re #s(literal 2 binary64))) |
(/.f64 (+.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 #s(literal 1/12 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 #s(literal 1/60 binary64) (*.f64 #s(literal 1/378 binary64) (pow.f64 re #s(literal 2 binary64)))))))) (pow.f64 re #s(literal 2 binary64))) |
(/.f64 (+.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 #s(literal 1/12 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 #s(literal 1/60 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) #s(literal 1/378 binary64))))))) (pow.f64 re #s(literal 2 binary64))) |
(/.f64 (fma.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 (pow.f64 re #s(literal 2 binary64)) #s(literal 1/378 binary64) #s(literal 1/60 binary64)) #s(literal 1/12 binary64)) #s(literal 1/4 binary64)) (pow.f64 re #s(literal 2 binary64))) |
(/.f64 (fma.f64 (pow.f64 re #s(literal 2 binary64)) #s(literal 1/12 binary64) (fma.f64 (fma.f64 (pow.f64 re #s(literal 2 binary64)) #s(literal 1/378 binary64) #s(literal 1/60 binary64)) (pow.f64 re #s(literal 4 binary64)) #s(literal 1/4 binary64))) (pow.f64 re #s(literal 2 binary64))) |
(/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 re) #s(literal 2 binary64))) |
(/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 re) #s(literal 2 binary64))) |
(/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 re) #s(literal 2 binary64))) |
(/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 re) #s(literal 2 binary64))) |
(/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 re) #s(literal 2 binary64))) |
(/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 re) #s(literal 2 binary64))) |
(/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 re) #s(literal 2 binary64))) |
(/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 re) #s(literal 2 binary64))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 (*.f64 re #s(literal 1/2 binary64)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
(*.f64 re (*.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 (*.f64 re #s(literal 1/2 binary64)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
(*.f64 re (*.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 (*.f64 re #s(literal 1/2 binary64)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
(*.f64 re (*.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 (*.f64 re #s(literal 1/2 binary64)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
(*.f64 re (*.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 (*.f64 re #s(literal 1/2 binary64)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
(*.f64 re (*.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 (*.f64 re #s(literal 1/2 binary64)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
(*.f64 re (*.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 (*.f64 re #s(literal 1/2 binary64)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
(*.f64 re (*.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 (*.f64 re #s(literal 1/2 binary64)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
(*.f64 re (*.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 (*.f64 re #s(literal 1/2 binary64)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
(*.f64 re (*.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 (*.f64 re #s(literal 1/2 binary64)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
(*.f64 re (*.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 (*.f64 re #s(literal 1/2 binary64)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
(*.f64 re (*.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 (*.f64 re #s(literal 1/2 binary64)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
(*.f64 re (*.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
re |
(+.f64 re (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re))) |
(*.f64 re (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))))) |
(*.f64 re (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) #s(literal 1 binary64))) |
(+.f64 re (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re)) (*.f64 #s(literal 1/2 binary64) re)))) |
(+.f64 re (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal 1/24 binary64) (*.f64 re (pow.f64 im #s(literal 2 binary64))) (*.f64 re #s(literal 1/2 binary64))))) |
(fma.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 re (+.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) #s(literal 1/24 binary64)) #s(literal 1/2 binary64))) re) |
(fma.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 re (fma.f64 (pow.f64 im #s(literal 2 binary64)) #s(literal 1/24 binary64) #s(literal 1/2 binary64))) re) |
(+.f64 re (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal 1/2 binary64) re) (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal 1/720 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re)) (*.f64 #s(literal 1/24 binary64) re)))))) |
(+.f64 re (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal 1/2 binary64) re (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal 1/720 binary64) (*.f64 re (pow.f64 im #s(literal 2 binary64))) (*.f64 re #s(literal 1/24 binary64))))))) |
(fma.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 re #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 re (+.f64 #s(literal 1/24 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) #s(literal 1/720 binary64)))))) re) |
(fma.f64 re (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 re (*.f64 (fma.f64 (pow.f64 im #s(literal 2 binary64)) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) (pow.f64 im #s(literal 4 binary64))))) |
(*.f64 re (+.f64 (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 (pow.f64 im #s(literal 2 binary64)) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) (pow.f64 im #s(literal 4 binary64))))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 (*.f64 re #s(literal 1/2 binary64)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
(*.f64 re (*.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 (*.f64 re #s(literal 1/2 binary64)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
(*.f64 re (*.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 (*.f64 re #s(literal 1/2 binary64)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
(*.f64 re (*.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 (*.f64 re #s(literal 1/2 binary64)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
(*.f64 re (*.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (*.f64 #s(literal -1 binary64) im))))) |
(*.f64 (*.f64 re #s(literal 1/2 binary64)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
(*.f64 re (*.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (*.f64 #s(literal -1 binary64) im))))) |
(*.f64 (*.f64 re #s(literal 1/2 binary64)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
(*.f64 re (*.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (*.f64 #s(literal -1 binary64) im))))) |
(*.f64 (*.f64 re #s(literal 1/2 binary64)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
(*.f64 re (*.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (*.f64 #s(literal -1 binary64) im))))) |
(*.f64 (*.f64 re #s(literal 1/2 binary64)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
(*.f64 re (*.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) |
#s(literal -4 binary64) |
#s(literal -2 binary64) |
#s(literal -1 binary64) |
#s(literal -1/2 binary64) |
#s(literal 0 binary64) |
#s(literal 1/16 binary64) |
#s(literal 1/8 binary64) |
#s(literal 1/4 binary64) |
#s(literal 1/2 binary64) |
#s(literal 1 binary64) |
#s(literal 3/2 binary64) |
#s(literal 2 binary64) |
#s(literal 3 binary64) |
#s(literal 4 binary64) |
#s(literal -4 binary64) |
#s(literal -2 binary64) |
#s(literal -1 binary64) |
#s(literal -1/2 binary64) |
#s(literal 0 binary64) |
#s(literal 1/16 binary64) |
#s(literal 1/8 binary64) |
#s(literal 1/4 binary64) |
#s(literal 1/2 binary64) |
#s(literal 1 binary64) |
#s(literal 3/2 binary64) |
#s(literal 2 binary64) |
#s(literal 3 binary64) |
#s(literal 4 binary64) |
#s(literal -4 binary64) |
#s(literal -2 binary64) |
#s(literal -1 binary64) |
#s(literal -1/2 binary64) |
#s(literal 0 binary64) |
#s(literal 1/16 binary64) |
#s(literal 1/8 binary64) |
#s(literal 1/4 binary64) |
#s(literal 1/2 binary64) |
#s(literal 1 binary64) |
#s(literal 3/2 binary64) |
#s(literal 2 binary64) |
#s(literal 3 binary64) |
#s(literal 4 binary64) |
#s(literal -4 binary64) |
#s(literal -2 binary64) |
#s(literal -1 binary64) |
#s(literal -1/2 binary64) |
#s(literal 0 binary64) |
#s(literal 1/16 binary64) |
#s(literal 1/8 binary64) |
#s(literal 1/4 binary64) |
#s(literal 1/2 binary64) |
#s(literal 1 binary64) |
#s(literal 3/2 binary64) |
#s(literal 2 binary64) |
#s(literal 3 binary64) |
#s(literal 4 binary64) |
Compiled 980 to 756 computations (22.9% saved)
18 alts after pruning (12 fresh and 6 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 56 | 12 | 68 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 5 | 5 |
| Done | 0 | 1 | 1 |
| Total | 56 | 18 | 74 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 23.0% | (pow.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) #s(literal -2 binary64)) |
| 21.3% | (/.f64 #s(literal 1/4 binary64) (pow.f64 re #s(literal 2 binary64))) | |
| ✓ | 10.0% | (+.f64 (sin.f64 re) (sin.f64 re)) |
| ▶ | 41.6% | (+.f64 re (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re))) |
| ✓ | 72.4% | (*.f64 (+.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))) #s(literal 1 binary64)) (sin.f64 re)) |
| ✓ | 100.0% | (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
| ✓ | 62.2% | (*.f64 (*.f64 #s(literal 1/2 binary64) re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
| 28.8% | (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))) | |
| ✓ | 46.9% | (sin.f64 re) |
| 23.5% | re | |
| 4.8% | #s(literal 4 binary64) | |
| ▶ | 5.4% | #s(literal 1 binary64) |
| 5.3% | #s(literal 1/2 binary64) | |
| ▶ | 5.1% | #s(literal 1/4 binary64) |
| 4.9% | #s(literal 1/8 binary64) | |
| ▶ | 3.7% | #s(literal -1/2 binary64) |
| 3.7% | #s(literal -1 binary64) | |
| ▶ | 3.3% | #s(literal -4 binary64) |
Compiled 166 to 139 computations (16.3% saved)
Found 1 expressions with local error:
| New | Accuracy | Program |
|---|---|---|
| ✓ | 88.7% | (*.f64 (pow.f64 im #s(literal 2 binary64)) re) |
Compiled 35 to 25 computations (28.6% saved)
ival-pow, time spent: 20.0ms, 38.0% of total-timeival-mult, time spent: 17.0ms, 33.0% of total-timeival-add, time spent: 11.0ms, 21.0% of total-timeconst, time spent: 4.0ms, 8.0% of total-time| Inputs |
|---|
#<alt (*.f64 (pow.f64 im #s(literal 2 binary64)) re)> |
| Outputs |
|---|
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 3.0ms | re | @ | -inf | (* (pow im 2) re) |
| 1.0ms | re | @ | inf | (* (pow im 2) re) |
| 1.0ms | im | @ | inf | (* (pow im 2) re) |
| 1.0ms | re | @ | 0 | (* (pow im 2) re) |
| 1.0ms | im | @ | 0 | (* (pow im 2) re) |
| 1× | batch-egg-rewrite |
| 318× | unpow-prod-down |
| 309× | log1p-expm1-u |
| 309× | expm1-log1p-u |
| 294× | add-exp-log |
| 282× | add-log-exp |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 19 |
| 1 | 88 | 19 |
| 2 | 935 | 19 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (pow.f64 im #s(literal 2 binary64)) re) |
| Outputs |
|---|
(+.f64 #s(literal 0 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re)) |
(+.f64 (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 (pow.f64 im #s(literal 2 binary64))) re) #s(literal 2 binary64)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im #s(literal 2 binary64))) re)))) |
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im #s(literal 2 binary64))) re))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im #s(literal 2 binary64))) re)))) |
(-.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re)) #s(literal 1 binary64)) |
(/.f64 (-.f64 (pow.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re)) #s(literal 3 binary64)) #s(literal 1 binary64)) (+.f64 (*.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re)) (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re))) (+.f64 #s(literal 1 binary64) (*.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re)) #s(literal 1 binary64))))) |
(pow.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) re) #s(literal 1 binary64)) |
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) re)) #s(literal 3 binary64)) |
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 re)) #s(literal 4 binary64)) #s(literal 1/2 binary64)) |
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 re)) #s(literal 6 binary64)) #s(literal 1/3 binary64)) |
(pow.f64 (*.f64 im (sqrt.f64 re)) #s(literal 2 binary64)) |
(pow.f64 (E.f64) (fma.f64 #s(literal 2 binary64) (log.f64 im) (log.f64 re))) |
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (fma.f64 #s(literal 2 binary64) (log.f64 im) (log.f64 re))) #s(literal 2 binary64))) (cbrt.f64 (fma.f64 #s(literal 2 binary64) (log.f64 im) (log.f64 re)))) |
(pow.f64 (exp.f64 (sqrt.f64 (fma.f64 #s(literal 2 binary64) (log.f64 im) (log.f64 re)))) (sqrt.f64 (fma.f64 #s(literal 2 binary64) (log.f64 im) (log.f64 re)))) |
(sqrt.f64 (pow.f64 (*.f64 im (sqrt.f64 re)) #s(literal 4 binary64))) |
(fabs.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) re)) |
(log.f64 (pow.f64 (exp.f64 (pow.f64 im #s(literal 2 binary64))) re)) |
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 re)) #s(literal 6 binary64))) |
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) re))) |
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) re))) |
(exp.f64 (fma.f64 #s(literal 2 binary64) (log.f64 im) (log.f64 re))) |
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) re))) #s(literal 3 binary64))) |
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 im (sqrt.f64 re)) #s(literal 6 binary64))) #s(literal 1/3 binary64))) |
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 re))) #s(literal 2 binary64))) |
| 1× | egg-herbie |
| 691× | prod-exp |
| 583× | cancel-sign-sub-inv |
| 442× | associate--r+ |
| 386× | distribute-lft-out |
| 335× | associate--r- |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 80 | 749 |
| 1 | 147 | 731 |
| 2 | 348 | 711 |
| 3 | 1357 | 711 |
| 4 | 3077 | 711 |
| 5 | 7690 | 711 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 #s(literal 0 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re)) |
(+.f64 (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 (pow.f64 im #s(literal 2 binary64))) re) #s(literal 2 binary64)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im #s(literal 2 binary64))) re)))) |
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im #s(literal 2 binary64))) re))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im #s(literal 2 binary64))) re)))) |
(-.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re)) #s(literal 1 binary64)) |
(/.f64 (-.f64 (pow.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re)) #s(literal 3 binary64)) #s(literal 1 binary64)) (+.f64 (*.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re)) (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re))) (+.f64 #s(literal 1 binary64) (*.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re)) #s(literal 1 binary64))))) |
(pow.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) re) #s(literal 1 binary64)) |
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) re)) #s(literal 3 binary64)) |
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 re)) #s(literal 4 binary64)) #s(literal 1/2 binary64)) |
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 re)) #s(literal 6 binary64)) #s(literal 1/3 binary64)) |
(pow.f64 (*.f64 im (sqrt.f64 re)) #s(literal 2 binary64)) |
(pow.f64 (E.f64) (fma.f64 #s(literal 2 binary64) (log.f64 im) (log.f64 re))) |
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (fma.f64 #s(literal 2 binary64) (log.f64 im) (log.f64 re))) #s(literal 2 binary64))) (cbrt.f64 (fma.f64 #s(literal 2 binary64) (log.f64 im) (log.f64 re)))) |
(pow.f64 (exp.f64 (sqrt.f64 (fma.f64 #s(literal 2 binary64) (log.f64 im) (log.f64 re)))) (sqrt.f64 (fma.f64 #s(literal 2 binary64) (log.f64 im) (log.f64 re)))) |
(sqrt.f64 (pow.f64 (*.f64 im (sqrt.f64 re)) #s(literal 4 binary64))) |
(fabs.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) re)) |
(log.f64 (pow.f64 (exp.f64 (pow.f64 im #s(literal 2 binary64))) re)) |
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 re)) #s(literal 6 binary64))) |
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) re))) |
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) re))) |
(exp.f64 (fma.f64 #s(literal 2 binary64) (log.f64 im) (log.f64 re))) |
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) re))) #s(literal 3 binary64))) |
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 im (sqrt.f64 re)) #s(literal 6 binary64))) #s(literal 1/3 binary64))) |
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 re))) #s(literal 2 binary64))) |
| Outputs |
|---|
(+.f64 #s(literal 0 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re)) |
(*.f64 (pow.f64 im #s(literal 2 binary64)) re) |
(+.f64 (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 (pow.f64 im #s(literal 2 binary64))) re) #s(literal 2 binary64)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im #s(literal 2 binary64))) re)))) |
(+.f64 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im #s(literal 2 binary64))) (*.f64 #s(literal 2 binary64) re)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im #s(literal 2 binary64))) re)))) |
(+.f64 (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 re) (pow.f64 im #s(literal 2 binary64))) #s(literal 2 binary64)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 re) (pow.f64 im #s(literal 2 binary64)))))) |
(+.f64 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im #s(literal 2 binary64))) (*.f64 #s(literal 2 binary64) re)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 re) (pow.f64 im #s(literal 2 binary64)))))) |
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im #s(literal 2 binary64))) re))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im #s(literal 2 binary64))) re)))) |
(*.f64 #s(literal 2 binary64) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im #s(literal 2 binary64))) re)))) |
(*.f64 #s(literal 2 binary64) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 re) (pow.f64 im #s(literal 2 binary64)))))) |
(-.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re)) #s(literal 1 binary64)) |
(*.f64 (pow.f64 im #s(literal 2 binary64)) re) |
(/.f64 (-.f64 (pow.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re)) #s(literal 3 binary64)) #s(literal 1 binary64)) (+.f64 (*.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re)) (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re))) (+.f64 #s(literal 1 binary64) (*.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re)) #s(literal 1 binary64))))) |
(/.f64 (+.f64 (pow.f64 (+.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) re) #s(literal 1 binary64)) #s(literal 3 binary64)) #s(literal -1 binary64)) (fma.f64 (+.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) re) #s(literal 1 binary64)) (+.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) re) #s(literal 1 binary64)) (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) re) #s(literal 1 binary64))))) |
(/.f64 (+.f64 (pow.f64 (fma.f64 (pow.f64 im #s(literal 2 binary64)) re #s(literal 1 binary64)) #s(literal 3 binary64)) #s(literal -1 binary64)) (fma.f64 (fma.f64 (pow.f64 im #s(literal 2 binary64)) re #s(literal 1 binary64)) (fma.f64 (pow.f64 im #s(literal 2 binary64)) re #s(literal 1 binary64)) (+.f64 #s(literal 2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re)))) |
(/.f64 (+.f64 (pow.f64 (fma.f64 (pow.f64 im #s(literal 2 binary64)) re #s(literal 1 binary64)) #s(literal 3 binary64)) #s(literal -1 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 (fma.f64 (pow.f64 im #s(literal 2 binary64)) re #s(literal 1 binary64)) (fma.f64 (pow.f64 im #s(literal 2 binary64)) re #s(literal 2 binary64))))) |
(/.f64 (expm1.f64 (*.f64 #s(literal 3 binary64) (log1p.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) re)))) (+.f64 #s(literal 1 binary64) (*.f64 (fma.f64 (pow.f64 im #s(literal 2 binary64)) re #s(literal 1 binary64)) (fma.f64 (pow.f64 im #s(literal 2 binary64)) re #s(literal 2 binary64))))) |
(pow.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) re) #s(literal 1 binary64)) |
(*.f64 (pow.f64 im #s(literal 2 binary64)) re) |
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) re)) #s(literal 3 binary64)) |
(*.f64 (pow.f64 im #s(literal 2 binary64)) re) |
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 re)) #s(literal 4 binary64)) #s(literal 1/2 binary64)) |
(*.f64 (pow.f64 im #s(literal 2 binary64)) re) |
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 re)) #s(literal 6 binary64)) #s(literal 1/3 binary64)) |
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 re)) #s(literal 6 binary64))) |
(pow.f64 (*.f64 im (sqrt.f64 re)) #s(literal 2 binary64)) |
(*.f64 (pow.f64 im #s(literal 2 binary64)) re) |
(pow.f64 (E.f64) (fma.f64 #s(literal 2 binary64) (log.f64 im) (log.f64 re))) |
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (fma.f64 #s(literal 2 binary64) (log.f64 im) (log.f64 re))) #s(literal 2 binary64))) (cbrt.f64 (fma.f64 #s(literal 2 binary64) (log.f64 im) (log.f64 re)))) |
(pow.f64 (exp.f64 (sqrt.f64 (fma.f64 #s(literal 2 binary64) (log.f64 im) (log.f64 re)))) (sqrt.f64 (fma.f64 #s(literal 2 binary64) (log.f64 im) (log.f64 re)))) |
(sqrt.f64 (pow.f64 (*.f64 im (sqrt.f64 re)) #s(literal 4 binary64))) |
(*.f64 (pow.f64 im #s(literal 2 binary64)) re) |
(fabs.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) re)) |
(*.f64 (pow.f64 im #s(literal 2 binary64)) re) |
(log.f64 (pow.f64 (exp.f64 (pow.f64 im #s(literal 2 binary64))) re)) |
(*.f64 (pow.f64 im #s(literal 2 binary64)) re) |
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 re)) #s(literal 6 binary64))) |
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) re))) |
(*.f64 (pow.f64 im #s(literal 2 binary64)) re) |
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) re))) |
(*.f64 (pow.f64 im #s(literal 2 binary64)) re) |
(exp.f64 (fma.f64 #s(literal 2 binary64) (log.f64 im) (log.f64 re))) |
(*.f64 (pow.f64 im #s(literal 2 binary64)) re) |
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) re))) #s(literal 3 binary64))) |
(*.f64 (pow.f64 im #s(literal 2 binary64)) re) |
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 im (sqrt.f64 re)) #s(literal 6 binary64))) #s(literal 1/3 binary64))) |
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 re)) #s(literal 6 binary64))) |
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 re))) #s(literal 2 binary64))) |
(*.f64 (pow.f64 im #s(literal 2 binary64)) re) |
Compiled 580 to 416 computations (28.3% saved)
18 alts after pruning (7 fresh and 11 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 33 | 0 | 33 |
| Fresh | 0 | 7 | 7 |
| Picked | 0 | 5 | 5 |
| Done | 0 | 6 | 6 |
| Total | 33 | 18 | 51 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 23.0% | (pow.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) #s(literal -2 binary64)) |
| 21.3% | (/.f64 #s(literal 1/4 binary64) (pow.f64 re #s(literal 2 binary64))) | |
| ✓ | 10.0% | (+.f64 (sin.f64 re) (sin.f64 re)) |
| ✓ | 41.6% | (+.f64 re (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re))) |
| ✓ | 72.4% | (*.f64 (+.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))) #s(literal 1 binary64)) (sin.f64 re)) |
| ✓ | 100.0% | (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
| ✓ | 62.2% | (*.f64 (*.f64 #s(literal 1/2 binary64) re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
| ▶ | 28.8% | (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))) |
| ✓ | 46.9% | (sin.f64 re) |
| 23.5% | re | |
| ▶ | 4.8% | #s(literal 4 binary64) |
| ✓ | 5.4% | #s(literal 1 binary64) |
| ▶ | 5.3% | #s(literal 1/2 binary64) |
| ✓ | 5.1% | #s(literal 1/4 binary64) |
| ▶ | 4.9% | #s(literal 1/8 binary64) |
| ✓ | 3.7% | #s(literal -1/2 binary64) |
| ▶ | 3.7% | #s(literal -1 binary64) |
| ✓ | 3.3% | #s(literal -4 binary64) |
Compiled 143 to 119 computations (16.8% saved)
Found 1 expressions with local error:
| New | Accuracy | Program |
|---|---|---|
| ✓ | 94.3% | (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)) |
Compiled 30 to 20 computations (33.3% saved)
ival-pow, time spent: 237.0ms, 90.0% of total-timeival-sin, time spent: 13.0ms, 5.0% of total-timeival-mult, time spent: 11.0ms, 4.0% of total-timeconst, time spent: 3.0ms, 1.0% of total-time| Inputs |
|---|
#<alt (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))> |
| Outputs |
|---|
#<alt (*.f64 (pow.f64 im #s(literal 2 binary64)) re)> |
#<alt (*.f64 re (+.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64)))) (pow.f64 im #s(literal 2 binary64))))> |
#<alt (*.f64 re (+.f64 (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 2 binary64))) (*.f64 #s(literal 1/120 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64)))))) (pow.f64 im #s(literal 2 binary64))))> |
#<alt (*.f64 re (+.f64 (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 2 binary64))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64)))) (*.f64 #s(literal 1/120 binary64) (pow.f64 im #s(literal 2 binary64))))))) (pow.f64 im #s(literal 2 binary64))))> |
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | re | @ | 0 | (* (pow im 2) (sin re)) |
| 1.0ms | im | @ | inf | (* (pow im 2) (sin re)) |
| 1.0ms | im | @ | 0 | (* (pow im 2) (sin re)) |
| 1.0ms | re | @ | -inf | (* (pow im 2) (sin re)) |
| 1.0ms | re | @ | inf | (* (pow im 2) (sin re)) |
| 1× | batch-egg-rewrite |
| 395× | log1p-expm1-u |
| 395× | expm1-log1p-u |
| 382× | unpow-prod-down |
| 375× | add-exp-log |
| 360× | add-log-exp |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 12 | 23 |
| 1 | 107 | 23 |
| 2 | 1151 | 23 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)) |
| Outputs |
|---|
(+.f64 #s(literal 0 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))) |
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) (pow.f64 im #s(literal 2 binary64)))) #s(literal 2 binary64))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) (pow.f64 im #s(literal 2 binary64)))))) |
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) (pow.f64 im #s(literal 2 binary64))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) (pow.f64 im #s(literal 2 binary64)))))) |
(-.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))) #s(literal 1 binary64)) |
(pow.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)) #s(literal 1 binary64)) |
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))) #s(literal 3 binary64)) |
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) #s(literal 4 binary64)) #s(literal 1/2 binary64)) |
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) #s(literal 6 binary64)) #s(literal 1/3 binary64)) |
(pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) #s(literal 2 binary64)) |
(pow.f64 (E.f64) (log.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))) |
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))) #s(literal 2 binary64))) (cbrt.f64 (log.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))))) |
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))))) (sqrt.f64 (log.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))))) |
(sqrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) #s(literal 4 binary64))) |
(log.f64 (pow.f64 (exp.f64 (sin.f64 re)) (pow.f64 im #s(literal 2 binary64)))) |
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) #s(literal 6 binary64))) |
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))) |
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))) |
(exp.f64 (log.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))) |
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))) #s(literal 3 binary64))) |
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) #s(literal 6 binary64))) #s(literal 1/3 binary64))) |
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 (sin.f64 re)))) #s(literal 2 binary64))) |
| 1× | egg-herbie |
| 976× | fma-define |
| 629× | fma-neg |
| 584× | div-sub |
| 404× | distribute-lft-in |
| 364× | distribute-rgt-in |
Useful iterations: 4 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 92 | 981 |
| 1 | 195 | 981 |
| 2 | 492 | 953 |
| 3 | 1470 | 929 |
| 4 | 3137 | 924 |
| 5 | 4272 | 924 |
| 6 | 6447 | 924 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (pow.f64 im #s(literal 2 binary64)) re) |
(*.f64 re (+.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64)))) (pow.f64 im #s(literal 2 binary64)))) |
(*.f64 re (+.f64 (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 2 binary64))) (*.f64 #s(literal 1/120 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64)))))) (pow.f64 im #s(literal 2 binary64)))) |
(*.f64 re (+.f64 (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 2 binary64))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64)))) (*.f64 #s(literal 1/120 binary64) (pow.f64 im #s(literal 2 binary64))))))) (pow.f64 im #s(literal 2 binary64)))) |
(+.f64 #s(literal 0 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))) |
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) (pow.f64 im #s(literal 2 binary64)))) #s(literal 2 binary64))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) (pow.f64 im #s(literal 2 binary64)))))) |
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) (pow.f64 im #s(literal 2 binary64))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) (pow.f64 im #s(literal 2 binary64)))))) |
(-.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))) #s(literal 1 binary64)) |
(pow.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)) #s(literal 1 binary64)) |
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))) #s(literal 3 binary64)) |
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) #s(literal 4 binary64)) #s(literal 1/2 binary64)) |
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) #s(literal 6 binary64)) #s(literal 1/3 binary64)) |
(pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) #s(literal 2 binary64)) |
(pow.f64 (E.f64) (log.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))) |
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))) #s(literal 2 binary64))) (cbrt.f64 (log.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))))) |
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))))) (sqrt.f64 (log.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))))) |
(sqrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) #s(literal 4 binary64))) |
(log.f64 (pow.f64 (exp.f64 (sin.f64 re)) (pow.f64 im #s(literal 2 binary64)))) |
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) #s(literal 6 binary64))) |
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))) |
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))) |
(exp.f64 (log.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))) |
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))) #s(literal 3 binary64))) |
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) #s(literal 6 binary64))) #s(literal 1/3 binary64))) |
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 (sin.f64 re)))) #s(literal 2 binary64))) |
| Outputs |
|---|
(*.f64 (pow.f64 im #s(literal 2 binary64)) re) |
(*.f64 re (+.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64)))) (pow.f64 im #s(literal 2 binary64)))) |
(*.f64 re (fma.f64 #s(literal -1/6 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))) (pow.f64 im #s(literal 2 binary64)))) |
(*.f64 re (*.f64 (+.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 re #s(literal 2 binary64))) #s(literal 1 binary64)) (pow.f64 im #s(literal 2 binary64)))) |
(*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 re (*.f64 #s(literal -1/6 binary64) (pow.f64 re #s(literal 3 binary64))))) |
(*.f64 re (+.f64 (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 2 binary64))) (*.f64 #s(literal 1/120 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64)))))) (pow.f64 im #s(literal 2 binary64)))) |
(*.f64 re (fma.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 2 binary64)) (*.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))) #s(literal 1/120 binary64))) (pow.f64 im #s(literal 2 binary64)))) |
(*.f64 re (fma.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 (pow.f64 im #s(literal 2 binary64)) #s(literal -1/6 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal 2 binary64)) #s(literal 1/120 binary64)))) (pow.f64 im #s(literal 2 binary64)))) |
(*.f64 re (fma.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 #s(literal -1/6 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) #s(literal 1/120 binary64)))) (pow.f64 im #s(literal 2 binary64)))) |
(*.f64 re (fma.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 (pow.f64 re #s(literal 2 binary64)) #s(literal 1/120 binary64) #s(literal -1/6 binary64))) (pow.f64 im #s(literal 2 binary64)))) |
(*.f64 re (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (fma.f64 #s(literal -1/6 binary64) (pow.f64 re #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 #s(literal 1/120 binary64) (pow.f64 re #s(literal 4 binary64)))))) |
(*.f64 re (+.f64 (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 2 binary64))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64)))) (*.f64 #s(literal 1/120 binary64) (pow.f64 im #s(literal 2 binary64))))))) (pow.f64 im #s(literal 2 binary64)))) |
(*.f64 re (fma.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal -1/5040 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))) (*.f64 (pow.f64 im #s(literal 2 binary64)) #s(literal 1/120 binary64))))) (pow.f64 im #s(literal 2 binary64)))) |
(*.f64 re (fma.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 (pow.f64 im #s(literal 2 binary64)) #s(literal -1/6 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 (pow.f64 im #s(literal 2 binary64)) #s(literal 1/120 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal 2 binary64)) #s(literal -1/5040 binary64)))))) (pow.f64 im #s(literal 2 binary64)))) |
(*.f64 re (+.f64 (*.f64 (+.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 re #s(literal 2 binary64))) #s(literal 1 binary64)) (pow.f64 im #s(literal 2 binary64))) (*.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 #s(literal 1/120 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) #s(literal -1/5040 binary64)))) (pow.f64 re #s(literal 4 binary64))))) |
(*.f64 re (fma.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (fma.f64 (pow.f64 re #s(literal 2 binary64)) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 #s(literal -1/5040 binary64) (pow.f64 re #s(literal 4 binary64))))) (pow.f64 im #s(literal 2 binary64)))) |
(+.f64 #s(literal 0 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))) |
(*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)) |
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) (pow.f64 im #s(literal 2 binary64)))) #s(literal 2 binary64))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) (pow.f64 im #s(literal 2 binary64)))))) |
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im #s(literal 2 binary64))) (sin.f64 re))) #s(literal 2 binary64))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im #s(literal 2 binary64))) (sin.f64 re))))) |
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) (pow.f64 im #s(literal 2 binary64))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) (pow.f64 im #s(literal 2 binary64)))))) |
(*.f64 #s(literal 2 binary64) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) (pow.f64 im #s(literal 2 binary64)))))) |
(*.f64 #s(literal 2 binary64) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im #s(literal 2 binary64))) (sin.f64 re))))) |
(-.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))) #s(literal 1 binary64)) |
(*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)) |
(pow.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)) #s(literal 1 binary64)) |
(*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)) |
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))) #s(literal 3 binary64)) |
(*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)) |
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) #s(literal 4 binary64)) #s(literal 1/2 binary64)) |
(sqrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) #s(literal 4 binary64))) |
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) #s(literal 6 binary64)) #s(literal 1/3 binary64)) |
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) #s(literal 6 binary64))) |
(pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) #s(literal 2 binary64)) |
(*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)) |
(pow.f64 (E.f64) (log.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))) |
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))) #s(literal 2 binary64))) (cbrt.f64 (log.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))))) |
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))))) (sqrt.f64 (log.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))))) |
(sqrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) #s(literal 4 binary64))) |
(log.f64 (pow.f64 (exp.f64 (sin.f64 re)) (pow.f64 im #s(literal 2 binary64)))) |
(*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)) |
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) #s(literal 6 binary64))) |
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))) |
(*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)) |
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))) |
(*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)) |
(exp.f64 (log.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))) |
(*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)) |
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))) #s(literal 3 binary64))) |
(*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)) |
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) #s(literal 6 binary64))) #s(literal 1/3 binary64))) |
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) #s(literal 6 binary64))) |
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 (sin.f64 re)))) #s(literal 2 binary64))) |
(*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)) |
Compiled 698 to 508 computations (27.2% saved)
21 alts after pruning (5 fresh and 16 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 38 | 3 | 41 |
| Fresh | 0 | 2 | 2 |
| Picked | 0 | 5 | 5 |
| Done | 0 | 11 | 11 |
| Total | 38 | 21 | 59 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 23.0% | (pow.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) #s(literal -2 binary64)) |
| 21.3% | (/.f64 #s(literal 1/4 binary64) (pow.f64 re #s(literal 2 binary64))) | |
| ✓ | 10.0% | (+.f64 (sin.f64 re) (sin.f64 re)) |
| ✓ | 41.6% | (+.f64 re (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re))) |
| ✓ | 72.4% | (*.f64 (+.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))) #s(literal 1 binary64)) (sin.f64 re)) |
| ✓ | 100.0% | (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
| ✓ | 62.2% | (*.f64 (*.f64 #s(literal 1/2 binary64) re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
| 30.1% | (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 re (*.f64 #s(literal -1/6 binary64) (pow.f64 re #s(literal 3 binary64)))))) | |
| ✓ | 28.8% | (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))) |
| 21.3% | (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re)) | |
| 30.2% | (*.f64 #s(literal 1/2 binary64) (*.f64 re (*.f64 (+.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 re #s(literal 2 binary64))) #s(literal 1 binary64)) (pow.f64 im #s(literal 2 binary64))))) | |
| ✓ | 46.9% | (sin.f64 re) |
| 23.5% | re | |
| ✓ | 4.8% | #s(literal 4 binary64) |
| ✓ | 5.4% | #s(literal 1 binary64) |
| ✓ | 5.3% | #s(literal 1/2 binary64) |
| ✓ | 5.1% | #s(literal 1/4 binary64) |
| ✓ | 4.9% | #s(literal 1/8 binary64) |
| ✓ | 3.7% | #s(literal -1/2 binary64) |
| ✓ | 3.7% | #s(literal -1 binary64) |
| ✓ | 3.3% | #s(literal -4 binary64) |
Compiled 276 to 207 computations (25% saved)
| Inputs |
|---|
#s(literal -4 binary64) |
#s(literal -1 binary64) |
#s(literal -1/2 binary64) |
#s(literal 1/8 binary64) |
#s(literal 1/4 binary64) |
#s(literal 1/2 binary64) |
#s(literal 1 binary64) |
#s(literal 4 binary64) |
re |
(sin.f64 re) |
(/.f64 #s(literal 1/4 binary64) (pow.f64 re #s(literal 2 binary64))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re)) |
(+.f64 re (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re))) |
(+.f64 (sin.f64 re) (sin.f64 re)) |
(pow.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) #s(literal -2 binary64)) |
(*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))) |
(*.f64 (*.f64 #s(literal 1/2 binary64) re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
(*.f64 (+.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))) #s(literal 1 binary64)) (sin.f64 re)) |
(*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 re (*.f64 #s(literal -1/6 binary64) (pow.f64 re #s(literal 3 binary64)))))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 re (*.f64 (+.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 re #s(literal 2 binary64))) #s(literal 1 binary64)) (pow.f64 im #s(literal 2 binary64))))) |
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) |
| Outputs |
|---|
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
6 calls:
| 15.0ms | re |
| 13.0ms | (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) |
| 13.0ms | im |
| 13.0ms | (sin.f64 re) |
| 11.0ms | (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) |
| Accuracy | Segments | Branch |
|---|---|---|
| 100.0% | 1 | re |
| 100.0% | 1 | im |
| 100.0% | 1 | (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))) |
| 100.0% | 1 | (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) |
| 100.0% | 1 | (sin.f64 re) |
| 100.0% | 1 | (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)) |
Compiled 39 to 30 computations (23.1% saved)
| Inputs |
|---|
#s(literal -4 binary64) |
#s(literal -1 binary64) |
#s(literal -1/2 binary64) |
#s(literal 1/8 binary64) |
#s(literal 1/4 binary64) |
#s(literal 1/2 binary64) |
#s(literal 1 binary64) |
#s(literal 4 binary64) |
re |
(sin.f64 re) |
(/.f64 #s(literal 1/4 binary64) (pow.f64 re #s(literal 2 binary64))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re)) |
(+.f64 re (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re))) |
(+.f64 (sin.f64 re) (sin.f64 re)) |
(pow.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) #s(literal -2 binary64)) |
(*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))) |
(*.f64 (*.f64 #s(literal 1/2 binary64) re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
(*.f64 (+.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))) #s(literal 1 binary64)) (sin.f64 re)) |
(*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 re (*.f64 #s(literal -1/6 binary64) (pow.f64 re #s(literal 3 binary64)))))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 re (*.f64 (+.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 re #s(literal 2 binary64))) #s(literal 1 binary64)) (pow.f64 im #s(literal 2 binary64))))) |
| Outputs |
|---|
(*.f64 (+.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))) #s(literal 1 binary64)) (sin.f64 re)) |
(*.f64 (*.f64 #s(literal 1/2 binary64) re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))) |
3 calls:
| 141.0ms | (sin.f64 re) |
| 17.0ms | im |
| 13.0ms | re |
| Accuracy | Segments | Branch |
|---|---|---|
| 88.5% | 2 | re |
| 93.1% | 3 | im |
| 91.2% | 5 | (sin.f64 re) |
Compiled 10 to 7 computations (30% saved)
| Inputs |
|---|
#s(literal -4 binary64) |
#s(literal -1 binary64) |
#s(literal -1/2 binary64) |
#s(literal 1/8 binary64) |
#s(literal 1/4 binary64) |
#s(literal 1/2 binary64) |
#s(literal 1 binary64) |
#s(literal 4 binary64) |
re |
(sin.f64 re) |
(/.f64 #s(literal 1/4 binary64) (pow.f64 re #s(literal 2 binary64))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re)) |
(+.f64 re (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re))) |
(+.f64 (sin.f64 re) (sin.f64 re)) |
(pow.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) #s(literal -2 binary64)) |
(*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))) |
(*.f64 (*.f64 #s(literal 1/2 binary64) re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
| Outputs |
|---|
(sin.f64 re) |
(*.f64 (*.f64 #s(literal 1/2 binary64) re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))) |
1 calls:
| 15.0ms | im |
| Accuracy | Segments | Branch |
|---|---|---|
| 92.8% | 3 | im |
Compiled 3 to 2 computations (33.3% saved)
| Inputs |
|---|
#s(literal -4 binary64) |
#s(literal -1 binary64) |
#s(literal -1/2 binary64) |
#s(literal 1/8 binary64) |
#s(literal 1/4 binary64) |
#s(literal 1/2 binary64) |
#s(literal 1 binary64) |
#s(literal 4 binary64) |
re |
(sin.f64 re) |
(/.f64 #s(literal 1/4 binary64) (pow.f64 re #s(literal 2 binary64))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re)) |
(+.f64 re (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re))) |
(+.f64 (sin.f64 re) (sin.f64 re)) |
(pow.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) #s(literal -2 binary64)) |
(*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))) |
| Outputs |
|---|
(sin.f64 re) |
(pow.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) #s(literal -2 binary64)) |
(*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))) |
3 calls:
| 23.0ms | (sin.f64 re) |
| 14.0ms | im |
| 14.0ms | re |
| Accuracy | Segments | Branch |
|---|---|---|
| 64.7% | 4 | (sin.f64 re) |
| 64.3% | 3 | re |
| 81.3% | 3 | im |
Compiled 10 to 7 computations (30% saved)
| Inputs |
|---|
#s(literal -4 binary64) |
#s(literal -1 binary64) |
#s(literal -1/2 binary64) |
#s(literal 1/8 binary64) |
#s(literal 1/4 binary64) |
#s(literal 1/2 binary64) |
#s(literal 1 binary64) |
#s(literal 4 binary64) |
re |
(sin.f64 re) |
(/.f64 #s(literal 1/4 binary64) (pow.f64 re #s(literal 2 binary64))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re)) |
(+.f64 re (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re))) |
(+.f64 (sin.f64 re) (sin.f64 re)) |
(pow.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) #s(literal -2 binary64)) |
| Outputs |
|---|
(sin.f64 re) |
(pow.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) #s(literal -2 binary64)) |
(*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re)) |
1 calls:
| 13.0ms | im |
| Accuracy | Segments | Branch |
|---|---|---|
| 73.9% | 3 | im |
Compiled 3 to 2 computations (33.3% saved)
| Inputs |
|---|
#s(literal -4 binary64) |
#s(literal -1 binary64) |
#s(literal -1/2 binary64) |
#s(literal 1/8 binary64) |
#s(literal 1/4 binary64) |
#s(literal 1/2 binary64) |
#s(literal 1 binary64) |
#s(literal 4 binary64) |
re |
(sin.f64 re) |
(/.f64 #s(literal 1/4 binary64) (pow.f64 re #s(literal 2 binary64))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re)) |
(+.f64 re (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re))) |
(+.f64 (sin.f64 re) (sin.f64 re)) |
| Outputs |
|---|
(sin.f64 re) |
(/.f64 #s(literal 1/4 binary64) (pow.f64 re #s(literal 2 binary64))) |
(*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re)) |
1 calls:
| 13.0ms | im |
| Accuracy | Segments | Branch |
|---|---|---|
| 73.9% | 3 | im |
Compiled 3 to 2 computations (33.3% saved)
| Inputs |
|---|
#s(literal -4 binary64) |
#s(literal -1 binary64) |
#s(literal -1/2 binary64) |
#s(literal 1/8 binary64) |
#s(literal 1/4 binary64) |
#s(literal 1/2 binary64) |
#s(literal 1 binary64) |
#s(literal 4 binary64) |
re |
(sin.f64 re) |
(/.f64 #s(literal 1/4 binary64) (pow.f64 re #s(literal 2 binary64))) |
| Outputs |
|---|
(sin.f64 re) |
(/.f64 #s(literal 1/4 binary64) (pow.f64 re #s(literal 2 binary64))) |
1 calls:
| 8.0ms | im |
| Accuracy | Segments | Branch |
|---|---|---|
| 65.3% | 2 | im |
Compiled 3 to 2 computations (33.3% saved)
| Inputs |
|---|
#s(literal -4 binary64) |
#s(literal -1 binary64) |
#s(literal -1/2 binary64) |
#s(literal 1/8 binary64) |
#s(literal 1/4 binary64) |
#s(literal 1/2 binary64) |
#s(literal 1 binary64) |
#s(literal 4 binary64) |
re |
(sin.f64 re) |
| Outputs |
|---|
(sin.f64 re) |
3 calls:
| 4.0ms | re |
| 4.0ms | im |
| 4.0ms | (sin.f64 re) |
| Accuracy | Segments | Branch |
|---|---|---|
| 46.9% | 1 | (sin.f64 re) |
| 46.9% | 1 | re |
| 46.9% | 1 | im |
Compiled 10 to 7 computations (30% saved)
| Inputs |
|---|
#s(literal -4 binary64) |
#s(literal -1 binary64) |
#s(literal -1/2 binary64) |
#s(literal 1/8 binary64) |
#s(literal 1/4 binary64) |
#s(literal 1/2 binary64) |
#s(literal 1 binary64) |
#s(literal 4 binary64) |
re |
| Outputs |
|---|
re |
#s(literal 1 binary64) |
2 calls:
| 6.0ms | re |
| 4.0ms | im |
| Accuracy | Segments | Branch |
|---|---|---|
| 23.5% | 1 | im |
| 25.4% | 2 | re |
Compiled 6 to 4 computations (33.3% saved)
| Inputs |
|---|
#s(literal -4 binary64) |
#s(literal -1 binary64) |
#s(literal -1/2 binary64) |
#s(literal 1/8 binary64) |
#s(literal 1/4 binary64) |
#s(literal 1/2 binary64) |
#s(literal 1 binary64) |
#s(literal 4 binary64) |
| Outputs |
|---|
#s(literal 1 binary64) |
2 calls:
| 3.0ms | re |
| 3.0ms | im |
| Accuracy | Segments | Branch |
|---|---|---|
| 5.4% | 1 | im |
| 5.4% | 1 | re |
Compiled 6 to 4 computations (33.3% saved)
| Inputs |
|---|
#s(literal -4 binary64) |
#s(literal -1 binary64) |
#s(literal -1/2 binary64) |
#s(literal 1/8 binary64) |
#s(literal 1/4 binary64) |
#s(literal 1/2 binary64) |
| Outputs |
|---|
#s(literal 1/2 binary64) |
2 calls:
| 4.0ms | re |
| 3.0ms | im |
| Accuracy | Segments | Branch |
|---|---|---|
| 5.3% | 1 | re |
| 5.3% | 1 | im |
Compiled 6 to 4 computations (33.3% saved)
| Inputs |
|---|
#s(literal -4 binary64) |
#s(literal -1 binary64) |
#s(literal -1/2 binary64) |
#s(literal 1/8 binary64) |
#s(literal 1/4 binary64) |
| Outputs |
|---|
#s(literal 1/4 binary64) |
2 calls:
| 2.0ms | re |
| 2.0ms | im |
| Accuracy | Segments | Branch |
|---|---|---|
| 5.1% | 1 | im |
| 5.1% | 1 | re |
Compiled 6 to 4 computations (33.3% saved)
| Inputs |
|---|
#s(literal -4 binary64) |
#s(literal -1 binary64) |
#s(literal -1/2 binary64) |
#s(literal 1/8 binary64) |
| Outputs |
|---|
#s(literal 1/8 binary64) |
2 calls:
| 2.0ms | im |
| 2.0ms | re |
| Accuracy | Segments | Branch |
|---|---|---|
| 4.9% | 1 | re |
| 4.9% | 1 | im |
Compiled 6 to 4 computations (33.3% saved)
| Inputs |
|---|
#s(literal -4 binary64) |
#s(literal -1 binary64) |
#s(literal -1/2 binary64) |
| Outputs |
|---|
#s(literal -1 binary64) |
2 calls:
| 3.0ms | re |
| 2.0ms | im |
| Accuracy | Segments | Branch |
|---|---|---|
| 3.7% | 1 | im |
| 3.7% | 1 | re |
Compiled 6 to 4 computations (33.3% saved)
Total -0.0b remaining (-0%)
Threshold costs -0b (-0%)
| Inputs |
|---|
#s(literal -4 binary64) |
| Outputs |
|---|
#s(literal -4 binary64) |
2 calls:
| 1.0ms | re |
| 1.0ms | im |
| Accuracy | Segments | Branch |
|---|---|---|
| 3.3% | 1 | im |
| 3.3% | 1 | re |
Compiled 6 to 4 computations (33.3% saved)
| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 22.0ms | 6.100671827319044e+153 | 1.7428062218000198e+157 |
| 25.0ms | 1.0054287042758832 | 885.1973247066564 |
| 20.0ms | 128× | 256 | infinite |
| 23.0ms | 128× | 256 | valid |
Compiled 419 to 335 computations (20% saved)
ival-sin, time spent: 7.0ms, 36.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: 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 |
|---|---|---|
| 24.0ms | 6.100671827319044e+153 | 1.7428062218000198e+157 |
| 23.0ms | 1.0054287042758832 | 885.1973247066564 |
| 22.0ms | 128× | 256 | infinite |
| 22.0ms | 128× | 256 | valid |
Compiled 355 to 279 computations (21.4% saved)
ival-sin, time spent: 8.0ms, 39.0% of total-timeival-exp, time spent: 5.0ms, 24.0% of total-timeival-mult, time spent: 5.0ms, 24.0% of total-timeival-add, time spent: 2.0ms, 10.0% of total-timeival-sub, 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 |
|---|---|---|
| 38.0ms | 6.100671827319044e+153 | 1.7428062218000198e+157 |
| 48.0ms | 885.1973247066564 | 1036773315.6461968 |
| 74.0ms | 252× | 256 | infinite |
| 5.0ms | 20× | 256 | valid |
Compiled 305 to 259 computations (15.1% saved)
ival-sin, time spent: 13.0ms, 35.0% of total-timeival-exp, time spent: 9.0ms, 24.0% of total-timeival-mult, time spent: 8.0ms, 21.0% of total-timeival-sub, time spent: 3.0ms, 8.0% of total-timeival-add, time spent: 3.0ms, 8.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 |
|---|---|---|
| 28.0ms | 4.1813420414394305e+167 | 3.433664090668693e+168 |
| 48.0ms | 885.1973247066564 | 1036773315.6461968 |
| 65.0ms | 218× | 256 | infinite |
| 6.0ms | 22× | 256 | valid |
Compiled 259 to 219 computations (15.4% saved)
ival-sin, time spent: 13.0ms, 36.0% of total-timeival-exp, time spent: 10.0ms, 28.0% of total-timeival-mult, time spent: 7.0ms, 20.0% of total-timeival-sub, time spent: 2.0ms, 6.0% of total-timeival-add, time spent: 2.0ms, 6.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 |
|---|---|---|
| 28.0ms | 4.1813420414394305e+167 | 3.433664090668693e+168 |
| 47.0ms | 885.1973247066564 | 1036773315.6461968 |
| 65.0ms | 221× | 256 | infinite |
| 5.0ms | 19× | 256 | valid |
Compiled 244 to 204 computations (16.4% saved)
ival-sin, time spent: 13.0ms, 37.0% of total-timeival-exp, time spent: 9.0ms, 26.0% of total-timeival-mult, time spent: 7.0ms, 20.0% of total-timeival-add, time spent: 4.0ms, 11.0% of total-timeival-sub, time spent: 2.0ms, 6.0% of total-timeconst, time spent: 1.0ms, 3.0% of total-time| 1× | binary-search |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 46.0ms | 885.1973247066564 | 1036773315.6461968 |
| 37.0ms | 119× | 256 | infinite |
| 6.0ms | 25× | 256 | valid |
Compiled 136 to 114 computations (16.2% saved)
ival-sin, time spent: 7.0ms, 33.0% of total-timeival-exp, time spent: 6.0ms, 28.0% of total-timeival-mult, time spent: 4.0ms, 19.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| 1× | binary-search |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 31.0ms | 3213490981696.2607 | 18858834646994.445 |
| 15.0ms | 51× | 256 | valid |
| 13.0ms | 45× | 256 | infinite |
Compiled 67 to 57 computations (14.9% saved)
ival-sin, time spent: 7.0ms, 48.0% of total-timeival-mult, time spent: 3.0ms, 21.0% of total-timeival-exp, time spent: 2.0ms, 14.0% of total-timeival-sub, time spent: 1.0ms, 7.0% of total-timeival-add, time spent: 1.0ms, 7.0% of total-timeconst, time spent: 0.0ms, 0.0% of total-time| 1× | egg-herbie |
| 12× | *-commutative |
| 3× | 1-exp |
| 3× | +-commutative |
| 1× | sub-neg |
| 1× | neg-sub0 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 64 | 571 |
| 1 | 84 | 571 |
| 2 | 86 | 571 |
| 3 | 87 | 571 |
| 1× | fuel |
| 1× | saturated |
| Inputs |
|---|
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(if (<=.f64 im #s(literal 2296835809958953/2251799813685248 binary64)) (*.f64 (+.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))) #s(literal 1 binary64)) (sin.f64 re)) (if (<=.f64 im #s(literal 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160 binary64)) (*.f64 (*.f64 #s(literal 1/2 binary64) re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))))) |
(if (<=.f64 im #s(literal 2296835809958953/2251799813685248 binary64)) (sin.f64 re) (if (<=.f64 im #s(literal 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160 binary64)) (*.f64 (*.f64 #s(literal 1/2 binary64) re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))))) |
(if (<=.f64 im #s(literal 900 binary64)) (sin.f64 re) (if (<=.f64 im #s(literal 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160 binary64)) (pow.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) #s(literal -2 binary64)) (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))))) |
(if (<=.f64 im #s(literal 900 binary64)) (sin.f64 re) (if (<=.f64 im #s(literal 419999999999999984791227764913234097046867526718719982328816442174603063229672385491944599884205588563541267463345342479131406991477494048571637708469475344129187643392 binary64)) (pow.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) #s(literal -2 binary64)) (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re)))) |
(if (<=.f64 im #s(literal 920 binary64)) (sin.f64 re) (if (<=.f64 im #s(literal 419999999999999984791227764913234097046867526718719982328816442174603063229672385491944599884205588563541267463345342479131406991477494048571637708469475344129187643392 binary64)) (/.f64 #s(literal 1/4 binary64) (pow.f64 re #s(literal 2 binary64))) (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re)))) |
(if (<=.f64 im #s(literal 900 binary64)) (sin.f64 re) (/.f64 #s(literal 1/4 binary64) (pow.f64 re #s(literal 2 binary64)))) |
(sin.f64 re) |
(if (<=.f64 re #s(literal 3300000000000 binary64)) re #s(literal 1 binary64)) |
#s(literal 1 binary64) |
#s(literal 1/2 binary64) |
#s(literal 1/4 binary64) |
#s(literal 1/8 binary64) |
#s(literal -1 binary64) |
#s(literal -4 binary64) |
| Outputs |
|---|
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) |
(if (<=.f64 im #s(literal 2296835809958953/2251799813685248 binary64)) (*.f64 (+.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))) #s(literal 1 binary64)) (sin.f64 re)) (if (<=.f64 im #s(literal 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160 binary64)) (*.f64 (*.f64 #s(literal 1/2 binary64) re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))))) |
(if (<=.f64 im #s(literal 2296835809958953/2251799813685248 binary64)) (*.f64 (sin.f64 re) (+.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))) #s(literal 1 binary64))) (if (<=.f64 im #s(literal 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160 binary64)) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 #s(literal 1/2 binary64) re)) (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64)))))) |
(if (<=.f64 im #s(literal 2296835809958953/2251799813685248 binary64)) (sin.f64 re) (if (<=.f64 im #s(literal 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160 binary64)) (*.f64 (*.f64 #s(literal 1/2 binary64) re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))))) |
(if (<=.f64 im #s(literal 2296835809958953/2251799813685248 binary64)) (sin.f64 re) (if (<=.f64 im #s(literal 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160 binary64)) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 #s(literal 1/2 binary64) re)) (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64)))))) |
(if (<=.f64 im #s(literal 900 binary64)) (sin.f64 re) (if (<=.f64 im #s(literal 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160 binary64)) (pow.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) #s(literal -2 binary64)) (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))))) |
(if (<=.f64 im #s(literal 900 binary64)) (sin.f64 re) (if (<=.f64 im #s(literal 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160 binary64)) (pow.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) #s(literal -2 binary64)) (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64)))))) |
(if (<=.f64 im #s(literal 900 binary64)) (sin.f64 re) (if (<=.f64 im #s(literal 419999999999999984791227764913234097046867526718719982328816442174603063229672385491944599884205588563541267463345342479131406991477494048571637708469475344129187643392 binary64)) (pow.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) #s(literal -2 binary64)) (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re)))) |
(if (<=.f64 im #s(literal 900 binary64)) (sin.f64 re) (if (<=.f64 im #s(literal 419999999999999984791227764913234097046867526718719982328816442174603063229672385491944599884205588563541267463345342479131406991477494048571637708469475344129187643392 binary64)) (pow.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) #s(literal -2 binary64)) (*.f64 #s(literal 1/2 binary64) (*.f64 re (pow.f64 im #s(literal 2 binary64)))))) |
(if (<=.f64 im #s(literal 920 binary64)) (sin.f64 re) (if (<=.f64 im #s(literal 419999999999999984791227764913234097046867526718719982328816442174603063229672385491944599884205588563541267463345342479131406991477494048571637708469475344129187643392 binary64)) (/.f64 #s(literal 1/4 binary64) (pow.f64 re #s(literal 2 binary64))) (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re)))) |
(if (<=.f64 im #s(literal 920 binary64)) (sin.f64 re) (if (<=.f64 im #s(literal 419999999999999984791227764913234097046867526718719982328816442174603063229672385491944599884205588563541267463345342479131406991477494048571637708469475344129187643392 binary64)) (/.f64 #s(literal 1/4 binary64) (pow.f64 re #s(literal 2 binary64))) (*.f64 #s(literal 1/2 binary64) (*.f64 re (pow.f64 im #s(literal 2 binary64)))))) |
(if (<=.f64 im #s(literal 900 binary64)) (sin.f64 re) (/.f64 #s(literal 1/4 binary64) (pow.f64 re #s(literal 2 binary64)))) |
(sin.f64 re) |
(if (<=.f64 re #s(literal 3300000000000 binary64)) re #s(literal 1 binary64)) |
#s(literal 1 binary64) |
#s(literal 1/2 binary64) |
#s(literal 1/4 binary64) |
#s(literal 1/8 binary64) |
#s(literal -1 binary64) |
#s(literal -4 binary64) |
Compiled 199 to 150 computations (24.6% saved)
| 989× | fma-neg |
| 725× | fma-define |
| 510× | fma-define |
| 395× | associate-*r* |
| 328× | associate-*r/ |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 16 | 44 |
| 1 | 202 | 44 |
| 2 | 3306 | 44 |
| 0 | 103 | 1556 |
| 1 | 320 | 1402 |
| 2 | 1102 | 1402 |
| 3 | 4177 | 1402 |
| 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 |
| 0 | 25 | 124 |
| 1 | 353 | 124 |
| 2 | 5692 | 124 |
| 1× | unsound |
| 1× | saturated |
| 1× | node limit |
| 1× | unsound |
Compiled 99 to 60 computations (39.4% saved)
(negabs re)
(abs im)
Compiled 838 to 596 computations (28.9% saved)
Loading profile data...