Time bar (total: 16.1s)
| 1× | search |
| True | Other | False | Iter |
|---|---|---|---|
| 0% | 99.7% | 0.3% | 0 |
| 0% | 99.7% | 0.3% | 1 |
| 0% | 99.7% | 0.3% | 2 |
| 0% | 99.7% | 0.3% | 3 |
| 0% | 99.7% | 0.3% | 4 |
| 0% | 99.7% | 0.3% | 5 |
| 0% | 99.7% | 0.3% | 6 |
| 0% | 99.7% | 0.3% | 7 |
| 49.9% | 49.9% | 0.3% | 8 |
| 49.9% | 49.9% | 0.3% | 9 |
| 49.9% | 49.9% | 0.3% | 10 |
| 49.9% | 49.9% | 0.3% | 11 |
| 49.9% | 49.9% | 0.3% | 12 |
| 49.9% | 49.9% | 0.3% | 13 |
| 74.8% | 24.9% | 0.3% | 14 |
Compiled 34 to 27 computations (20.6% saved)
| 3.5s | 2420× | body | 2048 | valid |
| 1.8s | 1976× | body | 1024 | valid |
| 916.0ms | 309× | body | 4096 | valid |
| 571.0ms | 969× | body | 512 | valid |
| 472.0ms | 2143× | body | 128 | valid |
| 180.0ms | 439× | body | 256 | valid |
Compiled 101 to 80 computations (20.8% saved)
| 1× | egg-herbie |
| 442× | fma-def_binary64 |
| 259× | associate-/l*_binary64 |
| 216× | distribute-lft-in_binary64 |
| 212× | associate-/r/_binary64 |
| 212× | distribute-rgt-in_binary64 |
Useful iterations: 8 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 24 | 37 |
| 1 | 47 | 37 |
| 2 | 106 | 37 |
| 3 | 243 | 37 |
| 4 | 576 | 37 |
| 5 | 1062 | 37 |
| 6 | 1485 | 35 |
| 7 | 1973 | 35 |
| 8 | 2418 | 31 |
| 9 | 2505 | 31 |
| 10 | 2537 | 31 |
| 11 | 2537 | 31 |
| 1× | saturated |
3 alts after pruning (3 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 0 | 2 | 2 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 0 | 0 |
| Total | 0 | 3 | 3 |
| Status | Error | Program |
| 48.3b | (*.f64 (*.f64 x (cos.f64 (/.f64 (*.f64 (*.f64 (+.f64 (*.f64 y 2) 1) z) t) 16))) (cos.f64 (/.f64 (*.f64 (*.f64 (+.f64 (*.f64 a 2) 1) b) t) 16))) | |
| ▶ | 47.9b | (*.f64 (cos.f64 (*.f64 z (*.f64 t (fma.f64 y 1/8 1/16)))) (*.f64 x (cos.f64 (*.f64 t (*.f64 b (fma.f64 a 1/8 1/16)))))) |
Compiled 174 to 132 computations (24.1% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 1.8b | (*.f64 t (*.f64 b (fma.f64 a 1/8 1/16))) |
| ✓ | 2.5b | (*.f64 z (*.f64 t (fma.f64 y 1/8 1/16))) |
| ✓ | 35.6b | (cos.f64 (*.f64 z (*.f64 t (fma.f64 y 1/8 1/16)))) |
| ✓ | 35.7b | (cos.f64 (*.f64 t (*.f64 b (fma.f64 a 1/8 1/16)))) |
4 calls:
| 26.0ms | (cos.f64 (*.f64 z (*.f64 t (fma.f64 y 1/8 1/16)))) |
| 23.0ms | (cos.f64 (*.f64 t (*.f64 b (fma.f64 a 1/8 1/16)))) |
| 13.0ms | (*.f64 t (*.f64 b (fma.f64 a 1/8 1/16))) |
| 12.0ms | (*.f64 z (*.f64 t (fma.f64 y 1/8 1/16))) |
| 1× | batch-egg-rewrite |
| 968× | prod-diff_binary64 |
| 159× | add-sqr-sqrt_binary64 |
| 149× | add-log-exp_binary64 |
| 149× | log1p-expm1-u_binary64 |
| 149× | expm1-log1p-u_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 16 | 48 |
| 1 | 322 | 48 |
| 2 | 3840 | 48 |
| 1× | node limit |
4 calls:
| 57.0ms | (*.f64 t (*.f64 b (fma.f64 a 1/8 1/16))) |
| 57.0ms | (*.f64 z (*.f64 t (fma.f64 y 1/8 1/16))) |
| 57.0ms | (cos.f64 (*.f64 z (*.f64 t (fma.f64 y 1/8 1/16)))) |
| 57.0ms | (cos.f64 (*.f64 t (*.f64 b (fma.f64 a 1/8 1/16)))) |
| 1× | egg-herbie |
| 871× | cancel-sign-sub-inv_binary64 |
| 481× | associate-*r*_binary64 |
| 371× | unswap-sqr_binary64 |
| 337× | associate-*l*_binary64 |
| 270× | fma-def_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 244 | 3812 |
| 1 | 824 | 3254 |
| 2 | 3417 | 3254 |
| 1× | node limit |
28 alts after pruning (28 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 96 | 28 | 124 |
| Fresh | 1 | 0 | 1 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 98 | 28 | 126 |
| Status | Error | Program |
| 49.0b | (*.f64 (cos.f64 (*.f64 z (*.f64 t (fma.f64 y 1/8 1/16)))) (*.f64 x (cos.f64 (cbrt.f64 (pow.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b)) 3))))) | |
| 48.5b | (*.f64 (sqrt.f64 (pow.f64 (cos.f64 (*.f64 t (*.f64 (fma.f64 y 1/8 1/16) z))) 2)) (*.f64 x (cos.f64 (*.f64 t (*.f64 b (fma.f64 a 1/8 1/16)))))) | |
| ▶ | 47.8b | (*.f64 (cos.f64 (*.f64 z (*.f64 t (fma.f64 y 1/8 1/16)))) (*.f64 x (-.f64 (exp.f64 (log1p.f64 (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))))) 1))) |
| 53.2b | (*.f64 (cos.f64 (*.f64 z (*.f64 t (fma.f64 y 1/8 1/16)))) (*.f64 x (cos.f64 (pow.f64 (sqrt.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))) 2)))) | |
| 48.1b | (*.f64 (cos.f64 (*.f64 z (*.f64 t (fma.f64 y 1/8 1/16)))) (*.f64 x (cos.f64 (*.f64 1/8 (*.f64 a (*.f64 t b)))))) | |
| 48.1b | (*.f64 (cos.f64 (*.f64 z (*.f64 t (fma.f64 y 1/8 1/16)))) (*.f64 x (cos.f64 (pow.f64 (cbrt.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))) 3)))) | |
| 48.3b | (*.f64 (pow.f64 (cbrt.f64 (cos.f64 (*.f64 t (*.f64 (fma.f64 y 1/8 1/16) z)))) 3) (*.f64 x (cos.f64 (*.f64 t (*.f64 b (fma.f64 a 1/8 1/16)))))) | |
| 48.0b | (*.f64 (cos.f64 (*.f64 z (*.f64 t (fma.f64 y 1/8 1/16)))) (*.f64 x (cos.f64 (*.f64 b (+.f64 (*.f64 1/16 t) (*.f64 1/8 (*.f64 a t))))))) | |
| 47.8b | (*.f64 (cos.f64 (*.f64 z (*.f64 t (fma.f64 y 1/8 1/16)))) (*.f64 x 1)) | |
| 49.1b | (*.f64 (cos.f64 (cbrt.f64 (pow.f64 (*.f64 t (*.f64 (fma.f64 y 1/8 1/16) z)) 3))) (*.f64 x (cos.f64 (*.f64 t (*.f64 b (fma.f64 a 1/8 1/16)))))) | |
| 48.8b | (*.f64 (-.f64 (cos.f64 (*.f64 1/16 (*.f64 t z))) (*.f64 1/8 (*.f64 (sin.f64 (*.f64 1/16 (*.f64 t z))) (*.f64 y (*.f64 t z))))) (*.f64 x (cos.f64 (*.f64 t (*.f64 b (fma.f64 a 1/8 1/16)))))) | |
| 47.8b | (*.f64 (cos.f64 (*.f64 z (*.f64 t (fma.f64 y 1/8 1/16)))) (*.f64 x (cbrt.f64 (pow.f64 (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))) 3)))) | |
| 47.8b | (*.f64 (cos.f64 (*.f64 1/16 (*.f64 t z))) (*.f64 x (cos.f64 (*.f64 t (*.f64 b (fma.f64 a 1/8 1/16)))))) | |
| 48.5b | (*.f64 (cos.f64 (pow.f64 (cbrt.f64 (*.f64 t (*.f64 (fma.f64 y 1/8 1/16) z))) 3)) (*.f64 x (cos.f64 (*.f64 t (*.f64 b (fma.f64 a 1/8 1/16)))))) | |
| 47.8b | (*.f64 (cos.f64 (*.f64 z (*.f64 t (fma.f64 y 1/8 1/16)))) (*.f64 x (log.f64 (+.f64 1 (expm1.f64 (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b)))))))) | |
| 50.9b | (*.f64 (cos.f64 (pow.f64 (pow.f64 (*.f64 t (*.f64 (fma.f64 y 1/8 1/16) z)) 3) 1/3)) (*.f64 x (cos.f64 (*.f64 t (*.f64 b (fma.f64 a 1/8 1/16)))))) | |
| 47.8b | (*.f64 (cos.f64 (*.f64 z (*.f64 t (fma.f64 y 1/8 1/16)))) (*.f64 x (log.f64 (exp.f64 (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))))))) | |
| 49.3b | (*.f64 (cos.f64 (-.f64 (exp.f64 (log1p.f64 (*.f64 t (*.f64 (fma.f64 y 1/8 1/16) z)))) 1)) (*.f64 x (cos.f64 (*.f64 t (*.f64 b (fma.f64 a 1/8 1/16)))))) | |
| 48.3b | (*.f64 (cos.f64 (*.f64 z (*.f64 t (fma.f64 y 1/8 1/16)))) (*.f64 x (sqrt.f64 (pow.f64 (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))) 2)))) | |
| 48.3b | (*.f64 (expm1.f64 (log1p.f64 (cos.f64 (*.f64 t (*.f64 (fma.f64 y 1/8 1/16) z))))) (*.f64 x (cos.f64 (*.f64 t (*.f64 b (fma.f64 a 1/8 1/16)))))) | |
| 49.1b | (*.f64 (cos.f64 (*.f64 z (*.f64 t (fma.f64 y 1/8 1/16)))) (*.f64 x (+.f64 (cos.f64 (*.f64 t (*.f64 b 1/16))) (*.f64 (*.f64 a (*.f64 (*.f64 t b) (sin.f64 (*.f64 t (*.f64 b 1/16))))) -1/8)))) | |
| 48.8b | (*.f64 (cos.f64 (*.f64 z (*.f64 t (fma.f64 y 1/8 1/16)))) (*.f64 x (cos.f64 (expm1.f64 (log1p.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))))))) | |
| 48.3b | (*.f64 (cbrt.f64 (pow.f64 (cos.f64 (*.f64 t (*.f64 (fma.f64 y 1/8 1/16) z))) 3)) (*.f64 x (cos.f64 (*.f64 t (*.f64 b (fma.f64 a 1/8 1/16)))))) | |
| 47.9b | (*.f64 (cos.f64 (*.f64 z (*.f64 t (fma.f64 y 1/8 1/16)))) (*.f64 x (cos.f64 (*.f64 1/16 (*.f64 t b))))) | |
| 50.7b | (*.f64 (cos.f64 (*.f64 z (*.f64 t (fma.f64 y 1/8 1/16)))) (*.f64 x (cos.f64 (pow.f64 (pow.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b)) 3) 1/3)))) | |
| 48.1b | (*.f64 (cos.f64 (*.f64 1/8 (*.f64 t (*.f64 y z)))) (*.f64 x (cos.f64 (*.f64 t (*.f64 b (fma.f64 a 1/8 1/16)))))) | |
| 47.8b | (*.f64 (cos.f64 (*.f64 z (*.f64 t (fma.f64 y 1/8 1/16)))) (*.f64 x (expm1.f64 (log1p.f64 (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))))))) | |
| 47.8b | (*.f64 (cos.f64 (*.f64 z (*.f64 t (fma.f64 y 1/8 1/16)))) (*.f64 x (pow.f64 (cbrt.f64 (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b)))) 3))) |
Compiled 6153 to 4300 computations (30.1% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 1.4b | (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b)) |
| 2.5b | (*.f64 z (*.f64 t (fma.f64 y 1/8 1/16))) | |
| 35.6b | (cos.f64 (*.f64 z (*.f64 t (fma.f64 y 1/8 1/16)))) | |
| ✓ | 35.7b | (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))) |
2 calls:
| 23.0ms | (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))) |
| 12.0ms | (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b)) |
| 1× | batch-egg-rewrite |
| 854× | log1p-expm1-u_binary64 |
| 854× | expm1-log1p-u_binary64 |
| 484× | prod-diff_binary64 |
| 97× | add-sqr-sqrt_binary64 |
| 93× | add-log-exp_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 24 |
| 1 | 202 | 24 |
| 2 | 2316 | 24 |
| 1× | node limit |
2 calls:
| 43.0ms | (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b)) |
| 43.0ms | (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))) |
| 1× | egg-herbie |
| 552× | associate-+l+_binary64 |
| 480× | cancel-sign-sub-inv_binary64 |
| 304× | associate--l+_binary64 |
| 252× | associate-*r*_binary64 |
| 233× | associate--r+_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 137 | 1797 |
| 1 | 435 | 1417 |
| 2 | 1747 | 1285 |
| 1× | node limit |
37 alts after pruning (37 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 109 | 14 | 123 |
| Fresh | 4 | 23 | 27 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 114 | 37 | 151 |
| Status | Error | Program |
| 49.0b | (*.f64 (cos.f64 (*.f64 z (*.f64 t (fma.f64 y 1/8 1/16)))) (*.f64 x (cos.f64 (cbrt.f64 (pow.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b)) 3))))) | |
| 48.5b | (*.f64 (sqrt.f64 (pow.f64 (cos.f64 (*.f64 t (*.f64 (fma.f64 y 1/8 1/16) z))) 2)) (*.f64 x (cos.f64 (*.f64 t (*.f64 b (fma.f64 a 1/8 1/16)))))) | |
| 53.2b | (*.f64 (cos.f64 (*.f64 z (*.f64 t (fma.f64 y 1/8 1/16)))) (*.f64 x (cos.f64 (pow.f64 (sqrt.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))) 2)))) | |
| 47.9b | (*.f64 (cos.f64 (*.f64 z (*.f64 t (fma.f64 y 1/8 1/16)))) (*.f64 x (-.f64 (exp.f64 (log1p.f64 (cos.f64 (*.f64 1/16 (*.f64 t b))))) 1))) | |
| 48.1b | (*.f64 (cos.f64 (*.f64 z (*.f64 t (fma.f64 y 1/8 1/16)))) (*.f64 x (cos.f64 (pow.f64 (cbrt.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))) 3)))) | |
| 48.3b | (*.f64 (pow.f64 (cbrt.f64 (cos.f64 (*.f64 t (*.f64 (fma.f64 y 1/8 1/16) z)))) 3) (*.f64 x (cos.f64 (*.f64 t (*.f64 b (fma.f64 a 1/8 1/16)))))) | |
| 48.0b | (*.f64 (cos.f64 (*.f64 z (*.f64 t (fma.f64 y 1/8 1/16)))) (*.f64 x (cos.f64 (*.f64 b (+.f64 (*.f64 1/16 t) (*.f64 1/8 (*.f64 a t))))))) | |
| 47.8b | (*.f64 (cos.f64 (*.f64 z (*.f64 t (fma.f64 y 1/8 1/16)))) (*.f64 x 1)) | |
| 50.7b | (*.f64 (cos.f64 (*.f64 z (*.f64 t (fma.f64 y 1/8 1/16)))) (*.f64 x (cos.f64 (pow.f64 (pow.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b)) 3) 1/3)))) | |
| 47.8b | (*.f64 (cos.f64 (*.f64 z (*.f64 t (fma.f64 y 1/8 1/16)))) (*.f64 x (-.f64 (exp.f64 (log1p.f64 (log.f64 (+.f64 1 (expm1.f64 (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b)))))))) 1))) | |
| 48.1b | (*.f64 (cos.f64 (*.f64 1/8 (*.f64 t (*.f64 y z)))) (*.f64 x (cos.f64 (*.f64 t (*.f64 b (fma.f64 a 1/8 1/16)))))) | |
| 47.8b | (*.f64 (cos.f64 (*.f64 z (*.f64 t (fma.f64 y 1/8 1/16)))) (*.f64 x (-.f64 (exp.f64 (log1p.f64 (log.f64 (exp.f64 (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))))))) 1))) | |
| 47.8b | (*.f64 (cos.f64 (*.f64 z (*.f64 t (fma.f64 y 1/8 1/16)))) (*.f64 x (expm1.f64 (log1p.f64 (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))))))) | |
| 47.8b | (*.f64 (cos.f64 (*.f64 z (*.f64 t (fma.f64 y 1/8 1/16)))) (*.f64 x (-.f64 (exp.f64 (log1p.f64 (pow.f64 (cbrt.f64 (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b)))) 3))) 1))) | |
| 48.1b | (*.f64 (cos.f64 (*.f64 z (*.f64 t (fma.f64 y 1/8 1/16)))) (*.f64 x (-.f64 (exp.f64 (log1p.f64 (cos.f64 (*.f64 (*.f64 b (*.f64 1/8 a)) t)))) 1))) | |
| 49.1b | (*.f64 (cos.f64 (cbrt.f64 (pow.f64 (*.f64 t (*.f64 (fma.f64 y 1/8 1/16) z)) 3))) (*.f64 x (cos.f64 (*.f64 t (*.f64 b (fma.f64 a 1/8 1/16)))))) | |
| 48.0b | (*.f64 (cos.f64 (*.f64 1/8 (*.f64 t (*.f64 y z)))) (*.f64 x (-.f64 (exp.f64 (log1p.f64 (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))))) 1))) | |
| 48.8b | (*.f64 (-.f64 (cos.f64 (*.f64 1/16 (*.f64 t z))) (*.f64 1/8 (*.f64 (sin.f64 (*.f64 1/16 (*.f64 t z))) (*.f64 y (*.f64 t z))))) (*.f64 x (cos.f64 (*.f64 t (*.f64 b (fma.f64 a 1/8 1/16)))))) | |
| 48.4b | (*.f64 (cos.f64 (pow.f64 (cbrt.f64 (*.f64 t (*.f64 (fma.f64 y 1/8 1/16) z))) 3)) (*.f64 x (-.f64 (exp.f64 (log1p.f64 (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))))) 1))) | |
| 47.8b | (*.f64 (cos.f64 (*.f64 z (*.f64 t (fma.f64 y 1/8 1/16)))) (*.f64 x (cbrt.f64 (pow.f64 (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))) 3)))) | |
| 47.8b | (*.f64 (cos.f64 (*.f64 1/16 (*.f64 t z))) (*.f64 x (cos.f64 (*.f64 t (*.f64 b (fma.f64 a 1/8 1/16)))))) | |
| 49.1b | (*.f64 (cos.f64 (expm1.f64 (log1p.f64 (*.f64 t (*.f64 (fma.f64 y 1/8 1/16) z))))) (*.f64 x (-.f64 (exp.f64 (log1p.f64 (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))))) 1))) | |
| 47.8b | (*.f64 (cos.f64 (*.f64 z (*.f64 t (fma.f64 y 1/8 1/16)))) (*.f64 x (log.f64 (+.f64 1 (expm1.f64 (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b)))))))) | |
| 49.3b | (*.f64 (cos.f64 (-.f64 (exp.f64 (log1p.f64 (*.f64 t (*.f64 (fma.f64 y 1/8 1/16) z)))) 1)) (*.f64 x (cos.f64 (*.f64 t (*.f64 b (fma.f64 a 1/8 1/16)))))) | |
| ▶ | 47.7b | (*.f64 (cos.f64 (*.f64 z (*.f64 t 1/16))) (*.f64 x (-.f64 (exp.f64 (log1p.f64 (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))))) 1))) |
| 48.1b | (*.f64 (cos.f64 (*.f64 z (*.f64 t (fma.f64 y 1/8 1/16)))) (*.f64 x (-.f64 (exp.f64 (log1p.f64 (cos.f64 (*.f64 1/8 (*.f64 a (*.f64 t b)))))) 1))) | |
| 48.3b | (*.f64 (expm1.f64 (log1p.f64 (cos.f64 (*.f64 t (*.f64 (fma.f64 y 1/8 1/16) z))))) (*.f64 x (cos.f64 (*.f64 t (*.f64 b (fma.f64 a 1/8 1/16)))))) | |
| 48.8b | (*.f64 (+.f64 (cos.f64 (*.f64 z (*.f64 t 1/16))) (*.f64 (*.f64 (sin.f64 (*.f64 z (*.f64 t 1/16))) (*.f64 t (*.f64 y z))) -1/8)) (*.f64 x (-.f64 (exp.f64 (log1p.f64 (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))))) 1))) | |
| 49.1b | (*.f64 (cos.f64 (*.f64 z (*.f64 t (fma.f64 y 1/8 1/16)))) (*.f64 x (+.f64 (cos.f64 (*.f64 t (*.f64 b 1/16))) (*.f64 (*.f64 a (*.f64 (*.f64 t b) (sin.f64 (*.f64 t (*.f64 b 1/16))))) -1/8)))) | |
| 48.1b | (*.f64 (log1p.f64 (expm1.f64 (cos.f64 (*.f64 t (*.f64 (fma.f64 y 1/8 1/16) z))))) (*.f64 x (-.f64 (exp.f64 (log1p.f64 (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))))) 1))) | |
| 47.8b | (*.f64 (cos.f64 (*.f64 z (*.f64 t (fma.f64 y 1/8 1/16)))) (*.f64 x (pow.f64 (cbrt.f64 (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b)))) 3))) | |
| 48.8b | (*.f64 (cos.f64 (*.f64 z (*.f64 t (fma.f64 y 1/8 1/16)))) (*.f64 x (cos.f64 (expm1.f64 (log1p.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))))))) | |
| 48.3b | (*.f64 (cbrt.f64 (pow.f64 (cos.f64 (*.f64 t (*.f64 (fma.f64 y 1/8 1/16) z))) 3)) (*.f64 x (cos.f64 (*.f64 t (*.f64 b (fma.f64 a 1/8 1/16)))))) | |
| 48.8b | (*.f64 (cos.f64 (*.f64 z (*.f64 t (fma.f64 y 1/8 1/16)))) (*.f64 x (-.f64 (exp.f64 (log1p.f64 (cos.f64 (expm1.f64 (log1p.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))))))) 1))) | |
| 47.9b | (*.f64 (cos.f64 (*.f64 z (*.f64 t (fma.f64 y 1/8 1/16)))) (*.f64 x (cos.f64 (*.f64 1/16 (*.f64 t b))))) | |
| 48.3b | (*.f64 (cos.f64 (*.f64 z (*.f64 t (fma.f64 y 1/8 1/16)))) (*.f64 x (-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (pow.f64 (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))) 2)))) 1))) | |
| 50.9b | (*.f64 (cos.f64 (pow.f64 (pow.f64 (*.f64 t (*.f64 (fma.f64 y 1/8 1/16) z)) 3) 1/3)) (*.f64 x (cos.f64 (*.f64 t (*.f64 b (fma.f64 a 1/8 1/16)))))) |
Compiled 7203 to 5197 computations (27.8% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.4b | (-.f64 (exp.f64 (log1p.f64 (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))))) 1) |
| 1.4b | (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b)) | |
| ✓ | 29.3b | (cos.f64 (*.f64 z (*.f64 t 1/16))) |
| 35.7b | (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))) |
2 calls:
| 616.0ms | (-.f64 (exp.f64 (log1p.f64 (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))))) 1) |
| 4.0ms | (cos.f64 (*.f64 z (*.f64 t 1/16))) |
| 1× | batch-egg-rewrite |
| 980× | prod-diff_binary64 |
| 166× | add-sqr-sqrt_binary64 |
| 159× | expm1-log1p-u_binary64 |
| 158× | log1p-expm1-u_binary64 |
| 156× | add-cbrt-cube_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 18 | 22 |
| 1 | 348 | 22 |
| 2 | 4072 | 22 |
| 1× | node limit |
2 calls:
| 56.0ms | (-.f64 (exp.f64 (log1p.f64 (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))))) 1) |
| 56.0ms | (cos.f64 (*.f64 z (*.f64 t 1/16))) |
| 1× | egg-herbie |
| 623× | times-frac_binary64 |
| 499× | cancel-sign-sub-inv_binary64 |
| 350× | associate-*r*_binary64 |
| 254× | unswap-sqr_binary64 |
| 241× | associate-*l*_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 174 | 2051 |
| 1 | 573 | 1863 |
| 2 | 2580 | 1863 |
| 1× | node limit |
48 alts after pruning (48 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 117 | 21 | 138 |
| Fresh | 9 | 27 | 36 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 127 | 48 | 175 |
| Status | Error | Program |
| 48.5b | (*.f64 (sqrt.f64 (pow.f64 (cos.f64 (*.f64 t (*.f64 (fma.f64 y 1/8 1/16) z))) 2)) (*.f64 x (cos.f64 (*.f64 t (*.f64 b (fma.f64 a 1/8 1/16)))))) | |
| 47.7b | (*.f64 (cos.f64 (*.f64 z (*.f64 t 1/16))) (*.f64 x (-.f64 (exp.f64 (log1p.f64 (cos.f64 (*.f64 b (*.f64 1/16 t))))) 1))) | |
| 49.0b | (*.f64 (cos.f64 (*.f64 z (*.f64 t (fma.f64 y 1/8 1/16)))) (*.f64 x (cos.f64 (cbrt.f64 (pow.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b)) 3))))) | |
| 47.8b | (*.f64 (cos.f64 (*.f64 z (*.f64 t 1/16))) (*.f64 x (-.f64 (exp.f64 (log1p.f64 (cos.f64 (*.f64 (*.f64 b (*.f64 1/8 a)) t)))) 1))) | |
| 53.2b | (*.f64 (cos.f64 (*.f64 z (*.f64 t 1/16))) (*.f64 x (-.f64 (exp.f64 (log1p.f64 (cos.f64 (pow.f64 (sqrt.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))) 2)))) 1))) | |
| 48.3b | (*.f64 (cos.f64 (*.f64 z (*.f64 t 1/16))) (*.f64 x (sqrt.f64 (pow.f64 (cos.f64 (*.f64 t (*.f64 b (fma.f64 a 1/8 1/16)))) 2)))) | |
| 47.6b | (*.f64 (sqrt.f64 (pow.f64 (cos.f64 (*.f64 t (*.f64 1/16 z))) 2)) (*.f64 x (-.f64 (exp.f64 (log1p.f64 (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))))) 1))) | |
| 47.9b | (*.f64 (cos.f64 (*.f64 z (*.f64 t (fma.f64 y 1/8 1/16)))) (*.f64 x (-.f64 (exp.f64 (log1p.f64 (cos.f64 (*.f64 1/16 (*.f64 t b))))) 1))) | |
| 48.1b | (*.f64 (cos.f64 (*.f64 z (*.f64 t (fma.f64 y 1/8 1/16)))) (*.f64 x (cos.f64 (pow.f64 (cbrt.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))) 3)))) | |
| 48.3b | (*.f64 (pow.f64 (cbrt.f64 (cos.f64 (*.f64 t (*.f64 (fma.f64 y 1/8 1/16) z)))) 3) (*.f64 x (cos.f64 (*.f64 t (*.f64 b (fma.f64 a 1/8 1/16)))))) | |
| 47.8b | (*.f64 (cos.f64 (*.f64 z (*.f64 t (fma.f64 y 1/8 1/16)))) (*.f64 x 1)) | |
| 47.8b | (*.f64 (cos.f64 (*.f64 z (*.f64 t 1/16))) (*.f64 x (pow.f64 (cbrt.f64 (cos.f64 (*.f64 t (*.f64 b (fma.f64 a 1/8 1/16))))) 3))) | |
| 47.7b | (*.f64 (pow.f64 (cbrt.f64 (cos.f64 (*.f64 t (*.f64 1/16 z)))) 3) (*.f64 x (-.f64 (exp.f64 (log1p.f64 (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))))) 1))) | |
| 47.5b | (*.f64 (cos.f64 (*.f64 z (*.f64 t 1/16))) (*.f64 x (-.f64 (exp.f64 (log1p.f64 1)) 1))) | |
| 47.8b | (*.f64 (cos.f64 (*.f64 z (*.f64 t (fma.f64 y 1/8 1/16)))) (*.f64 x (-.f64 (exp.f64 (log1p.f64 (log.f64 (+.f64 1 (expm1.f64 (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b)))))))) 1))) | |
| 48.1b | (*.f64 (cos.f64 (*.f64 1/8 (*.f64 t (*.f64 y z)))) (*.f64 x (cos.f64 (*.f64 t (*.f64 b (fma.f64 a 1/8 1/16)))))) | |
| 47.8b | (*.f64 (cos.f64 (*.f64 z (*.f64 t (fma.f64 y 1/8 1/16)))) (*.f64 x (-.f64 (exp.f64 (log1p.f64 (log.f64 (exp.f64 (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))))))) 1))) | |
| 48.3b | (*.f64 (cos.f64 (*.f64 z (*.f64 t (fma.f64 y 1/8 1/16)))) (*.f64 x (-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (pow.f64 (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))) 2)))) 1))) | |
| 47.7b | (*.f64 (-.f64 (exp.f64 (log1p.f64 (cos.f64 (*.f64 t (*.f64 1/16 z))))) 1) (*.f64 x (-.f64 (exp.f64 (log1p.f64 (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))))) 1))) | |
| 47.8b | (*.f64 (cos.f64 (*.f64 z (*.f64 t (fma.f64 y 1/8 1/16)))) (*.f64 x (expm1.f64 (log1p.f64 (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))))))) | |
| 47.8b | (*.f64 (cos.f64 (*.f64 z (*.f64 t (fma.f64 y 1/8 1/16)))) (*.f64 x (-.f64 (exp.f64 (log1p.f64 (pow.f64 (cbrt.f64 (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b)))) 3))) 1))) | |
| 48.1b | (*.f64 (cos.f64 (*.f64 z (*.f64 t (fma.f64 y 1/8 1/16)))) (*.f64 x (-.f64 (exp.f64 (log1p.f64 (cos.f64 (*.f64 (*.f64 b (*.f64 1/8 a)) t)))) 1))) | |
| 51.7b | (*.f64 (cos.f64 (*.f64 z (*.f64 t 1/16))) (*.f64 x (-.f64 1 (fma.f64 1/128 (*.f64 (*.f64 a a) (*.f64 (*.f64 t b) (*.f64 t b))) (*.f64 (*.f64 (*.f64 t b) (*.f64 t b)) (+.f64 (*.f64 a 1/128) 1/512)))))) | |
| 49.1b | (*.f64 (cos.f64 (cbrt.f64 (pow.f64 (*.f64 t (*.f64 (fma.f64 y 1/8 1/16) z)) 3))) (*.f64 x (cos.f64 (*.f64 t (*.f64 b (fma.f64 a 1/8 1/16)))))) | |
| 48.0b | (*.f64 (cos.f64 (*.f64 1/8 (*.f64 t (*.f64 y z)))) (*.f64 x (-.f64 (exp.f64 (log1p.f64 (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))))) 1))) | |
| 48.8b | (*.f64 (-.f64 (cos.f64 (*.f64 1/16 (*.f64 t z))) (*.f64 1/8 (*.f64 (sin.f64 (*.f64 1/16 (*.f64 t z))) (*.f64 y (*.f64 t z))))) (*.f64 x (cos.f64 (*.f64 t (*.f64 b (fma.f64 a 1/8 1/16)))))) | |
| 48.4b | (*.f64 (cos.f64 (pow.f64 (cbrt.f64 (*.f64 t (*.f64 (fma.f64 y 1/8 1/16) z))) 3)) (*.f64 x (-.f64 (exp.f64 (log1p.f64 (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))))) 1))) | |
| 47.8b | (*.f64 (cos.f64 (*.f64 z (*.f64 t (fma.f64 y 1/8 1/16)))) (*.f64 x (cbrt.f64 (pow.f64 (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))) 3)))) | |
| 47.8b | (*.f64 (cos.f64 (*.f64 z (*.f64 t 1/16))) (*.f64 x (*.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 (*.f64 t (*.f64 b (fma.f64 a 1/8 1/16)))) 1) 3) -1) (/.f64 1 (+.f64 (pow.f64 (+.f64 (cos.f64 (*.f64 t (*.f64 b (fma.f64 a 1/8 1/16)))) 1) 2) (+.f64 (+.f64 (cos.f64 (*.f64 t (*.f64 b (fma.f64 a 1/8 1/16)))) 1) 1)))))) | |
| 49.3b | (*.f64 (cos.f64 (-.f64 (exp.f64 (log1p.f64 (*.f64 t (*.f64 (fma.f64 y 1/8 1/16) z)))) 1)) (*.f64 x (cos.f64 (*.f64 t (*.f64 b (fma.f64 a 1/8 1/16)))))) | |
| 48.1b | (*.f64 (cos.f64 (*.f64 z (*.f64 t 1/16))) (*.f64 x (fma.f64 (sqrt.f64 (+.f64 (cos.f64 (*.f64 t (*.f64 b (fma.f64 a 1/8 1/16)))) 1)) (sqrt.f64 (+.f64 (cos.f64 (*.f64 t (*.f64 b (fma.f64 a 1/8 1/16)))) 1)) -1))) | |
| 48.1b | (*.f64 (cos.f64 (*.f64 z (*.f64 t (fma.f64 y 1/8 1/16)))) (*.f64 x (-.f64 (exp.f64 (log1p.f64 (cos.f64 (*.f64 1/8 (*.f64 a (*.f64 t b)))))) 1))) | |
| 47.7b | (*.f64 (cos.f64 (*.f64 z (*.f64 t 1/16))) (*.f64 x (cos.f64 (*.f64 1/16 (*.f64 t b))))) | |
| 48.3b | (*.f64 (expm1.f64 (log1p.f64 (cos.f64 (*.f64 t (*.f64 (fma.f64 y 1/8 1/16) z))))) (*.f64 x (cos.f64 (*.f64 t (*.f64 b (fma.f64 a 1/8 1/16)))))) | |
| 48.9b | (*.f64 (cos.f64 (*.f64 z (*.f64 t 1/16))) (*.f64 x (-.f64 (exp.f64 (log1p.f64 (cos.f64 (expm1.f64 (log1p.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))))))) 1))) | |
| 47.9b | (*.f64 (cos.f64 (*.f64 z (*.f64 t 1/16))) (*.f64 x (-.f64 (exp.f64 (log1p.f64 (cos.f64 (*.f64 b (+.f64 (*.f64 1/16 t) (*.f64 1/8 (*.f64 a t))))))) 1))) | |
| 48.8b | (*.f64 (+.f64 (cos.f64 (*.f64 z (*.f64 t 1/16))) (*.f64 (*.f64 (sin.f64 (*.f64 z (*.f64 t 1/16))) (*.f64 t (*.f64 y z))) -1/8)) (*.f64 x (-.f64 (exp.f64 (log1p.f64 (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))))) 1))) | |
| 49.1b | (*.f64 (cos.f64 (*.f64 z (*.f64 t (fma.f64 y 1/8 1/16)))) (*.f64 x (+.f64 (cos.f64 (*.f64 t (*.f64 b 1/16))) (*.f64 (*.f64 a (*.f64 (*.f64 t b) (sin.f64 (*.f64 t (*.f64 b 1/16))))) -1/8)))) | |
| 48.4b | (*.f64 (cos.f64 (*.f64 z (*.f64 t 1/16))) (*.f64 x (fma.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 (*.f64 t (*.f64 b (fma.f64 a 1/8 1/16)))) 1)) 2) (cbrt.f64 (+.f64 (cos.f64 (*.f64 t (*.f64 b (fma.f64 a 1/8 1/16)))) 1)) -1))) | |
| ▶ | 47.1b | (*.f64 1 (*.f64 x (-.f64 (exp.f64 (log1p.f64 (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))))) 1))) |
| 50.8b | (*.f64 (cos.f64 (*.f64 z (*.f64 t 1/16))) (*.f64 x (-.f64 (exp.f64 (log1p.f64 (cos.f64 (pow.f64 (pow.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b)) 3) 1/3)))) 1))) | |
| 47.8b | (*.f64 (cos.f64 (*.f64 z (*.f64 t (fma.f64 y 1/8 1/16)))) (*.f64 x (pow.f64 (cbrt.f64 (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b)))) 3))) | |
| 47.7b | (*.f64 (expm1.f64 (log1p.f64 (cos.f64 (*.f64 t (*.f64 1/16 z))))) (*.f64 x (-.f64 (exp.f64 (log1p.f64 (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))))) 1))) | |
| 48.8b | (*.f64 (cos.f64 (*.f64 z (*.f64 t (fma.f64 y 1/8 1/16)))) (*.f64 x (cos.f64 (expm1.f64 (log1p.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))))))) | |
| 47.9b | (*.f64 (cos.f64 (*.f64 z (*.f64 t 1/16))) (*.f64 x (-.f64 (exp.f64 (log1p.f64 (cos.f64 (pow.f64 (cbrt.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))) 3)))) 1))) | |
| 49.1b | (*.f64 (cos.f64 (expm1.f64 (log1p.f64 (*.f64 t (*.f64 (fma.f64 y 1/8 1/16) z))))) (*.f64 x (-.f64 (exp.f64 (log1p.f64 (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))))) 1))) | |
| 50.9b | (*.f64 (cos.f64 (pow.f64 (pow.f64 (*.f64 t (*.f64 (fma.f64 y 1/8 1/16) z)) 3) 1/3)) (*.f64 x (cos.f64 (*.f64 t (*.f64 b (fma.f64 a 1/8 1/16)))))) | |
| 47.7b | (*.f64 (cbrt.f64 (pow.f64 (cos.f64 (*.f64 t (*.f64 1/16 z))) 3)) (*.f64 x (-.f64 (exp.f64 (log1p.f64 (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))))) 1))) |
Compiled 8374 to 6154 computations (26.5% saved)
Found 4 expressions with local error:
| New | Error | Program |
| ✓ | 0.3b | (log1p.f64 (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b)))) |
| 0.4b | (-.f64 (exp.f64 (log1p.f64 (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))))) 1) | |
| 1.4b | (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b)) | |
| 35.7b | (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))) |
1 calls:
| 589.0ms | (log1p.f64 (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b)))) |
| 1× | batch-egg-rewrite |
| 519× | prod-diff_binary64 |
| 494× | log-prod_binary64 |
| 191× | expm1-udef_binary64 |
| 191× | log1p-udef_binary64 |
| 167× | log-pow_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 15 |
| 1 | 220 | 15 |
| 2 | 2508 | 15 |
| 1× | node limit |
1 calls:
| 40.0ms | (log1p.f64 (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b)))) |
| 1× | egg-herbie |
| 624× | associate-/l*_binary64 |
| 288× | associate-*r*_binary64 |
| 272× | unswap-sqr_binary64 |
| 218× | cancel-sign-sub-inv_binary64 |
| 210× | fma-def_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 185 | 1773 |
| 1 | 620 | 1655 |
| 2 | 2674 | 1575 |
| 1× | node limit |
56 alts after pruning (56 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 130 | 21 | 151 |
| Fresh | 12 | 35 | 47 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 143 | 56 | 199 |
| Status | Error | Program |
| 49.0b | (*.f64 (cos.f64 (*.f64 z (*.f64 t (fma.f64 y 1/8 1/16)))) (*.f64 x (cos.f64 (cbrt.f64 (pow.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b)) 3))))) | |
| 48.5b | (*.f64 (sqrt.f64 (pow.f64 (cos.f64 (*.f64 t (*.f64 (fma.f64 y 1/8 1/16) z))) 2)) (*.f64 x (cos.f64 (*.f64 t (*.f64 b (fma.f64 a 1/8 1/16)))))) | |
| 47.1b | (*.f64 1 (*.f64 x (-.f64 (exp.f64 (log1p.f64 (pow.f64 (cbrt.f64 (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b)))) 3))) 1))) | |
| 47.9b | (*.f64 (cos.f64 (*.f64 z (*.f64 t (fma.f64 y 1/8 1/16)))) (*.f64 x (-.f64 (exp.f64 (log1p.f64 (cos.f64 (*.f64 1/16 (*.f64 t b))))) 1))) | |
| 47.8b | (*.f64 (cos.f64 (*.f64 z (*.f64 t 1/16))) (*.f64 x (-.f64 (exp.f64 (log1p.f64 (cos.f64 (*.f64 (*.f64 b (*.f64 1/8 a)) t)))) 1))) | |
| 48.3b | (*.f64 (cos.f64 (*.f64 z (*.f64 t 1/16))) (*.f64 x (sqrt.f64 (pow.f64 (cos.f64 (*.f64 t (*.f64 b (fma.f64 a 1/8 1/16)))) 2)))) | |
| 47.6b | (*.f64 (sqrt.f64 (pow.f64 (cos.f64 (*.f64 t (*.f64 1/16 z))) 2)) (*.f64 x (-.f64 (exp.f64 (log1p.f64 (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))))) 1))) | |
| 47.6b | (*.f64 1 (*.f64 x (fma.f64 (sqrt.f64 (+.f64 (cos.f64 (*.f64 t (*.f64 b (fma.f64 a 1/8 1/16)))) 1)) (sqrt.f64 (+.f64 (cos.f64 (*.f64 t (*.f64 b (fma.f64 a 1/8 1/16)))) 1)) -1))) | |
| 48.2b | (*.f64 1 (*.f64 x (-.f64 (exp.f64 (-.f64 (log1p.f64 (cos.f64 (*.f64 1/16 (*.f64 t b)))) (/.f64 1/8 (/.f64 (+.f64 1 (cos.f64 (*.f64 1/16 (*.f64 t b)))) (*.f64 (*.f64 t (sin.f64 (*.f64 1/16 (*.f64 t b)))) (*.f64 b a)))))) 1))) | |
| 48.1b | (*.f64 (cos.f64 (*.f64 z (*.f64 t (fma.f64 y 1/8 1/16)))) (*.f64 x (cos.f64 (pow.f64 (cbrt.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))) 3)))) | |
| 48.3b | (*.f64 (pow.f64 (cbrt.f64 (cos.f64 (*.f64 t (*.f64 (fma.f64 y 1/8 1/16) z)))) 3) (*.f64 x (cos.f64 (*.f64 t (*.f64 b (fma.f64 a 1/8 1/16)))))) | |
| 47.8b | (*.f64 (cos.f64 (*.f64 z (*.f64 t (fma.f64 y 1/8 1/16)))) (*.f64 x 1)) | |
| 47.8b | (*.f64 (cos.f64 (*.f64 z (*.f64 t 1/16))) (*.f64 x (pow.f64 (cbrt.f64 (cos.f64 (*.f64 t (*.f64 b (fma.f64 a 1/8 1/16))))) 3))) | |
| 47.7b | (*.f64 (pow.f64 (cbrt.f64 (cos.f64 (*.f64 t (*.f64 1/16 z)))) 3) (*.f64 x (-.f64 (exp.f64 (log1p.f64 (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))))) 1))) | |
| 47.5b | (*.f64 1 (*.f64 x (-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (pow.f64 (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))) 2)))) 1))) | |
| 47.5b | (*.f64 (cos.f64 (*.f64 z (*.f64 t 1/16))) (*.f64 x (-.f64 (exp.f64 (log1p.f64 1)) 1))) | |
| 47.8b | (*.f64 (cos.f64 (*.f64 z (*.f64 t (fma.f64 y 1/8 1/16)))) (*.f64 x (-.f64 (exp.f64 (log1p.f64 (log.f64 (+.f64 1 (expm1.f64 (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b)))))))) 1))) | |
| 48.1b | (*.f64 (cos.f64 (*.f64 1/8 (*.f64 t (*.f64 y z)))) (*.f64 x (cos.f64 (*.f64 t (*.f64 b (fma.f64 a 1/8 1/16)))))) | |
| 47.8b | (*.f64 (cos.f64 (*.f64 z (*.f64 t (fma.f64 y 1/8 1/16)))) (*.f64 x (-.f64 (exp.f64 (log1p.f64 (log.f64 (exp.f64 (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))))))) 1))) | |
| 51.5b | (*.f64 1 (*.f64 x (-.f64 1 (fma.f64 1/128 (*.f64 (*.f64 a a) (*.f64 (*.f64 t b) (*.f64 t b))) (*.f64 (*.f64 (*.f64 t b) (*.f64 t b)) (+.f64 (*.f64 a 1/128) 1/512)))))) | |
| 47.7b | (*.f64 (-.f64 (exp.f64 (log1p.f64 (cos.f64 (*.f64 t (*.f64 1/16 z))))) 1) (*.f64 x (-.f64 (exp.f64 (log1p.f64 (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))))) 1))) | |
| 47.1b | (*.f64 1 (*.f64 x (-.f64 (exp.f64 (log1p.f64 (cos.f64 (*.f64 1/16 (*.f64 t b))))) 1))) | |
| 47.4b | (*.f64 1 (*.f64 x (-.f64 (exp.f64 (log1p.f64 (cos.f64 (*.f64 1/8 (*.f64 a (*.f64 t b)))))) 1))) | |
| 47.1b | (*.f64 1 (*.f64 x (-.f64 (exp.f64 (log1p.f64 (cbrt.f64 (pow.f64 (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))) 3)))) 1))) | |
| 48.1b | (*.f64 (cos.f64 (*.f64 z (*.f64 t (fma.f64 y 1/8 1/16)))) (*.f64 x (-.f64 (exp.f64 (log1p.f64 (cos.f64 (*.f64 (*.f64 b (*.f64 1/8 a)) t)))) 1))) | |
| 47.2b | (*.f64 1 (*.f64 x (-.f64 (exp.f64 (log1p.f64 (cos.f64 (*.f64 (*.f64 b (*.f64 1/8 a)) t)))) 1))) | |
| 48.6b | (*.f64 1 (*.f64 x (-.f64 (exp.f64 (+.f64 (log.f64 (hypot.f64 1 (sqrt.f64 (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b)))))) (log.f64 (hypot.f64 1 (sqrt.f64 (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b)))))))) 1))) | |
| 49.1b | (*.f64 (cos.f64 (cbrt.f64 (pow.f64 (*.f64 t (*.f64 (fma.f64 y 1/8 1/16) z)) 3))) (*.f64 x (cos.f64 (*.f64 t (*.f64 b (fma.f64 a 1/8 1/16)))))) | |
| 48.0b | (*.f64 (cos.f64 (*.f64 1/8 (*.f64 t (*.f64 y z)))) (*.f64 x (-.f64 (exp.f64 (log1p.f64 (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))))) 1))) | |
| 48.8b | (*.f64 (-.f64 (cos.f64 (*.f64 1/16 (*.f64 t z))) (*.f64 1/8 (*.f64 (sin.f64 (*.f64 1/16 (*.f64 t z))) (*.f64 y (*.f64 t z))))) (*.f64 x (cos.f64 (*.f64 t (*.f64 b (fma.f64 a 1/8 1/16)))))) | |
| 48.4b | (*.f64 (cos.f64 (pow.f64 (cbrt.f64 (*.f64 t (*.f64 (fma.f64 y 1/8 1/16) z))) 3)) (*.f64 x (-.f64 (exp.f64 (log1p.f64 (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))))) 1))) | |
| 47.8b | (*.f64 (cos.f64 (*.f64 z (*.f64 t 1/16))) (*.f64 x (*.f64 (+.f64 (pow.f64 (+.f64 (cos.f64 (*.f64 t (*.f64 b (fma.f64 a 1/8 1/16)))) 1) 3) -1) (/.f64 1 (+.f64 (pow.f64 (+.f64 (cos.f64 (*.f64 t (*.f64 b (fma.f64 a 1/8 1/16)))) 1) 2) (+.f64 (+.f64 (cos.f64 (*.f64 t (*.f64 b (fma.f64 a 1/8 1/16)))) 1) 1)))))) | |
| 50.4b | (*.f64 1 (*.f64 x (-.f64 (exp.f64 (log1p.f64 (cos.f64 (pow.f64 (pow.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b)) 3) 1/3)))) 1))) | |
| 47.6b | (*.f64 1 (*.f64 x (-.f64 (exp.f64 (+.f64 (log.f64 (*.f64 (cbrt.f64 (+.f64 (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))) 1)) (cbrt.f64 (+.f64 (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))) 1)))) (log.f64 (cbrt.f64 (+.f64 (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))) 1))))) 1))) | |
| 49.1b | (*.f64 (cos.f64 (expm1.f64 (log1p.f64 (*.f64 t (*.f64 (fma.f64 y 1/8 1/16) z))))) (*.f64 x (-.f64 (exp.f64 (log1p.f64 (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))))) 1))) | |
| 47.6b | (*.f64 1 (*.f64 x (-.f64 (exp.f64 (log1p.f64 (cos.f64 (pow.f64 (cbrt.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))) 3)))) 1))) | |
| 47.1b | (*.f64 1 (*.f64 x (-.f64 (exp.f64 (cbrt.f64 (pow.f64 (log1p.f64 (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b)))) 3))) 1))) | |
| 50.9b | (*.f64 (cos.f64 (pow.f64 (pow.f64 (*.f64 t (*.f64 (fma.f64 y 1/8 1/16) z)) 3) 1/3)) (*.f64 x (cos.f64 (*.f64 t (*.f64 b (fma.f64 a 1/8 1/16)))))) | |
| 53.0b | (*.f64 1 (*.f64 x (-.f64 (exp.f64 (log1p.f64 (cos.f64 (pow.f64 (sqrt.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))) 2)))) 1))) | |
| 47.9b | (*.f64 1 (*.f64 x (-.f64 (exp.f64 (-.f64 (log.f64 2) (*.f64 (*.f64 (*.f64 t b) (*.f64 t b)) (+.f64 (*.f64 (*.f64 a a) 1/256) (+.f64 (*.f64 a 1/256) 1/1024))))) 1))) | |
| 48.1b | (*.f64 (cos.f64 (*.f64 z (*.f64 t 1/16))) (*.f64 x (fma.f64 (sqrt.f64 (+.f64 (cos.f64 (*.f64 t (*.f64 b (fma.f64 a 1/8 1/16)))) 1)) (sqrt.f64 (+.f64 (cos.f64 (*.f64 t (*.f64 b (fma.f64 a 1/8 1/16)))) 1)) -1))) | |
| 47.7b | (*.f64 (cos.f64 (*.f64 z (*.f64 t 1/16))) (*.f64 x (cos.f64 (*.f64 1/16 (*.f64 t b))))) | |
| 48.8b | (*.f64 1 (*.f64 x (-.f64 (exp.f64 (log1p.f64 (cos.f64 (cbrt.f64 (pow.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b)) 3))))) 1))) | |
| 48.3b | (*.f64 (expm1.f64 (log1p.f64 (cos.f64 (*.f64 t (*.f64 (fma.f64 y 1/8 1/16) z))))) (*.f64 x (cos.f64 (*.f64 t (*.f64 b (fma.f64 a 1/8 1/16)))))) | |
| 48.9b | (*.f64 (cos.f64 (*.f64 z (*.f64 t 1/16))) (*.f64 x (-.f64 (exp.f64 (log1p.f64 (cos.f64 (expm1.f64 (log1p.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))))))) 1))) | |
| 47.9b | (*.f64 (cos.f64 (*.f64 z (*.f64 t 1/16))) (*.f64 x (-.f64 (exp.f64 (log1p.f64 (cos.f64 (*.f64 b (+.f64 (*.f64 1/16 t) (*.f64 1/8 (*.f64 a t))))))) 1))) | |
| 48.8b | (*.f64 (+.f64 (cos.f64 (*.f64 z (*.f64 t 1/16))) (*.f64 (*.f64 (sin.f64 (*.f64 z (*.f64 t 1/16))) (*.f64 t (*.f64 y z))) -1/8)) (*.f64 x (-.f64 (exp.f64 (log1p.f64 (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))))) 1))) | |
| 48.4b | (*.f64 (cos.f64 (*.f64 z (*.f64 t 1/16))) (*.f64 x (fma.f64 (pow.f64 (cbrt.f64 (+.f64 (cos.f64 (*.f64 t (*.f64 b (fma.f64 a 1/8 1/16)))) 1)) 2) (cbrt.f64 (+.f64 (cos.f64 (*.f64 t (*.f64 b (fma.f64 a 1/8 1/16)))) 1)) -1))) | |
| 53.2b | (*.f64 1 (*.f64 x (-.f64 (exp.f64 (log1p.f64 (cos.f64 (exp.f64 (log.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))))))) 1))) | |
| 47.6b | (*.f64 1 (*.f64 x (-.f64 (exp.f64 (pow.f64 (cbrt.f64 (log1p.f64 (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))))) 3)) 1))) | |
| 46.3b | (*.f64 1 (*.f64 x (-.f64 (exp.f64 (log.f64 2)) 1))) | |
| 47.7b | (*.f64 (expm1.f64 (log1p.f64 (cos.f64 (*.f64 t (*.f64 1/16 z))))) (*.f64 x (-.f64 (exp.f64 (log1p.f64 (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))))) 1))) | |
| 48.8b | (*.f64 (cos.f64 (*.f64 z (*.f64 t (fma.f64 y 1/8 1/16)))) (*.f64 x (cos.f64 (expm1.f64 (log1p.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))))))) | |
| 47.9b | (*.f64 (cos.f64 (*.f64 z (*.f64 t 1/16))) (*.f64 x (-.f64 (exp.f64 (log1p.f64 (cos.f64 (pow.f64 (cbrt.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))) 3)))) 1))) | |
| 48.5b | (*.f64 1 (*.f64 x (-.f64 (exp.f64 (log1p.f64 (cos.f64 (expm1.f64 (log1p.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))))))) 1))) | |
| 47.7b | (*.f64 (cbrt.f64 (pow.f64 (cos.f64 (*.f64 t (*.f64 1/16 z))) 3)) (*.f64 x (-.f64 (exp.f64 (log1p.f64 (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))))) 1))) |
Compiled 7878 to 5812 computations (26.2% saved)
Total 4.7b remaining (10.9%)
Threshold costs 0b (0%)
Compiled 77229 to 59871 computations (22.5% saved)
Compiled 33 to 26 computations (21.2% saved)
| 1× | egg-herbie |
| 16× | *-commutative_binary64 |
| 3× | +-commutative_binary64 |
| 1× | *-lft-identity_binary64 |
| 1× | sub-neg_binary64 |
| 1× | 1-exp_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 47 | 92 |
| 1 | 71 | 92 |
| 2 | 72 | 92 |
| 1× | saturated |
Compiled 1844 to 1450 computations (21.4% saved)
Loading profile data...