
Time bar (total: 18.7s)
| 1× | search |
| Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
|---|---|---|---|---|---|---|---|
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 0 |
| 0% | 0% | 199.8% | -99.8% | 0% | 0% | 0% | 1 |
| 0% | 0% | 399.6% | -299.6% | 0% | 0% | 0% | 2 |
| 0% | 0% | 799.2% | -699.2% | 0% | 0% | 0% | 3 |
| 0% | 0% | 1598.4% | -1498.4% | 0% | 0% | 0% | 4 |
| 0% | 0% | 3196.9% | -3096.9% | 0% | 0% | 0% | 5 |
| 0% | 0% | 6393.8% | -6293.8% | 0% | 0% | 0% | 6 |
| 0% | 0% | 12787.5% | -12687.5% | 0% | 0% | 0% | 7 |
| 0% | 0% | 25575% | -25475% | 0% | 0% | 0% | 8 |
| 0% | 0% | 51150% | -51050% | 0% | 0% | 0% | 9 |
| 0% | 0% | 102300% | -102200% | 0% | 0% | 0% | 10 |
| 0% | 0% | 204600% | -204500% | 0% | 0% | 0% | 11 |
| 0% | 0% | 409200.1% | -409100.1% | 0% | 0% | 0% | 12 |
Compiled 10 to 7 computations (30% saved)
| 10.6s | 7211× | body | 8192 | exit |
| 1.6s | 4874× | body | 256 | valid |
| 650.0ms | 1265× | body | 1024 | valid |
| 536.0ms | 962× | body | 2048 | valid |
| 288.0ms | 814× | body | 512 | valid |
| 78.0ms | 341× | body | 256 | infinite |
| 2× | egg-herbie |
| 1380× | fma-neg |
| 1340× | fma-def |
| 1114× | div-sub |
| 1034× | associate-*r/ |
| 902× | associate-*l/ |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 13 | 42 |
| 1 | 30 | 42 |
| 2 | 65 | 42 |
| 3 | 146 | 42 |
| 4 | 329 | 42 |
| 5 | 839 | 42 |
| 6 | 2563 | 42 |
| 7 | 6763 | 42 |
| 0 | 2 | 2 |
| 1× | saturated |
| 1× | node limit |
| Inputs |
|---|
0 |
1 |
| Outputs |
|---|
0 |
1 |
| Inputs |
|---|
(*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) y)) |
(*.f64 (sin.f64 y) (/.f64 (sinh.f64 x) x)) |
| Outputs |
|---|
(*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) y)) |
(/.f64 (sinh.f64 y) (/.f64 y (sin.f64 x))) |
(*.f64 (sin.f64 y) (/.f64 (sinh.f64 x) x)) |
(/.f64 (sinh.f64 x) (/.f64 x (sin.f64 y))) |
Compiled 11 to 8 computations (27.3% saved)
| 1× | egg-herbie |
| 1558× | fma-neg |
| 982× | times-frac |
| 714× | associate-*r* |
| 710× | associate-/l* |
| 706× | div-sub |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 21 |
| 1 | 18 | 21 |
| 2 | 37 | 21 |
| 3 | 79 | 21 |
| 4 | 172 | 21 |
| 5 | 433 | 21 |
| 6 | 1312 | 21 |
| 7 | 5140 | 21 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) y)) |
| Outputs |
|---|
(*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) y)) |
Compiled 9 to 6 computations (33.3% saved)
2 alts after pruning (2 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 0 | 1 | 1 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 0 | 0 |
| Total | 0 | 2 | 2 |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 100.0% | (*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) y)) |
| ▶ | 100.0% | (*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) y)) |
Compiled 18 to 12 computations (33.3% saved)
Found 2 expressions with local accuracy:
| New | Accuracy | Program |
|---|---|---|
| ✓ | 100.0% | (sin.f64 x) |
| ✓ | 100.0% | (sinh.f64 y) |
Compiled 20 to 7 computations (65% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 46.0ms | y | @ | inf | (sinh.f64 y) |
| 1.0ms | y | @ | -inf | (sinh.f64 y) |
| 1.0ms | y | @ | 0 | (sinh.f64 y) |
| 0.0ms | x | @ | 0 | (sin.f64 x) |
| 0.0ms | x | @ | -inf | (sin.f64 x) |
| 1× | batch-egg-rewrite |
| 1194× | pow1 |
| 1096× | add-exp-log |
| 1094× | log1p-expm1-u |
| 1094× | expm1-log1p-u |
| 1072× | add-log-exp |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 6 | 10 |
| 1 | 121 | 10 |
| 2 | 1463 | 10 |
| 1× | node limit |
| Inputs |
|---|
(sinh.f64 y) |
(sin.f64 x) |
| Outputs |
|---|
(-.f64 (+.f64 1 (sinh.f64 y)) 1) |
(-.f64 (/.f64 (exp.f64 y) 2) (/.f64 (exp.f64 (neg.f64 y)) 2)) |
(*.f64 (sinh.f64 y) 1) |
(*.f64 1 (sinh.f64 y)) |
(*.f64 (cbrt.f64 (sinh.f64 y)) (pow.f64 (cbrt.f64 (sinh.f64 y)) 2)) |
(*.f64 (pow.f64 (cbrt.f64 (sinh.f64 y)) 2) (cbrt.f64 (sinh.f64 y))) |
(*.f64 (sqrt.f64 (sinh.f64 y)) (sqrt.f64 (sinh.f64 y))) |
(*.f64 (*.f64 2 (sinh.f64 y)) 1/2) |
(/.f64 1 (/.f64 2 (*.f64 2 (sinh.f64 y)))) |
(/.f64 (*.f64 2 (sinh.f64 y)) 2) |
(/.f64 (neg.f64 (*.f64 2 (sinh.f64 y))) -2) |
(pow.f64 (sinh.f64 y) 1) |
(pow.f64 (cbrt.f64 (sinh.f64 y)) 3) |
(pow.f64 (pow.f64 (sinh.f64 y) 3) 1/3) |
(pow.f64 (sqrt.f64 (sinh.f64 y)) 2) |
(sqrt.f64 (pow.f64 (sinh.f64 y) 2)) |
(log.f64 (exp.f64 (sinh.f64 y))) |
(cbrt.f64 (pow.f64 (sinh.f64 y) 3)) |
(expm1.f64 (log1p.f64 (sinh.f64 y))) |
(exp.f64 (log.f64 (sinh.f64 y))) |
(log1p.f64 (expm1.f64 (sinh.f64 y))) |
(-.f64 (+.f64 1 (sin.f64 x)) 1) |
(*.f64 (sin.f64 x) 1) |
(*.f64 1 (sin.f64 x)) |
(*.f64 (cbrt.f64 (sin.f64 x)) (pow.f64 (cbrt.f64 (sin.f64 x)) 2)) |
(*.f64 (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (cbrt.f64 (sin.f64 x))) |
(*.f64 (sqrt.f64 (sin.f64 x)) (sqrt.f64 (sin.f64 x))) |
(pow.f64 (sin.f64 x) 1) |
(pow.f64 (cbrt.f64 (sin.f64 x)) 3) |
(pow.f64 (pow.f64 (sin.f64 x) 3) 1/3) |
(pow.f64 (sqrt.f64 (sin.f64 x)) 2) |
(sqrt.f64 (pow.f64 (sin.f64 x) 2)) |
(log.f64 (exp.f64 (sin.f64 x))) |
(cbrt.f64 (pow.f64 (sin.f64 x) 3)) |
(expm1.f64 (log1p.f64 (sin.f64 x))) |
(exp.f64 (log.f64 (sin.f64 x))) |
(log1p.f64 (expm1.f64 (sin.f64 x))) |
| 1× | egg-herbie |
| 1884× | fma-def |
| 822× | times-frac |
| 682× | log-prod |
| 536× | unswap-sqr |
| 516× | associate-+r+ |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 108 | 1185 |
| 1 | 237 | 1077 |
| 2 | 916 | 923 |
| 3 | 3760 | 401 |
| 1× | node limit |
| Inputs |
|---|
y |
(+.f64 y (*.f64 1/6 (pow.f64 y 3))) |
(+.f64 (*.f64 1/120 (pow.f64 y 5)) (+.f64 y (*.f64 1/6 (pow.f64 y 3)))) |
(+.f64 (*.f64 1/5040 (pow.f64 y 7)) (+.f64 (*.f64 1/120 (pow.f64 y 5)) (+.f64 y (*.f64 1/6 (pow.f64 y 3))))) |
(*.f64 1/2 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) |
(*.f64 1/2 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) |
(*.f64 1/2 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) |
(*.f64 1/2 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) |
(*.f64 1/2 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) |
(*.f64 1/2 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) |
(*.f64 1/2 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) |
(*.f64 1/2 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) |
x |
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) x) |
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) (+.f64 (*.f64 1/120 (pow.f64 x 5)) x)) |
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) (+.f64 (*.f64 -1/5040 (pow.f64 x 7)) (+.f64 (*.f64 1/120 (pow.f64 x 5)) x))) |
(-.f64 (+.f64 1 (sinh.f64 y)) 1) |
(-.f64 (/.f64 (exp.f64 y) 2) (/.f64 (exp.f64 (neg.f64 y)) 2)) |
(*.f64 (sinh.f64 y) 1) |
(*.f64 1 (sinh.f64 y)) |
(*.f64 (cbrt.f64 (sinh.f64 y)) (pow.f64 (cbrt.f64 (sinh.f64 y)) 2)) |
(*.f64 (pow.f64 (cbrt.f64 (sinh.f64 y)) 2) (cbrt.f64 (sinh.f64 y))) |
(*.f64 (sqrt.f64 (sinh.f64 y)) (sqrt.f64 (sinh.f64 y))) |
(*.f64 (*.f64 2 (sinh.f64 y)) 1/2) |
(/.f64 1 (/.f64 2 (*.f64 2 (sinh.f64 y)))) |
(/.f64 (*.f64 2 (sinh.f64 y)) 2) |
(/.f64 (neg.f64 (*.f64 2 (sinh.f64 y))) -2) |
(pow.f64 (sinh.f64 y) 1) |
(pow.f64 (cbrt.f64 (sinh.f64 y)) 3) |
(pow.f64 (pow.f64 (sinh.f64 y) 3) 1/3) |
(pow.f64 (sqrt.f64 (sinh.f64 y)) 2) |
(sqrt.f64 (pow.f64 (sinh.f64 y) 2)) |
(log.f64 (exp.f64 (sinh.f64 y))) |
(cbrt.f64 (pow.f64 (sinh.f64 y) 3)) |
(expm1.f64 (log1p.f64 (sinh.f64 y))) |
(exp.f64 (log.f64 (sinh.f64 y))) |
(log1p.f64 (expm1.f64 (sinh.f64 y))) |
(-.f64 (+.f64 1 (sin.f64 x)) 1) |
(*.f64 (sin.f64 x) 1) |
(*.f64 1 (sin.f64 x)) |
(*.f64 (cbrt.f64 (sin.f64 x)) (pow.f64 (cbrt.f64 (sin.f64 x)) 2)) |
(*.f64 (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (cbrt.f64 (sin.f64 x))) |
(*.f64 (sqrt.f64 (sin.f64 x)) (sqrt.f64 (sin.f64 x))) |
(pow.f64 (sin.f64 x) 1) |
(pow.f64 (cbrt.f64 (sin.f64 x)) 3) |
(pow.f64 (pow.f64 (sin.f64 x) 3) 1/3) |
(pow.f64 (sqrt.f64 (sin.f64 x)) 2) |
(sqrt.f64 (pow.f64 (sin.f64 x) 2)) |
(log.f64 (exp.f64 (sin.f64 x))) |
(cbrt.f64 (pow.f64 (sin.f64 x) 3)) |
(expm1.f64 (log1p.f64 (sin.f64 x))) |
(exp.f64 (log.f64 (sin.f64 x))) |
(log1p.f64 (expm1.f64 (sin.f64 x))) |
| Outputs |
|---|
y |
(+.f64 y (*.f64 1/6 (pow.f64 y 3))) |
(fma.f64 1/6 (pow.f64 y 3) y) |
(+.f64 (*.f64 1/120 (pow.f64 y 5)) (+.f64 y (*.f64 1/6 (pow.f64 y 3)))) |
(fma.f64 1/120 (pow.f64 y 5) (+.f64 y (*.f64 1/6 (pow.f64 y 3)))) |
(fma.f64 1/120 (pow.f64 y 5) (fma.f64 1/6 (pow.f64 y 3) y)) |
(fma.f64 1/6 (pow.f64 y 3) (fma.f64 1/120 (pow.f64 y 5) y)) |
(+.f64 (*.f64 1/5040 (pow.f64 y 7)) (+.f64 (*.f64 1/120 (pow.f64 y 5)) (+.f64 y (*.f64 1/6 (pow.f64 y 3))))) |
(fma.f64 1/5040 (pow.f64 y 7) (fma.f64 1/120 (pow.f64 y 5) (+.f64 y (*.f64 1/6 (pow.f64 y 3))))) |
(fma.f64 1/5040 (pow.f64 y 7) (fma.f64 1/120 (pow.f64 y 5) (fma.f64 1/6 (pow.f64 y 3) y))) |
(fma.f64 1/120 (pow.f64 y 5) (fma.f64 1/5040 (pow.f64 y 7) (fma.f64 1/6 (pow.f64 y 3) y))) |
(fma.f64 1/6 (pow.f64 y 3) (fma.f64 1/120 (pow.f64 y 5) (fma.f64 1/5040 (pow.f64 y 7) y))) |
(*.f64 1/2 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) |
(*.f64 1/2 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))) |
(fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) |
(sinh.f64 y) |
(*.f64 1/2 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) |
(*.f64 1/2 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))) |
(fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) |
(sinh.f64 y) |
(*.f64 1/2 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) |
(*.f64 1/2 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))) |
(fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) |
(sinh.f64 y) |
(*.f64 1/2 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) |
(*.f64 1/2 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))) |
(fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) |
(sinh.f64 y) |
(*.f64 1/2 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) |
(*.f64 1/2 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))) |
(fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) |
(sinh.f64 y) |
(*.f64 1/2 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) |
(*.f64 1/2 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))) |
(fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) |
(sinh.f64 y) |
(*.f64 1/2 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) |
(*.f64 1/2 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))) |
(fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) |
(sinh.f64 y) |
(*.f64 1/2 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) |
(*.f64 1/2 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))) |
(fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) |
(sinh.f64 y) |
x |
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) x) |
(fma.f64 -1/6 (pow.f64 x 3) x) |
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) (+.f64 (*.f64 1/120 (pow.f64 x 5)) x)) |
(fma.f64 -1/6 (pow.f64 x 3) (fma.f64 1/120 (pow.f64 x 5) x)) |
(fma.f64 1/120 (pow.f64 x 5) (fma.f64 -1/6 (pow.f64 x 3) x)) |
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) (+.f64 (*.f64 -1/5040 (pow.f64 x 7)) (+.f64 (*.f64 1/120 (pow.f64 x 5)) x))) |
(fma.f64 -1/6 (pow.f64 x 3) (fma.f64 -1/5040 (pow.f64 x 7) (fma.f64 1/120 (pow.f64 x 5) x))) |
(fma.f64 -1/6 (pow.f64 x 3) (fma.f64 1/120 (pow.f64 x 5) (fma.f64 -1/5040 (pow.f64 x 7) x))) |
(fma.f64 1/120 (pow.f64 x 5) (fma.f64 -1/6 (pow.f64 x 3) (fma.f64 -1/5040 (pow.f64 x 7) x))) |
(-.f64 (+.f64 1 (sinh.f64 y)) 1) |
(*.f64 1/2 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))) |
(fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) |
(sinh.f64 y) |
(-.f64 (/.f64 (exp.f64 y) 2) (/.f64 (exp.f64 (neg.f64 y)) 2)) |
(*.f64 1/2 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))) |
(fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) |
(sinh.f64 y) |
(*.f64 (sinh.f64 y) 1) |
(*.f64 1/2 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))) |
(fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) |
(sinh.f64 y) |
(*.f64 1 (sinh.f64 y)) |
(*.f64 1/2 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))) |
(fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) |
(sinh.f64 y) |
(*.f64 (cbrt.f64 (sinh.f64 y)) (pow.f64 (cbrt.f64 (sinh.f64 y)) 2)) |
(*.f64 1/2 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))) |
(fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) |
(sinh.f64 y) |
(*.f64 (pow.f64 (cbrt.f64 (sinh.f64 y)) 2) (cbrt.f64 (sinh.f64 y))) |
(*.f64 1/2 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))) |
(fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) |
(sinh.f64 y) |
(*.f64 (sqrt.f64 (sinh.f64 y)) (sqrt.f64 (sinh.f64 y))) |
(*.f64 1/2 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))) |
(fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) |
(sinh.f64 y) |
(*.f64 (*.f64 2 (sinh.f64 y)) 1/2) |
(*.f64 1/2 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))) |
(fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) |
(sinh.f64 y) |
(/.f64 1 (/.f64 2 (*.f64 2 (sinh.f64 y)))) |
(*.f64 1/2 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))) |
(fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) |
(sinh.f64 y) |
(/.f64 (*.f64 2 (sinh.f64 y)) 2) |
(*.f64 1/2 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))) |
(fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) |
(sinh.f64 y) |
(/.f64 (neg.f64 (*.f64 2 (sinh.f64 y))) -2) |
(*.f64 1/2 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))) |
(fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) |
(sinh.f64 y) |
(pow.f64 (sinh.f64 y) 1) |
(*.f64 1/2 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))) |
(fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) |
(sinh.f64 y) |
(pow.f64 (cbrt.f64 (sinh.f64 y)) 3) |
(*.f64 1/2 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))) |
(fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) |
(sinh.f64 y) |
(pow.f64 (pow.f64 (sinh.f64 y) 3) 1/3) |
(*.f64 1/2 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))) |
(fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) |
(sinh.f64 y) |
(pow.f64 (sqrt.f64 (sinh.f64 y)) 2) |
(*.f64 1/2 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))) |
(fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) |
(sinh.f64 y) |
(sqrt.f64 (pow.f64 (sinh.f64 y) 2)) |
(*.f64 1/2 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))) |
(fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) |
(sinh.f64 y) |
(log.f64 (exp.f64 (sinh.f64 y))) |
(*.f64 1/2 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))) |
(fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) |
(sinh.f64 y) |
(cbrt.f64 (pow.f64 (sinh.f64 y) 3)) |
(*.f64 1/2 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))) |
(fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) |
(sinh.f64 y) |
(expm1.f64 (log1p.f64 (sinh.f64 y))) |
(*.f64 1/2 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))) |
(fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) |
(sinh.f64 y) |
(exp.f64 (log.f64 (sinh.f64 y))) |
(*.f64 1/2 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))) |
(fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) |
(sinh.f64 y) |
(log1p.f64 (expm1.f64 (sinh.f64 y))) |
(*.f64 1/2 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))) |
(fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y))) |
(sinh.f64 y) |
(-.f64 (+.f64 1 (sin.f64 x)) 1) |
(+.f64 1 (-.f64 (sin.f64 x) 1)) |
(+.f64 (sin.f64 x) 0) |
(sin.f64 x) |
(*.f64 (sin.f64 x) 1) |
(+.f64 1 (-.f64 (sin.f64 x) 1)) |
(+.f64 (sin.f64 x) 0) |
(sin.f64 x) |
(*.f64 1 (sin.f64 x)) |
(+.f64 1 (-.f64 (sin.f64 x) 1)) |
(+.f64 (sin.f64 x) 0) |
(sin.f64 x) |
(*.f64 (cbrt.f64 (sin.f64 x)) (pow.f64 (cbrt.f64 (sin.f64 x)) 2)) |
(+.f64 1 (-.f64 (sin.f64 x) 1)) |
(+.f64 (sin.f64 x) 0) |
(sin.f64 x) |
(*.f64 (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (cbrt.f64 (sin.f64 x))) |
(+.f64 1 (-.f64 (sin.f64 x) 1)) |
(+.f64 (sin.f64 x) 0) |
(sin.f64 x) |
(*.f64 (sqrt.f64 (sin.f64 x)) (sqrt.f64 (sin.f64 x))) |
(+.f64 1 (-.f64 (sin.f64 x) 1)) |
(+.f64 (sin.f64 x) 0) |
(sin.f64 x) |
(pow.f64 (sin.f64 x) 1) |
(+.f64 1 (-.f64 (sin.f64 x) 1)) |
(+.f64 (sin.f64 x) 0) |
(sin.f64 x) |
(pow.f64 (cbrt.f64 (sin.f64 x)) 3) |
(+.f64 1 (-.f64 (sin.f64 x) 1)) |
(+.f64 (sin.f64 x) 0) |
(sin.f64 x) |
(pow.f64 (pow.f64 (sin.f64 x) 3) 1/3) |
(+.f64 1 (-.f64 (sin.f64 x) 1)) |
(+.f64 (sin.f64 x) 0) |
(sin.f64 x) |
(pow.f64 (sqrt.f64 (sin.f64 x)) 2) |
(+.f64 1 (-.f64 (sin.f64 x) 1)) |
(+.f64 (sin.f64 x) 0) |
(sin.f64 x) |
(sqrt.f64 (pow.f64 (sin.f64 x) 2)) |
(+.f64 1 (-.f64 (sin.f64 x) 1)) |
(+.f64 (sin.f64 x) 0) |
(sin.f64 x) |
(log.f64 (exp.f64 (sin.f64 x))) |
(+.f64 1 (-.f64 (sin.f64 x) 1)) |
(+.f64 (sin.f64 x) 0) |
(sin.f64 x) |
(cbrt.f64 (pow.f64 (sin.f64 x) 3)) |
(+.f64 1 (-.f64 (sin.f64 x) 1)) |
(+.f64 (sin.f64 x) 0) |
(sin.f64 x) |
(expm1.f64 (log1p.f64 (sin.f64 x))) |
(+.f64 1 (-.f64 (sin.f64 x) 1)) |
(+.f64 (sin.f64 x) 0) |
(sin.f64 x) |
(exp.f64 (log.f64 (sin.f64 x))) |
(+.f64 1 (-.f64 (sin.f64 x) 1)) |
(+.f64 (sin.f64 x) 0) |
(sin.f64 x) |
(log1p.f64 (expm1.f64 (sin.f64 x))) |
(+.f64 1 (-.f64 (sin.f64 x) 1)) |
(+.f64 (sin.f64 x) 0) |
(sin.f64 x) |
Compiled 839 to 427 computations (49.1% saved)
6 alts after pruning (5 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 61 | 5 | 66 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 61 | 6 | 67 |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 51.9% | (*.f64 (pow.f64 (sqrt.f64 (sin.f64 x)) 2) (/.f64 (sinh.f64 y) y)) |
| ▶ | 97.6% | (*.f64 (sin.f64 x) (/.f64 (pow.f64 (cbrt.f64 (sinh.f64 y)) 3) y)) |
| ▶ | 10.6% | (*.f64 (sin.f64 x) (/.f64 (*.f64 1/2 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))) y)) |
| ✓ | 100.0% | (*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) y)) |
| ▶ | 94.8% | (*.f64 (sin.f64 x) (/.f64 y y)) |
| ▶ | 50.6% | (*.f64 x (/.f64 (sinh.f64 y) y)) |
| ▶ | 51.9% | (*.f64 (pow.f64 (sqrt.f64 (sin.f64 x)) 2) (/.f64 (sinh.f64 y) y)) |
| ▶ | 97.6% | (*.f64 (sin.f64 x) (/.f64 (pow.f64 (cbrt.f64 (sinh.f64 y)) 3) y)) |
| ▶ | 10.6% | (*.f64 (sin.f64 x) (/.f64 (*.f64 1/2 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))) y)) |
| ✓ | 100.0% | (*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) y)) |
| ▶ | 94.8% | (*.f64 (sin.f64 x) (/.f64 y y)) |
| ▶ | 50.6% | (*.f64 x (/.f64 (sinh.f64 y) y)) |
Compiled 238 to 168 computations (29.4% saved)
Found 9 expressions with local accuracy:
| New | Accuracy | Program |
|---|---|---|
| 100.0% | (sinh.f64 y) | |
| ✓ | 100.0% | (sqrt.f64 (sin.f64 x)) |
| ✓ | 99.8% | (pow.f64 (sqrt.f64 (sin.f64 x)) 2) |
| ✓ | 76.5% | (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) |
| 100.0% | (sinh.f64 y) | |
| ✓ | 100.0% | (*.f64 x (/.f64 (sinh.f64 y) y)) |
| 100.0% | (sinh.f64 y) | |
| ✓ | 99.8% | (pow.f64 (cbrt.f64 (sinh.f64 y)) 3) |
| ✓ | 99.7% | (cbrt.f64 (sinh.f64 y)) |
Compiled 140 to 41 computations (70.7% saved)
21 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 7.0ms | x | @ | 0 | (*.f64 x (/.f64 (sinh.f64 y) y)) |
| 2.0ms | y | @ | -inf | (cbrt.f64 (sinh.f64 y)) |
| 2.0ms | y | @ | inf | (cbrt.f64 (sinh.f64 y)) |
| 2.0ms | x | @ | -inf | (*.f64 x (/.f64 (sinh.f64 y) y)) |
| 1.0ms | y | @ | 0 | (cbrt.f64 (sinh.f64 y)) |
| 1× | batch-egg-rewrite |
| 360× | add-sqr-sqrt |
| 346× | pow1 |
| 342× | *-un-lft-identity |
| 340× | add-exp-log |
| 338× | add-log-exp |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 19 | 46 |
| 1 | 403 | 46 |
| 2 | 5579 | 46 |
| 1× | unsound |
| Inputs |
|---|
(cbrt.f64 (sinh.f64 y)) |
(pow.f64 (cbrt.f64 (sinh.f64 y)) 3) |
(*.f64 x (/.f64 (sinh.f64 y) y)) |
(-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) |
(pow.f64 (sqrt.f64 (sin.f64 x)) 2) |
(sqrt.f64 (sin.f64 x)) |
| Outputs |
|---|
-3 |
-2 |
-1 |
0 |
1/27 |
1/9 |
1/8 |
1/6 |
1/4 |
1/3 |
1/2 |
2/3 |
3/4 |
1 |
3/2 |
2 |
9/4 |
3 |
27/8 |
4 |
6 |
8 |
9 |
16 |
27 |
64 |
81 |
512 |
729 |
19683 |
y |
x |
-3 |
-2 |
-1 |
0 |
1/27 |
1/9 |
1/8 |
1/6 |
1/4 |
1/3 |
1/2 |
2/3 |
3/4 |
1 |
3/2 |
2 |
9/4 |
3 |
27/8 |
4 |
6 |
8 |
9 |
16 |
27 |
64 |
81 |
512 |
729 |
19683 |
y |
x |
-3 |
-2 |
-1 |
0 |
1/27 |
1/9 |
1/8 |
1/6 |
1/4 |
1/3 |
1/2 |
2/3 |
3/4 |
1 |
3/2 |
2 |
9/4 |
3 |
27/8 |
4 |
6 |
8 |
9 |
16 |
27 |
64 |
81 |
512 |
729 |
19683 |
y |
x |
-3 |
-2 |
-1 |
0 |
1/27 |
1/9 |
1/8 |
1/6 |
1/4 |
1/3 |
1/2 |
2/3 |
3/4 |
1 |
3/2 |
2 |
9/4 |
3 |
27/8 |
4 |
6 |
8 |
9 |
16 |
27 |
64 |
81 |
512 |
729 |
19683 |
y |
x |
(-.f64 -3 (*.f64 -3 (cos.f64 -3))) |
(-.f64 (exp.f64 (log1p.f64 (sin.f64 -3))) -3) |
(*.f64 -3 (sin.f64 -3)) |
(*.f64 (sin.f64 -3) -3) |
(*.f64 (sin.f64 -3) (sin.f64 -3)) |
(/.f64 (-.f64 (cos.f64 -3) (cos.f64 -3)) -3) |
(sqrt.f64 (sin.f64 -3)) |
(fabs.f64 (sin.f64 -3)) |
(log.f64 (exp.f64 (sin.f64 -3))) |
(log.f64 (+.f64 -3 (expm1.f64 (sin.f64 -3)))) |
(cbrt.f64 (sin.f64 -3)) |
(sin.f64 -3) |
(expm1.f64 (log1p.f64 (sin.f64 -3))) |
(exp.f64 (log.f64 (sin.f64 -3))) |
(log1p.f64 (expm1.f64 (sin.f64 -3))) |
(-.f64 -3 (*.f64 -3 (cos.f64 -3))) |
(-.f64 (exp.f64 (log1p.f64 (sin.f64 -3))) -3) |
(*.f64 -3 (sin.f64 -3)) |
(*.f64 (sin.f64 -3) -3) |
(*.f64 (sin.f64 -3) (sin.f64 -3)) |
(/.f64 (-.f64 (cos.f64 -3) (cos.f64 -3)) -3) |
(pow.f64 (sin.f64 -3) -3) |
(fabs.f64 (sin.f64 -3)) |
(log.f64 (exp.f64 (sin.f64 -3))) |
(log.f64 (+.f64 -3 (expm1.f64 (sin.f64 -3)))) |
(cbrt.f64 (sin.f64 -3)) |
(sin.f64 -3) |
(expm1.f64 (log1p.f64 (sin.f64 -3))) |
(exp.f64 (log.f64 (sin.f64 -3))) |
(log1p.f64 (expm1.f64 (sin.f64 -3))) |
| 1× | egg-herbie |
| 1652× | fma-def |
| 750× | times-frac |
| 712× | associate-*r/ |
| 638× | *-commutative |
| 604× | associate-/l* |
Useful iterations: 4 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 111 | 1968 |
| 1 | 230 | 1968 |
| 2 | 491 | 1892 |
| 3 | 1418 | 1886 |
| 4 | 3386 | 1878 |
| 5 | 6998 | 1878 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (pow.f64 (*.f64 1 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) 1/3) (cbrt.f64 1/2)) |
(*.f64 (pow.f64 (*.f64 1 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) 1/3) (cbrt.f64 1/2)) |
(*.f64 (pow.f64 (*.f64 1 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) 1/3) (cbrt.f64 1/2)) |
(*.f64 (pow.f64 (*.f64 1 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) 1/3) (cbrt.f64 1/2)) |
(*.f64 (pow.f64 (*.f64 1 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) 1/3) (cbrt.f64 1/2)) |
(*.f64 (pow.f64 (*.f64 1 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) 1/3) (cbrt.f64 1/2)) |
(*.f64 (pow.f64 (*.f64 1 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) 1/3) (cbrt.f64 1/2)) |
(*.f64 (pow.f64 (*.f64 1 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) 1/3) (cbrt.f64 1/2)) |
(*.f64 1/2 (*.f64 (pow.f64 1 1/3) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))))) |
(*.f64 1/2 (*.f64 (pow.f64 1 1/3) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))))) |
(*.f64 1/2 (*.f64 (pow.f64 1 1/3) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))))) |
(*.f64 1/2 (*.f64 (pow.f64 1 1/3) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))))) |
(*.f64 1/2 (*.f64 (pow.f64 1 1/3) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))))) |
(*.f64 1/2 (*.f64 (pow.f64 1 1/3) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))))) |
(*.f64 1/2 (*.f64 (pow.f64 1 1/3) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))))) |
(*.f64 1/2 (*.f64 (pow.f64 1 1/3) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))))) |
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y)) |
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y)) |
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y)) |
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y)) |
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y)) |
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y)) |
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y)) |
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y)) |
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y)) |
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y)) |
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y)) |
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y)) |
x |
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 2) x)) x) |
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) x)) x)) |
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) x)) (+.f64 (*.f64 1/5040 (*.f64 (pow.f64 y 6) x)) x))) |
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y)) |
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y)) |
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y)) |
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y)) |
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y)) |
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y)) |
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y)) |
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y)) |
(*.f64 2 y) |
(+.f64 (*.f64 1/3 (pow.f64 y 3)) (*.f64 2 y)) |
(+.f64 (*.f64 1/3 (pow.f64 y 3)) (+.f64 (*.f64 1/60 (pow.f64 y 5)) (*.f64 2 y))) |
(+.f64 (*.f64 1/3 (pow.f64 y 3)) (+.f64 (*.f64 1/60 (pow.f64 y 5)) (+.f64 (*.f64 2 y) (*.f64 1/2520 (pow.f64 y 7))))) |
(-.f64 (exp.f64 y) (exp.f64 (*.f64 -1 y))) |
(-.f64 (exp.f64 y) (exp.f64 (*.f64 -1 y))) |
(-.f64 (exp.f64 y) (exp.f64 (*.f64 -1 y))) |
(-.f64 (exp.f64 y) (exp.f64 (*.f64 -1 y))) |
(sin.f64 x) |
(sin.f64 x) |
(sin.f64 x) |
(sin.f64 x) |
(sin.f64 x) |
(sin.f64 x) |
(sin.f64 x) |
(sin.f64 x) |
-3 |
-2 |
-1 |
0 |
1/27 |
1/9 |
1/8 |
1/6 |
1/4 |
1/3 |
1/2 |
2/3 |
3/4 |
1 |
3/2 |
2 |
9/4 |
3 |
27/8 |
4 |
6 |
8 |
9 |
16 |
27 |
64 |
81 |
512 |
729 |
19683 |
-3 |
-2 |
-1 |
0 |
1/27 |
1/9 |
1/8 |
1/6 |
1/4 |
1/3 |
1/2 |
2/3 |
3/4 |
1 |
3/2 |
2 |
9/4 |
3 |
27/8 |
4 |
6 |
8 |
9 |
16 |
27 |
64 |
81 |
512 |
729 |
19683 |
-3 |
-2 |
-1 |
0 |
1/27 |
1/9 |
1/8 |
1/6 |
1/4 |
1/3 |
1/2 |
2/3 |
3/4 |
1 |
3/2 |
2 |
9/4 |
3 |
27/8 |
4 |
6 |
8 |
9 |
16 |
27 |
64 |
81 |
512 |
729 |
19683 |
-3 |
-2 |
-1 |
0 |
1/27 |
1/9 |
1/8 |
1/6 |
1/4 |
1/3 |
1/2 |
2/3 |
3/4 |
1 |
3/2 |
2 |
9/4 |
3 |
27/8 |
4 |
6 |
8 |
9 |
16 |
27 |
64 |
81 |
512 |
729 |
19683 |
(-.f64 -3 (*.f64 -3 (cos.f64 -3))) |
(-.f64 (exp.f64 (log1p.f64 (sin.f64 -3))) -3) |
(*.f64 -3 (sin.f64 -3)) |
(*.f64 (sin.f64 -3) -3) |
(*.f64 (sin.f64 -3) (sin.f64 -3)) |
(/.f64 (-.f64 (cos.f64 -3) (cos.f64 -3)) -3) |
(sqrt.f64 (sin.f64 -3)) |
(fabs.f64 (sin.f64 -3)) |
(log.f64 (exp.f64 (sin.f64 -3))) |
(log.f64 (+.f64 -3 (expm1.f64 (sin.f64 -3)))) |
(cbrt.f64 (sin.f64 -3)) |
(sin.f64 -3) |
(expm1.f64 (log1p.f64 (sin.f64 -3))) |
(exp.f64 (log.f64 (sin.f64 -3))) |
(log1p.f64 (expm1.f64 (sin.f64 -3))) |
(-.f64 -3 (*.f64 -3 (cos.f64 -3))) |
(-.f64 (exp.f64 (log1p.f64 (sin.f64 -3))) -3) |
(*.f64 -3 (sin.f64 -3)) |
(*.f64 (sin.f64 -3) -3) |
(*.f64 (sin.f64 -3) (sin.f64 -3)) |
(/.f64 (-.f64 (cos.f64 -3) (cos.f64 -3)) -3) |
(pow.f64 (sin.f64 -3) -3) |
(fabs.f64 (sin.f64 -3)) |
(log.f64 (exp.f64 (sin.f64 -3))) |
(log.f64 (+.f64 -3 (expm1.f64 (sin.f64 -3)))) |
(cbrt.f64 (sin.f64 -3)) |
(sin.f64 -3) |
(expm1.f64 (log1p.f64 (sin.f64 -3))) |
(exp.f64 (log.f64 (sin.f64 -3))) |
(log1p.f64 (expm1.f64 (sin.f64 -3))) |
| Outputs |
|---|
(*.f64 (pow.f64 (*.f64 1 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) 1/3) (cbrt.f64 1/2)) |
(*.f64 (cbrt.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))) (cbrt.f64 1/2)) |
(*.f64 (pow.f64 (*.f64 1 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) 1/3) (cbrt.f64 1/2)) |
(*.f64 (cbrt.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))) (cbrt.f64 1/2)) |
(*.f64 (pow.f64 (*.f64 1 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) 1/3) (cbrt.f64 1/2)) |
(*.f64 (cbrt.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))) (cbrt.f64 1/2)) |
(*.f64 (pow.f64 (*.f64 1 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) 1/3) (cbrt.f64 1/2)) |
(*.f64 (cbrt.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))) (cbrt.f64 1/2)) |
(*.f64 (pow.f64 (*.f64 1 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) 1/3) (cbrt.f64 1/2)) |
(*.f64 (cbrt.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))) (cbrt.f64 1/2)) |
(*.f64 (pow.f64 (*.f64 1 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) 1/3) (cbrt.f64 1/2)) |
(*.f64 (cbrt.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))) (cbrt.f64 1/2)) |
(*.f64 (pow.f64 (*.f64 1 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) 1/3) (cbrt.f64 1/2)) |
(*.f64 (cbrt.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))) (cbrt.f64 1/2)) |
(*.f64 (pow.f64 (*.f64 1 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) 1/3) (cbrt.f64 1/2)) |
(*.f64 (cbrt.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))) (cbrt.f64 1/2)) |
(*.f64 1/2 (*.f64 (pow.f64 1 1/3) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))))) |
(*.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) 1/2) |
(fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) |
(*.f64 1/2 (*.f64 (pow.f64 1 1/3) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))))) |
(*.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) 1/2) |
(fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) |
(*.f64 1/2 (*.f64 (pow.f64 1 1/3) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))))) |
(*.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) 1/2) |
(fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) |
(*.f64 1/2 (*.f64 (pow.f64 1 1/3) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))))) |
(*.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) 1/2) |
(fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) |
(*.f64 1/2 (*.f64 (pow.f64 1 1/3) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))))) |
(*.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) 1/2) |
(fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) |
(*.f64 1/2 (*.f64 (pow.f64 1 1/3) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))))) |
(*.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) 1/2) |
(fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) |
(*.f64 1/2 (*.f64 (pow.f64 1 1/3) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))))) |
(*.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) 1/2) |
(fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) |
(*.f64 1/2 (*.f64 (pow.f64 1 1/3) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))))) |
(*.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) 1/2) |
(fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) |
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y)) |
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) (/.f64 y x))) |
(/.f64 (*.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) 1/2) (/.f64 y x)) |
(/.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 y x)) |
(*.f64 (/.f64 x y) (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y)))) |
(*.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 x y)) |
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y)) |
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) (/.f64 y x))) |
(/.f64 (*.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) 1/2) (/.f64 y x)) |
(/.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 y x)) |
(*.f64 (/.f64 x y) (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y)))) |
(*.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 x y)) |
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y)) |
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) (/.f64 y x))) |
(/.f64 (*.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) 1/2) (/.f64 y x)) |
(/.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 y x)) |
(*.f64 (/.f64 x y) (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y)))) |
(*.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 x y)) |
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y)) |
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) (/.f64 y x))) |
(/.f64 (*.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) 1/2) (/.f64 y x)) |
(/.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 y x)) |
(*.f64 (/.f64 x y) (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y)))) |
(*.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 x y)) |
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y)) |
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) (/.f64 y x))) |
(/.f64 (*.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) 1/2) (/.f64 y x)) |
(/.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 y x)) |
(*.f64 (/.f64 x y) (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y)))) |
(*.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 x y)) |
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y)) |
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) (/.f64 y x))) |
(/.f64 (*.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) 1/2) (/.f64 y x)) |
(/.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 y x)) |
(*.f64 (/.f64 x y) (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y)))) |
(*.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 x y)) |
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y)) |
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) (/.f64 y x))) |
(/.f64 (*.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) 1/2) (/.f64 y x)) |
(/.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 y x)) |
(*.f64 (/.f64 x y) (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y)))) |
(*.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 x y)) |
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y)) |
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) (/.f64 y x))) |
(/.f64 (*.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) 1/2) (/.f64 y x)) |
(/.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 y x)) |
(*.f64 (/.f64 x y) (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y)))) |
(*.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 x y)) |
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y)) |
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) (/.f64 y x))) |
(/.f64 (*.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) 1/2) (/.f64 y x)) |
(/.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 y x)) |
(*.f64 (/.f64 x y) (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y)))) |
(*.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 x y)) |
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y)) |
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) (/.f64 y x))) |
(/.f64 (*.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) 1/2) (/.f64 y x)) |
(/.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 y x)) |
(*.f64 (/.f64 x y) (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y)))) |
(*.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 x y)) |
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y)) |
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) (/.f64 y x))) |
(/.f64 (*.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) 1/2) (/.f64 y x)) |
(/.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 y x)) |
(*.f64 (/.f64 x y) (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y)))) |
(*.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 x y)) |
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y)) |
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) (/.f64 y x))) |
(/.f64 (*.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) 1/2) (/.f64 y x)) |
(/.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 y x)) |
(*.f64 (/.f64 x y) (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y)))) |
(*.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 x y)) |
x |
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 2) x)) x) |
(fma.f64 1/6 (*.f64 x (*.f64 y y)) x) |
(fma.f64 1/6 (*.f64 y (*.f64 y x)) x) |
(*.f64 x (fma.f64 1/6 (*.f64 y y) 1)) |
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) x)) x)) |
(fma.f64 1/6 (*.f64 x (*.f64 y y)) (fma.f64 1/120 (*.f64 x (pow.f64 y 4)) x)) |
(fma.f64 1/6 (*.f64 y (*.f64 y x)) (fma.f64 1/120 (*.f64 x (pow.f64 y 4)) x)) |
(fma.f64 x (fma.f64 1/6 (*.f64 y y) (*.f64 1/120 (pow.f64 y 4))) x) |
(*.f64 x (fma.f64 y (*.f64 y 1/6) (fma.f64 1/120 (pow.f64 y 4) 1))) |
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) x)) (+.f64 (*.f64 1/5040 (*.f64 (pow.f64 y 6) x)) x))) |
(fma.f64 1/6 (*.f64 x (*.f64 y y)) (fma.f64 1/120 (*.f64 x (pow.f64 y 4)) (fma.f64 1/5040 (*.f64 x (pow.f64 y 6)) x))) |
(fma.f64 1/6 (*.f64 y (*.f64 y x)) (fma.f64 1/120 (*.f64 x (pow.f64 y 4)) (fma.f64 1/5040 (*.f64 x (pow.f64 y 6)) x))) |
(fma.f64 x (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/5040 (pow.f64 y 6))) (*.f64 x (fma.f64 1/6 (*.f64 y y) 1))) |
(fma.f64 x (fma.f64 y (*.f64 y 1/6) (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/5040 (pow.f64 y 6)))) x) |
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y)) |
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) (/.f64 y x))) |
(/.f64 (*.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) 1/2) (/.f64 y x)) |
(/.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 y x)) |
(*.f64 (/.f64 x y) (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y)))) |
(*.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 x y)) |
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y)) |
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) (/.f64 y x))) |
(/.f64 (*.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) 1/2) (/.f64 y x)) |
(/.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 y x)) |
(*.f64 (/.f64 x y) (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y)))) |
(*.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 x y)) |
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y)) |
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) (/.f64 y x))) |
(/.f64 (*.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) 1/2) (/.f64 y x)) |
(/.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 y x)) |
(*.f64 (/.f64 x y) (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y)))) |
(*.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 x y)) |
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y)) |
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) (/.f64 y x))) |
(/.f64 (*.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) 1/2) (/.f64 y x)) |
(/.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 y x)) |
(*.f64 (/.f64 x y) (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y)))) |
(*.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 x y)) |
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y)) |
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) (/.f64 y x))) |
(/.f64 (*.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) 1/2) (/.f64 y x)) |
(/.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 y x)) |
(*.f64 (/.f64 x y) (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y)))) |
(*.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 x y)) |
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y)) |
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) (/.f64 y x))) |
(/.f64 (*.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) 1/2) (/.f64 y x)) |
(/.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 y x)) |
(*.f64 (/.f64 x y) (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y)))) |
(*.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 x y)) |
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y)) |
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) (/.f64 y x))) |
(/.f64 (*.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) 1/2) (/.f64 y x)) |
(/.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 y x)) |
(*.f64 (/.f64 x y) (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y)))) |
(*.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 x y)) |
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y)) |
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) (/.f64 y x))) |
(/.f64 (*.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) 1/2) (/.f64 y x)) |
(/.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 y x)) |
(*.f64 (/.f64 x y) (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y)))) |
(*.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 x y)) |
(*.f64 2 y) |
(*.f64 y 2) |
(+.f64 (*.f64 1/3 (pow.f64 y 3)) (*.f64 2 y)) |
(fma.f64 1/3 (pow.f64 y 3) (*.f64 y 2)) |
(fma.f64 y 2 (*.f64 1/3 (pow.f64 y 3))) |
(*.f64 y (fma.f64 1/3 (*.f64 y y) 2)) |
(+.f64 (*.f64 1/3 (pow.f64 y 3)) (+.f64 (*.f64 1/60 (pow.f64 y 5)) (*.f64 2 y))) |
(fma.f64 1/3 (pow.f64 y 3) (fma.f64 1/60 (pow.f64 y 5) (*.f64 y 2))) |
(fma.f64 y (fma.f64 1/3 (*.f64 y y) 2) (*.f64 1/60 (pow.f64 y 5))) |
(fma.f64 y 2 (fma.f64 1/3 (pow.f64 y 3) (*.f64 1/60 (pow.f64 y 5)))) |
(+.f64 (*.f64 1/3 (pow.f64 y 3)) (+.f64 (*.f64 1/60 (pow.f64 y 5)) (+.f64 (*.f64 2 y) (*.f64 1/2520 (pow.f64 y 7))))) |
(fma.f64 1/3 (pow.f64 y 3) (fma.f64 1/60 (pow.f64 y 5) (fma.f64 2 y (*.f64 1/2520 (pow.f64 y 7))))) |
(fma.f64 1/3 (pow.f64 y 3) (fma.f64 1/60 (pow.f64 y 5) (fma.f64 y 2 (*.f64 1/2520 (pow.f64 y 7))))) |
(fma.f64 1/3 (pow.f64 y 3) (fma.f64 y 2 (fma.f64 1/60 (pow.f64 y 5) (*.f64 1/2520 (pow.f64 y 7))))) |
(fma.f64 y 2 (fma.f64 1/3 (pow.f64 y 3) (fma.f64 1/60 (pow.f64 y 5) (*.f64 1/2520 (pow.f64 y 7))))) |
(fma.f64 1/60 (pow.f64 y 5) (fma.f64 1/2520 (pow.f64 y 7) (fma.f64 1/3 (pow.f64 y 3) (*.f64 y 2)))) |
(-.f64 (exp.f64 y) (exp.f64 (*.f64 -1 y))) |
(-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) |
(-.f64 (exp.f64 y) (exp.f64 (*.f64 -1 y))) |
(-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) |
(-.f64 (exp.f64 y) (exp.f64 (*.f64 -1 y))) |
(-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) |
(-.f64 (exp.f64 y) (exp.f64 (*.f64 -1 y))) |
(-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) |
(sin.f64 x) |
(sin.f64 x) |
(sin.f64 x) |
(sin.f64 x) |
(sin.f64 x) |
(sin.f64 x) |
(sin.f64 x) |
(sin.f64 x) |
-3 |
-2 |
-1 |
0 |
1/27 |
1/9 |
1/8 |
1/6 |
1/4 |
1/3 |
1/2 |
2/3 |
3/4 |
1 |
3/2 |
2 |
9/4 |
3 |
27/8 |
4 |
6 |
8 |
9 |
16 |
27 |
64 |
81 |
512 |
729 |
19683 |
-3 |
-2 |
-1 |
0 |
1/27 |
1/9 |
1/8 |
1/6 |
1/4 |
1/3 |
1/2 |
2/3 |
3/4 |
1 |
3/2 |
2 |
9/4 |
3 |
27/8 |
4 |
6 |
8 |
9 |
16 |
27 |
64 |
81 |
512 |
729 |
19683 |
-3 |
-2 |
-1 |
0 |
1/27 |
1/9 |
1/8 |
1/6 |
1/4 |
1/3 |
1/2 |
2/3 |
3/4 |
1 |
3/2 |
2 |
9/4 |
3 |
27/8 |
4 |
6 |
8 |
9 |
16 |
27 |
64 |
81 |
512 |
729 |
19683 |
-3 |
-2 |
-1 |
0 |
1/27 |
1/9 |
1/8 |
1/6 |
1/4 |
1/3 |
1/2 |
2/3 |
3/4 |
1 |
3/2 |
2 |
9/4 |
3 |
27/8 |
4 |
6 |
8 |
9 |
16 |
27 |
64 |
81 |
512 |
729 |
19683 |
(-.f64 -3 (*.f64 -3 (cos.f64 -3))) |
(+.f64 -3 (*.f64 3 (cos.f64 -3))) |
(fma.f64 3 (cos.f64 -3) -3) |
(-.f64 (exp.f64 (log1p.f64 (sin.f64 -3))) -3) |
(+.f64 (exp.f64 (log1p.f64 (sin.f64 -3))) 3) |
(+.f64 3 (exp.f64 (log1p.f64 (sin.f64 -3)))) |
(*.f64 -3 (sin.f64 -3)) |
(*.f64 (sin.f64 -3) -3) |
(*.f64 -3 (sin.f64 -3)) |
(*.f64 (sin.f64 -3) (sin.f64 -3)) |
(pow.f64 (sin.f64 -3) 2) |
(/.f64 (-.f64 (cos.f64 -3) (cos.f64 -3)) -3) |
0 |
(sqrt.f64 (sin.f64 -3)) |
(fabs.f64 (sin.f64 -3)) |
(log.f64 (exp.f64 (sin.f64 -3))) |
(sin.f64 -3) |
(log.f64 (+.f64 -3 (expm1.f64 (sin.f64 -3)))) |
(cbrt.f64 (sin.f64 -3)) |
(sin.f64 -3) |
(expm1.f64 (log1p.f64 (sin.f64 -3))) |
(sin.f64 -3) |
(exp.f64 (log.f64 (sin.f64 -3))) |
(sin.f64 -3) |
(log1p.f64 (expm1.f64 (sin.f64 -3))) |
(sin.f64 -3) |
(-.f64 -3 (*.f64 -3 (cos.f64 -3))) |
(+.f64 -3 (*.f64 3 (cos.f64 -3))) |
(fma.f64 3 (cos.f64 -3) -3) |
(-.f64 (exp.f64 (log1p.f64 (sin.f64 -3))) -3) |
(+.f64 (exp.f64 (log1p.f64 (sin.f64 -3))) 3) |
(+.f64 3 (exp.f64 (log1p.f64 (sin.f64 -3)))) |
(*.f64 -3 (sin.f64 -3)) |
(*.f64 (sin.f64 -3) -3) |
(*.f64 -3 (sin.f64 -3)) |
(*.f64 (sin.f64 -3) (sin.f64 -3)) |
(pow.f64 (sin.f64 -3) 2) |
(/.f64 (-.f64 (cos.f64 -3) (cos.f64 -3)) -3) |
0 |
(pow.f64 (sin.f64 -3) -3) |
(fabs.f64 (sin.f64 -3)) |
(log.f64 (exp.f64 (sin.f64 -3))) |
(sin.f64 -3) |
(log.f64 (+.f64 -3 (expm1.f64 (sin.f64 -3)))) |
(cbrt.f64 (sin.f64 -3)) |
(sin.f64 -3) |
(expm1.f64 (log1p.f64 (sin.f64 -3))) |
(sin.f64 -3) |
(exp.f64 (log.f64 (sin.f64 -3))) |
(sin.f64 -3) |
(log1p.f64 (expm1.f64 (sin.f64 -3))) |
(sin.f64 -3) |
Compiled 6030 to 3434 computations (43.1% saved)
8 alts after pruning (3 fresh and 5 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 426 | 3 | 429 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 4 | 5 |
| Done | 0 | 1 | 1 |
| Total | 427 | 8 | 435 |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 47.9% | (+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) x)) x)) |
| ✓ | 97.6% | (*.f64 (sin.f64 x) (/.f64 (pow.f64 (cbrt.f64 (sinh.f64 y)) 3) y)) |
| ▶ | 92.5% | (*.f64 (sin.f64 x) (/.f64 (pow.f64 (cbrt.f64 y) 3) y)) |
| ✓ | 10.6% | (*.f64 (sin.f64 x) (/.f64 (*.f64 1/2 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))) y)) |
| ✓ | 100.0% | (*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) y)) |
| ✓ | 94.8% | (*.f64 (sin.f64 x) (/.f64 y y)) |
| ✓ | 50.6% | (*.f64 x (/.f64 (sinh.f64 y) y)) |
| 47.4% | x | |
| ▶ | 47.9% | (+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) x)) x)) |
| ✓ | 97.6% | (*.f64 (sin.f64 x) (/.f64 (pow.f64 (cbrt.f64 (sinh.f64 y)) 3) y)) |
| ▶ | 92.5% | (*.f64 (sin.f64 x) (/.f64 (pow.f64 (cbrt.f64 y) 3) y)) |
| ✓ | 10.6% | (*.f64 (sin.f64 x) (/.f64 (*.f64 1/2 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))) y)) |
| ✓ | 100.0% | (*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) y)) |
| ✓ | 94.8% | (*.f64 (sin.f64 x) (/.f64 y y)) |
| ✓ | 50.6% | (*.f64 x (/.f64 (sinh.f64 y) y)) |
| 47.4% | x |
Compiled 170 to 120 computations (29.4% saved)
Compiled 91 to 57 computations (37.4% saved)
Compiled 2 to 2 computations (0% saved)
8 alts after pruning (1 fresh and 7 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 0 | 0 | 0 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 2 | 2 |
| Done | 0 | 5 | 5 |
| Total | 0 | 8 | 8 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 47.9% | (+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) x)) x)) |
| ✓ | 97.6% | (*.f64 (sin.f64 x) (/.f64 (pow.f64 (cbrt.f64 (sinh.f64 y)) 3) y)) |
| ✓ | 92.5% | (*.f64 (sin.f64 x) (/.f64 (pow.f64 (cbrt.f64 y) 3) y)) |
| ✓ | 10.6% | (*.f64 (sin.f64 x) (/.f64 (*.f64 1/2 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))) y)) |
| ✓ | 100.0% | (*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) y)) |
| ✓ | 94.8% | (*.f64 (sin.f64 x) (/.f64 y y)) |
| ✓ | 50.6% | (*.f64 x (/.f64 (sinh.f64 y) y)) |
| 47.4% | x | |
| ✓ | 47.9% | (+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) x)) x)) |
| ✓ | 97.6% | (*.f64 (sin.f64 x) (/.f64 (pow.f64 (cbrt.f64 (sinh.f64 y)) 3) y)) |
| ✓ | 92.5% | (*.f64 (sin.f64 x) (/.f64 (pow.f64 (cbrt.f64 y) 3) y)) |
| ✓ | 10.6% | (*.f64 (sin.f64 x) (/.f64 (*.f64 1/2 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))) y)) |
| ✓ | 100.0% | (*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) y)) |
| ✓ | 94.8% | (*.f64 (sin.f64 x) (/.f64 y y)) |
| ✓ | 50.6% | (*.f64 x (/.f64 (sinh.f64 y) y)) |
| 47.4% | x |
Compiled 170 to 120 computations (29.4% saved)
Compiled 2 to 2 computations (0% saved)
8 alts after pruning (1 fresh and 7 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 0 | 0 | 0 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 7 | 7 |
| Total | 0 | 8 | 8 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 47.9% | (+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) x)) x)) |
| ✓ | 97.6% | (*.f64 (sin.f64 x) (/.f64 (pow.f64 (cbrt.f64 (sinh.f64 y)) 3) y)) |
| ✓ | 92.5% | (*.f64 (sin.f64 x) (/.f64 (pow.f64 (cbrt.f64 y) 3) y)) |
| ✓ | 10.6% | (*.f64 (sin.f64 x) (/.f64 (*.f64 1/2 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))) y)) |
| ✓ | 100.0% | (*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) y)) |
| ✓ | 94.8% | (*.f64 (sin.f64 x) (/.f64 y y)) |
| ✓ | 50.6% | (*.f64 x (/.f64 (sinh.f64 y) y)) |
| 47.4% | x |
Compiled 166 to 103 computations (38% saved)
| Inputs |
|---|
x |
(*.f64 x (/.f64 (sinh.f64 y) y)) |
(*.f64 (sin.f64 x) (/.f64 y y)) |
(*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) y)) |
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) x)) x)) |
(*.f64 (sin.f64 x) (/.f64 (pow.f64 (cbrt.f64 y) 3) y)) |
(*.f64 (sin.f64 x) (/.f64 (*.f64 1/2 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))) y)) |
(*.f64 (sin.f64 x) (/.f64 (pow.f64 (cbrt.f64 (sinh.f64 y)) 3) y)) |
(*.f64 (pow.f64 (sqrt.f64 (sin.f64 x)) 2) (/.f64 (sinh.f64 y) y)) |
| Outputs |
|---|
(*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) y)) |
5 calls:
| 11.0ms | x |
| 10.0ms | (sin.f64 x) |
| 6.0ms | (*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) y)) |
| 6.0ms | y |
| 2.0ms | (/.f64 (sinh.f64 y) y) |
| Accuracy | Segments | Branch |
|---|---|---|
| 100.0% | 1 | x |
| 100.0% | 1 | y |
| 100.0% | 1 | (*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) y)) |
| 100.0% | 1 | (sin.f64 x) |
| 100.0% | 1 | (/.f64 (sinh.f64 y) y) |
Compiled 106 to 60 computations (43.4% saved)
| Inputs |
|---|
x |
(*.f64 x (/.f64 (sinh.f64 y) y)) |
(*.f64 (sin.f64 x) (/.f64 y y)) |
| Outputs |
|---|
(*.f64 (sin.f64 x) (/.f64 y y)) |
(*.f64 x (/.f64 (sinh.f64 y) y)) |
4 calls:
| 14.0ms | (sin.f64 x) |
| 14.0ms | x |
| 7.0ms | y |
| 3.0ms | (/.f64 (sinh.f64 y) y) |
| Accuracy | Segments | Branch |
|---|---|---|
| 96.8% | 3 | x |
| 96.5% | 2 | y |
| 96.8% | 3 | (sin.f64 x) |
| 97.6% | 2 | (/.f64 (sinh.f64 y) y) |
Compiled 31 to 19 computations (38.7% saved)
| Inputs |
|---|
x |
(*.f64 x (/.f64 (sinh.f64 y) y)) |
| Outputs |
|---|
(*.f64 x (/.f64 (sinh.f64 y) y)) |
3 calls:
| 3.0ms | y |
| 3.0ms | x |
| 2.0ms | (/.f64 (sinh.f64 y) y) |
| Accuracy | Segments | Branch |
|---|---|---|
| 50.6% | 1 | x |
| 50.6% | 1 | y |
| 50.6% | 1 | (/.f64 (sinh.f64 y) y) |
Compiled 21 to 13 computations (38.1% saved)
Total 0.0b remaining (0%)
Threshold costs 0b (0%)
| Inputs |
|---|
x |
| Outputs |
|---|
x |
2 calls:
| 3.0ms | x |
| 3.0ms | y |
| Accuracy | Segments | Branch |
|---|---|---|
| 47.4% | 1 | y |
| 47.4% | 1 | x |
Compiled 9 to 6 computations (33.3% saved)
| 1× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 1.000000021518505 | 1.0000001830433805 |
Compiled 14 to 10 computations (28.6% saved)
| 1× | egg-herbie |
| 6× | *-commutative |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 18 | 92 |
| 1 | 21 | 92 |
| 1× | fuel |
| 1× | saturated |
| Inputs |
|---|
(*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) y)) |
(if (<=.f64 (/.f64 (sinh.f64 y) y) 4503600077730459/4503599627370496) (*.f64 (sin.f64 x) (/.f64 y y)) (*.f64 x (/.f64 (sinh.f64 y) y))) |
(*.f64 x (/.f64 (sinh.f64 y) y)) |
x |
| Outputs |
|---|
(*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) y)) |
(if (<=.f64 (/.f64 (sinh.f64 y) y) 4503600077730459/4503599627370496) (*.f64 (sin.f64 x) (/.f64 y y)) (*.f64 x (/.f64 (sinh.f64 y) y))) |
(*.f64 x (/.f64 (sinh.f64 y) y)) |
x |
Compiled 41 to 24 computations (41.5% saved)
Compiled 88 to 36 computations (59.1% saved)
Loading profile data...