Time bar (total: 17.6s)
| 1× | search |
| Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
|---|---|---|---|---|---|---|---|
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 0 |
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 1 |
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 2 |
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 3 |
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 4 |
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 5 |
| 25% | 25% | 74.9% | 0.1% | 0% | 0% | 0% | 6 |
| 25% | 25% | 74.9% | 0.1% | 0% | 0% | 0% | 7 |
| 25% | 25% | 74.9% | 0.1% | 0% | 0% | 0% | 8 |
| 25% | 25% | 74.9% | 0.1% | 0% | 0% | 0% | 9 |
| 28.1% | 25% | 64% | 0.1% | 10.9% | 0% | 0% | 10 |
| 36.4% | 31.2% | 54.6% | 0.1% | 14% | 0% | 0% | 11 |
| 46.9% | 39% | 44.1% | 0.1% | 16.8% | 0% | 0% | 12 |
Compiled 23 to 16 computations (30.4% saved)
| 1.2s | 1902× | body | 1024 | valid |
| 1.1s | 5397× | body | 256 | valid |
| 946.0ms | 1656× | body | 1024 | infinite |
| 336.0ms | 1618× | body | 256 | infinite |
| 314.0ms | 954× | body | 512 | valid |
| 280.0ms | 818× | body | 512 | infinite |
| 2.0ms | 3× | body | 2048 | infinite |
| 2.0ms | 3× | body | 2048 | valid |
| 2× | egg-herbie |
| 96× | fma-def_binary64 |
| 70× | *-commutative_binary64 |
| 57× | associate-/l*_binary64 |
| 30× | associate-/r/_binary64 |
| 26× | distribute-rgt-out_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 25 | 80 |
| 1 | 69 | 72 |
| 2 | 160 | 72 |
| 3 | 243 | 72 |
| 4 | 321 | 72 |
| 5 | 375 | 72 |
| 6 | 420 | 72 |
| 7 | 474 | 72 |
| 8 | 480 | 72 |
| 0 | 3 | 3 |
| 1 | 3 | 3 |
| 1× | unsound |
| 1× | saturated |
| Inputs |
|---|
0 |
1 |
2 |
| Outputs |
|---|
0 |
1 |
0 |
2 |
| Inputs |
|---|
(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2))) |
(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1))) |
(+.f64 (*.f64 (/.f64 (cos.f64 a1) (sqrt.f64 2)) (*.f64 th th)) (*.f64 (/.f64 (cos.f64 a1) (sqrt.f64 2)) (*.f64 a2 a2))) |
(+.f64 (*.f64 (/.f64 (cos.f64 a2) (sqrt.f64 2)) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 a2) (sqrt.f64 2)) (*.f64 th th))) |
| Outputs |
|---|
(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2))) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2))) |
(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1))) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2))) |
(+.f64 (*.f64 (/.f64 (cos.f64 a1) (sqrt.f64 2)) (*.f64 th th)) (*.f64 (/.f64 (cos.f64 a1) (sqrt.f64 2)) (*.f64 a2 a2))) |
(*.f64 (/.f64 (cos.f64 a1) (sqrt.f64 2)) (+.f64 (*.f64 th th) (*.f64 a2 a2))) |
(*.f64 (/.f64 (cos.f64 a1) (sqrt.f64 2)) (fma.f64 th th (*.f64 a2 a2))) |
(*.f64 (cos.f64 a1) (/.f64 (fma.f64 th th (*.f64 a2 a2)) (sqrt.f64 2))) |
(+.f64 (*.f64 (/.f64 (cos.f64 a2) (sqrt.f64 2)) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 a2) (sqrt.f64 2)) (*.f64 th th))) |
(*.f64 (/.f64 (cos.f64 a2) (sqrt.f64 2)) (+.f64 (*.f64 a1 a1) (*.f64 th th))) |
(*.f64 (/.f64 (cos.f64 a2) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 th th))) |
(*.f64 (/.f64 (cos.f64 a2) (sqrt.f64 2)) (fma.f64 th th (*.f64 a1 a1))) |
(*.f64 (cos.f64 a2) (/.f64 (fma.f64 th th (*.f64 a1 a1)) (sqrt.f64 2))) |
(sort a1 a2)
Compiled 25 to 18 computations (28% saved)
| 1× | egg-herbie |
| 32× | fma-def_binary64 |
| 23× | *-commutative_binary64 |
| 20× | associate-/l*_binary64 |
| 11× | associate-/r/_binary64 |
| 9× | associate-*r/_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 13 | 20 |
| 1 | 27 | 18 |
| 2 | 58 | 18 |
| 3 | 88 | 18 |
| 4 | 115 | 18 |
| 5 | 135 | 18 |
| 6 | 152 | 18 |
| 7 | 170 | 18 |
| 8 | 172 | 18 |
| 1× | saturated |
| Inputs |
|---|
(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2))) |
| Outputs |
|---|
(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2))) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a1 a1) (*.f64 a2 a2))) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2))) |
Compiled 34 to 20 computations (41.2% saved)
1 alts after pruning (1 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 1 | 1 | 2 |
| Fresh | 1 | 0 | 1 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 0 | 0 |
| Total | 2 | 1 | 3 |
| Status | Error | Program |
|---|---|---|
| ▶ | 0.5b | (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2))) |
Compiled 15 to 10 computations (33.3% saved)
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (cos.f64 th) |
| ✓ | 0.0b | (fma.f64 a1 a1 (*.f64 a2 a2)) |
| ✓ | 0.4b | (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2))) |
| ✓ | 0.7b | (/.f64 (cos.f64 th) (sqrt.f64 2)) |
Compiled 37 to 16 computations (56.8% saved)
21 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 2.0ms | a2 | @ | -inf | (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2))) |
| 1.0ms | a1 | @ | 0 | (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2))) |
| 1.0ms | th | @ | -inf | (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2))) |
| 1.0ms | th | @ | 0 | (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2))) |
| 1.0ms | th | @ | inf | (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2))) |
| 1× | batch-egg-rewrite |
| 523× | log-prod_binary64 |
| 407× | exp-prod_binary64 |
| 343× | pow-prod-down_binary64 |
| 283× | pow2_binary64 |
| 198× | pow1/3_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 37 |
| 1 | 224 | 35 |
| 2 | 2738 | 35 |
| 1× | node limit |
| Inputs |
|---|
(/.f64 (cos.f64 th) (sqrt.f64 2)) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2))) |
(fma.f64 a1 a1 (*.f64 a2 a2)) |
(cos.f64 th) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (cos.f64 th) (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (cos.f64 th) (sqrt.f64 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (cos.f64 th) (sqrt.f64 2))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (cos.f64 th) (sqrt.f64 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 th) (pow.f64 2 -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (cos.f64 th) (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (cos.f64 th) (sqrt.f64 2))) (cbrt.f64 (*.f64 (pow.f64 (cos.f64 th) 2) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (pow.f64 (cos.f64 th) 2) 1/2)) (cbrt.f64 (/.f64 (cos.f64 th) (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cos.f64 th)) 2) (*.f64 (cbrt.f64 (cos.f64 th)) (pow.f64 2 -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (cos.f64 th) (sqrt.f64 2))) (sqrt.f64 (/.f64 (cos.f64 th) (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cos.f64 th)) (*.f64 (sqrt.f64 (cos.f64 th)) (pow.f64 2 -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (cos.f64 th)) (/.f64 1 (neg.f64 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 2 -1/2) (cos.f64 th))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (cos.f64 th)) 2) 1) (/.f64 (cbrt.f64 (cos.f64 th)) (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (cos.f64 th)) 1) (/.f64 (sqrt.f64 (cos.f64 th)) (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 2)) (/.f64 (cos.f64 th) (pow.f64 2 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (cos.f64 th)) 2) (cbrt.f64 2)) (cbrt.f64 (/.f64 (cos.f64 th) (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (cos.f64 th)) (cbrt.f64 2)) (/.f64 (sqrt.f64 (cos.f64 th)) (pow.f64 2 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 2 -1/4) (/.f64 (cos.f64 th) (pow.f64 2 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (cos.f64 th)) 2) (pow.f64 2 1/4)) (/.f64 (cbrt.f64 (cos.f64 th)) (pow.f64 2 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (cos.f64 th) 2) 1/2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (cos.f64 th) (sqrt.f64 2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (cos.f64 th) (sqrt.f64 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (/.f64 (cos.f64 th) (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (cos.f64 th) 3) (pow.f64 2 3/2)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)))) 2)) (cbrt.f64 (log.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 (cos.f64 th) (sqrt.f64 2))))) (sqrt.f64 (log.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (cos.f64 th) (neg.f64 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (pow.f64 (cos.f64 th) 2) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (cos.f64 th) (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (cos.f64 th) 3) (pow.f64 2 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (cos.f64 th) (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (cos.f64 th) (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (cos.f64 th) (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (cos.f64 th) (sqrt.f64 2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (sqrt.f64 2) (cos.f64 th))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (cos.f64 th) (sqrt.f64 2))) 1) 1)))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (pow.f64 (hypot.f64 a1 a2) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (sqrt.f64 2))) (*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (pow.f64 (hypot.f64 a1 a2) 2)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (pow.f64 (hypot.f64 a1 a2) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (pow.f64 (hypot.f64 a1 a2) 2))))) (log.f64 (sqrt.f64 (exp.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (pow.f64 (hypot.f64 a1 a2) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (pow.f64 (hypot.f64 a1 a2) 2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (pow.f64 (hypot.f64 a1 a2) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (hypot.f64 a1 a2) 2) (/.f64 (sqrt.f64 2) (cos.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a1 a2) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a1 a2) 2)) (sqrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a1 a2) 2))) (neg.f64 (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a1 a2) 2)) 1) (sqrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a1 a2) 2)) (cbrt.f64 2)) (pow.f64 2 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a1 a2) 2)) (pow.f64 2 1/4)) (pow.f64 2 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (cos.f64 th)) (pow.f64 (hypot.f64 a1 a2) 2)) (neg.f64 (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (neg.f64 (cos.f64 th))) (neg.f64 (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (pow.f64 (hypot.f64 a1 a2) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 (pow.f64 (cos.f64 th) 2) 1/2) (pow.f64 (hypot.f64 a1 a2) 4)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 (cos.f64 th) (sqrt.f64 2))) (hypot.f64 a1 a2)) 6) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (pow.f64 (hypot.f64 a1 a2) 2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 (/.f64 (cos.f64 th) (sqrt.f64 2))) (hypot.f64 a1 a2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (pow.f64 (hypot.f64 a1 a2) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a1 a2) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (pow.f64 (hypot.f64 a1 a2) 2)))) 2)) (cbrt.f64 (log.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (pow.f64 (hypot.f64 a1 a2) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (pow.f64 (hypot.f64 a1 a2) 2))))) (sqrt.f64 (log.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (pow.f64 (hypot.f64 a1 a2) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (*.f64 (pow.f64 (cos.f64 th) 2) 1/2) (pow.f64 (hypot.f64 a1 a2) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (pow.f64 (hypot.f64 a1 a2) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (pow.f64 (hypot.f64 a1 a2) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 (cos.f64 th) (sqrt.f64 2))) (hypot.f64 a1 a2)) 6))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (pow.f64 (hypot.f64 a1 a2) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (pow.f64 (hypot.f64 a1 a2) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (pow.f64 (hypot.f64 a1 a2) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (pow.f64 (hypot.f64 a1 a2) 2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 (cos.f64 th) (sqrt.f64 2))) (hypot.f64 a1 a2)) 6)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (pow.f64 (hypot.f64 a1 a2) 2)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 (cos.f64 th) (sqrt.f64 2))) (hypot.f64 a1 a2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (pow.f64 (hypot.f64 a1 a2) 2))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 a2 a2) (*.f64 a1 a1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 a1 a1) (*.f64 a2 a2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (hypot.f64 a1 a2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 a1 a1) 1) (*.f64 a2 a2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 (hypot.f64 a1 a2) 2))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (hypot.f64 a1 a2) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (hypot.f64 a1 a2) 2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (hypot.f64 a1 a2) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 (hypot.f64 a1 a2) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (hypot.f64 a1 a2) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (hypot.f64 a1 a2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (hypot.f64 a1 a2)) 2) (cbrt.f64 (pow.f64 (hypot.f64 a1 a2) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (hypot.f64 a1 a2) 4)) (pow.f64 (cbrt.f64 (hypot.f64 a1 a2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (hypot.f64 a1 a2) (hypot.f64 a1 a2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 a1 6) (pow.f64 a2 6)) (+.f64 (pow.f64 a1 4) (-.f64 (pow.f64 a2 4) (pow.f64 (*.f64 a1 a2) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (hypot.f64 a1 a2) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (hypot.f64 a1 a2) 4) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (hypot.f64 a1 a2) 6) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (hypot.f64 a1 a2)) 2) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (hypot.f64 a1 a2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (*.f64 2 (log.f64 (hypot.f64 a1 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (*.f64 2 (log.f64 (hypot.f64 a1 a2)))) 2)) (cbrt.f64 (*.f64 2 (log.f64 (hypot.f64 a1 a2)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (*.f64 2 (log.f64 (hypot.f64 a1 a2))))) (sqrt.f64 (*.f64 2 (log.f64 (hypot.f64 a1 a2)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (hypot.f64 a1 a2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (hypot.f64 a1 a2) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (hypot.f64 a1 a2) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 a2 a2))) (pow.f64 (exp.f64 a1) a1)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 a1) a1) (+.f64 1 (expm1.f64 (*.f64 a2 a2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (hypot.f64 a1 a2) 6))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (hypot.f64 a1 a2) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (hypot.f64 a1 a2) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 2 (log.f64 (hypot.f64 a1 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (hypot.f64 a1 a2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (hypot.f64 a1 a2) 6)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (cbrt.f64 (hypot.f64 a1 a2)) 2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (hypot.f64 a1 a2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (*.f64 2 (log.f64 (hypot.f64 a1 a2))) 1) 1)))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cos.f64 th))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 (exp.f64 (log1p.f64 th))) (cos.f64 1)) (*.f64 (sin.f64 (exp.f64 (log1p.f64 th))) (sin.f64 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 th))) 2)) (log.f64 (cbrt.f64 (exp.f64 (cos.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (cos.f64 th)))) (log.f64 (sqrt.f64 (exp.f64 (cos.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (cos.f64 th))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 th) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cos.f64 th))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cos.f64 th)) (pow.f64 (cbrt.f64 (cos.f64 th)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cos.f64 th)) 2) (cbrt.f64 (cos.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cos.f64 th)) (sqrt.f64 (cos.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cos.f64 th) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cos.f64 th) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cos.f64 th) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cos.f64 th)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (cos.f64 th)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (cos.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (cos.f64 th))) 2)) (cbrt.f64 (log.f64 (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (cos.f64 th)))) (sqrt.f64 (log.f64 (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cos.f64 th) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cos.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (cos.f64 th) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cos.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cos.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cos.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cos.f64 th)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (cos.f64 th))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (cos.f64 th))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (cos.f64 th))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (cos.f64 th)) 1) 1)))))) |
| 1× | egg-herbie |
| 709× | fma-def_binary64 |
| 698× | distribute-rgt-in_binary64 |
| 504× | unswap-sqr_binary64 |
| 423× | *-commutative_binary64 |
| 334× | associate-*l/_binary64 |
Useful iterations: 4 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 68 | 1181 |
| 1 | 168 | 1075 |
| 2 | 435 | 1069 |
| 3 | 1381 | 1031 |
| 4 | 3843 | 1010 |
| 5 | 6841 | 1010 |
| 1× | node limit |
| Inputs |
|---|
(/.f64 1 (sqrt.f64 2)) |
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 th 2) (sqrt.f64 2))) (/.f64 1 (sqrt.f64 2))) |
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 th 2) (sqrt.f64 2))) (+.f64 (*.f64 1/24 (/.f64 (pow.f64 th 4) (sqrt.f64 2))) (/.f64 1 (sqrt.f64 2)))) |
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 th 2) (sqrt.f64 2))) (+.f64 (*.f64 -1/720 (/.f64 (pow.f64 th 6) (sqrt.f64 2))) (+.f64 (*.f64 1/24 (/.f64 (pow.f64 th 4) (sqrt.f64 2))) (/.f64 1 (sqrt.f64 2))))) |
(/.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (sqrt.f64 2)) |
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (/.f64 (pow.f64 a1 2) (sqrt.f64 2)) (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)) (sqrt.f64 2))))) |
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (/.f64 (pow.f64 a1 2) (sqrt.f64 2)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)) (sqrt.f64 2))) (*.f64 1/24 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 4)) (sqrt.f64 2)))))) |
(+.f64 (*.f64 -1/720 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 6)) (sqrt.f64 2))) (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (/.f64 (pow.f64 a1 2) (sqrt.f64 2)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)) (sqrt.f64 2))) (*.f64 1/24 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 4)) (sqrt.f64 2))))))) |
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)) |
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))) |
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)) |
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))) |
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)) |
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))) |
(pow.f64 a2 2) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(pow.f64 a1 2) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(pow.f64 a1 2) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(pow.f64 a1 2) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(pow.f64 a2 2) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(pow.f64 a2 2) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
1 |
(+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) |
(+.f64 1 (+.f64 (*.f64 1/24 (pow.f64 th 4)) (*.f64 -1/2 (pow.f64 th 2)))) |
(+.f64 1 (+.f64 (*.f64 1/24 (pow.f64 th 4)) (+.f64 (*.f64 -1/720 (pow.f64 th 6)) (*.f64 -1/2 (pow.f64 th 2))))) |
| Outputs |
|---|
(/.f64 1 (sqrt.f64 2)) |
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 th 2) (sqrt.f64 2))) (/.f64 1 (sqrt.f64 2))) |
(fma.f64 -1/2 (/.f64 (*.f64 th th) (sqrt.f64 2)) (/.f64 1 (sqrt.f64 2))) |
(fma.f64 -1/2 (/.f64 th (/.f64 (sqrt.f64 2) th)) (/.f64 1 (sqrt.f64 2))) |
(fma.f64 -1/2 (*.f64 (/.f64 th (sqrt.f64 2)) th) (/.f64 1 (sqrt.f64 2))) |
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 th 2) (sqrt.f64 2))) (+.f64 (*.f64 1/24 (/.f64 (pow.f64 th 4) (sqrt.f64 2))) (/.f64 1 (sqrt.f64 2)))) |
(fma.f64 -1/2 (/.f64 (*.f64 th th) (sqrt.f64 2)) (fma.f64 1/24 (/.f64 (pow.f64 th 4) (sqrt.f64 2)) (/.f64 1 (sqrt.f64 2)))) |
(fma.f64 -1/2 (/.f64 th (/.f64 (sqrt.f64 2) th)) (fma.f64 1/24 (/.f64 (pow.f64 th 4) (sqrt.f64 2)) (/.f64 1 (sqrt.f64 2)))) |
(fma.f64 -1/2 (*.f64 (/.f64 th (sqrt.f64 2)) th) (fma.f64 1/24 (/.f64 (pow.f64 th 4) (sqrt.f64 2)) (/.f64 1 (sqrt.f64 2)))) |
(+.f64 (/.f64 1 (sqrt.f64 2)) (*.f64 (/.f64 th (/.f64 (sqrt.f64 2) th)) (fma.f64 th (*.f64 th 1/24) -1/2))) |
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 th 2) (sqrt.f64 2))) (+.f64 (*.f64 -1/720 (/.f64 (pow.f64 th 6) (sqrt.f64 2))) (+.f64 (*.f64 1/24 (/.f64 (pow.f64 th 4) (sqrt.f64 2))) (/.f64 1 (sqrt.f64 2))))) |
(fma.f64 -1/2 (/.f64 (*.f64 th th) (sqrt.f64 2)) (fma.f64 -1/720 (/.f64 (pow.f64 th 6) (sqrt.f64 2)) (fma.f64 1/24 (/.f64 (pow.f64 th 4) (sqrt.f64 2)) (/.f64 1 (sqrt.f64 2))))) |
(fma.f64 -1/2 (/.f64 th (/.f64 (sqrt.f64 2) th)) (fma.f64 -1/720 (/.f64 (pow.f64 th 6) (sqrt.f64 2)) (fma.f64 1/24 (/.f64 (pow.f64 th 4) (sqrt.f64 2)) (/.f64 1 (sqrt.f64 2))))) |
(fma.f64 -1/2 (*.f64 (/.f64 th (sqrt.f64 2)) th) (fma.f64 -1/720 (/.f64 (pow.f64 th 6) (sqrt.f64 2)) (fma.f64 1/24 (/.f64 (pow.f64 th 4) (sqrt.f64 2)) (/.f64 1 (sqrt.f64 2))))) |
(fma.f64 -1/2 (/.f64 th (/.f64 (sqrt.f64 2) th)) (fma.f64 1/24 (/.f64 (pow.f64 th 4) (sqrt.f64 2)) (fma.f64 -1/720 (/.f64 (pow.f64 th 6) (sqrt.f64 2)) (/.f64 1 (sqrt.f64 2))))) |
(+.f64 (/.f64 1 (sqrt.f64 2)) (fma.f64 -1/720 (/.f64 (pow.f64 th 6) (sqrt.f64 2)) (*.f64 (/.f64 th (/.f64 (sqrt.f64 2) th)) (fma.f64 th (*.f64 th 1/24) -1/2)))) |
(/.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (sqrt.f64 2)) |
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (sqrt.f64 2)) |
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) |
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (/.f64 (pow.f64 a1 2) (sqrt.f64 2)) (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)) (sqrt.f64 2))))) |
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (*.f64 -1/2 (/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (*.f64 th th)))))) |
(+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (fma.f64 -1/2 (*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (*.f64 th th)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))) |
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (fma.f64 -1/2 (*.f64 (*.f64 th th) (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2))) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))) |
(fma.f64 -1/2 (*.f64 th (*.f64 th (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)))) (fma.f64 (/.f64 a2 (sqrt.f64 2)) a2 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))) |
(fma.f64 -1/2 (*.f64 (/.f64 th (/.f64 (sqrt.f64 2) th)) (fma.f64 a2 a2 (*.f64 a1 a1))) (fma.f64 (/.f64 a2 (sqrt.f64 2)) a2 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))) |
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (/.f64 (pow.f64 a1 2) (sqrt.f64 2)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)) (sqrt.f64 2))) (*.f64 1/24 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 4)) (sqrt.f64 2)))))) |
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (fma.f64 -1/2 (/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (*.f64 th th))) (*.f64 1/24 (/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (pow.f64 th 4))))))) |
(+.f64 (fma.f64 1/24 (*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (pow.f64 th 4)) (/.f64 -1/2 (/.f64 (sqrt.f64 2) (*.f64 (*.f64 th th) (fma.f64 a2 a2 (*.f64 a1 a1)))))) (+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))) |
(+.f64 (fma.f64 -1/2 (*.f64 (*.f64 th th) (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2))) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) (fma.f64 1/24 (*.f64 (pow.f64 th 4) (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2))) (/.f64 (*.f64 a2 a2) (sqrt.f64 2)))) |
(fma.f64 (/.f64 a2 (sqrt.f64 2)) a2 (fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (*.f64 (*.f64 th th) (fma.f64 th (*.f64 th 1/24) -1/2))))) |
(fma.f64 (/.f64 a2 (sqrt.f64 2)) a2 (fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (/.f64 th (/.f64 (sqrt.f64 2) th)) (fma.f64 th (*.f64 th 1/24) -1/2))))) |
(+.f64 (*.f64 -1/720 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 6)) (sqrt.f64 2))) (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (/.f64 (pow.f64 a1 2) (sqrt.f64 2)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)) (sqrt.f64 2))) (*.f64 1/24 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 4)) (sqrt.f64 2))))))) |
(fma.f64 -1/720 (/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (pow.f64 th 6))) (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (fma.f64 -1/2 (/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (*.f64 th th))) (*.f64 1/24 (/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (pow.f64 th 4)))))))) |
(+.f64 (+.f64 (fma.f64 -1/720 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (pow.f64 th 6))) (/.f64 a2 (/.f64 (sqrt.f64 2) a2))) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))) (fma.f64 1/24 (*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (pow.f64 th 4)) (/.f64 -1/2 (/.f64 (sqrt.f64 2) (*.f64 (*.f64 th th) (fma.f64 a2 a2 (*.f64 a1 a1))))))) |
(fma.f64 -1/720 (*.f64 (pow.f64 th 6) (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2))) (+.f64 (fma.f64 -1/2 (*.f64 (*.f64 th th) (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2))) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) (fma.f64 1/24 (*.f64 (pow.f64 th 4) (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2))) (/.f64 (*.f64 a2 a2) (sqrt.f64 2))))) |
(fma.f64 (/.f64 a2 (sqrt.f64 2)) a2 (fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (fma.f64 -1/2 (*.f64 th (*.f64 th (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)))) (*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (fma.f64 1/24 (pow.f64 th 4) (*.f64 -1/720 (pow.f64 th 6))))))) |
(fma.f64 (/.f64 a2 (sqrt.f64 2)) a2 (fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (fma.f64 (*.f64 th th) (fma.f64 th (*.f64 th 1/24) -1/2) (*.f64 -1/720 (pow.f64 th 6)))))) |
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a2 a2 (*.f64 a1 a1))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a2 a2 (*.f64 a1 a1))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a2 a2 (*.f64 a1 a1))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a2 a2 (*.f64 a1 a1))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a2 a2 (*.f64 a1 a1))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a2 a2 (*.f64 a1 a1))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a2 a2 (*.f64 a1 a1))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a2 a2 (*.f64 a1 a1))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) |
(*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (cos.f64 th)) |
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 a2 (*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2)))) |
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))) |
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a2 a2 (*.f64 a1 a1))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))) |
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a2 a2 (*.f64 a1 a1))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))) |
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a2 a2 (*.f64 a1 a1))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (cos.f64 th)) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) |
(*.f64 a1 (/.f64 a1 (/.f64 (sqrt.f64 2) (cos.f64 th)))) |
(*.f64 a1 (*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2)))) |
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))) |
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a2 a2 (*.f64 a1 a1))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))) |
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a2 a2 (*.f64 a1 a1))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))) |
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a2 a2 (*.f64 a1 a1))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (cos.f64 th)) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) |
(*.f64 a1 (/.f64 a1 (/.f64 (sqrt.f64 2) (cos.f64 th)))) |
(*.f64 a1 (*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2)))) |
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))) |
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a2 a2 (*.f64 a1 a1))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))) |
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a2 a2 (*.f64 a1 a1))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))) |
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a2 a2 (*.f64 a1 a1))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (cos.f64 th)) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) |
(*.f64 a1 (/.f64 a1 (/.f64 (sqrt.f64 2) (cos.f64 th)))) |
(*.f64 a1 (*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2)))) |
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))) |
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a2 a2 (*.f64 a1 a1))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))) |
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a2 a2 (*.f64 a1 a1))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))) |
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a2 a2 (*.f64 a1 a1))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) |
(*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (cos.f64 th)) |
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 a2 (*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2)))) |
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))) |
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a2 a2 (*.f64 a1 a1))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))) |
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a2 a2 (*.f64 a1 a1))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))) |
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a2 a2 (*.f64 a1 a1))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) |
(*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (cos.f64 th)) |
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 a2 (*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2)))) |
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))) |
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a2 a2 (*.f64 a1 a1))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))) |
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a2 a2 (*.f64 a1 a1))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))) |
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a2 a2 (*.f64 a1 a1))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(pow.f64 a2 2) |
(*.f64 a2 a2) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) |
(fma.f64 a2 a2 (*.f64 a1 a1)) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) |
(fma.f64 a2 a2 (*.f64 a1 a1)) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) |
(fma.f64 a2 a2 (*.f64 a1 a1)) |
(pow.f64 a1 2) |
(*.f64 a1 a1) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) |
(fma.f64 a2 a2 (*.f64 a1 a1)) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) |
(fma.f64 a2 a2 (*.f64 a1 a1)) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) |
(fma.f64 a2 a2 (*.f64 a1 a1)) |
(pow.f64 a1 2) |
(*.f64 a1 a1) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) |
(fma.f64 a2 a2 (*.f64 a1 a1)) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) |
(fma.f64 a2 a2 (*.f64 a1 a1)) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) |
(fma.f64 a2 a2 (*.f64 a1 a1)) |
(pow.f64 a1 2) |
(*.f64 a1 a1) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) |
(fma.f64 a2 a2 (*.f64 a1 a1)) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) |
(fma.f64 a2 a2 (*.f64 a1 a1)) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) |
(fma.f64 a2 a2 (*.f64 a1 a1)) |
(pow.f64 a2 2) |
(*.f64 a2 a2) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) |
(fma.f64 a2 a2 (*.f64 a1 a1)) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) |
(fma.f64 a2 a2 (*.f64 a1 a1)) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) |
(fma.f64 a2 a2 (*.f64 a1 a1)) |
(pow.f64 a2 2) |
(*.f64 a2 a2) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) |
(fma.f64 a2 a2 (*.f64 a1 a1)) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) |
(fma.f64 a2 a2 (*.f64 a1 a1)) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) |
(fma.f64 a2 a2 (*.f64 a1 a1)) |
1 |
(+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) |
(+.f64 1 (*.f64 -1/2 (*.f64 th th))) |
(fma.f64 -1/2 (*.f64 th th) 1) |
(+.f64 1 (+.f64 (*.f64 1/24 (pow.f64 th 4)) (*.f64 -1/2 (pow.f64 th 2)))) |
(+.f64 1 (fma.f64 1/24 (pow.f64 th 4) (*.f64 -1/2 (*.f64 th th)))) |
(fma.f64 -1/2 (*.f64 th th) (fma.f64 1/24 (pow.f64 th 4) 1)) |
(fma.f64 (*.f64 th th) (fma.f64 th (*.f64 th 1/24) -1/2) 1) |
(+.f64 1 (+.f64 (*.f64 1/24 (pow.f64 th 4)) (+.f64 (*.f64 -1/720 (pow.f64 th 6)) (*.f64 -1/2 (pow.f64 th 2))))) |
(+.f64 1 (fma.f64 1/24 (pow.f64 th 4) (fma.f64 -1/720 (pow.f64 th 6) (*.f64 -1/2 (*.f64 th th))))) |
(+.f64 (fma.f64 1/24 (pow.f64 th 4) (*.f64 -1/720 (pow.f64 th 6))) (fma.f64 -1/2 (*.f64 th th) 1)) |
(+.f64 1 (fma.f64 1/24 (pow.f64 th 4) (fma.f64 -1/2 (*.f64 th th) (*.f64 -1/720 (pow.f64 th 6))))) |
(fma.f64 -1/720 (pow.f64 th 6) (fma.f64 (*.f64 th th) (fma.f64 th (*.f64 th 1/24) -1/2) 1)) |
(fma.f64 (*.f64 th th) (fma.f64 th (*.f64 th 1/24) -1/2) (fma.f64 -1/720 (pow.f64 th 6) 1)) |
Compiled 3237 to 1810 computations (44.1% saved)
16 alts after pruning (16 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 172 | 16 | 188 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 173 | 16 | 189 |
| Status | Error | Program |
|---|---|---|
| ▶ | 0.4b | (*.f64 (*.f64 (pow.f64 2 -1/2) (cos.f64 th)) (fma.f64 a1 a1 (*.f64 a2 a2))) |
| ▶ | 26.9b | (*.f64 a1 (*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2)))) |
| 0.6b | (*.f64 (pow.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) -1) (fma.f64 a1 a1 (*.f64 a2 a2))) | |
| ▶ | 0.6b | (*.f64 (*.f64 (neg.f64 (cos.f64 th)) (/.f64 1 (neg.f64 (sqrt.f64 2)))) (fma.f64 a1 a1 (*.f64 a2 a2))) |
| 26.9b | (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) | |
| 30.3b | (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)) | |
| ▶ | 35.6b | (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (/.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))) |
| 0.5b | (/.f64 (pow.f64 (hypot.f64 a1 a2) 2) (/.f64 (sqrt.f64 2) (cos.f64 th))) | |
| 1.2b | (*.f64 (*.f64 (/.f64 1 (cbrt.f64 2)) (/.f64 (cos.f64 th) (pow.f64 2 1/6))) (fma.f64 a1 a1 (*.f64 a2 a2))) | |
| ▶ | 26.9b | (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) |
| 0.5b | (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) | |
| 30.4b | (*.f64 a2 (*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2)))) | |
| 0.5b | (/.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a1 a2) 2)) (pow.f64 2 1/4)) (pow.f64 2 1/4)) | |
| 27.0b | (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) | |
| 0.7b | (*.f64 (/.f64 (log.f64 (exp.f64 (cos.f64 th))) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2))) | |
| 30.4b | (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)) |
Compiled 494 to 368 computations (25.5% saved)
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| 0.0b | (cos.f64 th) | |
| 0.0b | (fma.f64 a1 a1 (*.f64 a2 a2)) | |
| ✓ | 0.2b | (*.f64 (pow.f64 2 -1/2) (cos.f64 th)) |
| ✓ | 0.4b | (*.f64 (*.f64 (pow.f64 2 -1/2) (cos.f64 th)) (fma.f64 a1 a1 (*.f64 a2 a2))) |
Compiled 41 to 20 computations (51.2% saved)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 3.0ms | th | @ | -inf | (*.f64 (*.f64 (pow.f64 2 -1/2) (cos.f64 th)) (fma.f64 a1 a1 (*.f64 a2 a2))) |
| 1.0ms | th | @ | 0 | (*.f64 (*.f64 (pow.f64 2 -1/2) (cos.f64 th)) (fma.f64 a1 a1 (*.f64 a2 a2))) |
| 1.0ms | th | @ | inf | (*.f64 (*.f64 (pow.f64 2 -1/2) (cos.f64 th)) (fma.f64 a1 a1 (*.f64 a2 a2))) |
| 1.0ms | th | @ | inf | (*.f64 (pow.f64 2 -1/2) (cos.f64 th)) |
| 1.0ms | a1 | @ | inf | (*.f64 (*.f64 (pow.f64 2 -1/2) (cos.f64 th)) (fma.f64 a1 a1 (*.f64 a2 a2))) |
| 1× | batch-egg-rewrite |
| 532× | log-prod_binary64 |
| 408× | exp-prod_binary64 |
| 373× | pow-prod-down_binary64 |
| 299× | pow2_binary64 |
| 208× | pow1/3_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 12 | 28 |
| 1 | 244 | 25 |
| 2 | 2791 | 25 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (*.f64 (pow.f64 2 -1/2) (cos.f64 th)) (fma.f64 a1 a1 (*.f64 a2 a2))) |
(*.f64 (pow.f64 2 -1/2) (cos.f64 th)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a1 a2) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 a1 a1) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) (*.f64 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (*.f64 a1 a1)) (*.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (*.f64 a2 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 a1 a2) 2)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 a1 a2) 2)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 a1 a2) 2)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 a1 a2) 2)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a1 a2) 2))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a1 a2) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/2 (pow.f64 (*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a1 a2) 2)) 2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (hypot.f64 a1 a2) (sqrt.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)))) 6) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a1 a2) 2)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (hypot.f64 a1 a2) (sqrt.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a1 a2) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a1 a2) 2))))) 2)) (cbrt.f64 (log.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a1 a2) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a1 a2) 2)))))) (sqrt.f64 (log.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a1 a2) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 1/2 (pow.f64 (*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a1 a2) 2)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 a1 a2) 2)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a1 a2) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (hypot.f64 a1 a2) (sqrt.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)))) 6))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a1 a2) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a1 a2) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a1 a2) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a1 a2) 2)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (hypot.f64 a1 a2) (sqrt.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)))) 6)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a1 a2) 2))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (hypot.f64 a1 a2) (sqrt.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a1 a2) 2)))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (*.f64 a1 a1) (*.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (*.f64 a2 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a1 a1) (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (*.f64 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 1/2) (cos.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 th)) (sqrt.f64 1/2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 th)) (sqrt.f64 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 th)) (sqrt.f64 1/2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 th)) (sqrt.f64 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (cos.f64 th) 2) 1/2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)))) 2)) (cbrt.f64 (log.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th))))) (sqrt.f64 (log.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (pow.f64 (cos.f64 th) 2) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (cos.f64 th)) (sqrt.f64 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th))) 1) 1)))))) |
| 1× | egg-herbie |
| 837× | distribute-rgt-in_binary64 |
| 820× | distribute-lft-in_binary64 |
| 502× | distribute-lft-out_binary64 |
| 488× | unswap-sqr_binary64 |
| 450× | associate-+l+_binary64 |
Useful iterations: 4 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 53 | 958 |
| 1 | 148 | 884 |
| 2 | 437 | 838 |
| 3 | 1876 | 810 |
| 4 | 5154 | 806 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (sqrt.f64 1/2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2))) |
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)))) (*.f64 (sqrt.f64 1/2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)))) |
(+.f64 (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 4)))) (+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)))) (*.f64 (sqrt.f64 1/2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2))))) |
(+.f64 (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 4)))) (+.f64 (*.f64 -1/720 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 6)))) (+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)))) (*.f64 (sqrt.f64 1/2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)))))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(sqrt.f64 1/2) |
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (pow.f64 th 2))) (sqrt.f64 1/2)) |
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (pow.f64 th 2))) (+.f64 (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (pow.f64 th 4))) (sqrt.f64 1/2))) |
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (pow.f64 th 2))) (+.f64 (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (pow.f64 th 4))) (+.f64 (sqrt.f64 1/2) (*.f64 -1/720 (*.f64 (sqrt.f64 1/2) (pow.f64 th 6)))))) |
(*.f64 (sqrt.f64 1/2) (cos.f64 th)) |
(*.f64 (sqrt.f64 1/2) (cos.f64 th)) |
(*.f64 (sqrt.f64 1/2) (cos.f64 th)) |
(*.f64 (sqrt.f64 1/2) (cos.f64 th)) |
(*.f64 (sqrt.f64 1/2) (cos.f64 th)) |
(*.f64 (sqrt.f64 1/2) (cos.f64 th)) |
(*.f64 (sqrt.f64 1/2) (cos.f64 th)) |
(*.f64 (sqrt.f64 1/2) (cos.f64 th)) |
| Outputs |
|---|
(*.f64 (sqrt.f64 1/2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2))) |
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) |
(*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))) |
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)))) (*.f64 (sqrt.f64 1/2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)))) |
(fma.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (*.f64 th th))) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))) |
(fma.f64 -1/2 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (*.f64 th th))) (*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1)))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (+.f64 (*.f64 -1/2 (*.f64 th th)) 1) (sqrt.f64 1/2))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 (*.f64 th th))))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (fma.f64 (sqrt.f64 1/2) (*.f64 -1/2 (*.f64 th th)) (sqrt.f64 1/2))) |
(+.f64 (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 4)))) (+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)))) (*.f64 (sqrt.f64 1/2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2))))) |
(fma.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (pow.f64 th 4))) (fma.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (*.f64 th th))) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))))) |
(fma.f64 1/24 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (pow.f64 th 4))) (fma.f64 -1/2 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (*.f64 th th))) (*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))))) |
(fma.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (*.f64 th th)) (*.f64 1/24 (pow.f64 th 4)))))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (+.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 1/24 (pow.f64 th 4))))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (+.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 1/24 (pow.f64 th 4))))) |
(+.f64 (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 4)))) (+.f64 (*.f64 -1/720 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 6)))) (+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)))) (*.f64 (sqrt.f64 1/2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)))))) |
(fma.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (pow.f64 th 4))) (fma.f64 -1/720 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (pow.f64 th 6))) (fma.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (*.f64 th th))) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))))) |
(fma.f64 1/24 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (pow.f64 th 4))) (fma.f64 -1/720 (*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (pow.f64 th 6))) (fma.f64 -1/2 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (*.f64 th th))) (*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1)))))) |
(+.f64 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (*.f64 th th)) (*.f64 1/24 (pow.f64 th 4))))) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (+.f64 (*.f64 -1/720 (pow.f64 th 6)) 1) (sqrt.f64 1/2)))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (+.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 1/2) (+.f64 (+.f64 (*.f64 1/24 (pow.f64 th 4)) (*.f64 -1/720 (pow.f64 th 6))) (*.f64 -1/2 (*.f64 th th)))))) |
(*.f64 (*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))) (+.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (+.f64 (*.f64 1/24 (pow.f64 th 4)) (*.f64 -1/720 (pow.f64 th 6))))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) |
(*.f64 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a1 a1) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a1 (*.f64 a1 (cos.f64 th)))) |
(*.f64 a1 (*.f64 a1 (*.f64 (sqrt.f64 1/2) (cos.f64 th)))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a1 a1) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a1 (*.f64 a1 (cos.f64 th)))) |
(*.f64 a1 (*.f64 a1 (*.f64 (sqrt.f64 1/2) (cos.f64 th)))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a1 a1) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a1 (*.f64 a1 (cos.f64 th)))) |
(*.f64 a1 (*.f64 a1 (*.f64 (sqrt.f64 1/2) (cos.f64 th)))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) |
(*.f64 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) |
(*.f64 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))) |
(sqrt.f64 1/2) |
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (pow.f64 th 2))) (sqrt.f64 1/2)) |
(fma.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 th th)) (sqrt.f64 1/2)) |
(*.f64 (+.f64 (*.f64 -1/2 (*.f64 th th)) 1) (sqrt.f64 1/2)) |
(*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 (*.f64 th th)))) |
(fma.f64 (sqrt.f64 1/2) (*.f64 -1/2 (*.f64 th th)) (sqrt.f64 1/2)) |
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (pow.f64 th 2))) (+.f64 (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (pow.f64 th 4))) (sqrt.f64 1/2))) |
(fma.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 th th)) (fma.f64 1/24 (*.f64 (sqrt.f64 1/2) (pow.f64 th 4)) (sqrt.f64 1/2))) |
(+.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (*.f64 th th)) (*.f64 1/24 (pow.f64 th 4))))) |
(*.f64 (sqrt.f64 1/2) (+.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 1/24 (pow.f64 th 4)))) |
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (pow.f64 th 2))) (+.f64 (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (pow.f64 th 4))) (+.f64 (sqrt.f64 1/2) (*.f64 -1/720 (*.f64 (sqrt.f64 1/2) (pow.f64 th 6)))))) |
(fma.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 th th)) (fma.f64 1/24 (*.f64 (sqrt.f64 1/2) (pow.f64 th 4)) (+.f64 (sqrt.f64 1/2) (*.f64 -1/720 (*.f64 (sqrt.f64 1/2) (pow.f64 th 6)))))) |
(fma.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 th th)) (fma.f64 1/24 (*.f64 (sqrt.f64 1/2) (pow.f64 th 4)) (fma.f64 -1/720 (*.f64 (sqrt.f64 1/2) (pow.f64 th 6)) (sqrt.f64 1/2)))) |
(+.f64 (fma.f64 (sqrt.f64 1/2) (*.f64 1/24 (pow.f64 th 4)) (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/720 (pow.f64 th 6)) (*.f64 -1/2 (*.f64 th th))))) |
(+.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 1/2) (+.f64 (+.f64 (*.f64 1/24 (pow.f64 th 4)) (*.f64 -1/720 (pow.f64 th 6))) (*.f64 -1/2 (*.f64 th th))))) |
(*.f64 (sqrt.f64 1/2) (+.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (+.f64 (*.f64 1/24 (pow.f64 th 4)) (*.f64 -1/720 (pow.f64 th 6))))) |
(*.f64 (sqrt.f64 1/2) (cos.f64 th)) |
(*.f64 (sqrt.f64 1/2) (cos.f64 th)) |
(*.f64 (sqrt.f64 1/2) (cos.f64 th)) |
(*.f64 (sqrt.f64 1/2) (cos.f64 th)) |
(*.f64 (sqrt.f64 1/2) (cos.f64 th)) |
(*.f64 (sqrt.f64 1/2) (cos.f64 th)) |
(*.f64 (sqrt.f64 1/2) (cos.f64 th)) |
(*.f64 (sqrt.f64 1/2) (cos.f64 th)) |
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| 0.0b | (cos.f64 th) | |
| ✓ | 0.2b | (*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2))) |
| ✓ | 0.2b | (*.f64 a1 (*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2)))) |
| ✓ | 0.4b | (/.f64 a1 (sqrt.f64 2)) |
Compiled 30 to 19 computations (36.7% saved)
15 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 3.0ms | a1 | @ | -inf | (*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2))) |
| 3.0ms | th | @ | 0 | (*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2))) |
| 1.0ms | a1 | @ | 0 | (*.f64 a1 (*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2)))) |
| 1.0ms | th | @ | inf | (*.f64 a1 (*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2)))) |
| 1.0ms | th | @ | -inf | (*.f64 a1 (*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2)))) |
| 1× | batch-egg-rewrite |
| 946× | pow1_binary64 |
| 876× | add-log-exp_binary64 |
| 876× | log1p-expm1-u_binary64 |
| 876× | expm1-log1p-u_binary64 |
| 856× | add-exp-log_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 31 |
| 1 | 188 | 31 |
| 2 | 2391 | 31 |
| 1× | node limit |
| Inputs |
|---|
(/.f64 a1 (sqrt.f64 2)) |
(*.f64 a1 (*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2)))) |
(*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 a1 (sqrt.f64 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 a1 (pow.f64 2 -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a1 (sqrt.f64 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 a1 (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 a1 (sqrt.f64 2))) (cbrt.f64 (/.f64 (*.f64 a1 a1) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 a1 a1) 2)) (cbrt.f64 (/.f64 a1 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 a1) 2) (*.f64 (cbrt.f64 a1) (pow.f64 2 -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 a1 (sqrt.f64 2))) (sqrt.f64 (/.f64 a1 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 a1) (*.f64 (sqrt.f64 a1) (pow.f64 2 -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 a1) (/.f64 1 (neg.f64 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 2 -1/2) a1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 a1) 2) 1) (/.f64 (cbrt.f64 a1) (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 a1) 1) (/.f64 (sqrt.f64 a1) (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 2)) (/.f64 a1 (cbrt.f64 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 a1) 2) (cbrt.f64 2)) (cbrt.f64 (/.f64 a1 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 a1) (cbrt.f64 2)) (/.f64 (sqrt.f64 a1) (cbrt.f64 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 2 1/4)) (/.f64 a1 (pow.f64 2 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 a1) 2) (pow.f64 2 1/4)) (/.f64 (cbrt.f64 a1) (pow.f64 2 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 a1 (sqrt.f64 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 a1 (sqrt.f64 2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 a1 (sqrt.f64 2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 a1 (sqrt.f64 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 2) a1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 a1 (neg.f64 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 (*.f64 a1 a1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 a1 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 a1 (sqrt.f64 2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 a1 3) (*.f64 2 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 a1 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 a1 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 a1 (sqrt.f64 2)))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 a1 (/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a1 (cos.f64 th)) (/.f64 (sqrt.f64 2) a1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a1 (*.f64 a1 (cos.f64 th))) (sqrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 a1 (cos.f64 th)) a1) (sqrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 a1 (cos.f64 th)) 1) (/.f64 (sqrt.f64 2) a1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 a1 (cos.f64 th)) (neg.f64 a1)) (neg.f64 (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 a1 (/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 a1 (/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 a1 (/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 a1 (/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 a1 (/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 a1) (/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 a1 (/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 a1 3) (pow.f64 (/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2)) 3) (pow.f64 a1 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 a1 (/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 a1 (/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 a1 (/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2))))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) a1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (sqrt.f64 2) (*.f64 a1 (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 a1 (cos.f64 th))) (neg.f64 (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 a1 (cos.f64 th)) 1) (sqrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 a1 (cos.f64 th)) (cbrt.f64 2)) (cbrt.f64 (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 a1 (cos.f64 th)) (pow.f64 2 1/4)) (pow.f64 2 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 a1) (cos.f64 th)) (neg.f64 (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 th) (neg.f64 a1)) (neg.f64 (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (/.f64 a1 (sqrt.f64 2))) (cos.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (/.f64 a1 (sqrt.f64 2)) 3) (pow.f64 (cos.f64 th) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (cos.f64 th) 3) (pow.f64 (/.f64 a1 (sqrt.f64 2)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2)))))))) |
| 1× | egg-herbie |
| 1035× | unswap-sqr_binary64 |
| 984× | associate-*l/_binary64 |
| 937× | fma-def_binary64 |
| 537× | associate-/l*_binary64 |
| 465× | *-commutative_binary64 |
Useful iterations: 5 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 50 | 760 |
| 1 | 133 | 758 |
| 2 | 346 | 758 |
| 3 | 1127 | 732 |
| 4 | 3586 | 698 |
| 5 | 5164 | 678 |
| 6 | 5340 | 678 |
| 7 | 5550 | 678 |
| 8 | 5765 | 678 |
| 9 | 5969 | 678 |
| 1× | node limit |
| Inputs |
|---|
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (pow.f64 a1 2) (sqrt.f64 2)) |
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))) |
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 4)) (sqrt.f64 2))) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))) |
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (+.f64 (*.f64 -1/720 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 6)) (sqrt.f64 2))) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 4)) (sqrt.f64 2))) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))))) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 a1 (sqrt.f64 2)) |
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 a1 (pow.f64 th 2)) (sqrt.f64 2))) (/.f64 a1 (sqrt.f64 2))) |
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 a1 (pow.f64 th 2)) (sqrt.f64 2))) (+.f64 (*.f64 1/24 (/.f64 (*.f64 a1 (pow.f64 th 4)) (sqrt.f64 2))) (/.f64 a1 (sqrt.f64 2)))) |
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 a1 (pow.f64 th 2)) (sqrt.f64 2))) (+.f64 (*.f64 1/24 (/.f64 (*.f64 a1 (pow.f64 th 4)) (sqrt.f64 2))) (+.f64 (/.f64 a1 (sqrt.f64 2)) (*.f64 -1/720 (/.f64 (*.f64 a1 (pow.f64 th 6)) (sqrt.f64 2)))))) |
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2)) |
| Outputs |
|---|
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2)) a1) |
(*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 a1 (*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2)))) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2)) a1) |
(*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 a1 (*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2)))) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2)) a1) |
(*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 a1 (*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2)))) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2)) a1) |
(*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 a1 (*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2)))) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2)) a1) |
(*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 a1 (*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2)))) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2)) a1) |
(*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 a1 (*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2)))) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2)) a1) |
(*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 a1 (*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2)))) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2)) a1) |
(*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 a1 (*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2)))) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2)) a1) |
(*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 a1 (*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2)))) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2)) a1) |
(*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 a1 (*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2)))) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2)) a1) |
(*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 a1 (*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2)))) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2)) a1) |
(*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 a1 (*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2)))) |
(/.f64 (pow.f64 a1 2) (sqrt.f64 2)) |
(/.f64 (*.f64 a1 a1) (sqrt.f64 2)) |
(*.f64 (/.f64 a1 (sqrt.f64 2)) a1) |
(*.f64 a1 (/.f64 a1 (sqrt.f64 2))) |
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))) |
(fma.f64 -1/2 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (*.f64 th th))) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) |
(fma.f64 -1/2 (*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (*.f64 th th)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) |
(fma.f64 -1/2 (*.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (*.f64 th th)) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1)) |
(fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (*.f64 (*.f64 -1/2 (/.f64 a1 (sqrt.f64 2))) (*.f64 a1 (*.f64 th th)))) |
(*.f64 a1 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 th th)) 1) (/.f64 a1 (sqrt.f64 2)))) |
(*.f64 a1 (*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (/.f64 a1 (sqrt.f64 2)))) |
(*.f64 a1 (*.f64 (/.f64 a1 (sqrt.f64 2)) (+.f64 1 (*.f64 -1/2 (*.f64 th th))))) |
(*.f64 a1 (*.f64 (/.f64 a1 (sqrt.f64 2)) (+.f64 1 (*.f64 th (*.f64 th -1/2))))) |
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 4)) (sqrt.f64 2))) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))) |
(fma.f64 -1/2 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (*.f64 th th))) (fma.f64 1/24 (/.f64 (*.f64 (*.f64 a1 a1) (pow.f64 th 4)) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))) |
(fma.f64 -1/2 (*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (*.f64 th th)) (fma.f64 1/24 (*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (pow.f64 th 4)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))) |
(fma.f64 -1/2 (*.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (*.f64 th th)) (fma.f64 1/24 (*.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (pow.f64 th 4)) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))) |
(fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (+.f64 (*.f64 -1/2 (*.f64 th th)) (*.f64 1/24 (pow.f64 th 4))))) |
(fma.f64 a1 (/.f64 a1 (sqrt.f64 2)) (*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (fma.f64 th (*.f64 th -1/2) (*.f64 1/24 (pow.f64 th 4))))) |
(*.f64 (+.f64 (fma.f64 th (*.f64 th -1/2) (*.f64 1/24 (pow.f64 th 4))) 1) (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) |
(*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (+.f64 1 (fma.f64 th (*.f64 th -1/2) (*.f64 1/24 (pow.f64 th 4))))) |
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (+.f64 (*.f64 -1/720 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 6)) (sqrt.f64 2))) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 4)) (sqrt.f64 2))) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))))) |
(fma.f64 -1/2 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (*.f64 th th))) (fma.f64 -1/720 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (pow.f64 th 6))) (fma.f64 1/24 (/.f64 (*.f64 (*.f64 a1 a1) (pow.f64 th 4)) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))))) |
(fma.f64 -1/2 (*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (*.f64 th th)) (fma.f64 -1/720 (*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (pow.f64 th 6)) (fma.f64 1/24 (*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (pow.f64 th 4)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))))) |
(fma.f64 -1/2 (*.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (*.f64 th th)) (fma.f64 1/24 (*.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (pow.f64 th 4)) (fma.f64 -1/720 (*.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (pow.f64 th 6)) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1)))) |
(fma.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (*.f64 -1/720 (pow.f64 th 6)) (fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (+.f64 (*.f64 -1/2 (*.f64 th th)) (*.f64 1/24 (pow.f64 th 4)))))) |
(fma.f64 a1 (/.f64 a1 (sqrt.f64 2)) (*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (+.f64 (*.f64 -1/2 (*.f64 th th)) (fma.f64 1/24 (pow.f64 th 4) (*.f64 -1/720 (pow.f64 th 6)))))) |
(*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (+.f64 (+.f64 1 (*.f64 1/24 (pow.f64 th 4))) (fma.f64 th (*.f64 th -1/2) (*.f64 -1/720 (pow.f64 th 6))))) |
(*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (+.f64 1 (+.f64 (*.f64 -1/2 (*.f64 th th)) (fma.f64 1/24 (pow.f64 th 4) (*.f64 -1/720 (pow.f64 th 6)))))) |
(*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (+.f64 1 (+.f64 (*.f64 1/24 (pow.f64 th 4)) (fma.f64 th (*.f64 th -1/2) (*.f64 -1/720 (pow.f64 th 6)))))) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2)) a1) |
(*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 a1 (*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2)))) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2)) a1) |
(*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 a1 (*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2)))) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2)) a1) |
(*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 a1 (*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2)))) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2)) a1) |
(*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 a1 (*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2)))) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2)) a1) |
(*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 a1 (*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2)))) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2)) a1) |
(*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 a1 (*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2)))) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2)) a1) |
(*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 a1 (*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2)))) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2)) a1) |
(*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 a1 (*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2)))) |
(/.f64 a1 (sqrt.f64 2)) |
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 a1 (pow.f64 th 2)) (sqrt.f64 2))) (/.f64 a1 (sqrt.f64 2))) |
(fma.f64 -1/2 (/.f64 a1 (/.f64 (sqrt.f64 2) (*.f64 th th))) (/.f64 a1 (sqrt.f64 2))) |
(fma.f64 -1/2 (*.f64 (/.f64 a1 (sqrt.f64 2)) (*.f64 th th)) (/.f64 a1 (sqrt.f64 2))) |
(fma.f64 -1/2 (*.f64 (*.f64 th th) (/.f64 a1 (sqrt.f64 2))) (/.f64 a1 (sqrt.f64 2))) |
(fma.f64 (/.f64 a1 (sqrt.f64 2)) (*.f64 -1/2 (*.f64 th th)) (/.f64 a1 (sqrt.f64 2))) |
(*.f64 (+.f64 (*.f64 -1/2 (*.f64 th th)) 1) (/.f64 a1 (sqrt.f64 2))) |
(*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (/.f64 a1 (sqrt.f64 2))) |
(*.f64 (/.f64 a1 (sqrt.f64 2)) (+.f64 1 (*.f64 -1/2 (*.f64 th th)))) |
(*.f64 (/.f64 a1 (sqrt.f64 2)) (+.f64 1 (*.f64 th (*.f64 th -1/2)))) |
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 a1 (pow.f64 th 2)) (sqrt.f64 2))) (+.f64 (*.f64 1/24 (/.f64 (*.f64 a1 (pow.f64 th 4)) (sqrt.f64 2))) (/.f64 a1 (sqrt.f64 2)))) |
(fma.f64 -1/2 (/.f64 a1 (/.f64 (sqrt.f64 2) (*.f64 th th))) (fma.f64 1/24 (/.f64 (*.f64 a1 (pow.f64 th 4)) (sqrt.f64 2)) (/.f64 a1 (sqrt.f64 2)))) |
(fma.f64 -1/2 (*.f64 (/.f64 a1 (sqrt.f64 2)) (*.f64 th th)) (fma.f64 1/24 (*.f64 (/.f64 a1 (sqrt.f64 2)) (pow.f64 th 4)) (/.f64 a1 (sqrt.f64 2)))) |
(fma.f64 -1/2 (*.f64 (*.f64 th th) (/.f64 a1 (sqrt.f64 2))) (fma.f64 1/24 (*.f64 (pow.f64 th 4) (/.f64 a1 (sqrt.f64 2))) (/.f64 a1 (sqrt.f64 2)))) |
(+.f64 (/.f64 a1 (sqrt.f64 2)) (*.f64 (/.f64 a1 (sqrt.f64 2)) (+.f64 (*.f64 -1/2 (*.f64 th th)) (*.f64 1/24 (pow.f64 th 4))))) |
(fma.f64 (/.f64 a1 (sqrt.f64 2)) (fma.f64 th (*.f64 th -1/2) (*.f64 1/24 (pow.f64 th 4))) (/.f64 a1 (sqrt.f64 2))) |
(*.f64 (+.f64 (fma.f64 th (*.f64 th -1/2) (*.f64 1/24 (pow.f64 th 4))) 1) (/.f64 a1 (sqrt.f64 2))) |
(*.f64 (/.f64 a1 (sqrt.f64 2)) (+.f64 1 (fma.f64 th (*.f64 th -1/2) (*.f64 1/24 (pow.f64 th 4))))) |
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 a1 (pow.f64 th 2)) (sqrt.f64 2))) (+.f64 (*.f64 1/24 (/.f64 (*.f64 a1 (pow.f64 th 4)) (sqrt.f64 2))) (+.f64 (/.f64 a1 (sqrt.f64 2)) (*.f64 -1/720 (/.f64 (*.f64 a1 (pow.f64 th 6)) (sqrt.f64 2)))))) |
(fma.f64 -1/2 (/.f64 a1 (/.f64 (sqrt.f64 2) (*.f64 th th))) (+.f64 (fma.f64 1/24 (/.f64 (*.f64 a1 (pow.f64 th 4)) (sqrt.f64 2)) (/.f64 a1 (sqrt.f64 2))) (*.f64 -1/720 (/.f64 a1 (/.f64 (sqrt.f64 2) (pow.f64 th 6)))))) |
(fma.f64 -1/2 (*.f64 (/.f64 a1 (sqrt.f64 2)) (*.f64 th th)) (fma.f64 1/24 (*.f64 (/.f64 a1 (sqrt.f64 2)) (pow.f64 th 4)) (fma.f64 -1/720 (*.f64 (/.f64 a1 (sqrt.f64 2)) (pow.f64 th 6)) (/.f64 a1 (sqrt.f64 2))))) |
(fma.f64 -1/2 (*.f64 (*.f64 th th) (/.f64 a1 (sqrt.f64 2))) (fma.f64 1/24 (*.f64 (pow.f64 th 4) (/.f64 a1 (sqrt.f64 2))) (fma.f64 -1/720 (*.f64 (pow.f64 th 6) (/.f64 a1 (sqrt.f64 2))) (/.f64 a1 (sqrt.f64 2))))) |
(+.f64 (fma.f64 (/.f64 a1 (sqrt.f64 2)) (*.f64 -1/2 (*.f64 th th)) (/.f64 a1 (sqrt.f64 2))) (*.f64 (/.f64 a1 (sqrt.f64 2)) (+.f64 (*.f64 1/24 (pow.f64 th 4)) (*.f64 -1/720 (pow.f64 th 6))))) |
(+.f64 (/.f64 a1 (sqrt.f64 2)) (*.f64 (/.f64 a1 (sqrt.f64 2)) (+.f64 (*.f64 -1/2 (*.f64 th th)) (fma.f64 1/24 (pow.f64 th 4) (*.f64 -1/720 (pow.f64 th 6)))))) |
(*.f64 (/.f64 a1 (sqrt.f64 2)) (+.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (fma.f64 1/24 (pow.f64 th 4) (*.f64 -1/720 (pow.f64 th 6))))) |
(*.f64 (/.f64 a1 (sqrt.f64 2)) (+.f64 1 (+.f64 (*.f64 -1/2 (*.f64 th th)) (fma.f64 1/24 (pow.f64 th 4) (*.f64 -1/720 (pow.f64 th 6)))))) |
(*.f64 (/.f64 a1 (sqrt.f64 2)) (+.f64 1 (+.f64 (*.f64 1/24 (pow.f64 th 4)) (fma.f64 th (*.f64 th -1/2) (*.f64 -1/720 (pow.f64 th 6)))))) |
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 a1 (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 a1 (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2))) |
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 a1 (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 a1 (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2))) |
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 a1 (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 a1 (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2))) |
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 a1 (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 a1 (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2))) |
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 a1 (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 a1 (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2))) |
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 a1 (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 a1 (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2))) |
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 a1 (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 a1 (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2))) |
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 a1 (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 a1 (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2))) |
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 a1 (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 a1 (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2))) |
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 a1 (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 a1 (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2))) |
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 a1 (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 a1 (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2))) |
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 a1 (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 a1 (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2))) |
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 a1 (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 a1 (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2))) |
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 a1 (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 a1 (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2))) |
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 a1 (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 a1 (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2))) |
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 a1 (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 a1 (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2))) |
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 a1 (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 a1 (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2))) |
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 a1 (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 a1 (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2))) |
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 a1 (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 a1 (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2))) |
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 a1 (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 a1 (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2))) |
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.4b | (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) |
Compiled 26 to 11 computations (57.7% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | a2 | @ | 0 | (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) |
| 1.0ms | a2 | @ | inf | (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) |
| 1.0ms | a2 | @ | -inf | (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) |
| 1.0ms | a1 | @ | 0 | (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) |
| 1.0ms | a1 | @ | inf | (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) |
| 1× | batch-egg-rewrite |
| 765× | pow1_binary64 |
| 708× | add-log-exp_binary64 |
| 708× | log1p-expm1-u_binary64 |
| 708× | expm1-log1p-u_binary64 |
| 691× | add-exp-log_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 13 |
| 1 | 164 | 12 |
| 2 | 1958 | 12 |
| 1× | node limit |
| Inputs |
|---|
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 (pow.f64 (hypot.f64 a2 a1) 2) (sqrt.f64 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (hypot.f64 a2 a1) 2) (pow.f64 2 -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (hypot.f64 a2 a1) 2) (sqrt.f64 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (pow.f64 (hypot.f64 a2 a1) 2) (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (pow.f64 (hypot.f64 a2 a1) 2) (sqrt.f64 2))) (cbrt.f64 (/.f64 (pow.f64 (pow.f64 (hypot.f64 a2 a1) 2) 2) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (pow.f64 (pow.f64 (hypot.f64 a2 a1) 2) 2) 2)) (cbrt.f64 (/.f64 (pow.f64 (hypot.f64 a2 a1) 2) (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (pow.f64 (hypot.f64 a2 a1) 2)) 2) (*.f64 (cbrt.f64 (pow.f64 (hypot.f64 a2 a1) 2)) (pow.f64 2 -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (hypot.f64 a2 a1) (pow.f64 2 1/4)) (/.f64 (hypot.f64 a2 a1) (pow.f64 2 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (hypot.f64 a2 a1) (*.f64 (hypot.f64 a2 a1) (pow.f64 2 -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 (hypot.f64 a2 a1) 2)) (/.f64 1 (neg.f64 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 2 -1/2) (pow.f64 (hypot.f64 a2 a1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (pow.f64 (hypot.f64 a2 a1) 2)) 2) 1) (/.f64 (cbrt.f64 (pow.f64 (hypot.f64 a2 a1) 2)) (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (hypot.f64 a2 a1) 1) (/.f64 (hypot.f64 a2 a1) (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 2)) (/.f64 (pow.f64 (hypot.f64 a2 a1) 2) (cbrt.f64 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (pow.f64 (hypot.f64 a2 a1) 2)) 2) (cbrt.f64 2)) (cbrt.f64 (/.f64 (pow.f64 (hypot.f64 a2 a1) 2) (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (hypot.f64 a2 a1) (cbrt.f64 2)) (/.f64 (hypot.f64 a2 a1) (cbrt.f64 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 2 1/4)) (/.f64 (pow.f64 (hypot.f64 a2 a1) 2) (pow.f64 2 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (pow.f64 (hypot.f64 a2 a1) 2)) 2) (pow.f64 2 1/4)) (/.f64 (cbrt.f64 (pow.f64 (hypot.f64 a2 a1) 2)) (pow.f64 2 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (hypot.f64 a2 a1) 2) (sqrt.f64 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (pow.f64 (hypot.f64 a2 a1) 2) (sqrt.f64 2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (pow.f64 (hypot.f64 a2 a1) 2) (sqrt.f64 2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (hypot.f64 a2 a1) (pow.f64 2 1/4)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 2) (pow.f64 (hypot.f64 a2 a1) 2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (pow.f64 (hypot.f64 a2 a1) 2) (neg.f64 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 (pow.f64 (pow.f64 (hypot.f64 a2 a1) 2) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (pow.f64 (hypot.f64 a2 a1) 2) (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (pow.f64 (hypot.f64 a2 a1) 2) (sqrt.f64 2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (pow.f64 (hypot.f64 a2 a1) 2) 3) (*.f64 2 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (pow.f64 (hypot.f64 a2 a1) 2) (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (pow.f64 (hypot.f64 a2 a1) 2) (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (pow.f64 (hypot.f64 a2 a1) 2) (sqrt.f64 2)))))))) |
| 1× | egg-herbie |
| 780× | associate-/r/_binary64 |
| 600× | associate-/l/_binary64 |
| 600× | sqr-pow_binary64 |
| 566× | *-commutative_binary64 |
| 372× | cube-prod_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 414 |
| 1 | 19 | 414 |
| 2 | 32 | 414 |
| 3 | 62 | 378 |
| 4 | 150 | 378 |
| 5 | 513 | 378 |
| 6 | 2172 | 378 |
| 7 | 3474 | 378 |
| 8 | 3900 | 378 |
| 9 | 4183 | 378 |
| 10 | 4528 | 378 |
| 11 | 5111 | 378 |
| 12 | 6228 | 378 |
| 13 | 7562 | 378 |
| 1× | node limit |
| Inputs |
|---|
(/.f64 (pow.f64 a1 2) (sqrt.f64 2)) |
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))) |
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))) |
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))) |
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))) |
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))) |
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))) |
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))) |
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))) |
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))) |
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))) |
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))) |
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))) |
(/.f64 (pow.f64 a1 2) (sqrt.f64 2)) |
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))) |
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))) |
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))) |
(/.f64 (pow.f64 a1 2) (sqrt.f64 2)) |
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))) |
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))) |
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))) |
| Outputs |
|---|
(/.f64 (pow.f64 a1 2) (sqrt.f64 2)) |
(/.f64 (*.f64 a1 a1) (sqrt.f64 2)) |
(/.f64 a1 (/.f64 (sqrt.f64 2) a1)) |
(*.f64 (/.f64 a1 (sqrt.f64 2)) a1) |
(*.f64 a1 (/.f64 a1 (sqrt.f64 2))) |
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (/.f64 (*.f64 a2 a2) (sqrt.f64 2))) |
(+.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (/.f64 a2 (/.f64 (sqrt.f64 2) a2))) |
(+.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (/.f64 a2 (/.f64 (sqrt.f64 2) a2))) |
(fma.f64 (/.f64 a2 (sqrt.f64 2)) a2 (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) |
(fma.f64 a2 (/.f64 a2 (sqrt.f64 2)) (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) |
(fma.f64 a2 (/.f64 a2 (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) |
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (/.f64 (*.f64 a2 a2) (sqrt.f64 2))) |
(+.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (/.f64 a2 (/.f64 (sqrt.f64 2) a2))) |
(+.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (/.f64 a2 (/.f64 (sqrt.f64 2) a2))) |
(fma.f64 (/.f64 a2 (sqrt.f64 2)) a2 (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) |
(fma.f64 a2 (/.f64 a2 (sqrt.f64 2)) (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) |
(fma.f64 a2 (/.f64 a2 (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) |
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (/.f64 (*.f64 a2 a2) (sqrt.f64 2))) |
(+.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (/.f64 a2 (/.f64 (sqrt.f64 2) a2))) |
(+.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (/.f64 a2 (/.f64 (sqrt.f64 2) a2))) |
(fma.f64 (/.f64 a2 (sqrt.f64 2)) a2 (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) |
(fma.f64 a2 (/.f64 a2 (sqrt.f64 2)) (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) |
(fma.f64 a2 (/.f64 a2 (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) |
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
(/.f64 (*.f64 a2 a2) (sqrt.f64 2)) |
(/.f64 a2 (/.f64 (sqrt.f64 2) a2)) |
(*.f64 a2 (/.f64 a2 (sqrt.f64 2))) |
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (/.f64 (*.f64 a2 a2) (sqrt.f64 2))) |
(+.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (/.f64 a2 (/.f64 (sqrt.f64 2) a2))) |
(+.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (/.f64 a2 (/.f64 (sqrt.f64 2) a2))) |
(fma.f64 (/.f64 a2 (sqrt.f64 2)) a2 (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) |
(fma.f64 a2 (/.f64 a2 (sqrt.f64 2)) (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) |
(fma.f64 a2 (/.f64 a2 (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) |
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (/.f64 (*.f64 a2 a2) (sqrt.f64 2))) |
(+.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (/.f64 a2 (/.f64 (sqrt.f64 2) a2))) |
(+.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (/.f64 a2 (/.f64 (sqrt.f64 2) a2))) |
(fma.f64 (/.f64 a2 (sqrt.f64 2)) a2 (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) |
(fma.f64 a2 (/.f64 a2 (sqrt.f64 2)) (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) |
(fma.f64 a2 (/.f64 a2 (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) |
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (/.f64 (*.f64 a2 a2) (sqrt.f64 2))) |
(+.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (/.f64 a2 (/.f64 (sqrt.f64 2) a2))) |
(+.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (/.f64 a2 (/.f64 (sqrt.f64 2) a2))) |
(fma.f64 (/.f64 a2 (sqrt.f64 2)) a2 (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) |
(fma.f64 a2 (/.f64 a2 (sqrt.f64 2)) (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) |
(fma.f64 a2 (/.f64 a2 (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) |
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
(/.f64 (*.f64 a2 a2) (sqrt.f64 2)) |
(/.f64 a2 (/.f64 (sqrt.f64 2) a2)) |
(*.f64 a2 (/.f64 a2 (sqrt.f64 2))) |
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (/.f64 (*.f64 a2 a2) (sqrt.f64 2))) |
(+.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (/.f64 a2 (/.f64 (sqrt.f64 2) a2))) |
(+.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (/.f64 a2 (/.f64 (sqrt.f64 2) a2))) |
(fma.f64 (/.f64 a2 (sqrt.f64 2)) a2 (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) |
(fma.f64 a2 (/.f64 a2 (sqrt.f64 2)) (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) |
(fma.f64 a2 (/.f64 a2 (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) |
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (/.f64 (*.f64 a2 a2) (sqrt.f64 2))) |
(+.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (/.f64 a2 (/.f64 (sqrt.f64 2) a2))) |
(+.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (/.f64 a2 (/.f64 (sqrt.f64 2) a2))) |
(fma.f64 (/.f64 a2 (sqrt.f64 2)) a2 (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) |
(fma.f64 a2 (/.f64 a2 (sqrt.f64 2)) (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) |
(fma.f64 a2 (/.f64 a2 (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) |
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (/.f64 (*.f64 a2 a2) (sqrt.f64 2))) |
(+.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (/.f64 a2 (/.f64 (sqrt.f64 2) a2))) |
(+.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (/.f64 a2 (/.f64 (sqrt.f64 2) a2))) |
(fma.f64 (/.f64 a2 (sqrt.f64 2)) a2 (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) |
(fma.f64 a2 (/.f64 a2 (sqrt.f64 2)) (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) |
(fma.f64 a2 (/.f64 a2 (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) |
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
(/.f64 (*.f64 a2 a2) (sqrt.f64 2)) |
(/.f64 a2 (/.f64 (sqrt.f64 2) a2)) |
(*.f64 a2 (/.f64 a2 (sqrt.f64 2))) |
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (/.f64 (*.f64 a2 a2) (sqrt.f64 2))) |
(+.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (/.f64 a2 (/.f64 (sqrt.f64 2) a2))) |
(+.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (/.f64 a2 (/.f64 (sqrt.f64 2) a2))) |
(fma.f64 (/.f64 a2 (sqrt.f64 2)) a2 (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) |
(fma.f64 a2 (/.f64 a2 (sqrt.f64 2)) (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) |
(fma.f64 a2 (/.f64 a2 (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) |
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (/.f64 (*.f64 a2 a2) (sqrt.f64 2))) |
(+.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (/.f64 a2 (/.f64 (sqrt.f64 2) a2))) |
(+.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (/.f64 a2 (/.f64 (sqrt.f64 2) a2))) |
(fma.f64 (/.f64 a2 (sqrt.f64 2)) a2 (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) |
(fma.f64 a2 (/.f64 a2 (sqrt.f64 2)) (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) |
(fma.f64 a2 (/.f64 a2 (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) |
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (/.f64 (*.f64 a2 a2) (sqrt.f64 2))) |
(+.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (/.f64 a2 (/.f64 (sqrt.f64 2) a2))) |
(+.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (/.f64 a2 (/.f64 (sqrt.f64 2) a2))) |
(fma.f64 (/.f64 a2 (sqrt.f64 2)) a2 (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) |
(fma.f64 a2 (/.f64 a2 (sqrt.f64 2)) (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) |
(fma.f64 a2 (/.f64 a2 (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) |
(/.f64 (pow.f64 a1 2) (sqrt.f64 2)) |
(/.f64 (*.f64 a1 a1) (sqrt.f64 2)) |
(/.f64 a1 (/.f64 (sqrt.f64 2) a1)) |
(*.f64 (/.f64 a1 (sqrt.f64 2)) a1) |
(*.f64 a1 (/.f64 a1 (sqrt.f64 2))) |
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (/.f64 (*.f64 a2 a2) (sqrt.f64 2))) |
(+.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (/.f64 a2 (/.f64 (sqrt.f64 2) a2))) |
(+.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (/.f64 a2 (/.f64 (sqrt.f64 2) a2))) |
(fma.f64 (/.f64 a2 (sqrt.f64 2)) a2 (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) |
(fma.f64 a2 (/.f64 a2 (sqrt.f64 2)) (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) |
(fma.f64 a2 (/.f64 a2 (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) |
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (/.f64 (*.f64 a2 a2) (sqrt.f64 2))) |
(+.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (/.f64 a2 (/.f64 (sqrt.f64 2) a2))) |
(+.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (/.f64 a2 (/.f64 (sqrt.f64 2) a2))) |
(fma.f64 (/.f64 a2 (sqrt.f64 2)) a2 (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) |
(fma.f64 a2 (/.f64 a2 (sqrt.f64 2)) (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) |
(fma.f64 a2 (/.f64 a2 (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) |
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (/.f64 (*.f64 a2 a2) (sqrt.f64 2))) |
(+.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (/.f64 a2 (/.f64 (sqrt.f64 2) a2))) |
(+.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (/.f64 a2 (/.f64 (sqrt.f64 2) a2))) |
(fma.f64 (/.f64 a2 (sqrt.f64 2)) a2 (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) |
(fma.f64 a2 (/.f64 a2 (sqrt.f64 2)) (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) |
(fma.f64 a2 (/.f64 a2 (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) |
(/.f64 (pow.f64 a1 2) (sqrt.f64 2)) |
(/.f64 (*.f64 a1 a1) (sqrt.f64 2)) |
(/.f64 a1 (/.f64 (sqrt.f64 2) a1)) |
(*.f64 (/.f64 a1 (sqrt.f64 2)) a1) |
(*.f64 a1 (/.f64 a1 (sqrt.f64 2))) |
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (/.f64 (*.f64 a2 a2) (sqrt.f64 2))) |
(+.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (/.f64 a2 (/.f64 (sqrt.f64 2) a2))) |
(+.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (/.f64 a2 (/.f64 (sqrt.f64 2) a2))) |
(fma.f64 (/.f64 a2 (sqrt.f64 2)) a2 (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) |
(fma.f64 a2 (/.f64 a2 (sqrt.f64 2)) (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) |
(fma.f64 a2 (/.f64 a2 (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) |
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (/.f64 (*.f64 a2 a2) (sqrt.f64 2))) |
(+.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (/.f64 a2 (/.f64 (sqrt.f64 2) a2))) |
(+.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (/.f64 a2 (/.f64 (sqrt.f64 2) a2))) |
(fma.f64 (/.f64 a2 (sqrt.f64 2)) a2 (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) |
(fma.f64 a2 (/.f64 a2 (sqrt.f64 2)) (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) |
(fma.f64 a2 (/.f64 a2 (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) |
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (/.f64 (*.f64 a2 a2) (sqrt.f64 2))) |
(+.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (/.f64 a2 (/.f64 (sqrt.f64 2) a2))) |
(+.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (/.f64 a2 (/.f64 (sqrt.f64 2) a2))) |
(fma.f64 (/.f64 a2 (sqrt.f64 2)) a2 (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) |
(fma.f64 a2 (/.f64 a2 (sqrt.f64 2)) (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) |
(fma.f64 a2 (/.f64 a2 (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) |
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| 0.0b | (fma.f64 a1 a1 (*.f64 a2 a2)) | |
| ✓ | 0.2b | (*.f64 (neg.f64 (cos.f64 th)) (/.f64 1 (neg.f64 (sqrt.f64 2)))) |
| ✓ | 0.4b | (*.f64 (*.f64 (neg.f64 (cos.f64 th)) (/.f64 1 (neg.f64 (sqrt.f64 2)))) (fma.f64 a1 a1 (*.f64 a2 a2))) |
| ✓ | 1.0b | (/.f64 1 (neg.f64 (sqrt.f64 2))) |
Compiled 57 to 32 computations (43.9% saved)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | th | @ | 0 | (*.f64 (*.f64 (neg.f64 (cos.f64 th)) (/.f64 1 (neg.f64 (sqrt.f64 2)))) (fma.f64 a1 a1 (*.f64 a2 a2))) |
| 0.0ms | a2 | @ | -inf | (*.f64 (*.f64 (neg.f64 (cos.f64 th)) (/.f64 1 (neg.f64 (sqrt.f64 2)))) (fma.f64 a1 a1 (*.f64 a2 a2))) |
| 0.0ms | th | @ | 0 | (*.f64 (neg.f64 (cos.f64 th)) (/.f64 1 (neg.f64 (sqrt.f64 2)))) |
| 0.0ms | th | @ | inf | (*.f64 (*.f64 (neg.f64 (cos.f64 th)) (/.f64 1 (neg.f64 (sqrt.f64 2)))) (fma.f64 a1 a1 (*.f64 a2 a2))) |
| 0.0ms | a1 | @ | 0 | (*.f64 (*.f64 (neg.f64 (cos.f64 th)) (/.f64 1 (neg.f64 (sqrt.f64 2)))) (fma.f64 a1 a1 (*.f64 a2 a2))) |
| 3× | egg-rewrite-iter-limit |
| 3× | egg-rewrite |
| 1× | batch-egg-rewrite |
| 147× | add-sqr-sqrt_binary64 |
| 147× | add-sqr-sqrt_binary64 |
| 142× | *-un-lft-identity_binary64 |
| 142× | pow1_binary64 |
| 142× | *-un-lft-identity_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 15 | 42 |
| 1 | 304 | 42 |
| 2 | 4364 | 42 |
| 0 | 6 | 8 |
| 1 | 121 | 8 |
| 2 | 1447 | 8 |
| 0 | 6 | 8 |
| 0 | 15 | 22 |
| 1 | 304 | 22 |
| 2 | 4365 | 22 |
| 0 | 15 | 22 |
| 0 | 10 | 12 |
| 1 | 205 | 12 |
| 2 | 2793 | 12 |
| 0 | 10 | 12 |
| 1× | iter limit |
| 1× | unsound |
| 1× | iter limit |
| 1× | unsound |
| 1× | iter limit |
| 1× | unsound |
| 1× | unsound |
| Inputs |
|---|
(/.f64 1 (neg.f64 (sqrt.f64 2))) |
(*.f64 (*.f64 (neg.f64 (cos.f64 th)) (/.f64 1 (neg.f64 (sqrt.f64 2)))) (fma.f64 a1 a1 (*.f64 a2 a2))) |
(*.f64 (neg.f64 (cos.f64 th)) (/.f64 1 (neg.f64 (sqrt.f64 2)))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 1 (neg.f64 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (/.f64 1 (neg.f64 (sqrt.f64 2)))) (cbrt.f64 (/.f64 1 (neg.f64 (sqrt.f64 2))))) (cbrt.f64 (/.f64 1 (neg.f64 (sqrt.f64 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 1 (neg.f64 (sqrt.f64 2)))) (sqrt.f64 (/.f64 1 (neg.f64 (sqrt.f64 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (neg.f64 (sqrt.f64 2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (neg.f64 (sqrt.f64 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 1 (neg.f64 (sqrt.f64 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (*.f64 (/.f64 1 (neg.f64 (sqrt.f64 2))) (/.f64 1 (neg.f64 (sqrt.f64 2)))) (/.f64 1 (neg.f64 (sqrt.f64 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 1 (neg.f64 (sqrt.f64 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 1 (neg.f64 (sqrt.f64 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 1 (neg.f64 (sqrt.f64 2))))))))) |
((#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 (neg.f64 (cos.f64 th)) (neg.f64 (sqrt.f64 2))) (fma.f64 a1 a1 (*.f64 a2 a2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 (/.f64 (neg.f64 (cos.f64 th)) (neg.f64 (sqrt.f64 2))) (fma.f64 a1 a1 (*.f64 a2 a2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (*.f64 (*.f64 (/.f64 (neg.f64 (cos.f64 th)) (neg.f64 (sqrt.f64 2))) (fma.f64 a1 a1 (*.f64 a2 a2))) (*.f64 (/.f64 (neg.f64 (cos.f64 th)) (neg.f64 (sqrt.f64 2))) (fma.f64 a1 a1 (*.f64 a2 a2)))) (*.f64 (/.f64 (neg.f64 (cos.f64 th)) (neg.f64 (sqrt.f64 2))) (fma.f64 a1 a1 (*.f64 a2 a2)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (/.f64 (neg.f64 (cos.f64 th)) (neg.f64 (sqrt.f64 2))) (fma.f64 a1 a1 (*.f64 a2 a2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (/.f64 (neg.f64 (cos.f64 th)) (neg.f64 (sqrt.f64 2))) (fma.f64 a1 a1 (*.f64 a2 a2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (/.f64 (neg.f64 (cos.f64 th)) (neg.f64 (sqrt.f64 2))) (fma.f64 a1 a1 (*.f64 a2 a2))))))))) |
((#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (cos.f64 th)) (neg.f64 (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (cos.f64 th)) 1) (neg.f64 (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (neg.f64 (cos.f64 th)) (neg.f64 (sqrt.f64 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (cos.f64 th) (/.f64 1 (neg.f64 (sqrt.f64 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (neg.f64 (cos.f64 th)) (neg.f64 (sqrt.f64 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (*.f64 (/.f64 (neg.f64 (cos.f64 th)) (neg.f64 (sqrt.f64 2))) (/.f64 (neg.f64 (cos.f64 th)) (neg.f64 (sqrt.f64 2)))) (/.f64 (neg.f64 (cos.f64 th)) (neg.f64 (sqrt.f64 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (neg.f64 (cos.f64 th)) (neg.f64 (sqrt.f64 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (neg.f64 (cos.f64 th)) (neg.f64 (sqrt.f64 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (neg.f64 (cos.f64 th)) (neg.f64 (sqrt.f64 2))))))))) |
| 1× | egg-herbie |
| 821× | unswap-sqr_binary64 |
| 756× | associate-*l*_binary64 |
| 556× | associate-/l/_binary64 |
| 515× | fma-def_binary64 |
| 494× | distribute-rgt-in_binary64 |
Useful iterations: 4 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 60 | 989 |
| 1 | 146 | 921 |
| 2 | 373 | 917 |
| 3 | 1197 | 885 |
| 4 | 4393 | 870 |
| 1× | node limit |
| Inputs |
|---|
(/.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (sqrt.f64 2)) |
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (/.f64 (pow.f64 a1 2) (sqrt.f64 2)) (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)) (sqrt.f64 2))))) |
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (/.f64 (pow.f64 a1 2) (sqrt.f64 2)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)) (sqrt.f64 2))) (*.f64 1/24 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 4)) (sqrt.f64 2)))))) |
(+.f64 (*.f64 -1/720 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 6)) (sqrt.f64 2))) (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (/.f64 (pow.f64 a1 2) (sqrt.f64 2)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)) (sqrt.f64 2))) (*.f64 1/24 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 4)) (sqrt.f64 2))))))) |
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)) |
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))) |
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)) |
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))) |
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)) |
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))) |
(/.f64 1 (sqrt.f64 2)) |
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 th 2) (sqrt.f64 2))) (/.f64 1 (sqrt.f64 2))) |
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 th 2) (sqrt.f64 2))) (+.f64 (*.f64 1/24 (/.f64 (pow.f64 th 4) (sqrt.f64 2))) (/.f64 1 (sqrt.f64 2)))) |
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 th 2) (sqrt.f64 2))) (+.f64 (*.f64 -1/720 (/.f64 (pow.f64 th 6) (sqrt.f64 2))) (+.f64 (*.f64 1/24 (/.f64 (pow.f64 th 4) (sqrt.f64 2))) (/.f64 1 (sqrt.f64 2))))) |
(/.f64 (cos.f64 th) (sqrt.f64 2)) |
(/.f64 (cos.f64 th) (sqrt.f64 2)) |
(/.f64 (cos.f64 th) (sqrt.f64 2)) |
(/.f64 (cos.f64 th) (sqrt.f64 2)) |
(/.f64 (cos.f64 th) (sqrt.f64 2)) |
(/.f64 (cos.f64 th) (sqrt.f64 2)) |
(/.f64 (cos.f64 th) (sqrt.f64 2)) |
(/.f64 (cos.f64 th) (sqrt.f64 2)) |
| Outputs |
|---|
(/.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (sqrt.f64 2)) |
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (sqrt.f64 2)) |
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) |
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (/.f64 (pow.f64 a1 2) (sqrt.f64 2)) (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)) (sqrt.f64 2))))) |
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (*.f64 -1/2 (/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (*.f64 th th)))))) |
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (fma.f64 -1/2 (*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (*.f64 th th)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))) |
(+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (fma.f64 -1/2 (*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (*.f64 th th)) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))) |
(fma.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (*.f64 -1/2 (*.f64 th th)) (fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)))) |
(fma.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (*.f64 -1/2 (*.f64 th th)) (fma.f64 (/.f64 a2 (sqrt.f64 2)) a2 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))))) |
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (/.f64 (pow.f64 a1 2) (sqrt.f64 2)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)) (sqrt.f64 2))) (*.f64 1/24 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 4)) (sqrt.f64 2)))))) |
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (fma.f64 -1/2 (/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (*.f64 th th))) (*.f64 1/24 (/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (pow.f64 th 4)) (sqrt.f64 2)))))) |
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (+.f64 (fma.f64 -1/2 (*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (*.f64 th th)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) (/.f64 (*.f64 1/24 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (pow.f64 th 4))) (sqrt.f64 2)))) |
(+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (fma.f64 1/24 (*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (pow.f64 th 4)) (fma.f64 -1/2 (*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (*.f64 th th)) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1)))) |
(fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (fma.f64 (/.f64 a2 (sqrt.f64 2)) a2 (*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (+.f64 (*.f64 -1/2 (*.f64 th th)) (*.f64 1/24 (pow.f64 th 4)))))) |
(fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (fma.f64 (/.f64 a2 (sqrt.f64 2)) a2 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (*.f64 th (/.f64 th (sqrt.f64 2))) (+.f64 (*.f64 th (*.f64 th 1/24)) -1/2))))) |
(+.f64 (*.f64 -1/720 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 6)) (sqrt.f64 2))) (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (/.f64 (pow.f64 a1 2) (sqrt.f64 2)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)) (sqrt.f64 2))) (*.f64 1/24 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 4)) (sqrt.f64 2))))))) |
(fma.f64 -1/720 (/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (pow.f64 th 6))) (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (fma.f64 -1/2 (/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (*.f64 th th))) (*.f64 1/24 (/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (pow.f64 th 4)) (sqrt.f64 2))))))) |
(fma.f64 -1/720 (*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (pow.f64 th 6)) (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (+.f64 (fma.f64 -1/2 (*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (*.f64 th th)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) (/.f64 (*.f64 1/24 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (pow.f64 th 4))) (sqrt.f64 2))))) |
(+.f64 (fma.f64 1/24 (*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (pow.f64 th 4)) (fma.f64 -1/2 (*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (*.f64 th th)) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))) (fma.f64 -1/720 (/.f64 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (pow.f64 th 6)) (sqrt.f64 2)) (*.f64 (/.f64 a2 (sqrt.f64 2)) a2))) |
(fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (fma.f64 (/.f64 a2 (sqrt.f64 2)) a2 (fma.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (*.f64 1/24 (pow.f64 th 4)) (*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (+.f64 (*.f64 -1/720 (pow.f64 th 6)) (*.f64 -1/2 (*.f64 th th))))))) |
(fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (fma.f64 (/.f64 a2 (sqrt.f64 2)) a2 (*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (+.f64 (*.f64 -1/2 (*.f64 th th)) (+.f64 (*.f64 -1/720 (pow.f64 th 6)) (*.f64 1/24 (pow.f64 th 4))))))) |
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (cos.f64 th)) |
(*.f64 a2 (/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))) |
(*.f64 a2 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) a2))) |
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))) |
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))) |
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))) |
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 a1 (*.f64 (/.f64 a1 (sqrt.f64 2)) (cos.f64 th))) |
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))) |
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))) |
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))) |
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 a1 (*.f64 (/.f64 a1 (sqrt.f64 2)) (cos.f64 th))) |
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))) |
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))) |
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))) |
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 a1 (*.f64 (/.f64 a1 (sqrt.f64 2)) (cos.f64 th))) |
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))) |
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))) |
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))) |
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (cos.f64 th)) |
(*.f64 a2 (/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))) |
(*.f64 a2 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) a2))) |
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))) |
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))) |
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))) |
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (cos.f64 th)) |
(*.f64 a2 (/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))) |
(*.f64 a2 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) a2))) |
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))) |
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))) |
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))) |
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.f64 1 (sqrt.f64 2)) |
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 th 2) (sqrt.f64 2))) (/.f64 1 (sqrt.f64 2))) |
(fma.f64 -1/2 (/.f64 (*.f64 th th) (sqrt.f64 2)) (/.f64 1 (sqrt.f64 2))) |
(fma.f64 -1/2 (/.f64 th (/.f64 (sqrt.f64 2) th)) (/.f64 1 (sqrt.f64 2))) |
(fma.f64 -1/2 (*.f64 (/.f64 th (sqrt.f64 2)) th) (/.f64 1 (sqrt.f64 2))) |
(fma.f64 -1/2 (*.f64 th (/.f64 th (sqrt.f64 2))) (/.f64 1 (sqrt.f64 2))) |
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 th 2) (sqrt.f64 2))) (+.f64 (*.f64 1/24 (/.f64 (pow.f64 th 4) (sqrt.f64 2))) (/.f64 1 (sqrt.f64 2)))) |
(fma.f64 -1/2 (/.f64 (*.f64 th th) (sqrt.f64 2)) (fma.f64 1/24 (/.f64 (pow.f64 th 4) (sqrt.f64 2)) (/.f64 1 (sqrt.f64 2)))) |
(fma.f64 -1/2 (/.f64 th (/.f64 (sqrt.f64 2) th)) (fma.f64 1/24 (/.f64 (pow.f64 th 4) (sqrt.f64 2)) (/.f64 1 (sqrt.f64 2)))) |
(fma.f64 -1/2 (*.f64 (/.f64 th (sqrt.f64 2)) th) (fma.f64 1/24 (/.f64 (pow.f64 th 4) (sqrt.f64 2)) (/.f64 1 (sqrt.f64 2)))) |
(+.f64 (/.f64 1 (sqrt.f64 2)) (*.f64 (*.f64 th (/.f64 th (sqrt.f64 2))) (+.f64 (*.f64 th (*.f64 th 1/24)) -1/2))) |
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 th 2) (sqrt.f64 2))) (+.f64 (*.f64 -1/720 (/.f64 (pow.f64 th 6) (sqrt.f64 2))) (+.f64 (*.f64 1/24 (/.f64 (pow.f64 th 4) (sqrt.f64 2))) (/.f64 1 (sqrt.f64 2))))) |
(fma.f64 -1/2 (/.f64 (*.f64 th th) (sqrt.f64 2)) (fma.f64 -1/720 (/.f64 (pow.f64 th 6) (sqrt.f64 2)) (fma.f64 1/24 (/.f64 (pow.f64 th 4) (sqrt.f64 2)) (/.f64 1 (sqrt.f64 2))))) |
(fma.f64 -1/2 (/.f64 th (/.f64 (sqrt.f64 2) th)) (fma.f64 -1/720 (/.f64 (pow.f64 th 6) (sqrt.f64 2)) (fma.f64 1/24 (/.f64 (pow.f64 th 4) (sqrt.f64 2)) (/.f64 1 (sqrt.f64 2))))) |
(fma.f64 -1/2 (*.f64 (/.f64 th (sqrt.f64 2)) th) (fma.f64 1/24 (/.f64 (pow.f64 th 4) (sqrt.f64 2)) (fma.f64 -1/720 (/.f64 (pow.f64 th 6) (sqrt.f64 2)) (/.f64 1 (sqrt.f64 2))))) |
(fma.f64 -1/2 (/.f64 (*.f64 th th) (sqrt.f64 2)) (fma.f64 1/24 (/.f64 (pow.f64 th 4) (sqrt.f64 2)) (fma.f64 -1/720 (/.f64 (pow.f64 th 6) (sqrt.f64 2)) (/.f64 1 (sqrt.f64 2))))) |
(+.f64 (/.f64 1 (sqrt.f64 2)) (fma.f64 -1/720 (/.f64 (pow.f64 th 6) (sqrt.f64 2)) (*.f64 (*.f64 th (/.f64 th (sqrt.f64 2))) (+.f64 (*.f64 th (*.f64 th 1/24)) -1/2)))) |
(/.f64 (cos.f64 th) (sqrt.f64 2)) |
(/.f64 (cos.f64 th) (sqrt.f64 2)) |
(/.f64 (cos.f64 th) (sqrt.f64 2)) |
(/.f64 (cos.f64 th) (sqrt.f64 2)) |
(/.f64 (cos.f64 th) (sqrt.f64 2)) |
(/.f64 (cos.f64 th) (sqrt.f64 2)) |
(/.f64 (cos.f64 th) (sqrt.f64 2)) |
(/.f64 (cos.f64 th) (sqrt.f64 2)) |
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.4b | (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (/.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))) |
| 0.7b | (/.f64 (cos.f64 th) (sqrt.f64 2)) | |
| ✓ | 1.3b | (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) |
| ✓ | 34.2b | (/.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2))) |
Compiled 79 to 39 computations (50.6% saved)
21 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 2.0ms | th | @ | inf | (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (/.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))) |
| 1.0ms | th | @ | 0 | (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (/.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))) |
| 1.0ms | a2 | @ | inf | (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (/.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))) |
| 1.0ms | a1 | @ | inf | (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (/.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))) |
| 1.0ms | a2 | @ | 0 | (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (/.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))) |
| 1× | batch-egg-rewrite |
| 708× | fma-def_binary64 |
| 328× | expm1-udef_binary64 |
| 328× | log1p-udef_binary64 |
| 322× | fma-neg_binary64 |
| 197× | add-sqr-sqrt_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 17 | 64 |
| 1 | 397 | 36 |
| 2 | 5759 | 34 |
| 1× | node limit |
| Inputs |
|---|
(/.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2))) |
(-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (/.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 a1 a1) (*.f64 a2 a2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 a2 a2) (*.f64 a1 a1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (pow.f64 a1 4) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2))) (neg.f64 (/.f64 (pow.f64 a2 4) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 a1 4) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2))) (/.f64 (pow.f64 a2 4) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 (hypot.f64 a1 a2) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (/.f64 1 (-.f64 (*.f64 a1 a1) (*.f64 a2 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (hypot.f64 a1 a2) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (hypot.f64 a1 a2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (hypot.f64 a1 a2) 2)) (pow.f64 (cbrt.f64 (pow.f64 (hypot.f64 a1 a2) 2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (pow.f64 (hypot.f64 a1 a2) 2)) 2) (cbrt.f64 (pow.f64 (hypot.f64 a1 a2) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4))) 2) (*.f64 (cbrt.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4))) (/.f64 1 (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (hypot.f64 a1 a2) (hypot.f64 a1 a2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4))) (*.f64 (sqrt.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4))) (/.f64 1 (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4))) (/.f64 1 (*.f64 (neg.f64 (+.f64 a1 a2)) (-.f64 a1 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (-.f64 (*.f64 a1 a1) (*.f64 a2 a2))) (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4))) 2) 1) (/.f64 (cbrt.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4))) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4))) 1) (/.f64 (sqrt.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4))) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (-.f64 (*.f64 a1 a1) (*.f64 a2 a2))) 2)) (/.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (cbrt.f64 (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4))) 2) (pow.f64 (cbrt.f64 (-.f64 (*.f64 a1 a1) (*.f64 a2 a2))) 2)) (cbrt.f64 (pow.f64 (hypot.f64 a1 a2) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4))) (pow.f64 (cbrt.f64 (-.f64 (*.f64 a1 a1) (*.f64 a2 a2))) 2)) (/.f64 (sqrt.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4))) (cbrt.f64 (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (hypot.f64 a1 (sqrt.f64 (*.f64 a2 (neg.f64 a2))))) (/.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (hypot.f64 a1 (sqrt.f64 (*.f64 a2 (neg.f64 a2))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4))) 2) (hypot.f64 a1 (sqrt.f64 (*.f64 a2 (neg.f64 a2))))) (/.f64 (cbrt.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4))) (hypot.f64 a1 (sqrt.f64 (*.f64 a2 (neg.f64 a2))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (+.f64 a1 a2)) (/.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (-.f64 a1 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4))) 2) (+.f64 a1 a2)) (/.f64 (cbrt.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4))) (-.f64 a1 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4))) (+.f64 a1 a2)) (/.f64 (sqrt.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4))) (-.f64 a1 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (-.f64 (pow.f64 a1 4) (pow.f64 a2 4))) (pow.f64 (hypot.f64 a1 a2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (-.f64 (pow.f64 a1 6) (pow.f64 a2 6))) (fma.f64 (*.f64 a2 a2) (pow.f64 (hypot.f64 a1 a2) 2) (pow.f64 a1 4)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (hypot.f64 a1 a2) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (pow.f64 (hypot.f64 a1 a2) 2) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (pow.f64 (hypot.f64 a1 a2) 2)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (hypot.f64 a1 a2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (pow.f64 (hypot.f64 a1 a2) 2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (*.f64 (neg.f64 (+.f64 a1 a2)) (-.f64 a1 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (pow.f64 (hypot.f64 a1 a2) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (hypot.f64 a1 a2) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (hypot.f64 a1 a2) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 a1) a1) (pow.f64 (exp.f64 a2) a2)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (pow.f64 (hypot.f64 a1 a2) 2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) 3) (pow.f64 (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (hypot.f64 a1 a2) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (hypot.f64 a1 a2) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (pow.f64 (hypot.f64 a1 a2) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (hypot.f64 a1 a2) 2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a1 a1 (*.f64 a2 a2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 a1 4) (/.f64 1 (-.f64 (*.f64 a1 a1) (*.f64 a2 a2))) (neg.f64 (/.f64 (pow.f64 a2 4) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a2 a2 (*.f64 a1 a1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a1 a1) 1 (*.f64 a2 a2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a2 a2) 1 (*.f64 a1 a1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 a1 a1) (*.f64 a2 a2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 a2 a2) (*.f64 a1 a1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (/.f64 (pow.f64 a1 4) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2))) (neg.f64 (/.f64 (pow.f64 a2 4) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 a2 4)) (pow.f64 (cbrt.f64 a2) 2) (*.f64 a1 a1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 a2) 2) (cbrt.f64 (pow.f64 a2 4)) (*.f64 a1 a1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 a2) 2) (*.f64 (cbrt.f64 a2) a2) (*.f64 a1 a1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 a1) 2) (cbrt.f64 (pow.f64 a1 4)) (*.f64 a2 a2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 a1) 2) (*.f64 (cbrt.f64 a1) a1) (*.f64 a2 a2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 a1 4)) (pow.f64 (cbrt.f64 a1) 2) (*.f64 a2 a2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 a2) (*.f64 (sqrt.f64 a2) a2) (*.f64 a1 a1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 a1) (*.f64 (sqrt.f64 a1) a1) (*.f64 a2 a2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a2 (sqrt.f64 a2)) (sqrt.f64 a2) (*.f64 a1 a1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a1 (sqrt.f64 a1)) (sqrt.f64 a1) (*.f64 a2 a2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (/.f64 (pow.f64 a1 4) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))) (cbrt.f64 (/.f64 (pow.f64 a1 4) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2))))) (cbrt.f64 (/.f64 (pow.f64 a1 4) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))) (neg.f64 (/.f64 (pow.f64 a2 4) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cbrt.f64 (pow.f64 a1 8))) (sqrt.f64 (cbrt.f64 (pow.f64 a1 4))) (*.f64 a2 a2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cbrt.f64 (pow.f64 a2 8))) (sqrt.f64 (cbrt.f64 (pow.f64 a2 4))) (*.f64 a1 a1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (/.f64 (pow.f64 a1 4) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))) (sqrt.f64 (/.f64 (pow.f64 a1 4) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))) (neg.f64 (/.f64 (pow.f64 a2 4) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 (pow.f64 (cbrt.f64 (-.f64 (*.f64 a1 a1) (*.f64 a2 a2))) 2)) (/.f64 (pow.f64 a1 4) (cbrt.f64 (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))) (neg.f64 (/.f64 (pow.f64 a2 4) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 (hypot.f64 a1 (sqrt.f64 (*.f64 a2 (neg.f64 a2))))) (/.f64 (pow.f64 a1 4) (hypot.f64 a1 (sqrt.f64 (*.f64 a2 (neg.f64 a2))))) (neg.f64 (/.f64 (pow.f64 a2 4) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 (+.f64 a1 a2)) (/.f64 (pow.f64 a1 4) (-.f64 a1 a2)) (neg.f64 (/.f64 (pow.f64 a2 4) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (*.f64 a1 a1) 1) (/.f64 (*.f64 a1 a1) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2))) (neg.f64 (/.f64 (pow.f64 a2 4) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (cbrt.f64 (pow.f64 a1 8)) 1) (/.f64 (cbrt.f64 (pow.f64 a1 4)) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2))) (neg.f64 (/.f64 (pow.f64 a2 4) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (*.f64 a1 a1) (pow.f64 (cbrt.f64 (-.f64 (*.f64 a1 a1) (*.f64 a2 a2))) 2)) (/.f64 (*.f64 a1 a1) (cbrt.f64 (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))) (neg.f64 (/.f64 (pow.f64 a2 4) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (cbrt.f64 (pow.f64 a1 8)) (pow.f64 (cbrt.f64 (-.f64 (*.f64 a1 a1) (*.f64 a2 a2))) 2)) (/.f64 (cbrt.f64 (pow.f64 a1 4)) (cbrt.f64 (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))) (neg.f64 (/.f64 (pow.f64 a2 4) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (*.f64 a1 a1) (hypot.f64 a1 (sqrt.f64 (*.f64 a2 (neg.f64 a2))))) (/.f64 (*.f64 a1 a1) (hypot.f64 a1 (sqrt.f64 (*.f64 a2 (neg.f64 a2))))) (neg.f64 (/.f64 (pow.f64 a2 4) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (cbrt.f64 (pow.f64 a1 8)) (hypot.f64 a1 (sqrt.f64 (*.f64 a2 (neg.f64 a2))))) (/.f64 (cbrt.f64 (pow.f64 a1 4)) (hypot.f64 a1 (sqrt.f64 (*.f64 a2 (neg.f64 a2))))) (neg.f64 (/.f64 (pow.f64 a2 4) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (*.f64 a1 a1) (+.f64 a1 a2)) (/.f64 (*.f64 a1 a1) (-.f64 a1 a2)) (neg.f64 (/.f64 (pow.f64 a2 4) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (cbrt.f64 (pow.f64 a1 8)) (+.f64 a1 a2)) (/.f64 (cbrt.f64 (pow.f64 a1 4)) (-.f64 a1 a2)) (neg.f64 (/.f64 (pow.f64 a2 4) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (pow.f64 a1 4) (-.f64 (pow.f64 a1 4) (pow.f64 a2 4))) (pow.f64 (hypot.f64 a1 a2) 2) (neg.f64 (/.f64 (pow.f64 a2 4) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (pow.f64 a1 4) (-.f64 (pow.f64 a1 6) (pow.f64 a2 6))) (fma.f64 (*.f64 a2 a2) (pow.f64 (hypot.f64 a1 a2) 2) (pow.f64 a1 4)) (neg.f64 (/.f64 (pow.f64 a2 4) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a1 (pow.f64 (cbrt.f64 a1) 2)) (cbrt.f64 a1) (*.f64 a2 a2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a2 (pow.f64 (cbrt.f64 a2) 2)) (cbrt.f64 a2) (*.f64 a1 a1)))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 a1 4) (neg.f64 (pow.f64 a2 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 a1 4) (*.f64 (neg.f64 (pow.f64 a2 4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (+.f64 (neg.f64 (pow.f64 a2 4)) (pow.f64 a2 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (fma.f64 (neg.f64 (pow.f64 a2 4)) 1 (pow.f64 a2 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (fma.f64 (neg.f64 (cbrt.f64 (pow.f64 a2 4))) (cbrt.f64 (pow.f64 a2 8)) (pow.f64 a2 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (pow.f64 a2 4)) (pow.f64 a1 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (hypot.f64 a1 a2) 2) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4))) (pow.f64 (cbrt.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4))) 2) (cbrt.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4))) (sqrt.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 a1 12) (pow.f64 a2 12)) (/.f64 1 (+.f64 (+.f64 (pow.f64 a1 8) (pow.f64 a2 8)) (pow.f64 (*.f64 a1 a2) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 a1 8) (pow.f64 a2 8)) (/.f64 1 (+.f64 (pow.f64 a1 4) (pow.f64 a2 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (+.f64 (pow.f64 a1 8) (pow.f64 a2 8)) (pow.f64 (*.f64 a1 a2) 4)) (-.f64 (pow.f64 a1 12) (pow.f64 a2 12))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (-.f64 (pow.f64 a1 8) (pow.f64 a2 8))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 a1 12) (pow.f64 a2 12)) (+.f64 (+.f64 (pow.f64 a1 8) (pow.f64 a2 8)) (pow.f64 (*.f64 a1 a2) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 a1 8) (pow.f64 a2 8)) (+.f64 (pow.f64 a1 4) (pow.f64 a2 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 a1 12) (pow.f64 a2 12))) (neg.f64 (+.f64 (+.f64 (pow.f64 a1 8) (pow.f64 a2 8)) (pow.f64 (*.f64 a1 a2) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 a1 8) (pow.f64 a2 8))) (neg.f64 (+.f64 (pow.f64 a1 4) (pow.f64 a2 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 a1 12) (pow.f64 (neg.f64 (pow.f64 a2 4)) 3)) (+.f64 (pow.f64 a1 8) (-.f64 (*.f64 (neg.f64 (pow.f64 a2 4)) (neg.f64 (pow.f64 a2 4))) (*.f64 (pow.f64 a1 4) (neg.f64 (pow.f64 a2 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 a1 8) (*.f64 (neg.f64 (pow.f64 a2 4)) (neg.f64 (pow.f64 a2 4)))) (-.f64 (pow.f64 a1 4) (neg.f64 (pow.f64 a2 4))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a1 (pow.f64 a1 3) (neg.f64 (pow.f64 a2 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a1 (pow.f64 a1 3) (*.f64 (neg.f64 (pow.f64 a2 4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 a1 4) 1 (neg.f64 (pow.f64 a2 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 a1 4) 1 (*.f64 (neg.f64 (pow.f64 a2 4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) 1 (+.f64 (neg.f64 (pow.f64 a2 4)) (pow.f64 a2 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) 1 (fma.f64 (neg.f64 (pow.f64 a2 4)) 1 (pow.f64 a2 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) 1 (fma.f64 (neg.f64 (cbrt.f64 (pow.f64 a2 4))) (cbrt.f64 (pow.f64 a2 8)) (pow.f64 a2 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a1 a1) (*.f64 a1 a1) (neg.f64 (pow.f64 a2 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a1 a1) (*.f64 a1 a1) (*.f64 (neg.f64 (pow.f64 a2 4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a2 a2) (*.f64 a2 (neg.f64 a2)) (pow.f64 a1 4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (hypot.f64 a1 a2) 2) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (+.f64 (neg.f64 (pow.f64 a2 4)) (pow.f64 a2 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (hypot.f64 a1 a2) 2) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (fma.f64 (neg.f64 (pow.f64 a2 4)) 1 (pow.f64 a2 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (hypot.f64 a1 a2) 2) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (fma.f64 (neg.f64 (cbrt.f64 (pow.f64 a2 4))) (cbrt.f64 (pow.f64 a2 8)) (pow.f64 a2 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (pow.f64 a1 4) (neg.f64 (pow.f64 a2 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (pow.f64 a1 4) (*.f64 (neg.f64 (pow.f64 a2 4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (+.f64 (neg.f64 (pow.f64 a2 4)) (pow.f64 a2 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (fma.f64 (neg.f64 (pow.f64 a2 4)) 1 (pow.f64 a2 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (fma.f64 (neg.f64 (cbrt.f64 (pow.f64 a2 4))) (cbrt.f64 (pow.f64 a2 8)) (pow.f64 a2 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (neg.f64 (pow.f64 a2 4)) (pow.f64 a1 4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 a1 3) a1 (neg.f64 (pow.f64 a2 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 a1 3) a1 (*.f64 (neg.f64 (pow.f64 a2 4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 a2 8)) (neg.f64 (cbrt.f64 (pow.f64 a2 4))) (pow.f64 a1 4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4))) (pow.f64 (cbrt.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4))) 2) (+.f64 (neg.f64 (pow.f64 a2 4)) (pow.f64 a2 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4))) (pow.f64 (cbrt.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4))) 2) (fma.f64 (neg.f64 (pow.f64 a2 4)) 1 (pow.f64 a2 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4))) (pow.f64 (cbrt.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4))) 2) (fma.f64 (neg.f64 (cbrt.f64 (pow.f64 a2 4))) (cbrt.f64 (pow.f64 a2 8)) (pow.f64 a2 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4))) 2) (cbrt.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4))) (+.f64 (neg.f64 (pow.f64 a2 4)) (pow.f64 a2 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4))) 2) (cbrt.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4))) (fma.f64 (neg.f64 (pow.f64 a2 4)) 1 (pow.f64 a2 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4))) 2) (cbrt.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4))) (fma.f64 (neg.f64 (cbrt.f64 (pow.f64 a2 4))) (cbrt.f64 (pow.f64 a2 8)) (pow.f64 a2 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 a1 4)) (cbrt.f64 (pow.f64 a1 8)) (neg.f64 (pow.f64 a2 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 a1 4)) (cbrt.f64 (pow.f64 a1 8)) (*.f64 (neg.f64 (pow.f64 a2 4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 a1 4)) (*.f64 (pow.f64 (cbrt.f64 a1) 2) (*.f64 a1 a1)) (neg.f64 (pow.f64 a2 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 a1 4)) (*.f64 (pow.f64 (cbrt.f64 a1) 2) (*.f64 a1 a1)) (*.f64 (neg.f64 (pow.f64 a2 4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 a1 8)) (cbrt.f64 (pow.f64 a1 4)) (neg.f64 (pow.f64 a2 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 a1 8)) (cbrt.f64 (pow.f64 a1 4)) (*.f64 (neg.f64 (pow.f64 a2 4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4))) (sqrt.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4))) (+.f64 (neg.f64 (pow.f64 a2 4)) (pow.f64 a2 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4))) (sqrt.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4))) (fma.f64 (neg.f64 (pow.f64 a2 4)) 1 (pow.f64 a2 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4))) (sqrt.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4))) (fma.f64 (neg.f64 (cbrt.f64 (pow.f64 a2 4))) (cbrt.f64 (pow.f64 a2 8)) (pow.f64 a2 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a2 (neg.f64 a2)) (*.f64 a2 a2) (pow.f64 a1 4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 a1 12) (pow.f64 a2 12)) (/.f64 1 (+.f64 (+.f64 (pow.f64 a1 8) (pow.f64 a2 8)) (pow.f64 (*.f64 a1 a2) 4))) (+.f64 (neg.f64 (pow.f64 a2 4)) (pow.f64 a2 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 a1 12) (pow.f64 a2 12)) (/.f64 1 (+.f64 (+.f64 (pow.f64 a1 8) (pow.f64 a2 8)) (pow.f64 (*.f64 a1 a2) 4))) (fma.f64 (neg.f64 (pow.f64 a2 4)) 1 (pow.f64 a2 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 a1 12) (pow.f64 a2 12)) (/.f64 1 (+.f64 (+.f64 (pow.f64 a1 8) (pow.f64 a2 8)) (pow.f64 (*.f64 a1 a2) 4))) (fma.f64 (neg.f64 (cbrt.f64 (pow.f64 a2 4))) (cbrt.f64 (pow.f64 a2 8)) (pow.f64 a2 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 a1 8) (pow.f64 a2 8)) (/.f64 1 (+.f64 (pow.f64 a1 4) (pow.f64 a2 4))) (+.f64 (neg.f64 (pow.f64 a2 4)) (pow.f64 a2 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 a1 8) (pow.f64 a2 8)) (/.f64 1 (+.f64 (pow.f64 a1 4) (pow.f64 a2 4))) (fma.f64 (neg.f64 (pow.f64 a2 4)) 1 (pow.f64 a2 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 a1 8) (pow.f64 a2 8)) (/.f64 1 (+.f64 (pow.f64 a1 4) (pow.f64 a2 4))) (fma.f64 (neg.f64 (cbrt.f64 (pow.f64 a2 4))) (cbrt.f64 (pow.f64 a2 8)) (pow.f64 a2 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (neg.f64 (pow.f64 a2 4))) (cbrt.f64 (neg.f64 (pow.f64 a2 4)))) (cbrt.f64 (neg.f64 (pow.f64 a2 4))) (pow.f64 a1 4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (neg.f64 (pow.f64 a2 4))) (sqrt.f64 (neg.f64 (pow.f64 a2 4))) (pow.f64 a1 4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (pow.f64 a2 4) (pow.f64 a1 4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (pow.f64 (cbrt.f64 a1) 2) 4) (pow.f64 (cbrt.f64 a1) 4) (neg.f64 (pow.f64 a2 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (pow.f64 (cbrt.f64 a1) 2) 4) (pow.f64 (cbrt.f64 a1) 4) (*.f64 (neg.f64 (pow.f64 a2 4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (sqrt.f64 a1) 4) (pow.f64 (sqrt.f64 a1) 4) (neg.f64 (pow.f64 a2 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (sqrt.f64 a1) 4) (pow.f64 (sqrt.f64 a1) 4) (*.f64 (neg.f64 (pow.f64 a2 4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (cbrt.f64 (pow.f64 a2 8))) (cbrt.f64 (pow.f64 a2 4)) (pow.f64 a1 4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 a1 a1) (cbrt.f64 (pow.f64 a1 4))) (pow.f64 (cbrt.f64 a1) 2) (neg.f64 (pow.f64 a2 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 a1 a1) (cbrt.f64 (pow.f64 a1 4))) (pow.f64 (cbrt.f64 a1) 2) (*.f64 (neg.f64 (pow.f64 a2 4)) 1)))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (/.f64 (cos.f64 th) (sqrt.f64 2))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (*.f64 (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (/.f64 (sqrt.f64 2) (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (hypot.f64 a1 a2) 2) (/.f64 (sqrt.f64 2) (cos.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cos.f64 th) (*.f64 (/.f64 1 (pow.f64 (hypot.f64 a1 a2) 2)) (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cos.f64 th) (*.f64 (sqrt.f64 2) (/.f64 1 (pow.f64 (hypot.f64 a1 a2) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cos.f64 th) (/.f64 (*.f64 (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (sqrt.f64 2)) (-.f64 (pow.f64 a1 4) (pow.f64 a2 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (pow.f64 (hypot.f64 a1 a2) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (/.f64 1 (pow.f64 (hypot.f64 a1 a2) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (*.f64 (/.f64 1 (pow.f64 (hypot.f64 a1 a2) 2)) (/.f64 (sqrt.f64 2) (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (/.f64 1 (pow.f64 (hypot.f64 a1 a2) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (*.f64 (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (sqrt.f64 2)) (*.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (*.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (/.f64 (cos.f64 th) (sqrt.f64 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4))) (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (*.f64 (neg.f64 (+.f64 a1 a2)) (-.f64 a1 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (cos.f64 th)) (*.f64 (/.f64 1 (pow.f64 (hypot.f64 a1 a2) 2)) (neg.f64 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (cos.f64 th)) (*.f64 (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (cos.f64 th)) (sqrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (/.f64 (cos.f64 th) (sqrt.f64 2))) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (cos.f64 th))) (neg.f64 (*.f64 (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (cos.f64 th))) (neg.f64 (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (/.f64 (cos.f64 th) (sqrt.f64 2)))) (*.f64 (neg.f64 (+.f64 a1 a2)) (-.f64 a1 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (cos.f64 th)) 1) (*.f64 (neg.f64 (sqrt.f64 2)) (/.f64 1 (pow.f64 (hypot.f64 a1 a2) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4))) (cos.f64 th)) (*.f64 (*.f64 (neg.f64 (+.f64 a1 a2)) (-.f64 a1 a2)) (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4))) 1) (*.f64 (*.f64 (neg.f64 (+.f64 a1 a2)) (-.f64 a1 a2)) (/.f64 (sqrt.f64 2) (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (neg.f64 (cos.f64 th))) (*.f64 (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (neg.f64 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4))) (neg.f64 (cos.f64 th))) (*.f64 (*.f64 (neg.f64 (+.f64 a1 a2)) (-.f64 a1 a2)) (neg.f64 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (cos.f64 th)) (-.f64 (pow.f64 a1 4) (pow.f64 a2 4))) (*.f64 (neg.f64 (sqrt.f64 2)) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 th) (neg.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)))) (*.f64 (sqrt.f64 2) (*.f64 (neg.f64 (+.f64 a1 a2)) (-.f64 a1 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (cos.f64 th)) (neg.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)))) (*.f64 (neg.f64 (sqrt.f64 2)) (*.f64 (neg.f64 (+.f64 a1 a2)) (-.f64 a1 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (cos.f64 th)) 1) (sqrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (cos.f64 th)) (cbrt.f64 2)) (cbrt.f64 (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (cos.f64 th)) (pow.f64 2 1/4)) (pow.f64 2 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (/.f64 (cos.f64 th) (sqrt.f64 2))) 1) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (/.f64 (cos.f64 th) (sqrt.f64 2))) (pow.f64 (cbrt.f64 (-.f64 (*.f64 a1 a1) (*.f64 a2 a2))) 2)) (cbrt.f64 (-.f64 (*.f64 a1 a1) (*.f64 a2 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (/.f64 (cos.f64 th) (sqrt.f64 2))) (hypot.f64 a1 (sqrt.f64 (*.f64 a2 (neg.f64 a2))))) (hypot.f64 a1 (sqrt.f64 (*.f64 a2 (neg.f64 a2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (/.f64 (cos.f64 th) (sqrt.f64 2))) (+.f64 a1 a2)) (-.f64 a1 a2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4))) (/.f64 (cos.f64 th) (sqrt.f64 2))) (*.f64 (neg.f64 (+.f64 a1 a2)) (-.f64 a1 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (cos.f64 th)) (pow.f64 (hypot.f64 a1 a2) 2)) (neg.f64 (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (neg.f64 (cos.f64 th))) (neg.f64 (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (neg.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)))) (*.f64 (neg.f64 (+.f64 a1 a2)) (-.f64 a1 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (/.f64 (cos.f64 th) (sqrt.f64 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (/.f64 (cos.f64 th) (sqrt.f64 2))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (/.f64 (cos.f64 th) (sqrt.f64 2)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (hypot.f64 a1 a2) (sqrt.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (/.f64 (cos.f64 th) (sqrt.f64 2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 a1 a2) 2)) (/.f64 (cos.f64 th) (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (/.f64 (cos.f64 th) (sqrt.f64 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (/.f64 (cos.f64 th) (sqrt.f64 2))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (pow.f64 (hypot.f64 a1 a2) 2) 3) (pow.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) 3) (pow.f64 (pow.f64 (hypot.f64 a1 a2) 2) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (/.f64 (cos.f64 th) (sqrt.f64 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (/.f64 (cos.f64 th) (sqrt.f64 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (/.f64 (cos.f64 th) (sqrt.f64 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (/.f64 (cos.f64 th) (sqrt.f64 2)))) 1)))))) |
| 1× | egg-herbie |
| 700× | associate-/l/_binary64 |
| 663× | associate-*r/_binary64 |
| 402× | distribute-lft-in_binary64 |
| 396× | distribute-rgt-in_binary64 |
| 306× | div-sub_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 54 | 1675 |
| 1 | 151 | 1588 |
| 2 | 534 | 1466 |
| 3 | 2841 | 1140 |
| 1× | node limit |
| Inputs |
|---|
(pow.f64 a2 2) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(pow.f64 a1 2) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(pow.f64 a1 2) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(pow.f64 a1 2) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(pow.f64 a2 2) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(pow.f64 a2 2) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(*.f64 -1 (pow.f64 a2 4)) |
(+.f64 (*.f64 -1 (pow.f64 a2 4)) (pow.f64 a1 4)) |
(+.f64 (*.f64 -1 (pow.f64 a2 4)) (pow.f64 a1 4)) |
(+.f64 (*.f64 -1 (pow.f64 a2 4)) (pow.f64 a1 4)) |
(pow.f64 a1 4) |
(+.f64 (*.f64 -1 (pow.f64 a2 4)) (pow.f64 a1 4)) |
(+.f64 (*.f64 -1 (pow.f64 a2 4)) (pow.f64 a1 4)) |
(+.f64 (*.f64 -1 (pow.f64 a2 4)) (pow.f64 a1 4)) |
(pow.f64 a1 4) |
(+.f64 (*.f64 -1 (pow.f64 a2 4)) (pow.f64 a1 4)) |
(+.f64 (*.f64 -1 (pow.f64 a2 4)) (pow.f64 a1 4)) |
(+.f64 (*.f64 -1 (pow.f64 a2 4)) (pow.f64 a1 4)) |
(pow.f64 a1 4) |
(+.f64 (*.f64 -1 (pow.f64 a2 4)) (pow.f64 a1 4)) |
(+.f64 (*.f64 -1 (pow.f64 a2 4)) (pow.f64 a1 4)) |
(+.f64 (*.f64 -1 (pow.f64 a2 4)) (pow.f64 a1 4)) |
(*.f64 -1 (pow.f64 a2 4)) |
(+.f64 (*.f64 -1 (pow.f64 a2 4)) (pow.f64 a1 4)) |
(+.f64 (*.f64 -1 (pow.f64 a2 4)) (pow.f64 a1 4)) |
(+.f64 (*.f64 -1 (pow.f64 a2 4)) (pow.f64 a1 4)) |
(*.f64 -1 (pow.f64 a2 4)) |
(+.f64 (*.f64 -1 (pow.f64 a2 4)) (pow.f64 a1 4)) |
(+.f64 (*.f64 -1 (pow.f64 a2 4)) (pow.f64 a1 4)) |
(+.f64 (*.f64 -1 (pow.f64 a2 4)) (pow.f64 a1 4)) |
(/.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (*.f64 (sqrt.f64 2) (-.f64 (pow.f64 a1 2) (pow.f64 a2 2)))) |
(-.f64 (+.f64 (/.f64 (pow.f64 a1 4) (*.f64 (sqrt.f64 2) (-.f64 (pow.f64 a1 2) (pow.f64 a2 2)))) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (pow.f64 th 2)) (*.f64 (sqrt.f64 2) (-.f64 (pow.f64 a1 2) (pow.f64 a2 2)))))) (/.f64 (pow.f64 a2 4) (*.f64 (sqrt.f64 2) (-.f64 (pow.f64 a1 2) (pow.f64 a2 2))))) |
(-.f64 (+.f64 (*.f64 1/24 (/.f64 (*.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (pow.f64 th 4)) (*.f64 (sqrt.f64 2) (-.f64 (pow.f64 a1 2) (pow.f64 a2 2))))) (+.f64 (/.f64 (pow.f64 a1 4) (*.f64 (sqrt.f64 2) (-.f64 (pow.f64 a1 2) (pow.f64 a2 2)))) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (pow.f64 th 2)) (*.f64 (sqrt.f64 2) (-.f64 (pow.f64 a1 2) (pow.f64 a2 2))))))) (/.f64 (pow.f64 a2 4) (*.f64 (sqrt.f64 2) (-.f64 (pow.f64 a1 2) (pow.f64 a2 2))))) |
(-.f64 (+.f64 (*.f64 -1/720 (/.f64 (*.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (pow.f64 th 6)) (*.f64 (sqrt.f64 2) (-.f64 (pow.f64 a1 2) (pow.f64 a2 2))))) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (pow.f64 th 4)) (*.f64 (sqrt.f64 2) (-.f64 (pow.f64 a1 2) (pow.f64 a2 2))))) (+.f64 (/.f64 (pow.f64 a1 4) (*.f64 (sqrt.f64 2) (-.f64 (pow.f64 a1 2) (pow.f64 a2 2)))) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (pow.f64 th 2)) (*.f64 (sqrt.f64 2) (-.f64 (pow.f64 a1 2) (pow.f64 a2 2)))))))) (/.f64 (pow.f64 a2 4) (*.f64 (sqrt.f64 2) (-.f64 (pow.f64 a1 2) (pow.f64 a2 2))))) |
(/.f64 (*.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (cos.f64 th)) (*.f64 (sqrt.f64 2) (-.f64 (pow.f64 a1 2) (pow.f64 a2 2)))) |
(/.f64 (*.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (cos.f64 th)) (*.f64 (sqrt.f64 2) (-.f64 (pow.f64 a1 2) (pow.f64 a2 2)))) |
(/.f64 (*.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (cos.f64 th)) (*.f64 (sqrt.f64 2) (-.f64 (pow.f64 a1 2) (pow.f64 a2 2)))) |
(/.f64 (*.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (cos.f64 th)) (*.f64 (sqrt.f64 2) (-.f64 (pow.f64 a1 2) (pow.f64 a2 2)))) |
(/.f64 (*.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (cos.f64 th)) (*.f64 (sqrt.f64 2) (-.f64 (pow.f64 a1 2) (pow.f64 a2 2)))) |
(/.f64 (*.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (cos.f64 th)) (*.f64 (sqrt.f64 2) (-.f64 (pow.f64 a1 2) (pow.f64 a2 2)))) |
(/.f64 (*.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (cos.f64 th)) (*.f64 (sqrt.f64 2) (-.f64 (pow.f64 a1 2) (pow.f64 a2 2)))) |
(/.f64 (*.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (cos.f64 th)) (*.f64 (sqrt.f64 2) (-.f64 (pow.f64 a1 2) (pow.f64 a2 2)))) |
(/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) |
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))) |
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)) |
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))) |
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)) |
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))) |
| Outputs |
|---|
(pow.f64 a2 2) |
(*.f64 a2 a2) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) |
(fma.f64 a2 a2 (*.f64 a1 a1)) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) |
(fma.f64 a2 a2 (*.f64 a1 a1)) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) |
(fma.f64 a2 a2 (*.f64 a1 a1)) |
(pow.f64 a1 2) |
(*.f64 a1 a1) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) |
(fma.f64 a2 a2 (*.f64 a1 a1)) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) |
(fma.f64 a2 a2 (*.f64 a1 a1)) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) |
(fma.f64 a2 a2 (*.f64 a1 a1)) |
(pow.f64 a1 2) |
(*.f64 a1 a1) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) |
(fma.f64 a2 a2 (*.f64 a1 a1)) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) |
(fma.f64 a2 a2 (*.f64 a1 a1)) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) |
(fma.f64 a2 a2 (*.f64 a1 a1)) |
(pow.f64 a1 2) |
(*.f64 a1 a1) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) |
(fma.f64 a2 a2 (*.f64 a1 a1)) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) |
(fma.f64 a2 a2 (*.f64 a1 a1)) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) |
(fma.f64 a2 a2 (*.f64 a1 a1)) |
(pow.f64 a2 2) |
(*.f64 a2 a2) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) |
(fma.f64 a2 a2 (*.f64 a1 a1)) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) |
(fma.f64 a2 a2 (*.f64 a1 a1)) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) |
(fma.f64 a2 a2 (*.f64 a1 a1)) |
(pow.f64 a2 2) |
(*.f64 a2 a2) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) |
(fma.f64 a2 a2 (*.f64 a1 a1)) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) |
(fma.f64 a2 a2 (*.f64 a1 a1)) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) |
(fma.f64 a2 a2 (*.f64 a1 a1)) |
(*.f64 -1 (pow.f64 a2 4)) |
(neg.f64 (pow.f64 a2 4)) |
(+.f64 (*.f64 -1 (pow.f64 a2 4)) (pow.f64 a1 4)) |
(-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) |
(+.f64 (*.f64 -1 (pow.f64 a2 4)) (pow.f64 a1 4)) |
(-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) |
(+.f64 (*.f64 -1 (pow.f64 a2 4)) (pow.f64 a1 4)) |
(-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) |
(pow.f64 a1 4) |
(+.f64 (*.f64 -1 (pow.f64 a2 4)) (pow.f64 a1 4)) |
(-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) |
(+.f64 (*.f64 -1 (pow.f64 a2 4)) (pow.f64 a1 4)) |
(-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) |
(+.f64 (*.f64 -1 (pow.f64 a2 4)) (pow.f64 a1 4)) |
(-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) |
(pow.f64 a1 4) |
(+.f64 (*.f64 -1 (pow.f64 a2 4)) (pow.f64 a1 4)) |
(-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) |
(+.f64 (*.f64 -1 (pow.f64 a2 4)) (pow.f64 a1 4)) |
(-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) |
(+.f64 (*.f64 -1 (pow.f64 a2 4)) (pow.f64 a1 4)) |
(-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) |
(pow.f64 a1 4) |
(+.f64 (*.f64 -1 (pow.f64 a2 4)) (pow.f64 a1 4)) |
(-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) |
(+.f64 (*.f64 -1 (pow.f64 a2 4)) (pow.f64 a1 4)) |
(-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) |
(+.f64 (*.f64 -1 (pow.f64 a2 4)) (pow.f64 a1 4)) |
(-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) |
(*.f64 -1 (pow.f64 a2 4)) |
(neg.f64 (pow.f64 a2 4)) |
(+.f64 (*.f64 -1 (pow.f64 a2 4)) (pow.f64 a1 4)) |
(-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) |
(+.f64 (*.f64 -1 (pow.f64 a2 4)) (pow.f64 a1 4)) |
(-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) |
(+.f64 (*.f64 -1 (pow.f64 a2 4)) (pow.f64 a1 4)) |
(-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) |
(*.f64 -1 (pow.f64 a2 4)) |
(neg.f64 (pow.f64 a2 4)) |
(+.f64 (*.f64 -1 (pow.f64 a2 4)) (pow.f64 a1 4)) |
(-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) |
(+.f64 (*.f64 -1 (pow.f64 a2 4)) (pow.f64 a1 4)) |
(-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) |
(+.f64 (*.f64 -1 (pow.f64 a2 4)) (pow.f64 a1 4)) |
(-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) |
(/.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (*.f64 (sqrt.f64 2) (-.f64 (pow.f64 a1 2) (pow.f64 a2 2)))) |
(/.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (*.f64 (sqrt.f64 2) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))) |
(/.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (*.f64 (sqrt.f64 2) (*.f64 (+.f64 a2 a1) (-.f64 a1 a2)))) |
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 2) 1)) |
(-.f64 (+.f64 (/.f64 (pow.f64 a1 4) (*.f64 (sqrt.f64 2) (-.f64 (pow.f64 a1 2) (pow.f64 a2 2)))) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (pow.f64 th 2)) (*.f64 (sqrt.f64 2) (-.f64 (pow.f64 a1 2) (pow.f64 a2 2)))))) (/.f64 (pow.f64 a2 4) (*.f64 (sqrt.f64 2) (-.f64 (pow.f64 a1 2) (pow.f64 a2 2))))) |
(-.f64 (+.f64 (/.f64 (pow.f64 a1 4) (*.f64 (sqrt.f64 2) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (*.f64 th th)) (*.f64 (sqrt.f64 2) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))))) (/.f64 (pow.f64 a2 4) (*.f64 (sqrt.f64 2) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2))))) |
(+.f64 (/.f64 (*.f64 (*.f64 -1/2 (*.f64 th th)) (-.f64 (pow.f64 a1 4) (pow.f64 a2 4))) (*.f64 (sqrt.f64 2) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))) (/.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (*.f64 (sqrt.f64 2) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2))))) |
(fma.f64 -1/2 (*.f64 (/.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (sqrt.f64 2)) (*.f64 (/.f64 th (+.f64 a2 a1)) (/.f64 th (-.f64 a1 a2)))) (/.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (*.f64 (sqrt.f64 2) (*.f64 (+.f64 a2 a1) (-.f64 a1 a2))))) |
(fma.f64 (/.f64 -1/2 (sqrt.f64 2)) (*.f64 (*.f64 th th) (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) 1)) (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 2) 1))) |
(-.f64 (+.f64 (*.f64 1/24 (/.f64 (*.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (pow.f64 th 4)) (*.f64 (sqrt.f64 2) (-.f64 (pow.f64 a1 2) (pow.f64 a2 2))))) (+.f64 (/.f64 (pow.f64 a1 4) (*.f64 (sqrt.f64 2) (-.f64 (pow.f64 a1 2) (pow.f64 a2 2)))) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (pow.f64 th 2)) (*.f64 (sqrt.f64 2) (-.f64 (pow.f64 a1 2) (pow.f64 a2 2))))))) (/.f64 (pow.f64 a2 4) (*.f64 (sqrt.f64 2) (-.f64 (pow.f64 a1 2) (pow.f64 a2 2))))) |
(-.f64 (fma.f64 1/24 (*.f64 (/.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (sqrt.f64 2)) (/.f64 (pow.f64 th 4) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))) (+.f64 (/.f64 (pow.f64 a1 4) (*.f64 (sqrt.f64 2) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (*.f64 th th)) (*.f64 (sqrt.f64 2) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2))))))) (/.f64 (pow.f64 a2 4) (*.f64 (sqrt.f64 2) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2))))) |
(fma.f64 1/24 (*.f64 (/.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (*.f64 (sqrt.f64 2) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))) (pow.f64 th 4)) (+.f64 (/.f64 (*.f64 (*.f64 -1/2 (*.f64 th th)) (-.f64 (pow.f64 a1 4) (pow.f64 a2 4))) (*.f64 (sqrt.f64 2) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))) (/.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (*.f64 (sqrt.f64 2) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))))) |
(+.f64 (/.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (*.f64 (sqrt.f64 2) (*.f64 (+.f64 a2 a1) (-.f64 a1 a2)))) (*.f64 (/.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (sqrt.f64 2)) (+.f64 (*.f64 1/24 (/.f64 (pow.f64 th 4) (*.f64 (+.f64 a2 a1) (-.f64 a1 a2)))) (*.f64 -1/2 (*.f64 (/.f64 th (+.f64 a2 a1)) (/.f64 th (-.f64 a1 a2))))))) |
(+.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 2) 1)) (*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 2) 1)) (+.f64 (*.f64 -1/2 (*.f64 th th)) (*.f64 1/24 (pow.f64 th 4))))) |
(-.f64 (+.f64 (*.f64 -1/720 (/.f64 (*.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (pow.f64 th 6)) (*.f64 (sqrt.f64 2) (-.f64 (pow.f64 a1 2) (pow.f64 a2 2))))) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (pow.f64 th 4)) (*.f64 (sqrt.f64 2) (-.f64 (pow.f64 a1 2) (pow.f64 a2 2))))) (+.f64 (/.f64 (pow.f64 a1 4) (*.f64 (sqrt.f64 2) (-.f64 (pow.f64 a1 2) (pow.f64 a2 2)))) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (pow.f64 th 2)) (*.f64 (sqrt.f64 2) (-.f64 (pow.f64 a1 2) (pow.f64 a2 2)))))))) (/.f64 (pow.f64 a2 4) (*.f64 (sqrt.f64 2) (-.f64 (pow.f64 a1 2) (pow.f64 a2 2))))) |
(-.f64 (fma.f64 -1/720 (*.f64 (/.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (sqrt.f64 2)) (/.f64 (pow.f64 th 6) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))) (fma.f64 1/24 (*.f64 (/.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (sqrt.f64 2)) (/.f64 (pow.f64 th 4) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))) (+.f64 (/.f64 (pow.f64 a1 4) (*.f64 (sqrt.f64 2) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (*.f64 th th)) (*.f64 (sqrt.f64 2) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))))))) (/.f64 (pow.f64 a2 4) (*.f64 (sqrt.f64 2) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2))))) |
(fma.f64 -1/720 (*.f64 (/.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (*.f64 (sqrt.f64 2) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))) (pow.f64 th 6)) (fma.f64 1/24 (*.f64 (/.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (*.f64 (sqrt.f64 2) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))) (pow.f64 th 4)) (+.f64 (/.f64 (*.f64 (*.f64 -1/2 (*.f64 th th)) (-.f64 (pow.f64 a1 4) (pow.f64 a2 4))) (*.f64 (sqrt.f64 2) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))) (/.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (*.f64 (sqrt.f64 2) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2))))))) |
(+.f64 (fma.f64 -1/2 (*.f64 (/.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (sqrt.f64 2)) (*.f64 (/.f64 th (+.f64 a2 a1)) (/.f64 th (-.f64 a1 a2)))) (/.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (*.f64 (sqrt.f64 2) (*.f64 (+.f64 a2 a1) (-.f64 a1 a2))))) (*.f64 (/.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (sqrt.f64 2)) (+.f64 (*.f64 1/24 (/.f64 (pow.f64 th 4) (*.f64 (+.f64 a2 a1) (-.f64 a1 a2)))) (*.f64 -1/720 (/.f64 (pow.f64 th 6) (*.f64 (+.f64 a2 a1) (-.f64 a1 a2))))))) |
(+.f64 (fma.f64 (/.f64 -1/2 (sqrt.f64 2)) (*.f64 (*.f64 th th) (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) 1)) (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 2) 1))) (*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 2) 1)) (+.f64 (*.f64 1/24 (pow.f64 th 4)) (*.f64 -1/720 (pow.f64 th 6))))) |
(/.f64 (*.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (cos.f64 th)) (*.f64 (sqrt.f64 2) (-.f64 (pow.f64 a1 2) (pow.f64 a2 2)))) |
(*.f64 (/.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (sqrt.f64 2)) (/.f64 (cos.f64 th) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))) |
(*.f64 (/.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (*.f64 (sqrt.f64 2) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))) (cos.f64 th)) |
(*.f64 (/.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (*.f64 (sqrt.f64 2) (*.f64 (+.f64 a2 a1) (-.f64 a1 a2)))) (cos.f64 th)) |
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 2) 1)) (cos.f64 th)) |
(/.f64 (*.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (cos.f64 th)) (*.f64 (sqrt.f64 2) (-.f64 (pow.f64 a1 2) (pow.f64 a2 2)))) |
(*.f64 (/.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (sqrt.f64 2)) (/.f64 (cos.f64 th) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))) |
(*.f64 (/.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (*.f64 (sqrt.f64 2) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))) (cos.f64 th)) |
(*.f64 (/.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (*.f64 (sqrt.f64 2) (*.f64 (+.f64 a2 a1) (-.f64 a1 a2)))) (cos.f64 th)) |
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 2) 1)) (cos.f64 th)) |
(/.f64 (*.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (cos.f64 th)) (*.f64 (sqrt.f64 2) (-.f64 (pow.f64 a1 2) (pow.f64 a2 2)))) |
(*.f64 (/.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (sqrt.f64 2)) (/.f64 (cos.f64 th) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))) |
(*.f64 (/.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (*.f64 (sqrt.f64 2) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))) (cos.f64 th)) |
(*.f64 (/.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (*.f64 (sqrt.f64 2) (*.f64 (+.f64 a2 a1) (-.f64 a1 a2)))) (cos.f64 th)) |
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 2) 1)) (cos.f64 th)) |
(/.f64 (*.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (cos.f64 th)) (*.f64 (sqrt.f64 2) (-.f64 (pow.f64 a1 2) (pow.f64 a2 2)))) |
(*.f64 (/.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (sqrt.f64 2)) (/.f64 (cos.f64 th) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))) |
(*.f64 (/.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (*.f64 (sqrt.f64 2) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))) (cos.f64 th)) |
(*.f64 (/.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (*.f64 (sqrt.f64 2) (*.f64 (+.f64 a2 a1) (-.f64 a1 a2)))) (cos.f64 th)) |
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 2) 1)) (cos.f64 th)) |
(/.f64 (*.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (cos.f64 th)) (*.f64 (sqrt.f64 2) (-.f64 (pow.f64 a1 2) (pow.f64 a2 2)))) |
(*.f64 (/.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (sqrt.f64 2)) (/.f64 (cos.f64 th) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))) |
(*.f64 (/.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (*.f64 (sqrt.f64 2) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))) (cos.f64 th)) |
(*.f64 (/.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (*.f64 (sqrt.f64 2) (*.f64 (+.f64 a2 a1) (-.f64 a1 a2)))) (cos.f64 th)) |
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 2) 1)) (cos.f64 th)) |
(/.f64 (*.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (cos.f64 th)) (*.f64 (sqrt.f64 2) (-.f64 (pow.f64 a1 2) (pow.f64 a2 2)))) |
(*.f64 (/.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (sqrt.f64 2)) (/.f64 (cos.f64 th) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))) |
(*.f64 (/.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (*.f64 (sqrt.f64 2) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))) (cos.f64 th)) |
(*.f64 (/.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (*.f64 (sqrt.f64 2) (*.f64 (+.f64 a2 a1) (-.f64 a1 a2)))) (cos.f64 th)) |
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 2) 1)) (cos.f64 th)) |
(/.f64 (*.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (cos.f64 th)) (*.f64 (sqrt.f64 2) (-.f64 (pow.f64 a1 2) (pow.f64 a2 2)))) |
(*.f64 (/.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (sqrt.f64 2)) (/.f64 (cos.f64 th) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))) |
(*.f64 (/.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (*.f64 (sqrt.f64 2) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))) (cos.f64 th)) |
(*.f64 (/.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (*.f64 (sqrt.f64 2) (*.f64 (+.f64 a2 a1) (-.f64 a1 a2)))) (cos.f64 th)) |
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 2) 1)) (cos.f64 th)) |
(/.f64 (*.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (cos.f64 th)) (*.f64 (sqrt.f64 2) (-.f64 (pow.f64 a1 2) (pow.f64 a2 2)))) |
(*.f64 (/.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (sqrt.f64 2)) (/.f64 (cos.f64 th) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))) |
(*.f64 (/.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (*.f64 (sqrt.f64 2) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))) (cos.f64 th)) |
(*.f64 (/.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (*.f64 (sqrt.f64 2) (*.f64 (+.f64 a2 a1) (-.f64 a1 a2)))) (cos.f64 th)) |
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 2) 1)) (cos.f64 th)) |
(/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) |
(/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))) |
(+.f64 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)) (*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th))) |
(*.f64 (cos.f64 th) (+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a2 a2 (*.f64 a1 a1))) |
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))) |
(+.f64 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)) (*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th))) |
(*.f64 (cos.f64 th) (+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a2 a2 (*.f64 a1 a1))) |
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))) |
(+.f64 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)) (*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th))) |
(*.f64 (cos.f64 th) (+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a2 a2 (*.f64 a1 a1))) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) |
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))) |
(+.f64 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)) (*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th))) |
(*.f64 (cos.f64 th) (+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a2 a2 (*.f64 a1 a1))) |
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))) |
(+.f64 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)) (*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th))) |
(*.f64 (cos.f64 th) (+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a2 a2 (*.f64 a1 a1))) |
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))) |
(+.f64 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)) (*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th))) |
(*.f64 (cos.f64 th) (+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a2 a2 (*.f64 a1 a1))) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) |
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))) |
(+.f64 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)) (*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th))) |
(*.f64 (cos.f64 th) (+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a2 a2 (*.f64 a1 a1))) |
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))) |
(+.f64 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)) (*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th))) |
(*.f64 (cos.f64 th) (+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a2 a2 (*.f64 a1 a1))) |
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))) |
(+.f64 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)) (*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th))) |
(*.f64 (cos.f64 th) (+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a2 a2 (*.f64 a1 a1))) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) |
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))) |
(+.f64 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)) (*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th))) |
(*.f64 (cos.f64 th) (+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a2 a2 (*.f64 a1 a1))) |
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))) |
(+.f64 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)) (*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th))) |
(*.f64 (cos.f64 th) (+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a2 a2 (*.f64 a1 a1))) |
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))) |
(+.f64 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)) (*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th))) |
(*.f64 (cos.f64 th) (+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a2 a2 (*.f64 a1 a1))) |
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))) |
(+.f64 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)) (*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th))) |
(*.f64 (cos.f64 th) (+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a2 a2 (*.f64 a1 a1))) |
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))) |
(+.f64 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)) (*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th))) |
(*.f64 (cos.f64 th) (+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a2 a2 (*.f64 a1 a1))) |
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))) |
(+.f64 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)) (*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th))) |
(*.f64 (cos.f64 th) (+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a2 a2 (*.f64 a1 a1))) |
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))) |
(+.f64 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)) (*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th))) |
(*.f64 (cos.f64 th) (+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a2 a2 (*.f64 a1 a1))) |
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))) |
(+.f64 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)) (*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th))) |
(*.f64 (cos.f64 th) (+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a2 a2 (*.f64 a1 a1))) |
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))) |
(+.f64 (/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))) |
(+.f64 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)) (*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th))) |
(*.f64 (cos.f64 th) (+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a2 a2 (*.f64 a1 a1))) |
Compiled 14558 to 8358 computations (42.6% saved)
26 alts after pruning (24 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 692 | 21 | 713 |
| Fresh | 8 | 3 | 11 |
| Picked | 1 | 0 | 1 |
| Done | 2 | 2 | 4 |
| Total | 703 | 26 | 729 |
| Status | Error | Program |
|---|---|---|
| ▶ | 26.9b | (/.f64 (*.f64 (*.f64 a1 (cos.f64 th)) a1) (sqrt.f64 2)) |
| 0.5b | (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) | |
| 15.6b | (pow.f64 (*.f64 (hypot.f64 a1 a2) (sqrt.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)))) 2) | |
| ▶ | 30.4b | (*.f64 a2 (*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2)))) |
| 42.6b | (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) | |
| 44.2b | (*.f64 a1 (*.f64 (/.f64 a1 (sqrt.f64 2)) (+.f64 1 (*.f64 th (*.f64 th -1/2))))) | |
| 26.8b | (*.f64 (*.f64 (pow.f64 2 -1/2) (cos.f64 th)) (*.f64 a1 a1)) | |
| 30.4b | (*.f64 a2 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) a2))) | |
| 26.8b | (*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))) | |
| ▶ | 0.4b | (*.f64 (*.f64 (pow.f64 2 -1/2) (cos.f64 th)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) |
| 40.5b | (/.f64 (pow.f64 a1 2) (sqrt.f64 2)) | |
| 26.9b | (*.f64 a1 (*.f64 a1 (*.f64 (sqrt.f64 1/2) (cos.f64 th)))) | |
| 30.3b | (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)) | |
| 26.9b | (*.f64 a1 (*.f64 (cos.f64 th) (*.f64 (pow.f64 2 -1/2) a1))) | |
| 26.9b | (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) | |
| 30.4b | (*.f64 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) | |
| 30.4b | (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)) | |
| 27.0b | (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) | |
| 48.4b | (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (/.f64 (pow.f64 a1 4) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))) | |
| ▶ | 30.4b | (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))) |
| 26.9b | (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) | |
| 0.6b | (*.f64 (*.f64 (neg.f64 (cos.f64 th)) (/.f64 1 (neg.f64 (sqrt.f64 2)))) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) | |
| ✓ | 26.9b | (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) |
| ✓ | 26.9b | (*.f64 a1 (*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2)))) |
| 42.6b | (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) | |
| ▶ | 40.4b | (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) |
Compiled 646 to 493 computations (23.7% saved)
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| 0.0b | (cos.f64 th) | |
| ✓ | 0.0b | (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) |
| 0.2b | (*.f64 (pow.f64 2 -1/2) (cos.f64 th)) | |
| ✓ | 0.4b | (*.f64 (*.f64 (pow.f64 2 -1/2) (cos.f64 th)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) |
Compiled 46 to 21 computations (54.3% saved)
15 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | a2 | @ | inf | (*.f64 (*.f64 (pow.f64 2 -1/2) (cos.f64 th)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) |
| 1.0ms | th | @ | 0 | (*.f64 (*.f64 (pow.f64 2 -1/2) (cos.f64 th)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) |
| 1.0ms | th | @ | inf | (*.f64 (*.f64 (pow.f64 2 -1/2) (cos.f64 th)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) |
| 1.0ms | th | @ | -inf | (*.f64 (*.f64 (pow.f64 2 -1/2) (cos.f64 th)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) |
| 0.0ms | a1 | @ | inf | (*.f64 (*.f64 (pow.f64 2 -1/2) (cos.f64 th)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) |
| 1× | batch-egg-rewrite |
| 961× | prod-diff_binary64 |
| 636× | log-prod_binary64 |
| 298× | fma-def_binary64 |
| 236× | expm1-udef_binary64 |
| 236× | log1p-udef_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 13 | 27 |
| 1 | 281 | 24 |
| 2 | 3633 | 24 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (*.f64 (pow.f64 2 -1/2) (cos.f64 th)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) |
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a1 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a1 a1))) (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a2 a1) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) 1) (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a1 a1))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 a2 a1) 2)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))) (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 a2 a1) 2)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 a2 a1) 2)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 a2 a1) 2)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 a2 a1) 2)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a2 a1) 2))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) 3) (pow.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a1 a1))) 3)) (fma.f64 (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) (-.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a1 a1))) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a1 a1)))) (*.f64 (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a1 a1)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)))) (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a1 a1))) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a1 a1))))) (-.f64 (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a1 a1)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 a2 6) (pow.f64 a1 6)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) (+.f64 (pow.f64 a2 4) (-.f64 (pow.f64 a1 4) (pow.f64 (*.f64 a2 a1) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 a2 4) (pow.f64 a1 4)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) (-.f64 (*.f64 a2 a2) (*.f64 a1 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (+.f64 (pow.f64 a2 6) (pow.f64 a1 6))) (+.f64 (pow.f64 a2 4) (-.f64 (pow.f64 a1 4) (pow.f64 (*.f64 a2 a1) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (-.f64 (pow.f64 a2 4) (pow.f64 a1 4))) (-.f64 (*.f64 a2 a2) (*.f64 a1 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a2 a1) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a2 a1) 2))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a2 a1) 2)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (hypot.f64 a2 a1) (sqrt.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a2 a1) 2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 a2 a1) 2)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a2 a1) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a1 a1)))) (exp.f64 (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a2 a1) 2))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) 3) (pow.f64 (pow.f64 (hypot.f64 a2 a1) 2) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (pow.f64 (hypot.f64 a2 a1) 2) 3) (pow.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a2 a1) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a2 a1) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a2 a1) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a2 a1) 2)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a2 a2)) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a1 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a1 a1)) (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a1 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a1 a1)) (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a1 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (*.f64 a1 a1) (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a2 (*.f64 a2 (*.f64 (sqrt.f64 1/2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a1 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a1 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a1 (*.f64 a1 (*.f64 (sqrt.f64 1/2) (cos.f64 th))) (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a1 a1) (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a1 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a1 a1))) (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 a1 4)) (*.f64 (pow.f64 (cbrt.f64 a1) 2) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 a2 4)) (*.f64 (pow.f64 (cbrt.f64 a2) 2) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a1 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (pow.f64 (cos.f64 th) 2) 1/2)) (*.f64 (cbrt.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th))) (*.f64 a2 a2)) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a1 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (pow.f64 (cos.f64 th) 2) 1/2)) (*.f64 (cbrt.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th))) (*.f64 a1 a1)) (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th))) (*.f64 (sqrt.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th))) (*.f64 a2 a2)) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a1 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th))) (*.f64 (sqrt.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th))) (*.f64 a1 a1)) (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) 1 (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a1 a1))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)))) (cbrt.f64 (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))))) (cbrt.f64 (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)))) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a1 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a1 a1)))) (cbrt.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a1 a1))))) (cbrt.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a1 a1)))) (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)))) (sqrt.f64 (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)))) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a1 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a1 a1)))) (sqrt.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a1 a1)))) (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th))) a2) (*.f64 (sqrt.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th))) a2) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a1 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a2 (sqrt.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)))) (*.f64 a2 (sqrt.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)))) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a1 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th))) a1) (*.f64 (sqrt.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th))) a1) (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a1 (sqrt.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)))) (*.f64 a1 (sqrt.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)))) (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (sqrt.f64 1/2) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a1 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) a2) a2 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a1 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (cbrt.f64 (pow.f64 a2 4))) (pow.f64 (cbrt.f64 a2) 2) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a1 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 a2 a2) (sqrt.f64 1/2)) (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a1 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 a2 a2) (cbrt.f64 (*.f64 (pow.f64 (cos.f64 th) 2) 1/2))) (cbrt.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a1 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 a2 a2) (sqrt.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)))) (sqrt.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a1 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) a1) a1 (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (cbrt.f64 (pow.f64 a1 4))) (pow.f64 (cbrt.f64 a1) 2) (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 a1 a1) (sqrt.f64 1/2)) (cos.f64 th) (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 a1 a1) (cbrt.f64 (*.f64 (pow.f64 (cos.f64 th) 2) 1/2))) (cbrt.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th))) (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 a1 a1) (sqrt.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)))) (sqrt.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th))) (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 (hypot.f64 a2 a1) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 a2 4) (-.f64 (*.f64 a2 a2) (*.f64 a1 a1))) (/.f64 (pow.f64 a1 4) (-.f64 (*.f64 a2 a2) (*.f64 a1 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (hypot.f64 a2 a1) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (hypot.f64 a2 a1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (hypot.f64 a2 a1) 2)) (pow.f64 (cbrt.f64 (pow.f64 (hypot.f64 a2 a1) 2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (pow.f64 (hypot.f64 a2 a1) 2)) 2) (cbrt.f64 (pow.f64 (hypot.f64 a2 a1) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (hypot.f64 a2 a1) (hypot.f64 a2 a1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 a2 6) (pow.f64 a1 6)) (/.f64 1 (+.f64 (pow.f64 a2 4) (-.f64 (pow.f64 a1 4) (pow.f64 (*.f64 a2 a1) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 a2 4) (pow.f64 a1 4)) (/.f64 1 (-.f64 (*.f64 a2 a2) (*.f64 a1 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 a2 4) (-.f64 (pow.f64 a1 4) (pow.f64 (*.f64 a2 a1) 2))) (+.f64 (pow.f64 a2 6) (pow.f64 a1 6))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (-.f64 (pow.f64 a2 4) (pow.f64 a1 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 a2 6) (pow.f64 a1 6)) (+.f64 (pow.f64 a2 4) (-.f64 (pow.f64 a1 4) (pow.f64 (*.f64 a2 a1) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 a2 6) (pow.f64 a1 6)) (+.f64 (pow.f64 a1 4) (-.f64 (pow.f64 a2 4) (pow.f64 (*.f64 a2 a1) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 a2 4) (pow.f64 a1 4)) (-.f64 (*.f64 a2 a2) (*.f64 a1 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 a2 6) (pow.f64 a1 6))) (neg.f64 (+.f64 (pow.f64 a2 4) (-.f64 (pow.f64 a1 4) (pow.f64 (*.f64 a2 a1) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 a2 4) (pow.f64 a1 4))) (neg.f64 (-.f64 (*.f64 a2 a2) (*.f64 a1 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (hypot.f64 a2 a1) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (pow.f64 (hypot.f64 a2 a1) 2) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (pow.f64 (hypot.f64 a2 a1) 2)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (hypot.f64 a2 a1) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (pow.f64 (hypot.f64 a2 a1) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (hypot.f64 a2 a1) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (hypot.f64 a2 a1) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 a2 a2))) (pow.f64 (exp.f64 a1) a1)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 a2) a2) (+.f64 1 (expm1.f64 (*.f64 a1 a1)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 a2 a2))) (+.f64 1 (expm1.f64 (*.f64 a1 a1)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 a1 a1))) (pow.f64 (exp.f64 a2) a2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 a1) a1) (+.f64 1 (expm1.f64 (*.f64 a2 a2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 a1 a1))) (+.f64 1 (expm1.f64 (*.f64 a2 a2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (pow.f64 (hypot.f64 a2 a1) 2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (hypot.f64 a2 a1) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (hypot.f64 a2 a1) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 2 (log.f64 (hypot.f64 a2 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (hypot.f64 a2 a1))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a2 a2 (*.f64 a1 a1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a2 a2) 1 (*.f64 a1 a1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a1 a1 (*.f64 a2 a2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a1 a1) 1 (*.f64 a2 a2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 a2 a2) (*.f64 a1 a1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 a1 a1) (*.f64 a2 a2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 a1) 2) (cbrt.f64 (pow.f64 a1 4)) (*.f64 a2 a2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 a1) 2) (*.f64 (cbrt.f64 a1) a1) (*.f64 a2 a2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 a1 4)) (pow.f64 (cbrt.f64 a1) 2) (*.f64 a2 a2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 a2) 2) (cbrt.f64 (pow.f64 a2 4)) (*.f64 a1 a1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 a2) 2) (*.f64 (cbrt.f64 a2) a2) (*.f64 a1 a1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 a2 4)) (pow.f64 (cbrt.f64 a2) 2) (*.f64 a1 a1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 a2) (*.f64 (sqrt.f64 a2) a2) (*.f64 a1 a1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 a1) (*.f64 (sqrt.f64 a1) a1) (*.f64 a2 a2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a2 (sqrt.f64 a2)) (sqrt.f64 a2) (*.f64 a1 a1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a1 (sqrt.f64 a1)) (sqrt.f64 a1) (*.f64 a2 a2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a1 (pow.f64 (cbrt.f64 a1) 2)) (cbrt.f64 a1) (*.f64 a2 a2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a2 (pow.f64 (cbrt.f64 a2) 2)) (cbrt.f64 a2) (*.f64 a1 a1)))))) |
| 1× | egg-herbie |
| 777× | distribute-rgt-in_binary64 |
| 766× | distribute-lft-in_binary64 |
| 605× | distribute-lft-out_binary64 |
| 488× | unswap-sqr_binary64 |
| 453× | associate-+l+_binary64 |
Useful iterations: 4 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 40 | 1012 |
| 1 | 110 | 904 |
| 2 | 345 | 864 |
| 3 | 1608 | 844 |
| 4 | 5092 | 835 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (sqrt.f64 1/2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2))) |
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)))) (*.f64 (sqrt.f64 1/2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)))) |
(+.f64 (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 4)))) (+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)))) (*.f64 (sqrt.f64 1/2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2))))) |
(+.f64 (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 4)))) (+.f64 (*.f64 -1/720 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 6)))) (+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)))) (*.f64 (sqrt.f64 1/2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)))))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(pow.f64 a1 2) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(pow.f64 a2 2) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(pow.f64 a2 2) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(pow.f64 a2 2) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(pow.f64 a1 2) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(pow.f64 a1 2) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
| Outputs |
|---|
(*.f64 (sqrt.f64 1/2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2))) |
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) |
(*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))) |
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)))) (*.f64 (sqrt.f64 1/2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)))) |
(fma.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (*.f64 th th))) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))) |
(fma.f64 -1/2 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (*.f64 th th))) (*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1)))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (+.f64 (sqrt.f64 1/2) (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 th th))))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 -1/2 (*.f64 th th)) 1) (fma.f64 a2 a2 (*.f64 a1 a1)))) |
(+.f64 (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 4)))) (+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)))) (*.f64 (sqrt.f64 1/2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2))))) |
(fma.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (pow.f64 th 4))) (fma.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (*.f64 th th))) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))))) |
(fma.f64 1/24 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (pow.f64 th 4))) (fma.f64 -1/2 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (*.f64 th th))) (*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))))) |
(fma.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))) (+.f64 (*.f64 -1/2 (*.f64 th th)) (*.f64 1/24 (pow.f64 th 4))))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/24 (pow.f64 th 4)) (*.f64 -1/2 (*.f64 th th)))) (sqrt.f64 1/2))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (+.f64 (*.f64 -1/2 (*.f64 th th)) (+.f64 (*.f64 1/24 (pow.f64 th 4)) 1)))) |
(+.f64 (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 4)))) (+.f64 (*.f64 -1/720 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 6)))) (+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)))) (*.f64 (sqrt.f64 1/2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)))))) |
(fma.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (pow.f64 th 4))) (fma.f64 -1/720 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (pow.f64 th 6))) (fma.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (*.f64 th th))) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))))) |
(fma.f64 1/24 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (pow.f64 th 4))) (fma.f64 -1/720 (*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (pow.f64 th 6))) (fma.f64 -1/2 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (*.f64 th th))) (*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1)))))) |
(+.f64 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (+.f64 (sqrt.f64 1/2) (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 th th))))) (*.f64 (*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))) (+.f64 (*.f64 1/24 (pow.f64 th 4)) (*.f64 -1/720 (pow.f64 th 6))))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (+.f64 (+.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 1/2) (*.f64 -1/2 (*.f64 th th)))) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/24 (pow.f64 th 4)) (*.f64 -1/720 (pow.f64 th 6)))))) |
(*.f64 (*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))) (+.f64 (+.f64 (*.f64 -1/2 (*.f64 th th)) 1) (+.f64 (*.f64 1/24 (pow.f64 th 4)) (*.f64 -1/720 (pow.f64 th 6))))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a1 a1) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a1 (*.f64 a1 (cos.f64 th)))) |
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a1 a1))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a1 a1) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a1 (*.f64 a1 (cos.f64 th)))) |
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a1 a1))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a1 a1) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a1 (*.f64 a1 (cos.f64 th)))) |
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a1 a1))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))) |
(pow.f64 a1 2) |
(*.f64 a1 a1) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) |
(fma.f64 a2 a2 (*.f64 a1 a1)) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) |
(fma.f64 a2 a2 (*.f64 a1 a1)) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) |
(fma.f64 a2 a2 (*.f64 a1 a1)) |
(pow.f64 a2 2) |
(*.f64 a2 a2) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) |
(fma.f64 a2 a2 (*.f64 a1 a1)) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) |
(fma.f64 a2 a2 (*.f64 a1 a1)) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) |
(fma.f64 a2 a2 (*.f64 a1 a1)) |
(pow.f64 a2 2) |
(*.f64 a2 a2) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) |
(fma.f64 a2 a2 (*.f64 a1 a1)) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) |
(fma.f64 a2 a2 (*.f64 a1 a1)) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) |
(fma.f64 a2 a2 (*.f64 a1 a1)) |
(pow.f64 a2 2) |
(*.f64 a2 a2) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) |
(fma.f64 a2 a2 (*.f64 a1 a1)) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) |
(fma.f64 a2 a2 (*.f64 a1 a1)) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) |
(fma.f64 a2 a2 (*.f64 a1 a1)) |
(pow.f64 a1 2) |
(*.f64 a1 a1) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) |
(fma.f64 a2 a2 (*.f64 a1 a1)) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) |
(fma.f64 a2 a2 (*.f64 a1 a1)) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) |
(fma.f64 a2 a2 (*.f64 a1 a1)) |
(pow.f64 a1 2) |
(*.f64 a1 a1) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) |
(fma.f64 a2 a2 (*.f64 a1 a1)) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) |
(fma.f64 a2 a2 (*.f64 a1 a1)) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) |
(fma.f64 a2 a2 (*.f64 a1 a1)) |
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.2b | (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) |
| 0.4b | (/.f64 a1 (sqrt.f64 2)) |
Compiled 17 to 13 computations (23.5% saved)
3 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | a1 | @ | 0 | (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) |
| 0.0ms | a1 | @ | inf | (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) |
| 0.0ms | a1 | @ | -inf | (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) |
| 1× | batch-egg-rewrite |
| 618× | pow1_binary64 |
| 576× | add-log-exp_binary64 |
| 576× | log1p-expm1-u_binary64 |
| 576× | expm1-log1p-u_binary64 |
| 564× | add-exp-log_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 6 | 9 |
| 1 | 127 | 9 |
| 2 | 1566 | 9 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 a1 (/.f64 a1 (sqrt.f64 2))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 a1 (/.f64 (sqrt.f64 2) a1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a1 a1) (sqrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 a1 a1)) (neg.f64 (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 a1) a1) (neg.f64 (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a1 (neg.f64 a1)) (neg.f64 (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 a1 a1) 1) (sqrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 a1 a1) (cbrt.f64 2)) (cbrt.f64 (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 a1 a1) (pow.f64 2 1/4)) (pow.f64 2 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 a1 (pow.f64 2 1/4)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 a1) (/.f64 a1 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))))))))) |
| 1× | egg-herbie |
| 759× | sqr-pow_binary64 |
| 434× | unswap-sqr_binary64 |
| 423× | *-commutative_binary64 |
| 423× | associate-*r/_binary64 |
| 393× | associate-/r/_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 6 | 108 |
| 1 | 11 | 108 |
| 2 | 20 | 108 |
| 3 | 37 | 108 |
| 4 | 83 | 108 |
| 5 | 266 | 108 |
| 6 | 1091 | 108 |
| 7 | 3478 | 108 |
| 8 | 4280 | 108 |
| 9 | 4465 | 108 |
| 10 | 4681 | 108 |
| 11 | 5028 | 108 |
| 12 | 5456 | 108 |
| 13 | 5935 | 108 |
| 14 | 6584 | 108 |
| 15 | 7273 | 108 |
| 1× | node limit |
| Inputs |
|---|
(/.f64 (pow.f64 a1 2) (sqrt.f64 2)) |
(/.f64 (pow.f64 a1 2) (sqrt.f64 2)) |
(/.f64 (pow.f64 a1 2) (sqrt.f64 2)) |
(/.f64 (pow.f64 a1 2) (sqrt.f64 2)) |
(/.f64 (pow.f64 a1 2) (sqrt.f64 2)) |
(/.f64 (pow.f64 a1 2) (sqrt.f64 2)) |
(/.f64 (pow.f64 a1 2) (sqrt.f64 2)) |
(/.f64 (pow.f64 a1 2) (sqrt.f64 2)) |
(/.f64 (pow.f64 a1 2) (sqrt.f64 2)) |
(/.f64 (pow.f64 a1 2) (sqrt.f64 2)) |
(/.f64 (pow.f64 a1 2) (sqrt.f64 2)) |
(/.f64 (pow.f64 a1 2) (sqrt.f64 2)) |
| Outputs |
|---|
(/.f64 (pow.f64 a1 2) (sqrt.f64 2)) |
(/.f64 (*.f64 a1 a1) (sqrt.f64 2)) |
(/.f64 a1 (/.f64 (sqrt.f64 2) a1)) |
(*.f64 (/.f64 a1 (sqrt.f64 2)) a1) |
(*.f64 a1 (/.f64 a1 (sqrt.f64 2))) |
(/.f64 (pow.f64 a1 2) (sqrt.f64 2)) |
(/.f64 (*.f64 a1 a1) (sqrt.f64 2)) |
(/.f64 a1 (/.f64 (sqrt.f64 2) a1)) |
(*.f64 (/.f64 a1 (sqrt.f64 2)) a1) |
(*.f64 a1 (/.f64 a1 (sqrt.f64 2))) |
(/.f64 (pow.f64 a1 2) (sqrt.f64 2)) |
(/.f64 (*.f64 a1 a1) (sqrt.f64 2)) |
(/.f64 a1 (/.f64 (sqrt.f64 2) a1)) |
(*.f64 (/.f64 a1 (sqrt.f64 2)) a1) |
(*.f64 a1 (/.f64 a1 (sqrt.f64 2))) |
(/.f64 (pow.f64 a1 2) (sqrt.f64 2)) |
(/.f64 (*.f64 a1 a1) (sqrt.f64 2)) |
(/.f64 a1 (/.f64 (sqrt.f64 2) a1)) |
(*.f64 (/.f64 a1 (sqrt.f64 2)) a1) |
(*.f64 a1 (/.f64 a1 (sqrt.f64 2))) |
(/.f64 (pow.f64 a1 2) (sqrt.f64 2)) |
(/.f64 (*.f64 a1 a1) (sqrt.f64 2)) |
(/.f64 a1 (/.f64 (sqrt.f64 2) a1)) |
(*.f64 (/.f64 a1 (sqrt.f64 2)) a1) |
(*.f64 a1 (/.f64 a1 (sqrt.f64 2))) |
(/.f64 (pow.f64 a1 2) (sqrt.f64 2)) |
(/.f64 (*.f64 a1 a1) (sqrt.f64 2)) |
(/.f64 a1 (/.f64 (sqrt.f64 2) a1)) |
(*.f64 (/.f64 a1 (sqrt.f64 2)) a1) |
(*.f64 a1 (/.f64 a1 (sqrt.f64 2))) |
(/.f64 (pow.f64 a1 2) (sqrt.f64 2)) |
(/.f64 (*.f64 a1 a1) (sqrt.f64 2)) |
(/.f64 a1 (/.f64 (sqrt.f64 2) a1)) |
(*.f64 (/.f64 a1 (sqrt.f64 2)) a1) |
(*.f64 a1 (/.f64 a1 (sqrt.f64 2))) |
(/.f64 (pow.f64 a1 2) (sqrt.f64 2)) |
(/.f64 (*.f64 a1 a1) (sqrt.f64 2)) |
(/.f64 a1 (/.f64 (sqrt.f64 2) a1)) |
(*.f64 (/.f64 a1 (sqrt.f64 2)) a1) |
(*.f64 a1 (/.f64 a1 (sqrt.f64 2))) |
(/.f64 (pow.f64 a1 2) (sqrt.f64 2)) |
(/.f64 (*.f64 a1 a1) (sqrt.f64 2)) |
(/.f64 a1 (/.f64 (sqrt.f64 2) a1)) |
(*.f64 (/.f64 a1 (sqrt.f64 2)) a1) |
(*.f64 a1 (/.f64 a1 (sqrt.f64 2))) |
(/.f64 (pow.f64 a1 2) (sqrt.f64 2)) |
(/.f64 (*.f64 a1 a1) (sqrt.f64 2)) |
(/.f64 a1 (/.f64 (sqrt.f64 2) a1)) |
(*.f64 (/.f64 a1 (sqrt.f64 2)) a1) |
(*.f64 a1 (/.f64 a1 (sqrt.f64 2))) |
(/.f64 (pow.f64 a1 2) (sqrt.f64 2)) |
(/.f64 (*.f64 a1 a1) (sqrt.f64 2)) |
(/.f64 a1 (/.f64 (sqrt.f64 2) a1)) |
(*.f64 (/.f64 a1 (sqrt.f64 2)) a1) |
(*.f64 a1 (/.f64 a1 (sqrt.f64 2))) |
(/.f64 (pow.f64 a1 2) (sqrt.f64 2)) |
(/.f64 (*.f64 a1 a1) (sqrt.f64 2)) |
(/.f64 a1 (/.f64 (sqrt.f64 2) a1)) |
(*.f64 (/.f64 a1 (sqrt.f64 2)) a1) |
(*.f64 a1 (/.f64 a1 (sqrt.f64 2))) |
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| 0.0b | (cos.f64 th) | |
| ✓ | 0.2b | (*.f64 a2 (*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2)))) |
| ✓ | 0.5b | (*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2))) |
| 0.7b | (/.f64 (cos.f64 th) (sqrt.f64 2)) |
Compiled 31 to 19 computations (38.7% saved)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 4.0ms | a2 | @ | 0 | (*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2))) |
| 1.0ms | th | @ | -inf | (*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2))) |
| 1.0ms | th | @ | inf | (*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2))) |
| 1.0ms | th | @ | inf | (*.f64 a2 (*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2)))) |
| 1.0ms | th | @ | -inf | (*.f64 a2 (*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2)))) |
| 1× | batch-egg-rewrite |
| 934× | pow1_binary64 |
| 864× | add-log-exp_binary64 |
| 864× | log1p-expm1-u_binary64 |
| 864× | expm1-log1p-u_binary64 |
| 845× | add-exp-log_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 25 |
| 1 | 187 | 25 |
| 2 | 2336 | 25 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 a2 (*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2)))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 a2 (/.f64 (sqrt.f64 2) (cos.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (sqrt.f64 2) (*.f64 a2 (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 a2 (cos.f64 th))) (neg.f64 (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 a2 (cos.f64 th)) 1) (sqrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 a2 (cos.f64 th)) (cbrt.f64 2)) (cbrt.f64 (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 a2 (cos.f64 th)) (pow.f64 2 1/4)) (pow.f64 2 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (cos.f64 th)) a2) (neg.f64 (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a2 (neg.f64 (cos.f64 th))) (neg.f64 (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 a2 3) (pow.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) 3) (pow.f64 a2 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 a2 (/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (cos.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 a2 (cos.f64 th)) a2) (sqrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a2 (*.f64 a2 (cos.f64 th))) (sqrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (sqrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 a2 a2) 1) (/.f64 (sqrt.f64 2) (cos.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 a2 a2) (neg.f64 (cos.f64 th))) (neg.f64 (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 a2 (/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 a2 (/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 a2 (/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 a2 (sqrt.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 a2 (/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 a2) (/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 a2 (/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 a2 3) (pow.f64 (/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)) 3) (pow.f64 a2 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 a2 (/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 a2 (/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 a2 (/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))))))))) |
| 1× | egg-herbie |
| 1035× | unswap-sqr_binary64 |
| 984× | associate-*l/_binary64 |
| 967× | fma-def_binary64 |
| 537× | associate-/l*_binary64 |
| 475× | *-commutative_binary64 |
Useful iterations: 5 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 53 | 764 |
| 1 | 135 | 760 |
| 2 | 350 | 758 |
| 3 | 1144 | 732 |
| 4 | 3627 | 698 |
| 5 | 5293 | 678 |
| 6 | 5469 | 678 |
| 7 | 5679 | 678 |
| 8 | 5894 | 678 |
| 9 | 6098 | 678 |
| 1× | node limit |
| Inputs |
|---|
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 a2 (sqrt.f64 2)) |
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 a2 (pow.f64 th 2)) (sqrt.f64 2))) (/.f64 a2 (sqrt.f64 2))) |
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 a2 (pow.f64 th 2)) (sqrt.f64 2))) (+.f64 (*.f64 1/24 (/.f64 (*.f64 a2 (pow.f64 th 4)) (sqrt.f64 2))) (/.f64 a2 (sqrt.f64 2)))) |
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 a2 (pow.f64 th 2)) (sqrt.f64 2))) (+.f64 (*.f64 -1/720 (/.f64 (*.f64 a2 (pow.f64 th 6)) (sqrt.f64 2))) (+.f64 (*.f64 1/24 (/.f64 (*.f64 a2 (pow.f64 th 4)) (sqrt.f64 2))) (/.f64 a2 (sqrt.f64 2))))) |
(/.f64 (*.f64 (cos.f64 th) a2) (sqrt.f64 2)) |
(/.f64 (*.f64 (cos.f64 th) a2) (sqrt.f64 2)) |
(/.f64 (*.f64 (cos.f64 th) a2) (sqrt.f64 2)) |
(/.f64 (*.f64 (cos.f64 th) a2) (sqrt.f64 2)) |
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 2)) (sqrt.f64 2)))) |
(+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 4)) (sqrt.f64 2))) (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 2)) (sqrt.f64 2))))) |
(+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 4)) (sqrt.f64 2))) (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 2)) (sqrt.f64 2))) (*.f64 -1/720 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 6)) (sqrt.f64 2)))))) |
(/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) |
(/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) |
(/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) |
(/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) |
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)) |
| Outputs |
|---|
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.f64 a2 (sqrt.f64 2)) |
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 a2 (pow.f64 th 2)) (sqrt.f64 2))) (/.f64 a2 (sqrt.f64 2))) |
(fma.f64 -1/2 (/.f64 a2 (/.f64 (sqrt.f64 2) (*.f64 th th))) (/.f64 a2 (sqrt.f64 2))) |
(fma.f64 -1/2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (*.f64 th th)) (/.f64 a2 (sqrt.f64 2))) |
(fma.f64 (/.f64 a2 (sqrt.f64 2)) (*.f64 th (*.f64 th -1/2)) (/.f64 a2 (sqrt.f64 2))) |
(*.f64 (+.f64 (*.f64 th (*.f64 th -1/2)) 1) (/.f64 a2 (sqrt.f64 2))) |
(*.f64 (+.f64 1 (*.f64 th (*.f64 th -1/2))) (/.f64 a2 (sqrt.f64 2))) |
(*.f64 (/.f64 a2 (sqrt.f64 2)) (+.f64 1 (*.f64 th (*.f64 th -1/2)))) |
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 a2 (pow.f64 th 2)) (sqrt.f64 2))) (+.f64 (*.f64 1/24 (/.f64 (*.f64 a2 (pow.f64 th 4)) (sqrt.f64 2))) (/.f64 a2 (sqrt.f64 2)))) |
(fma.f64 -1/2 (/.f64 a2 (/.f64 (sqrt.f64 2) (*.f64 th th))) (fma.f64 1/24 (/.f64 (*.f64 a2 (pow.f64 th 4)) (sqrt.f64 2)) (/.f64 a2 (sqrt.f64 2)))) |
(fma.f64 -1/2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (*.f64 th th)) (fma.f64 1/24 (*.f64 (/.f64 a2 (sqrt.f64 2)) (pow.f64 th 4)) (/.f64 a2 (sqrt.f64 2)))) |
(+.f64 (/.f64 a2 (sqrt.f64 2)) (*.f64 (/.f64 a2 (sqrt.f64 2)) (+.f64 (*.f64 th (*.f64 th -1/2)) (*.f64 1/24 (pow.f64 th 4))))) |
(fma.f64 (/.f64 a2 (sqrt.f64 2)) (fma.f64 1/24 (pow.f64 th 4) (*.f64 th (*.f64 th -1/2))) (/.f64 a2 (sqrt.f64 2))) |
(*.f64 (+.f64 (fma.f64 1/24 (pow.f64 th 4) (*.f64 th (*.f64 th -1/2))) 1) (/.f64 a2 (sqrt.f64 2))) |
(*.f64 (/.f64 a2 (sqrt.f64 2)) (+.f64 1 (fma.f64 1/24 (pow.f64 th 4) (*.f64 th (*.f64 th -1/2))))) |
(*.f64 (/.f64 a2 (sqrt.f64 2)) (+.f64 1 (fma.f64 th (*.f64 th -1/2) (*.f64 1/24 (pow.f64 th 4))))) |
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 a2 (pow.f64 th 2)) (sqrt.f64 2))) (+.f64 (*.f64 -1/720 (/.f64 (*.f64 a2 (pow.f64 th 6)) (sqrt.f64 2))) (+.f64 (*.f64 1/24 (/.f64 (*.f64 a2 (pow.f64 th 4)) (sqrt.f64 2))) (/.f64 a2 (sqrt.f64 2))))) |
(fma.f64 -1/2 (/.f64 a2 (/.f64 (sqrt.f64 2) (*.f64 th th))) (fma.f64 -1/720 (/.f64 (*.f64 a2 (pow.f64 th 6)) (sqrt.f64 2)) (fma.f64 1/24 (/.f64 (*.f64 a2 (pow.f64 th 4)) (sqrt.f64 2)) (/.f64 a2 (sqrt.f64 2))))) |
(fma.f64 -1/2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (*.f64 th th)) (fma.f64 -1/720 (*.f64 (/.f64 a2 (sqrt.f64 2)) (pow.f64 th 6)) (fma.f64 1/24 (*.f64 (/.f64 a2 (sqrt.f64 2)) (pow.f64 th 4)) (/.f64 a2 (sqrt.f64 2))))) |
(fma.f64 (/.f64 a2 (sqrt.f64 2)) (*.f64 1/24 (pow.f64 th 4)) (+.f64 (/.f64 a2 (sqrt.f64 2)) (*.f64 (/.f64 a2 (sqrt.f64 2)) (+.f64 (*.f64 th (*.f64 th -1/2)) (*.f64 -1/720 (pow.f64 th 6)))))) |
(+.f64 (/.f64 a2 (sqrt.f64 2)) (*.f64 (/.f64 a2 (sqrt.f64 2)) (+.f64 (fma.f64 1/24 (pow.f64 th 4) (*.f64 -1/720 (pow.f64 th 6))) (*.f64 th (*.f64 th -1/2))))) |
(*.f64 (/.f64 a2 (sqrt.f64 2)) (+.f64 (+.f64 1 (*.f64 th (*.f64 th -1/2))) (fma.f64 1/24 (pow.f64 th 4) (*.f64 -1/720 (pow.f64 th 6))))) |
(*.f64 (/.f64 a2 (sqrt.f64 2)) (+.f64 1 (+.f64 (*.f64 th (*.f64 th -1/2)) (fma.f64 1/24 (pow.f64 th 4) (*.f64 -1/720 (pow.f64 th 6)))))) |
(*.f64 (/.f64 a2 (sqrt.f64 2)) (+.f64 (fma.f64 th (*.f64 th -1/2) (*.f64 -1/720 (pow.f64 th 6))) (+.f64 1 (*.f64 1/24 (pow.f64 th 4))))) |
(/.f64 (*.f64 (cos.f64 th) a2) (sqrt.f64 2)) |
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.f64 (*.f64 (cos.f64 th) a2) (sqrt.f64 2)) |
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.f64 (*.f64 (cos.f64 th) a2) (sqrt.f64 2)) |
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.f64 (*.f64 (cos.f64 th) a2) (sqrt.f64 2)) |
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) |
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 (cos.f64 th) (*.f64 a2 (/.f64 a2 (sqrt.f64 2)))) |
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) |
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 (cos.f64 th) (*.f64 a2 (/.f64 a2 (sqrt.f64 2)))) |
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) |
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 (cos.f64 th) (*.f64 a2 (/.f64 a2 (sqrt.f64 2)))) |
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) |
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 (cos.f64 th) (*.f64 a2 (/.f64 a2 (sqrt.f64 2)))) |
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) |
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 (cos.f64 th) (*.f64 a2 (/.f64 a2 (sqrt.f64 2)))) |
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) |
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 (cos.f64 th) (*.f64 a2 (/.f64 a2 (sqrt.f64 2)))) |
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) |
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 (cos.f64 th) (*.f64 a2 (/.f64 a2 (sqrt.f64 2)))) |
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) |
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 (cos.f64 th) (*.f64 a2 (/.f64 a2 (sqrt.f64 2)))) |
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) |
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 (cos.f64 th) (*.f64 a2 (/.f64 a2 (sqrt.f64 2)))) |
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) |
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 (cos.f64 th) (*.f64 a2 (/.f64 a2 (sqrt.f64 2)))) |
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) |
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 (cos.f64 th) (*.f64 a2 (/.f64 a2 (sqrt.f64 2)))) |
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) |
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 (cos.f64 th) (*.f64 a2 (/.f64 a2 (sqrt.f64 2)))) |
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
(/.f64 (*.f64 a2 a2) (sqrt.f64 2)) |
(*.f64 (/.f64 a2 (sqrt.f64 2)) a2) |
(*.f64 a2 (/.f64 a2 (sqrt.f64 2))) |
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 2)) (sqrt.f64 2)))) |
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 -1/2 (/.f64 (*.f64 (*.f64 th th) (*.f64 a2 a2)) (sqrt.f64 2)))) |
(fma.f64 -1/2 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 th th)) (/.f64 (*.f64 a2 a2) (sqrt.f64 2))) |
(fma.f64 -1/2 (*.f64 (*.f64 th th) (*.f64 (/.f64 a2 (sqrt.f64 2)) a2)) (*.f64 (/.f64 a2 (sqrt.f64 2)) a2)) |
(fma.f64 (/.f64 a2 (sqrt.f64 2)) a2 (*.f64 th (/.f64 -1/2 (/.f64 (sqrt.f64 2) (*.f64 th (*.f64 a2 a2)))))) |
(*.f64 (+.f64 (*.f64 th (*.f64 th -1/2)) 1) (*.f64 a2 (/.f64 a2 (sqrt.f64 2)))) |
(*.f64 (+.f64 1 (*.f64 th (*.f64 th -1/2))) (*.f64 a2 (/.f64 a2 (sqrt.f64 2)))) |
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (+.f64 1 (*.f64 th (*.f64 th -1/2)))) |
(*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (+.f64 1 (*.f64 th (*.f64 th -1/2))))) |
(+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 4)) (sqrt.f64 2))) (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 2)) (sqrt.f64 2))))) |
(fma.f64 1/24 (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (pow.f64 th 4))) (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 -1/2 (/.f64 (*.f64 (*.f64 th th) (*.f64 a2 a2)) (sqrt.f64 2))))) |
(fma.f64 1/24 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (pow.f64 th 4)) (fma.f64 -1/2 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 th th)) (/.f64 (*.f64 a2 a2) (sqrt.f64 2)))) |
(fma.f64 -1/2 (*.f64 (*.f64 th th) (*.f64 (/.f64 a2 (sqrt.f64 2)) a2)) (fma.f64 1/24 (/.f64 (pow.f64 th 4) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (*.f64 (/.f64 a2 (sqrt.f64 2)) a2))) |
(fma.f64 (/.f64 a2 (sqrt.f64 2)) a2 (*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (+.f64 (*.f64 th (*.f64 th -1/2)) (*.f64 1/24 (pow.f64 th 4))))) |
(fma.f64 a2 (/.f64 a2 (sqrt.f64 2)) (*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (fma.f64 1/24 (pow.f64 th 4) (*.f64 th (*.f64 th -1/2))))) |
(*.f64 (+.f64 (fma.f64 1/24 (pow.f64 th 4) (*.f64 th (*.f64 th -1/2))) 1) (*.f64 a2 (/.f64 a2 (sqrt.f64 2)))) |
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (+.f64 1 (fma.f64 1/24 (pow.f64 th 4) (*.f64 th (*.f64 th -1/2))))) |
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (+.f64 1 (fma.f64 th (*.f64 th -1/2) (*.f64 1/24 (pow.f64 th 4))))) |
(+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 4)) (sqrt.f64 2))) (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 2)) (sqrt.f64 2))) (*.f64 -1/720 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 6)) (sqrt.f64 2)))))) |
(fma.f64 1/24 (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (pow.f64 th 4))) (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (fma.f64 -1/2 (/.f64 (*.f64 (*.f64 th th) (*.f64 a2 a2)) (sqrt.f64 2)) (*.f64 -1/720 (/.f64 (*.f64 (pow.f64 th 6) (*.f64 a2 a2)) (sqrt.f64 2)))))) |
(+.f64 (fma.f64 1/24 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (pow.f64 th 4)) (fma.f64 -1/2 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 th th)) (/.f64 (*.f64 a2 a2) (sqrt.f64 2)))) (/.f64 -1/720 (/.f64 (sqrt.f64 2) (*.f64 a2 (*.f64 a2 (pow.f64 th 6)))))) |
(fma.f64 1/24 (/.f64 (pow.f64 th 4) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (fma.f64 -1/2 (*.f64 (*.f64 th th) (*.f64 (/.f64 a2 (sqrt.f64 2)) a2)) (fma.f64 -1/720 (/.f64 (pow.f64 th 6) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (*.f64 (/.f64 a2 (sqrt.f64 2)) a2)))) |
(fma.f64 (/.f64 a2 (sqrt.f64 2)) a2 (fma.f64 1/24 (*.f64 a2 (*.f64 a2 (/.f64 (pow.f64 th 4) (sqrt.f64 2)))) (*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (+.f64 (*.f64 th (*.f64 th -1/2)) (*.f64 -1/720 (pow.f64 th 6)))))) |
(fma.f64 a2 (/.f64 a2 (sqrt.f64 2)) (*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (+.f64 (*.f64 th (*.f64 th -1/2)) (fma.f64 1/24 (pow.f64 th 4) (*.f64 -1/720 (pow.f64 th 6)))))) |
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (+.f64 (+.f64 1 (*.f64 th (*.f64 th -1/2))) (fma.f64 1/24 (pow.f64 th 4) (*.f64 -1/720 (pow.f64 th 6))))) |
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (+.f64 1 (+.f64 (*.f64 th (*.f64 th -1/2)) (fma.f64 1/24 (pow.f64 th 4) (*.f64 -1/720 (pow.f64 th 6)))))) |
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (+.f64 (fma.f64 th (*.f64 th -1/2) (*.f64 -1/720 (pow.f64 th 6))) (+.f64 1 (*.f64 1/24 (pow.f64 th 4))))) |
(/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) |
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) |
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 (cos.f64 th) (*.f64 a2 (/.f64 a2 (sqrt.f64 2)))) |
(/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) |
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) |
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 (cos.f64 th) (*.f64 a2 (/.f64 a2 (sqrt.f64 2)))) |
(/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) |
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) |
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 (cos.f64 th) (*.f64 a2 (/.f64 a2 (sqrt.f64 2)))) |
(/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) |
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) |
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 (cos.f64 th) (*.f64 a2 (/.f64 a2 (sqrt.f64 2)))) |
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) |
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 (cos.f64 th) (*.f64 a2 (/.f64 a2 (sqrt.f64 2)))) |
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) |
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 (cos.f64 th) (*.f64 a2 (/.f64 a2 (sqrt.f64 2)))) |
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) |
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 (cos.f64 th) (*.f64 a2 (/.f64 a2 (sqrt.f64 2)))) |
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) |
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 (cos.f64 th) (*.f64 a2 (/.f64 a2 (sqrt.f64 2)))) |
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| 0.0b | (cos.f64 th) | |
| ✓ | 0.1b | (*.f64 (*.f64 a1 (cos.f64 th)) a1) |
| ✓ | 0.1b | (*.f64 a1 (cos.f64 th)) |
| ✓ | 0.3b | (/.f64 (*.f64 (*.f64 a1 (cos.f64 th)) a1) (sqrt.f64 2)) |
Compiled 29 to 12 computations (58.6% saved)
18 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | th | @ | inf | (*.f64 a1 (cos.f64 th)) |
| 0.0ms | a1 | @ | inf | (*.f64 a1 (cos.f64 th)) |
| 0.0ms | a1 | @ | -inf | (*.f64 a1 (cos.f64 th)) |
| 0.0ms | a1 | @ | inf | (*.f64 (*.f64 a1 (cos.f64 th)) a1) |
| 0.0ms | a1 | @ | 0 | (/.f64 (*.f64 (*.f64 a1 (cos.f64 th)) a1) (sqrt.f64 2)) |
| 1× | batch-egg-rewrite |
| 960× | pow1_binary64 |
| 890× | add-log-exp_binary64 |
| 890× | log1p-expm1-u_binary64 |
| 890× | expm1-log1p-u_binary64 |
| 93× | add-sqr-sqrt_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 29 |
| 1 | 187 | 29 |
| 2 | 2375 | 29 |
| 1× | node limit |
| Inputs |
|---|
(/.f64 (*.f64 (*.f64 a1 (cos.f64 th)) a1) (sqrt.f64 2)) |
(*.f64 a1 (cos.f64 th)) |
(*.f64 (*.f64 a1 (cos.f64 th)) a1) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) (*.f64 a1 (cos.f64 th)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 a1 (*.f64 (*.f64 a1 (cos.f64 th)) (pow.f64 2 -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 a1 (cos.f64 th)) (/.f64 1 (/.f64 (sqrt.f64 2) a1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 a1 (cos.f64 th)) (*.f64 a1 (pow.f64 2 -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (pow.f64 2 -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) (*.f64 a1 (cos.f64 th)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 a1 (/.f64 (sqrt.f64 2) (*.f64 a1 (cos.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) (*.f64 a1 (cos.f64 th))))) (cbrt.f64 (/.f64 (pow.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) 2) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (pow.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) 2) 2)) (cbrt.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) (*.f64 a1 (cos.f64 th))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1))) 2) (*.f64 (cbrt.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1))) (pow.f64 2 -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) (*.f64 a1 (cos.f64 th))))) (sqrt.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) (*.f64 a1 (cos.f64 th))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1))) (*.f64 (sqrt.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1))) (pow.f64 2 -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 a1 (cos.f64 th)) (neg.f64 a1)) (/.f64 1 (neg.f64 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 2 -1/2) (*.f64 (cos.f64 th) (*.f64 a1 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a1 1) (/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2)) a1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 a1 (cos.f64 th)) 1) (/.f64 a1 (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1))) 2) 1) (/.f64 (cbrt.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1))) (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1))) 1) (/.f64 (sqrt.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1))) (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a1 (cbrt.f64 2)) (/.f64 (*.f64 a1 (cos.f64 th)) (cbrt.f64 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 a1 (cos.f64 th)) (cbrt.f64 2)) (/.f64 a1 (cbrt.f64 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (cbrt.f64 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1))) 2) (cbrt.f64 2)) (cbrt.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) (*.f64 a1 (cos.f64 th))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1))) (cbrt.f64 2)) (/.f64 (sqrt.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1))) (cbrt.f64 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a1 (pow.f64 2 1/4)) (/.f64 (*.f64 a1 (cos.f64 th)) (pow.f64 2 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 a1 (cos.f64 th)) (pow.f64 2 1/4)) (/.f64 a1 (pow.f64 2 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 2 1/4)) (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (pow.f64 2 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1))) 2) (pow.f64 2 1/4)) (/.f64 (cbrt.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1))) (pow.f64 2 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) (*.f64 a1 (cos.f64 th)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) (*.f64 a1 (cos.f64 th)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) (*.f64 a1 (cos.f64 th))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) (*.f64 a1 (cos.f64 th))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (*.f64 a1 a1))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (neg.f64 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 (pow.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) (*.f64 a1 (cos.f64 th))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) (*.f64 a1 (cos.f64 th)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) (*.f64 a1 (cos.f64 th)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) 3) (*.f64 2 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) (*.f64 a1 (cos.f64 th))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) (*.f64 a1 (cos.f64 th))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) (*.f64 a1 (cos.f64 th)))))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 a1 (cos.f64 th)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 a1 (cos.f64 th)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 a1 (cos.f64 th)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 a1 (cos.f64 th))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 a1 (cos.f64 th))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 a1 (cos.f64 th)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 a1) (cos.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 a1 (cos.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 a1 (cos.f64 th)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 a1 3) (pow.f64 (cos.f64 th) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (cos.f64 th) 3) (pow.f64 a1 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 a1 (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 a1 (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 a1 (cos.f64 th)))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 a1) (*.f64 a1 (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 a1 3) (pow.f64 (*.f64 a1 (cos.f64 th)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (*.f64 a1 (cos.f64 th)) 3) (pow.f64 a1 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)))))))) |
| 1× | egg-herbie |
| 702× | associate-*r/_binary64 |
| 642× | associate-*l/_binary64 |
| 497× | associate-/l*_binary64 |
| 456× | associate-/r*_binary64 |
| 431× | distribute-rgt-out_binary64 |
Useful iterations: 5 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 51 | 772 |
| 1 | 146 | 766 |
| 2 | 412 | 753 |
| 3 | 1498 | 734 |
| 4 | 4183 | 715 |
| 5 | 5814 | 705 |
| 6 | 7302 | 705 |
| 1× | node limit |
| Inputs |
|---|
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (pow.f64 a1 2) (sqrt.f64 2)) |
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))) |
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 4)) (sqrt.f64 2))) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))) |
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (+.f64 (*.f64 -1/720 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 6)) (sqrt.f64 2))) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 4)) (sqrt.f64 2))) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))))) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
a1 |
(+.f64 a1 (*.f64 -1/2 (*.f64 a1 (pow.f64 th 2)))) |
(+.f64 a1 (+.f64 (*.f64 -1/2 (*.f64 a1 (pow.f64 th 2))) (*.f64 1/24 (*.f64 a1 (pow.f64 th 4))))) |
(+.f64 a1 (+.f64 (*.f64 -1/720 (*.f64 a1 (pow.f64 th 6))) (+.f64 (*.f64 -1/2 (*.f64 a1 (pow.f64 th 2))) (*.f64 1/24 (*.f64 a1 (pow.f64 th 4)))))) |
(*.f64 (pow.f64 a1 2) (cos.f64 th)) |
(*.f64 (pow.f64 a1 2) (cos.f64 th)) |
(*.f64 (pow.f64 a1 2) (cos.f64 th)) |
(*.f64 (pow.f64 a1 2) (cos.f64 th)) |
(*.f64 (pow.f64 a1 2) (cos.f64 th)) |
(*.f64 (pow.f64 a1 2) (cos.f64 th)) |
(*.f64 (pow.f64 a1 2) (cos.f64 th)) |
(*.f64 (pow.f64 a1 2) (cos.f64 th)) |
(*.f64 (pow.f64 a1 2) (cos.f64 th)) |
(*.f64 (pow.f64 a1 2) (cos.f64 th)) |
(*.f64 (pow.f64 a1 2) (cos.f64 th)) |
(*.f64 (pow.f64 a1 2) (cos.f64 th)) |
(pow.f64 a1 2) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 a1 2) (pow.f64 th 2))) (pow.f64 a1 2)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 a1 2) (pow.f64 th 2))) (+.f64 (pow.f64 a1 2) (*.f64 1/24 (*.f64 (pow.f64 a1 2) (pow.f64 th 4))))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 a1 2) (pow.f64 th 2))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 a1 2) (pow.f64 th 6))) (+.f64 (pow.f64 a1 2) (*.f64 1/24 (*.f64 (pow.f64 a1 2) (pow.f64 th 4)))))) |
(*.f64 (pow.f64 a1 2) (cos.f64 th)) |
(*.f64 (pow.f64 a1 2) (cos.f64 th)) |
(*.f64 (pow.f64 a1 2) (cos.f64 th)) |
(*.f64 (pow.f64 a1 2) (cos.f64 th)) |
(*.f64 (pow.f64 a1 2) (cos.f64 th)) |
(*.f64 (pow.f64 a1 2) (cos.f64 th)) |
(*.f64 (pow.f64 a1 2) (cos.f64 th)) |
(*.f64 (pow.f64 a1 2) (cos.f64 th)) |
| Outputs |
|---|
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) |
(*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 a1 (*.f64 (/.f64 a1 (sqrt.f64 2)) (cos.f64 th))) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) |
(*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 a1 (*.f64 (/.f64 a1 (sqrt.f64 2)) (cos.f64 th))) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) |
(*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 a1 (*.f64 (/.f64 a1 (sqrt.f64 2)) (cos.f64 th))) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) |
(*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 a1 (*.f64 (/.f64 a1 (sqrt.f64 2)) (cos.f64 th))) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) |
(*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 a1 (*.f64 (/.f64 a1 (sqrt.f64 2)) (cos.f64 th))) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) |
(*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 a1 (*.f64 (/.f64 a1 (sqrt.f64 2)) (cos.f64 th))) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) |
(*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 a1 (*.f64 (/.f64 a1 (sqrt.f64 2)) (cos.f64 th))) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) |
(*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 a1 (*.f64 (/.f64 a1 (sqrt.f64 2)) (cos.f64 th))) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) |
(*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 a1 (*.f64 (/.f64 a1 (sqrt.f64 2)) (cos.f64 th))) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) |
(*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 a1 (*.f64 (/.f64 a1 (sqrt.f64 2)) (cos.f64 th))) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) |
(*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 a1 (*.f64 (/.f64 a1 (sqrt.f64 2)) (cos.f64 th))) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) |
(*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 a1 (*.f64 (/.f64 a1 (sqrt.f64 2)) (cos.f64 th))) |
(/.f64 (pow.f64 a1 2) (sqrt.f64 2)) |
(/.f64 (*.f64 a1 a1) (sqrt.f64 2)) |
(/.f64 a1 (/.f64 (sqrt.f64 2) a1)) |
(*.f64 a1 (/.f64 a1 (sqrt.f64 2))) |
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))) |
(fma.f64 -1/2 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (*.f64 th th))) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) |
(fma.f64 -1/2 (*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (*.f64 th th)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) |
(fma.f64 -1/2 (*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (*.f64 th th)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))) |
(fma.f64 -1/2 (*.f64 a1 (*.f64 (/.f64 a1 (sqrt.f64 2)) (*.f64 th th))) (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) |
(*.f64 (+.f64 1 (*.f64 th (*.f64 th -1/2))) (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) |
(/.f64 (fma.f64 -1/2 (*.f64 th (*.f64 a1 th)) a1) (/.f64 (sqrt.f64 2) a1)) |
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 4)) (sqrt.f64 2))) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))) |
(fma.f64 -1/2 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (*.f64 th th))) (fma.f64 1/24 (/.f64 (*.f64 (*.f64 a1 a1) (pow.f64 th 4)) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))) |
(fma.f64 -1/2 (*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (*.f64 th th)) (fma.f64 1/24 (*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (pow.f64 th 4)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))) |
(fma.f64 -1/2 (*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (*.f64 th th)) (fma.f64 1/24 (*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (pow.f64 th 4)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))) |
(+.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (+.f64 (*.f64 th (*.f64 th -1/2)) (*.f64 1/24 (pow.f64 th 4))))) |
(*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (+.f64 1 (+.f64 (*.f64 th (*.f64 th -1/2)) (*.f64 1/24 (pow.f64 th 4))))) |
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (+.f64 (*.f64 -1/720 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 6)) (sqrt.f64 2))) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 4)) (sqrt.f64 2))) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))))) |
(fma.f64 -1/2 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (*.f64 th th))) (fma.f64 -1/720 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (pow.f64 th 6))) (fma.f64 1/24 (/.f64 (*.f64 (*.f64 a1 a1) (pow.f64 th 4)) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))))) |
(fma.f64 -1/2 (*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (*.f64 th th)) (fma.f64 -1/720 (*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (pow.f64 th 6)) (fma.f64 1/24 (*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (pow.f64 th 4)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))))) |
(fma.f64 -1/2 (*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (*.f64 th th)) (fma.f64 1/24 (*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (pow.f64 th 4)) (fma.f64 -1/720 (/.f64 (pow.f64 th 6) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))))) |
(+.f64 (fma.f64 -1/2 (*.f64 a1 (*.f64 (/.f64 a1 (sqrt.f64 2)) (*.f64 th th))) (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) (*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (+.f64 (*.f64 -1/720 (pow.f64 th 6)) (*.f64 1/24 (pow.f64 th 4))))) |
(+.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (+.f64 (*.f64 th (*.f64 th -1/2)) (+.f64 (*.f64 -1/720 (pow.f64 th 6)) (*.f64 1/24 (pow.f64 th 4)))))) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) |
(*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 a1 (*.f64 (/.f64 a1 (sqrt.f64 2)) (cos.f64 th))) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) |
(*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 a1 (*.f64 (/.f64 a1 (sqrt.f64 2)) (cos.f64 th))) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) |
(*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 a1 (*.f64 (/.f64 a1 (sqrt.f64 2)) (cos.f64 th))) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) |
(*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 a1 (*.f64 (/.f64 a1 (sqrt.f64 2)) (cos.f64 th))) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) |
(*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 a1 (*.f64 (/.f64 a1 (sqrt.f64 2)) (cos.f64 th))) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) |
(*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 a1 (*.f64 (/.f64 a1 (sqrt.f64 2)) (cos.f64 th))) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) |
(*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 a1 (*.f64 (/.f64 a1 (sqrt.f64 2)) (cos.f64 th))) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) |
(*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 a1 (*.f64 (/.f64 a1 (sqrt.f64 2)) (cos.f64 th))) |
a1 |
(+.f64 a1 (*.f64 -1/2 (*.f64 a1 (pow.f64 th 2)))) |
(+.f64 a1 (*.f64 -1/2 (*.f64 a1 (*.f64 th th)))) |
(fma.f64 -1/2 (*.f64 a1 (*.f64 th th)) a1) |
(fma.f64 a1 (*.f64 -1/2 (*.f64 th th)) a1) |
(fma.f64 (*.f64 th th) (*.f64 a1 -1/2) a1) |
(fma.f64 -1/2 (*.f64 th (*.f64 a1 th)) a1) |
(+.f64 a1 (+.f64 (*.f64 -1/2 (*.f64 a1 (pow.f64 th 2))) (*.f64 1/24 (*.f64 a1 (pow.f64 th 4))))) |
(+.f64 a1 (fma.f64 -1/2 (*.f64 a1 (*.f64 th th)) (*.f64 1/24 (*.f64 a1 (pow.f64 th 4))))) |
(+.f64 a1 (fma.f64 (*.f64 a1 1/24) (pow.f64 th 4) (*.f64 a1 (*.f64 (*.f64 th th) -1/2)))) |
(fma.f64 a1 (*.f64 -1/2 (*.f64 th th)) (fma.f64 (pow.f64 th 4) (*.f64 a1 1/24) a1)) |
(fma.f64 a1 (*.f64 1/24 (pow.f64 th 4)) (fma.f64 (*.f64 th th) (*.f64 a1 -1/2) a1)) |
(fma.f64 a1 (*.f64 th (*.f64 th -1/2)) (fma.f64 a1 (*.f64 1/24 (pow.f64 th 4)) a1)) |
(+.f64 a1 (+.f64 (*.f64 -1/720 (*.f64 a1 (pow.f64 th 6))) (+.f64 (*.f64 -1/2 (*.f64 a1 (pow.f64 th 2))) (*.f64 1/24 (*.f64 a1 (pow.f64 th 4)))))) |
(+.f64 a1 (fma.f64 -1/720 (*.f64 a1 (pow.f64 th 6)) (fma.f64 -1/2 (*.f64 a1 (*.f64 th th)) (*.f64 1/24 (*.f64 a1 (pow.f64 th 4)))))) |
(+.f64 a1 (fma.f64 -1/720 (*.f64 a1 (pow.f64 th 6)) (fma.f64 (*.f64 a1 1/24) (pow.f64 th 4) (*.f64 a1 (*.f64 (*.f64 th th) -1/2))))) |
(fma.f64 a1 (*.f64 -1/720 (pow.f64 th 6)) (fma.f64 a1 (*.f64 -1/2 (*.f64 th th)) (fma.f64 (pow.f64 th 4) (*.f64 a1 1/24) a1))) |
(fma.f64 a1 (*.f64 -1/720 (pow.f64 th 6)) (fma.f64 a1 (*.f64 1/24 (pow.f64 th 4)) (fma.f64 (*.f64 th th) (*.f64 a1 -1/2) a1))) |
(*.f64 a1 (+.f64 1 (+.f64 (*.f64 th (*.f64 th -1/2)) (+.f64 (*.f64 -1/720 (pow.f64 th 6)) (*.f64 1/24 (pow.f64 th 4)))))) |
(*.f64 (pow.f64 a1 2) (cos.f64 th)) |
(*.f64 (*.f64 a1 a1) (cos.f64 th)) |
(*.f64 a1 (*.f64 a1 (cos.f64 th))) |
(*.f64 (pow.f64 a1 2) (cos.f64 th)) |
(*.f64 (*.f64 a1 a1) (cos.f64 th)) |
(*.f64 a1 (*.f64 a1 (cos.f64 th))) |
(*.f64 (pow.f64 a1 2) (cos.f64 th)) |
(*.f64 (*.f64 a1 a1) (cos.f64 th)) |
(*.f64 a1 (*.f64 a1 (cos.f64 th))) |
(*.f64 (pow.f64 a1 2) (cos.f64 th)) |
(*.f64 (*.f64 a1 a1) (cos.f64 th)) |
(*.f64 a1 (*.f64 a1 (cos.f64 th))) |
(*.f64 (pow.f64 a1 2) (cos.f64 th)) |
(*.f64 (*.f64 a1 a1) (cos.f64 th)) |
(*.f64 a1 (*.f64 a1 (cos.f64 th))) |
(*.f64 (pow.f64 a1 2) (cos.f64 th)) |
(*.f64 (*.f64 a1 a1) (cos.f64 th)) |
(*.f64 a1 (*.f64 a1 (cos.f64 th))) |
(*.f64 (pow.f64 a1 2) (cos.f64 th)) |
(*.f64 (*.f64 a1 a1) (cos.f64 th)) |
(*.f64 a1 (*.f64 a1 (cos.f64 th))) |
(*.f64 (pow.f64 a1 2) (cos.f64 th)) |
(*.f64 (*.f64 a1 a1) (cos.f64 th)) |
(*.f64 a1 (*.f64 a1 (cos.f64 th))) |
(*.f64 (pow.f64 a1 2) (cos.f64 th)) |
(*.f64 (*.f64 a1 a1) (cos.f64 th)) |
(*.f64 a1 (*.f64 a1 (cos.f64 th))) |
(*.f64 (pow.f64 a1 2) (cos.f64 th)) |
(*.f64 (*.f64 a1 a1) (cos.f64 th)) |
(*.f64 a1 (*.f64 a1 (cos.f64 th))) |
(*.f64 (pow.f64 a1 2) (cos.f64 th)) |
(*.f64 (*.f64 a1 a1) (cos.f64 th)) |
(*.f64 a1 (*.f64 a1 (cos.f64 th))) |
(*.f64 (pow.f64 a1 2) (cos.f64 th)) |
(*.f64 (*.f64 a1 a1) (cos.f64 th)) |
(*.f64 a1 (*.f64 a1 (cos.f64 th))) |
(pow.f64 a1 2) |
(*.f64 a1 a1) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 a1 2) (pow.f64 th 2))) (pow.f64 a1 2)) |
(fma.f64 -1/2 (*.f64 (*.f64 a1 a1) (*.f64 th th)) (*.f64 a1 a1)) |
(fma.f64 a1 a1 (*.f64 (*.f64 a1 a1) (*.f64 (*.f64 th th) -1/2))) |
(*.f64 (+.f64 (*.f64 -1/2 (*.f64 th th)) 1) (*.f64 a1 a1)) |
(*.f64 a1 (fma.f64 (*.f64 th th) (*.f64 a1 -1/2) a1)) |
(*.f64 a1 (fma.f64 -1/2 (*.f64 th (*.f64 a1 th)) a1)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 a1 2) (pow.f64 th 2))) (+.f64 (pow.f64 a1 2) (*.f64 1/24 (*.f64 (pow.f64 a1 2) (pow.f64 th 4))))) |
(+.f64 (fma.f64 -1/2 (*.f64 (*.f64 a1 a1) (*.f64 th th)) (*.f64 a1 a1)) (*.f64 1/24 (*.f64 (*.f64 a1 a1) (pow.f64 th 4)))) |
(fma.f64 -1/2 (*.f64 a1 (*.f64 a1 (*.f64 th th))) (fma.f64 (*.f64 (*.f64 a1 a1) 1/24) (pow.f64 th 4) (*.f64 a1 a1))) |
(fma.f64 a1 a1 (*.f64 (*.f64 a1 a1) (+.f64 (*.f64 -1/2 (*.f64 th th)) (*.f64 1/24 (pow.f64 th 4))))) |
(*.f64 (*.f64 a1 a1) (+.f64 (*.f64 th (*.f64 th -1/2)) (+.f64 1 (*.f64 1/24 (pow.f64 th 4))))) |
(*.f64 a1 (fma.f64 a1 (*.f64 1/24 (pow.f64 th 4)) (fma.f64 (*.f64 th th) (*.f64 a1 -1/2) a1))) |
(*.f64 a1 (fma.f64 a1 (*.f64 th (*.f64 th -1/2)) (fma.f64 a1 (*.f64 1/24 (pow.f64 th 4)) a1))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 a1 2) (pow.f64 th 2))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 a1 2) (pow.f64 th 6))) (+.f64 (pow.f64 a1 2) (*.f64 1/24 (*.f64 (pow.f64 a1 2) (pow.f64 th 4)))))) |
(fma.f64 -1/2 (*.f64 (*.f64 a1 a1) (*.f64 th th)) (fma.f64 -1/720 (*.f64 (*.f64 a1 a1) (pow.f64 th 6)) (+.f64 (*.f64 a1 a1) (*.f64 1/24 (*.f64 (*.f64 a1 a1) (pow.f64 th 4)))))) |
(fma.f64 -1/2 (*.f64 a1 (*.f64 a1 (*.f64 th th))) (fma.f64 -1/720 (*.f64 a1 (*.f64 a1 (pow.f64 th 6))) (fma.f64 (*.f64 (*.f64 a1 a1) 1/24) (pow.f64 th 4) (*.f64 a1 a1)))) |
(fma.f64 (*.f64 a1 a1) (*.f64 -1/2 (*.f64 th th)) (fma.f64 a1 a1 (*.f64 (*.f64 a1 a1) (+.f64 (*.f64 -1/720 (pow.f64 th 6)) (*.f64 1/24 (pow.f64 th 4)))))) |
(+.f64 (*.f64 a1 a1) (*.f64 (*.f64 a1 a1) (+.f64 (+.f64 (*.f64 -1/720 (pow.f64 th 6)) (*.f64 1/24 (pow.f64 th 4))) (*.f64 th (*.f64 th -1/2))))) |
(*.f64 a1 (fma.f64 a1 (*.f64 -1/720 (pow.f64 th 6)) (fma.f64 a1 (*.f64 1/24 (pow.f64 th 4)) (fma.f64 (*.f64 th th) (*.f64 a1 -1/2) a1)))) |
(*.f64 a1 (*.f64 a1 (+.f64 1 (+.f64 (*.f64 th (*.f64 th -1/2)) (+.f64 (*.f64 -1/720 (pow.f64 th 6)) (*.f64 1/24 (pow.f64 th 4))))))) |
(*.f64 (pow.f64 a1 2) (cos.f64 th)) |
(*.f64 (*.f64 a1 a1) (cos.f64 th)) |
(*.f64 a1 (*.f64 a1 (cos.f64 th))) |
(*.f64 (pow.f64 a1 2) (cos.f64 th)) |
(*.f64 (*.f64 a1 a1) (cos.f64 th)) |
(*.f64 a1 (*.f64 a1 (cos.f64 th))) |
(*.f64 (pow.f64 a1 2) (cos.f64 th)) |
(*.f64 (*.f64 a1 a1) (cos.f64 th)) |
(*.f64 a1 (*.f64 a1 (cos.f64 th))) |
(*.f64 (pow.f64 a1 2) (cos.f64 th)) |
(*.f64 (*.f64 a1 a1) (cos.f64 th)) |
(*.f64 a1 (*.f64 a1 (cos.f64 th))) |
(*.f64 (pow.f64 a1 2) (cos.f64 th)) |
(*.f64 (*.f64 a1 a1) (cos.f64 th)) |
(*.f64 a1 (*.f64 a1 (cos.f64 th))) |
(*.f64 (pow.f64 a1 2) (cos.f64 th)) |
(*.f64 (*.f64 a1 a1) (cos.f64 th)) |
(*.f64 a1 (*.f64 a1 (cos.f64 th))) |
(*.f64 (pow.f64 a1 2) (cos.f64 th)) |
(*.f64 (*.f64 a1 a1) (cos.f64 th)) |
(*.f64 a1 (*.f64 a1 (cos.f64 th))) |
(*.f64 (pow.f64 a1 2) (cos.f64 th)) |
(*.f64 (*.f64 a1 a1) (cos.f64 th)) |
(*.f64 a1 (*.f64 a1 (cos.f64 th))) |
Found 3 expressions with local error:
| New | Error | Program |
|---|---|---|
| 0.0b | (cos.f64 th) | |
| ✓ | 0.1b | (*.f64 (pow.f64 a2 2) (cos.f64 th)) |
| ✓ | 0.3b | (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))) |
Compiled 29 to 19 computations (34.5% saved)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | th | @ | 0 | (*.f64 (pow.f64 a2 2) (cos.f64 th)) |
| 1.0ms | th | @ | -inf | (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))) |
| 1.0ms | a2 | @ | 0 | (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))) |
| 1.0ms | a2 | @ | inf | (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))) |
| 1.0ms | th | @ | inf | (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))) |
| 1× | batch-egg-rewrite |
| 855× | pow1_binary64 |
| 786× | add-log-exp_binary64 |
| 786× | log1p-expm1-u_binary64 |
| 786× | expm1-log1p-u_binary64 |
| 768× | add-exp-log_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 23 |
| 1 | 203 | 23 |
| 2 | 2209 | 23 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))) |
(*.f64 (pow.f64 a2 2) (cos.f64 th)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 a2 (sqrt.f64 (cos.f64 th))) (pow.f64 1/2 1/4)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 1/2 (*.f64 (pow.f64 (cos.f64 th) 2) (pow.f64 a2 4))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sqrt.f64 1/2)) (*.f64 a2 (*.f64 a2 (cos.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (*.f64 1/2 (sqrt.f64 1/2)) (pow.f64 (*.f64 a2 (*.f64 a2 (cos.f64 th))) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (*.f64 a2 (*.f64 a2 (cos.f64 th))) 3) (*.f64 1/2 (sqrt.f64 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 a2 (*.f64 a2 (cos.f64 th)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 a2 (*.f64 a2 (cos.f64 th))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 a2 (*.f64 a2 (cos.f64 th))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 a2 (*.f64 a2 (cos.f64 th)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 a2 (sqrt.f64 (cos.f64 th))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (pow.f64 (cos.f64 th) 2) (pow.f64 a2 4)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (pow.f64 (exp.f64 a2) a2) (cos.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 a2 (*.f64 a2 (cos.f64 th))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (*.f64 a2 a2) 3) (pow.f64 (cos.f64 th) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (cos.f64 th) 3) (pow.f64 (*.f64 a2 a2) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 a2 (*.f64 a2 (cos.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 a2 (*.f64 a2 (cos.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 a2 (*.f64 a2 (cos.f64 th))))))))) |
| 1× | egg-herbie |
| 1492× | distribute-lft-out_binary64 |
| 838× | unswap-sqr_binary64 |
| 458× | *-commutative_binary64 |
| 399× | distribute-rgt-out_binary64 |
| 348× | fma-def_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 46 | 408 |
| 1 | 123 | 393 |
| 2 | 381 | 346 |
| 3 | 1705 | 326 |
| 4 | 3365 | 326 |
| 5 | 4943 | 326 |
| 6 | 5157 | 326 |
| 7 | 5411 | 326 |
| 8 | 5718 | 326 |
| 9 | 6170 | 326 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) |
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (pow.f64 th 2))))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (pow.f64 th 2)))) (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (pow.f64 th 4)))))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (pow.f64 th 2)))) (+.f64 (*.f64 -1/720 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (pow.f64 th 6)))) (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (pow.f64 th 4))))))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a2 2))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a2 2))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a2 2))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a2 2))) |
(*.f64 (cos.f64 th) (pow.f64 a2 2)) |
(*.f64 (cos.f64 th) (pow.f64 a2 2)) |
(*.f64 (cos.f64 th) (pow.f64 a2 2)) |
(*.f64 (cos.f64 th) (pow.f64 a2 2)) |
(*.f64 (cos.f64 th) (pow.f64 a2 2)) |
(*.f64 (cos.f64 th) (pow.f64 a2 2)) |
(*.f64 (cos.f64 th) (pow.f64 a2 2)) |
(*.f64 (cos.f64 th) (pow.f64 a2 2)) |
(*.f64 (cos.f64 th) (pow.f64 a2 2)) |
(*.f64 (cos.f64 th) (pow.f64 a2 2)) |
(*.f64 (cos.f64 th) (pow.f64 a2 2)) |
(*.f64 (cos.f64 th) (pow.f64 a2 2)) |
(pow.f64 a2 2) |
(+.f64 (pow.f64 a2 2) (*.f64 -1/2 (*.f64 (pow.f64 th 2) (pow.f64 a2 2)))) |
(+.f64 (pow.f64 a2 2) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 th 2) (pow.f64 a2 2))) (*.f64 1/24 (*.f64 (pow.f64 th 4) (pow.f64 a2 2))))) |
(+.f64 (pow.f64 a2 2) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 th 2) (pow.f64 a2 2))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 th 4) (pow.f64 a2 2))) (*.f64 -1/720 (*.f64 (pow.f64 th 6) (pow.f64 a2 2)))))) |
| Outputs |
|---|
(*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)) |
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (pow.f64 th 2))))) |
(fma.f64 (sqrt.f64 1/2) (*.f64 a2 a2) (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (*.f64 th th))))) |
(fma.f64 -1/2 (*.f64 (*.f64 a2 a2) (*.f64 (*.f64 th th) (sqrt.f64 1/2))) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (fma.f64 -1/2 (*.f64 th th) 1))) |
(*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) |
(*.f64 a2 (*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (*.f64 (sqrt.f64 1/2) a2))) |
(*.f64 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (fma.f64 -1/2 (*.f64 th th) 1))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (pow.f64 th 2)))) (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (pow.f64 th 4)))))) |
(fma.f64 (sqrt.f64 1/2) (*.f64 a2 a2) (fma.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (*.f64 th th))) (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (pow.f64 th 4)))))) |
(fma.f64 (sqrt.f64 1/2) (*.f64 a2 a2) (fma.f64 -1/2 (*.f64 (*.f64 a2 a2) (*.f64 (*.f64 th th) (sqrt.f64 1/2))) (*.f64 (*.f64 (*.f64 a2 a2) (pow.f64 th 4)) (*.f64 (sqrt.f64 1/2) 1/24)))) |
(fma.f64 (sqrt.f64 1/2) (*.f64 a2 a2) (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)) (fma.f64 -1/2 (*.f64 th th) (*.f64 1/24 (pow.f64 th 4))))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (+.f64 1 (fma.f64 1/24 (pow.f64 th 4) (*.f64 -1/2 (*.f64 th th)))))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (+.f64 1 (fma.f64 -1/2 (*.f64 th th) (*.f64 1/24 (pow.f64 th 4)))))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (pow.f64 th 2)))) (+.f64 (*.f64 -1/720 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (pow.f64 th 6)))) (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (pow.f64 th 4))))))) |
(fma.f64 (sqrt.f64 1/2) (*.f64 a2 a2) (fma.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (*.f64 th th))) (fma.f64 -1/720 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (pow.f64 th 6))) (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (pow.f64 th 4))))))) |
(fma.f64 (sqrt.f64 1/2) (*.f64 a2 a2) (fma.f64 -1/2 (*.f64 (*.f64 a2 a2) (*.f64 (*.f64 th th) (sqrt.f64 1/2))) (fma.f64 -1/720 (*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (pow.f64 th 6)))) (*.f64 (*.f64 (*.f64 a2 a2) (pow.f64 th 4)) (*.f64 (sqrt.f64 1/2) 1/24))))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (fma.f64 -1/2 (*.f64 th th) 1))) (*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (fma.f64 1/24 (pow.f64 th 4) (*.f64 -1/720 (pow.f64 th 6))))))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (+.f64 (fma.f64 -1/2 (*.f64 th th) 1) (fma.f64 1/24 (pow.f64 th 4) (*.f64 -1/720 (pow.f64 th 6)))))) |
(*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)) (+.f64 (fma.f64 -1/2 (*.f64 th th) 1) (fma.f64 1/24 (pow.f64 th 4) (*.f64 -1/720 (pow.f64 th 6))))) |
(*.f64 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (+.f64 (fma.f64 -1/2 (*.f64 th th) 1) (fma.f64 1/24 (pow.f64 th 4) (*.f64 -1/720 (pow.f64 th 6)))))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (+.f64 (fma.f64 -1/2 (*.f64 th th) 1) (fma.f64 1/24 (pow.f64 th 4) (*.f64 -1/720 (pow.f64 th 6))))))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a2 2))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) |
(*.f64 a2 (*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a2 2))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) |
(*.f64 a2 (*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a2 2))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) |
(*.f64 a2 (*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a2 2))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) |
(*.f64 a2 (*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th)))) |
(*.f64 (cos.f64 th) (pow.f64 a2 2)) |
(*.f64 (*.f64 a2 a2) (cos.f64 th)) |
(*.f64 a2 (*.f64 a2 (cos.f64 th))) |
(*.f64 (cos.f64 th) (pow.f64 a2 2)) |
(*.f64 (*.f64 a2 a2) (cos.f64 th)) |
(*.f64 a2 (*.f64 a2 (cos.f64 th))) |
(*.f64 (cos.f64 th) (pow.f64 a2 2)) |
(*.f64 (*.f64 a2 a2) (cos.f64 th)) |
(*.f64 a2 (*.f64 a2 (cos.f64 th))) |
(*.f64 (cos.f64 th) (pow.f64 a2 2)) |
(*.f64 (*.f64 a2 a2) (cos.f64 th)) |
(*.f64 a2 (*.f64 a2 (cos.f64 th))) |
(*.f64 (cos.f64 th) (pow.f64 a2 2)) |
(*.f64 (*.f64 a2 a2) (cos.f64 th)) |
(*.f64 a2 (*.f64 a2 (cos.f64 th))) |
(*.f64 (cos.f64 th) (pow.f64 a2 2)) |
(*.f64 (*.f64 a2 a2) (cos.f64 th)) |
(*.f64 a2 (*.f64 a2 (cos.f64 th))) |
(*.f64 (cos.f64 th) (pow.f64 a2 2)) |
(*.f64 (*.f64 a2 a2) (cos.f64 th)) |
(*.f64 a2 (*.f64 a2 (cos.f64 th))) |
(*.f64 (cos.f64 th) (pow.f64 a2 2)) |
(*.f64 (*.f64 a2 a2) (cos.f64 th)) |
(*.f64 a2 (*.f64 a2 (cos.f64 th))) |
(*.f64 (cos.f64 th) (pow.f64 a2 2)) |
(*.f64 (*.f64 a2 a2) (cos.f64 th)) |
(*.f64 a2 (*.f64 a2 (cos.f64 th))) |
(*.f64 (cos.f64 th) (pow.f64 a2 2)) |
(*.f64 (*.f64 a2 a2) (cos.f64 th)) |
(*.f64 a2 (*.f64 a2 (cos.f64 th))) |
(*.f64 (cos.f64 th) (pow.f64 a2 2)) |
(*.f64 (*.f64 a2 a2) (cos.f64 th)) |
(*.f64 a2 (*.f64 a2 (cos.f64 th))) |
(*.f64 (cos.f64 th) (pow.f64 a2 2)) |
(*.f64 (*.f64 a2 a2) (cos.f64 th)) |
(*.f64 a2 (*.f64 a2 (cos.f64 th))) |
(pow.f64 a2 2) |
(*.f64 a2 a2) |
(+.f64 (pow.f64 a2 2) (*.f64 -1/2 (*.f64 (pow.f64 th 2) (pow.f64 a2 2)))) |
(+.f64 (*.f64 a2 a2) (*.f64 -1/2 (*.f64 (*.f64 a2 a2) (*.f64 th th)))) |
(*.f64 (+.f64 (*.f64 -1/2 (*.f64 th th)) 1) (*.f64 a2 a2)) |
(*.f64 (*.f64 a2 a2) (fma.f64 -1/2 (*.f64 th th) 1)) |
(*.f64 a2 (*.f64 a2 (fma.f64 -1/2 (*.f64 th th) 1))) |
(+.f64 (pow.f64 a2 2) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 th 2) (pow.f64 a2 2))) (*.f64 1/24 (*.f64 (pow.f64 th 4) (pow.f64 a2 2))))) |
(+.f64 (*.f64 a2 a2) (fma.f64 -1/2 (*.f64 (*.f64 a2 a2) (*.f64 th th)) (*.f64 1/24 (*.f64 (*.f64 a2 a2) (pow.f64 th 4))))) |
(fma.f64 a2 a2 (*.f64 (*.f64 a2 a2) (+.f64 (*.f64 -1/2 (*.f64 th th)) (*.f64 1/24 (pow.f64 th 4))))) |
(*.f64 (*.f64 a2 a2) (+.f64 (fma.f64 -1/2 (*.f64 th th) 1) (*.f64 1/24 (pow.f64 th 4)))) |
(*.f64 (*.f64 a2 a2) (+.f64 1 (fma.f64 1/24 (pow.f64 th 4) (*.f64 -1/2 (*.f64 th th))))) |
(*.f64 (*.f64 a2 a2) (+.f64 1 (fma.f64 -1/2 (*.f64 th th) (*.f64 1/24 (pow.f64 th 4))))) |
(+.f64 (pow.f64 a2 2) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 th 2) (pow.f64 a2 2))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 th 4) (pow.f64 a2 2))) (*.f64 -1/720 (*.f64 (pow.f64 th 6) (pow.f64 a2 2)))))) |
(+.f64 (*.f64 a2 a2) (fma.f64 -1/2 (*.f64 (*.f64 a2 a2) (*.f64 th th)) (fma.f64 1/24 (*.f64 (*.f64 a2 a2) (pow.f64 th 4)) (*.f64 -1/720 (*.f64 (*.f64 a2 a2) (pow.f64 th 6)))))) |
(fma.f64 a2 a2 (fma.f64 -1/2 (*.f64 a2 (*.f64 a2 (*.f64 th th))) (*.f64 (*.f64 a2 a2) (+.f64 (*.f64 1/24 (pow.f64 th 4)) (*.f64 -1/720 (pow.f64 th 6)))))) |
(fma.f64 a2 a2 (*.f64 (*.f64 a2 a2) (+.f64 (*.f64 -1/2 (*.f64 th th)) (fma.f64 1/24 (pow.f64 th 4) (*.f64 -1/720 (pow.f64 th 6)))))) |
(*.f64 (*.f64 a2 a2) (+.f64 (fma.f64 -1/2 (*.f64 th th) 1) (fma.f64 1/24 (pow.f64 th 4) (*.f64 -1/720 (pow.f64 th 6))))) |
(*.f64 a2 (*.f64 a2 (+.f64 (fma.f64 -1/2 (*.f64 th th) 1) (fma.f64 1/24 (pow.f64 th 4) (*.f64 -1/720 (pow.f64 th 6)))))) |
Compiled 10044 to 5950 computations (40.8% saved)
31 alts after pruning (27 fresh and 4 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 611 | 20 | 631 |
| Fresh | 12 | 7 | 19 |
| Picked | 1 | 0 | 1 |
| Done | 2 | 4 | 6 |
| Total | 626 | 31 | 657 |
| Status | Error | Program |
|---|---|---|
| ✓ | 26.9b | (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) |
| 40.4b | (*.f64 a1 (*.f64 (neg.f64 a1) (/.f64 1 (neg.f64 (sqrt.f64 2))))) | |
| 26.8b | (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) | |
| 40.4b | (*.f64 a1 (*.f64 (pow.f64 2 -1/2) a1)) | |
| ✓ | 26.9b | (*.f64 a1 (*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2)))) |
| 46.4b | (*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (+.f64 1 (*.f64 th (*.f64 th -1/2))))) | |
| ✓ | 26.9b | (/.f64 (*.f64 (*.f64 a1 (cos.f64 th)) a1) (sqrt.f64 2)) |
| 0.5b | (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) | |
| 30.3b | (/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (sqrt.f64 2)) | |
| 44.2b | (*.f64 a1 (*.f64 (/.f64 a1 (sqrt.f64 2)) (+.f64 1 (*.f64 th (*.f64 th -1/2))))) | |
| 30.4b | (*.f64 a2 (*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th)))) | |
| 40.5b | (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) | |
| ✓ | 40.4b | (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) |
| ▶ | 42.6b | (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) |
| ▶ | 0.4b | (*.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) |
| ▶ | 42.6b | (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
| 40.4b | (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) | |
| 26.9b | (*.f64 a1 (*.f64 a1 (*.f64 (sqrt.f64 1/2) (cos.f64 th)))) | |
| 26.9b | (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a1 a1))) | |
| 40.4b | (pow.f64 (/.f64 a1 (pow.f64 2 1/4)) 2) | |
| 47.2b | (-.f64 (+.f64 1 (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) 1) | |
| ▶ | 42.6b | (*.f64 a2 (*.f64 a2 (/.f64 1 (sqrt.f64 2)))) |
| 30.4b | (*.f64 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) | |
| 27.0b | (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) | |
| 48.4b | (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (/.f64 (pow.f64 a1 4) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))) | |
| 26.9b | (*.f64 (*.f64 a1 (cos.f64 th)) (*.f64 a1 (pow.f64 2 -1/2))) | |
| 0.6b | (*.f64 (*.f64 (neg.f64 (cos.f64 th)) (/.f64 1 (neg.f64 (sqrt.f64 2)))) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) | |
| 55.3b | (*.f64 a1 (sqrt.f64 (/.f64 (*.f64 a1 a1) 2))) | |
| 42.7b | (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)) | |
| ▶ | 30.4b | (*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) |
| 40.4b | (*.f64 a1 (pow.f64 (/.f64 (sqrt.f64 2) a1) -1)) |
Compiled 725 to 553 computations (23.7% saved)
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| 0.0b | (cos.f64 th) | |
| 0.0b | (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) | |
| ✓ | 0.2b | (*.f64 (sqrt.f64 1/2) (cos.f64 th)) |
| ✓ | 0.4b | (*.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) |
Compiled 42 to 17 computations (59.5% saved)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | th | @ | 0 | (*.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) |
| 0.0ms | th | @ | -inf | (*.f64 (sqrt.f64 1/2) (cos.f64 th)) |
| 0.0ms | th | @ | inf | (*.f64 (sqrt.f64 1/2) (cos.f64 th)) |
| 0.0ms | th | @ | 0 | (*.f64 (sqrt.f64 1/2) (cos.f64 th)) |
| 0.0ms | a1 | @ | inf | (*.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) |
| 1× | batch-egg-rewrite |
| 961× | prod-diff_binary64 |
| 607× | log-prod_binary64 |
| 291× | fma-def_binary64 |
| 224× | pow1/3_binary64 |
| 216× | expm1-udef_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 12 | 26 |
| 1 | 255 | 25 |
| 2 | 3362 | 25 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) |
(*.f64 (sqrt.f64 1/2) (cos.f64 th)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a2 a2))) (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a2 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (pow.f64 (hypot.f64 a2 a1) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a2 a2))) 1) (*.f64 (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 1/2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 (cos.f64 th)) (sqrt.f64 1/2)) (pow.f64 (hypot.f64 a2 a1) 2))) (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 (cos.f64 th)) (sqrt.f64 1/2)) (pow.f64 (hypot.f64 a2 a1) 2))))) (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 (cos.f64 th)) (sqrt.f64 1/2)) (pow.f64 (hypot.f64 a2 a1) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 (cos.f64 th)) (sqrt.f64 1/2)) (pow.f64 (hypot.f64 a2 a1) 2)))) (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 (cos.f64 th)) (sqrt.f64 1/2)) (pow.f64 (hypot.f64 a2 a1) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (pow.f64 (hypot.f64 a2 a1) 2))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a2 a2))) 3) (pow.f64 (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 1/2)) 3)) (fma.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a2 a2))) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a2 a2))) (-.f64 (*.f64 (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 1/2)) (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 1/2))) (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a2 a2))) (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a2 a2))) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a2 a2)))) (*.f64 (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 1/2)) (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 1/2)))) (-.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a2 a2))) (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 a2 6) (pow.f64 a1 6)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) (-.f64 (+.f64 (pow.f64 a2 4) (pow.f64 a1 4)) (pow.f64 (*.f64 a2 a1) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 a2 4) (pow.f64 a1 4)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) (fma.f64 a2 a2 (*.f64 (neg.f64 a1) a1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (+.f64 (pow.f64 a2 6) (pow.f64 a1 6))) (-.f64 (+.f64 (pow.f64 a2 4) (pow.f64 a1 4)) (pow.f64 (*.f64 a2 a1) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (-.f64 (pow.f64 a2 4) (pow.f64 a1 4))) (fma.f64 a2 a2 (*.f64 (neg.f64 a1) a1)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (pow.f64 (hypot.f64 a2 a1) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (pow.f64 (hypot.f64 a2 a1) 2))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (pow.f64 (hypot.f64 a2 a1) 2)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (hypot.f64 a2 a1) (sqrt.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) 3) (pow.f64 (pow.f64 (hypot.f64 a2 a1) 2) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (pow.f64 (hypot.f64 a2 a1) 2) 3) (pow.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (pow.f64 (hypot.f64 a2 a1) 2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (pow.f64 (exp.f64 (cos.f64 th)) (sqrt.f64 1/2)) (pow.f64 (hypot.f64 a2 a1) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (pow.f64 (hypot.f64 a2 a1) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 1/2))) (exp.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a2 a2))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (pow.f64 (hypot.f64 a2 a1) 2))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) 3) (pow.f64 (pow.f64 (hypot.f64 a2 a1) 2) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (pow.f64 (hypot.f64 a2 a1) 2) 3) (pow.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (pow.f64 (hypot.f64 a2 a1) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (pow.f64 (hypot.f64 a2 a1) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (pow.f64 (hypot.f64 a2 a1) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (pow.f64 (hypot.f64 a2 a1) 2)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a2 a2)) (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a2 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)) (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a2 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (*.f64 a2 a2) (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (*.f64 a1 a1) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a2 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a2 (*.f64 a2 (*.f64 (sqrt.f64 1/2) (cos.f64 th))) (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a1 (*.f64 a1 (*.f64 (sqrt.f64 1/2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a2 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a1 a1) (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a2 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a2 a2))) (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a2 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 a2 4)) (*.f64 (pow.f64 (cbrt.f64 a2) 2) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 1/2 (pow.f64 (cos.f64 th) 2))) (*.f64 (cbrt.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th))) (*.f64 a2 a2)) (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 1/2 (pow.f64 (cos.f64 th) 2))) (*.f64 (cbrt.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th))) (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a2 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 a1 4)) (*.f64 (pow.f64 (cbrt.f64 a1) 2) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a2 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th))) (*.f64 (sqrt.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th))) (*.f64 a2 a2)) (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th))) (*.f64 (sqrt.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th))) (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a2 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a2 a2))) 1 (*.f64 (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 1/2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a2 a2)))) (cbrt.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a2 a2))))) (cbrt.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a2 a2)))) (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 1/2))) (cbrt.f64 (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 1/2)))) (cbrt.f64 (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 1/2))) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a2 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a2 a2)))) (sqrt.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a2 a2)))) (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 1/2))) (sqrt.f64 (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 1/2))) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a2 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a2 (sqrt.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)))) (*.f64 a2 (sqrt.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)))) (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th))) a2) (*.f64 (sqrt.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th))) a2) (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th))) a1) (*.f64 (sqrt.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th))) a1) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a2 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a1 (sqrt.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)))) (*.f64 a1 (sqrt.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)))) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a2 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (sqrt.f64 1/2) (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 1/2) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a2 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 a2 a2) (sqrt.f64 1/2)) (cos.f64 th) (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 a2 a2) (cbrt.f64 (*.f64 1/2 (pow.f64 (cos.f64 th) 2)))) (cbrt.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th))) (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 a2 a2) (sqrt.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)))) (sqrt.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th))) (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) a2) a2 (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (cbrt.f64 (pow.f64 a2 4))) (pow.f64 (cbrt.f64 a2) 2) (*.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) a1) a1 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a2 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (cbrt.f64 (pow.f64 a1 4))) (pow.f64 (cbrt.f64 a1) 2) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a2 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 a1 a1) (sqrt.f64 1/2)) (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a2 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 a1 a1) (cbrt.f64 (*.f64 1/2 (pow.f64 (cos.f64 th) 2)))) (cbrt.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a2 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 a1 a1) (sqrt.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)))) (sqrt.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a2 a2)))))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 1/2) (cos.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 th)) (sqrt.f64 1/2))) (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 th)) (sqrt.f64 1/2))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 th)) (sqrt.f64 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 th)) (sqrt.f64 1/2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 th)) (sqrt.f64 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 1/2 (sqrt.f64 1/2)) (pow.f64 (cos.f64 th) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (cos.f64 th) 3) (*.f64 1/2 (sqrt.f64 1/2))) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 1/2 (pow.f64 (cos.f64 th) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (cos.f64 th)) (sqrt.f64 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (*.f64 1/2 (sqrt.f64 1/2)) (pow.f64 (cos.f64 th) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (cos.f64 th) 3) (*.f64 1/2 (sqrt.f64 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th))) 1)))))) |
| 1× | egg-herbie |
| 839× | distribute-rgt-in_binary64 |
| 820× | distribute-lft-in_binary64 |
| 502× | distribute-lft-out_binary64 |
| 488× | unswap-sqr_binary64 |
| 450× | associate-+l+_binary64 |
Useful iterations: 4 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 52 | 894 |
| 1 | 146 | 820 |
| 2 | 436 | 774 |
| 3 | 1894 | 746 |
| 4 | 5245 | 742 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (sqrt.f64 1/2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2))) |
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)))) (*.f64 (sqrt.f64 1/2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)))) |
(+.f64 (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 4)))) (+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)))) (*.f64 (sqrt.f64 1/2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2))))) |
(+.f64 (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 4)))) (+.f64 (*.f64 -1/720 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 6)))) (+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)))) (*.f64 (sqrt.f64 1/2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)))))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(sqrt.f64 1/2) |
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (pow.f64 th 2))) (sqrt.f64 1/2)) |
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (pow.f64 th 2))) (+.f64 (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (pow.f64 th 4))) (sqrt.f64 1/2))) |
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (pow.f64 th 2))) (+.f64 (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (pow.f64 th 4))) (+.f64 (sqrt.f64 1/2) (*.f64 -1/720 (*.f64 (sqrt.f64 1/2) (pow.f64 th 6)))))) |
| Outputs |
|---|
(*.f64 (sqrt.f64 1/2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2))) |
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) |
(*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))) |
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)))) (*.f64 (sqrt.f64 1/2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)))) |
(fma.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (*.f64 th th))) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))) |
(fma.f64 -1/2 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (*.f64 th th))) (*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1)))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (+.f64 (*.f64 -1/2 (*.f64 th th)) 1) (sqrt.f64 1/2))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (fma.f64 a2 a2 (*.f64 a1 a1)))) |
(+.f64 (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 4)))) (+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)))) (*.f64 (sqrt.f64 1/2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2))))) |
(fma.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (pow.f64 th 4))) (fma.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (*.f64 th th))) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))))) |
(fma.f64 1/24 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (pow.f64 th 4))) (fma.f64 -1/2 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (*.f64 th th))) (*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))))) |
(fma.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (*.f64 th th)) (*.f64 1/24 (pow.f64 th 4)))))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (*.f64 th th)) (+.f64 1 (*.f64 1/24 (pow.f64 th 4)))))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (+.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 1/24 (pow.f64 th 4))))) |
(+.f64 (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 4)))) (+.f64 (*.f64 -1/720 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 6)))) (+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)))) (*.f64 (sqrt.f64 1/2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)))))) |
(fma.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (pow.f64 th 4))) (fma.f64 -1/720 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (pow.f64 th 6))) (fma.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (*.f64 th th))) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))))) |
(fma.f64 1/24 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (pow.f64 th 4))) (fma.f64 -1/720 (*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (pow.f64 th 6))) (fma.f64 -1/2 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (*.f64 th th))) (*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1)))))) |
(+.f64 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (+.f64 (*.f64 -1/2 (*.f64 th th)) 1) (sqrt.f64 1/2))) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/720 (pow.f64 th 6)) (*.f64 1/24 (pow.f64 th 4)))))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (+.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (*.f64 th th)) (+.f64 (*.f64 1/24 (pow.f64 th 4)) (*.f64 -1/720 (pow.f64 th 6))))))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 (*.f64 th th) (+.f64 -1/2 (*.f64 (*.f64 th th) 1/24))) (+.f64 1 (*.f64 -1/720 (pow.f64 th 6)))))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a1 a1) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a1 (*.f64 a1 (cos.f64 th)))) |
(*.f64 a1 (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) a1))) |
(*.f64 (*.f64 a1 (cos.f64 th)) (*.f64 (sqrt.f64 1/2) a1)) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) |
(*.f64 a2 (*.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 1/2))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) |
(*.f64 a2 (*.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 1/2))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) |
(*.f64 a2 (*.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 1/2))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a1 a1) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a1 (*.f64 a1 (cos.f64 th)))) |
(*.f64 a1 (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) a1))) |
(*.f64 (*.f64 a1 (cos.f64 th)) (*.f64 (sqrt.f64 1/2) a1)) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a1 a1) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a1 (*.f64 a1 (cos.f64 th)))) |
(*.f64 a1 (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) a1))) |
(*.f64 (*.f64 a1 (cos.f64 th)) (*.f64 (sqrt.f64 1/2) a1)) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(sqrt.f64 1/2) |
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (pow.f64 th 2))) (sqrt.f64 1/2)) |
(fma.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 th th)) (sqrt.f64 1/2)) |
(*.f64 (+.f64 (*.f64 -1/2 (*.f64 th th)) 1) (sqrt.f64 1/2)) |
(fma.f64 (sqrt.f64 1/2) (*.f64 -1/2 (*.f64 th th)) (sqrt.f64 1/2)) |
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (pow.f64 th 2))) (+.f64 (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (pow.f64 th 4))) (sqrt.f64 1/2))) |
(fma.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 th th)) (fma.f64 1/24 (*.f64 (sqrt.f64 1/2) (pow.f64 th 4)) (sqrt.f64 1/2))) |
(+.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (*.f64 th th)) (*.f64 1/24 (pow.f64 th 4))))) |
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (*.f64 th th)) (+.f64 1 (*.f64 1/24 (pow.f64 th 4))))) |
(*.f64 (+.f64 (*.f64 (*.f64 th th) (+.f64 -1/2 (*.f64 (*.f64 th th) 1/24))) 1) (sqrt.f64 1/2)) |
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (pow.f64 th 2))) (+.f64 (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (pow.f64 th 4))) (+.f64 (sqrt.f64 1/2) (*.f64 -1/720 (*.f64 (sqrt.f64 1/2) (pow.f64 th 6)))))) |
(fma.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 th th)) (fma.f64 1/24 (*.f64 (sqrt.f64 1/2) (pow.f64 th 4)) (+.f64 (sqrt.f64 1/2) (*.f64 -1/720 (*.f64 (sqrt.f64 1/2) (pow.f64 th 6)))))) |
(fma.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 th th)) (fma.f64 1/24 (*.f64 (sqrt.f64 1/2) (pow.f64 th 4)) (fma.f64 -1/720 (*.f64 (sqrt.f64 1/2) (pow.f64 th 6)) (sqrt.f64 1/2)))) |
(+.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 th th)) 1) (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/720 (pow.f64 th 6)) (*.f64 1/24 (pow.f64 th 4))))) |
(+.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (*.f64 th th)) (+.f64 (*.f64 1/24 (pow.f64 th 4)) (*.f64 -1/720 (pow.f64 th 6)))))) |
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 (*.f64 th th) (+.f64 -1/2 (*.f64 (*.f64 th th) 1/24))) (+.f64 1 (*.f64 -1/720 (pow.f64 th 6))))) |
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.1b | (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) |
| ✓ | 0.4b | (/.f64 a2 (sqrt.f64 2)) |
Compiled 17 to 13 computations (23.5% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | a2 | @ | 0 | (/.f64 a2 (sqrt.f64 2)) |
| 0.0ms | a2 | @ | inf | (/.f64 a2 (sqrt.f64 2)) |
| 0.0ms | a2 | @ | -inf | (/.f64 a2 (sqrt.f64 2)) |
| 0.0ms | a2 | @ | 0 | (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) |
| 0.0ms | a2 | @ | inf | (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) |
| 1× | batch-egg-rewrite |
| 618× | pow1_binary64 |
| 576× | add-log-exp_binary64 |
| 576× | log1p-expm1-u_binary64 |
| 576× | expm1-log1p-u_binary64 |
| 564× | add-exp-log_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 6 | 15 |
| 1 | 127 | 15 |
| 2 | 1566 | 15 |
| 1× | node limit |
| Inputs |
|---|
(/.f64 a2 (sqrt.f64 2)) |
(*.f64 a2 (/.f64 a2 (sqrt.f64 2))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 a2 (sqrt.f64 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 a2 (pow.f64 2 -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a2 (sqrt.f64 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 a2 (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 a2 (sqrt.f64 2))) (cbrt.f64 (/.f64 (*.f64 a2 a2) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 a2 a2) 2)) (cbrt.f64 (/.f64 a2 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 a2) 2) (*.f64 (cbrt.f64 a2) (pow.f64 2 -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 a2 (sqrt.f64 2))) (sqrt.f64 (/.f64 a2 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 a2) (*.f64 (sqrt.f64 a2) (pow.f64 2 -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 a2) (/.f64 1 (neg.f64 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 2 -1/2) a2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 a2) 2) 1) (/.f64 (cbrt.f64 a2) (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 a2) 1) (/.f64 (sqrt.f64 a2) (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 2)) (/.f64 a2 (cbrt.f64 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 a2) 2) (cbrt.f64 2)) (cbrt.f64 (/.f64 a2 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 a2) (cbrt.f64 2)) (/.f64 (sqrt.f64 a2) (cbrt.f64 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 2 1/4)) (/.f64 a2 (pow.f64 2 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 a2) 2) (pow.f64 2 1/4)) (/.f64 (cbrt.f64 a2) (pow.f64 2 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 a2 (sqrt.f64 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 a2 (sqrt.f64 2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 a2 (sqrt.f64 2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 a2 (sqrt.f64 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 2) a2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 a2 (neg.f64 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 (*.f64 a2 a2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 a2 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 a2 (sqrt.f64 2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 a2 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 a2 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 a2 (sqrt.f64 2)))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 a2 (/.f64 a2 (sqrt.f64 2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 a2 (/.f64 (sqrt.f64 2) a2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a2 a2) (sqrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 a2 a2)) (neg.f64 (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 a2) a2) (neg.f64 (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a2 (neg.f64 a2)) (neg.f64 (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 a2 a2) 1) (sqrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 a2 a2) (cbrt.f64 2)) (cbrt.f64 (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 a2 a2) (pow.f64 2 1/4)) (pow.f64 2 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 a2 (pow.f64 2 1/4)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 a2) (/.f64 a2 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))))))))) |
| 1× | egg-herbie |
| 759× | sqr-pow_binary64 |
| 434× | unswap-sqr_binary64 |
| 423× | *-commutative_binary64 |
| 423× | associate-*r/_binary64 |
| 393× | associate-/r/_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 6 | 108 |
| 1 | 11 | 108 |
| 2 | 20 | 108 |
| 3 | 37 | 108 |
| 4 | 83 | 108 |
| 5 | 266 | 108 |
| 6 | 1091 | 108 |
| 7 | 3478 | 108 |
| 8 | 4280 | 108 |
| 9 | 4465 | 108 |
| 10 | 4681 | 108 |
| 11 | 5028 | 108 |
| 12 | 5456 | 108 |
| 13 | 5935 | 108 |
| 14 | 6584 | 108 |
| 15 | 7273 | 108 |
| 1× | node limit |
| Inputs |
|---|
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
| Outputs |
|---|
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
(/.f64 (*.f64 a2 a2) (sqrt.f64 2)) |
(/.f64 a2 (/.f64 (sqrt.f64 2) a2)) |
(*.f64 (/.f64 a2 (sqrt.f64 2)) a2) |
(*.f64 a2 (/.f64 a2 (sqrt.f64 2))) |
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
(/.f64 (*.f64 a2 a2) (sqrt.f64 2)) |
(/.f64 a2 (/.f64 (sqrt.f64 2) a2)) |
(*.f64 (/.f64 a2 (sqrt.f64 2)) a2) |
(*.f64 a2 (/.f64 a2 (sqrt.f64 2))) |
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
(/.f64 (*.f64 a2 a2) (sqrt.f64 2)) |
(/.f64 a2 (/.f64 (sqrt.f64 2) a2)) |
(*.f64 (/.f64 a2 (sqrt.f64 2)) a2) |
(*.f64 a2 (/.f64 a2 (sqrt.f64 2))) |
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
(/.f64 (*.f64 a2 a2) (sqrt.f64 2)) |
(/.f64 a2 (/.f64 (sqrt.f64 2) a2)) |
(*.f64 (/.f64 a2 (sqrt.f64 2)) a2) |
(*.f64 a2 (/.f64 a2 (sqrt.f64 2))) |
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
(/.f64 (*.f64 a2 a2) (sqrt.f64 2)) |
(/.f64 a2 (/.f64 (sqrt.f64 2) a2)) |
(*.f64 (/.f64 a2 (sqrt.f64 2)) a2) |
(*.f64 a2 (/.f64 a2 (sqrt.f64 2))) |
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
(/.f64 (*.f64 a2 a2) (sqrt.f64 2)) |
(/.f64 a2 (/.f64 (sqrt.f64 2) a2)) |
(*.f64 (/.f64 a2 (sqrt.f64 2)) a2) |
(*.f64 a2 (/.f64 a2 (sqrt.f64 2))) |
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
(/.f64 (*.f64 a2 a2) (sqrt.f64 2)) |
(/.f64 a2 (/.f64 (sqrt.f64 2) a2)) |
(*.f64 (/.f64 a2 (sqrt.f64 2)) a2) |
(*.f64 a2 (/.f64 a2 (sqrt.f64 2))) |
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
(/.f64 (*.f64 a2 a2) (sqrt.f64 2)) |
(/.f64 a2 (/.f64 (sqrt.f64 2) a2)) |
(*.f64 (/.f64 a2 (sqrt.f64 2)) a2) |
(*.f64 a2 (/.f64 a2 (sqrt.f64 2))) |
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
(/.f64 (*.f64 a2 a2) (sqrt.f64 2)) |
(/.f64 a2 (/.f64 (sqrt.f64 2) a2)) |
(*.f64 (/.f64 a2 (sqrt.f64 2)) a2) |
(*.f64 a2 (/.f64 a2 (sqrt.f64 2))) |
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
(/.f64 (*.f64 a2 a2) (sqrt.f64 2)) |
(/.f64 a2 (/.f64 (sqrt.f64 2) a2)) |
(*.f64 (/.f64 a2 (sqrt.f64 2)) a2) |
(*.f64 a2 (/.f64 a2 (sqrt.f64 2))) |
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
(/.f64 (*.f64 a2 a2) (sqrt.f64 2)) |
(/.f64 a2 (/.f64 (sqrt.f64 2) a2)) |
(*.f64 (/.f64 a2 (sqrt.f64 2)) a2) |
(*.f64 a2 (/.f64 a2 (sqrt.f64 2))) |
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
(/.f64 (*.f64 a2 a2) (sqrt.f64 2)) |
(/.f64 a2 (/.f64 (sqrt.f64 2) a2)) |
(*.f64 (/.f64 a2 (sqrt.f64 2)) a2) |
(*.f64 a2 (/.f64 a2 (sqrt.f64 2))) |
Found 3 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.1b | (*.f64 a2 (*.f64 a2 (/.f64 1 (sqrt.f64 2)))) |
| ✓ | 0.5b | (*.f64 a2 (/.f64 1 (sqrt.f64 2))) |
| ✓ | 1.0b | (/.f64 1 (sqrt.f64 2)) |
Compiled 26 to 22 computations (15.4% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | a2 | @ | 0 | (*.f64 a2 (/.f64 1 (sqrt.f64 2))) |
| 0.0ms | a2 | @ | -inf | (*.f64 a2 (/.f64 1 (sqrt.f64 2))) |
| 0.0ms | a2 | @ | inf | (*.f64 a2 (/.f64 1 (sqrt.f64 2))) |
| 0.0ms | a2 | @ | inf | (*.f64 a2 (*.f64 a2 (/.f64 1 (sqrt.f64 2)))) |
| 0.0ms | a2 | @ | -inf | (*.f64 a2 (*.f64 a2 (/.f64 1 (sqrt.f64 2)))) |
| 1× | batch-egg-rewrite |
| 672× | pow1_binary64 |
| 623× | add-log-exp_binary64 |
| 623× | log1p-expm1-u_binary64 |
| 623× | expm1-log1p-u_binary64 |
| 610× | add-exp-log_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 21 |
| 1 | 163 | 18 |
| 2 | 1858 | 18 |
| 1× | node limit |
| Inputs |
|---|
(/.f64 1 (sqrt.f64 2)) |
(*.f64 a2 (/.f64 1 (sqrt.f64 2))) |
(*.f64 a2 (*.f64 a2 (/.f64 1 (sqrt.f64 2)))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (sqrt.f64 1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 1/2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 1/2)) (cbrt.f64 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 1/2) (cbrt.f64 (sqrt.f64 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sqrt.f64 1/2)) (sqrt.f64 (sqrt.f64 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 1 (neg.f64 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 2) -1) (pow.f64 (cbrt.f64 (sqrt.f64 2)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 2 1/4) -1) (pow.f64 (pow.f64 2 1/4) -1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 2 -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 1/2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 1/2) 1/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 1/2)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (sqrt.f64 1/2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (sqrt.f64 1/2) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 1/2))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (sqrt.f64 1/2) a2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (sqrt.f64 2) a2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 a2 (sqrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 a2) 2) (/.f64 (sqrt.f64 2) (cbrt.f64 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 a2) (/.f64 (sqrt.f64 2) (sqrt.f64 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 a2) (neg.f64 (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 a2 (pow.f64 2 1/4)) (pow.f64 2 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 a2 1) (sqrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 a2 (cbrt.f64 2)) (cbrt.f64 (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1 a2) (neg.f64 (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a2 -1) (neg.f64 (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 1/2) a2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 1/2) a2) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 1/2) a2)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 1/2) a2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (*.f64 a2 a2) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sqrt.f64 1/2)) a2))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 1/2) a2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 a2 3) (*.f64 2 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (*.f64 (sqrt.f64 1/2) 1/2) (pow.f64 a2 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 a2 3) (*.f64 (sqrt.f64 1/2) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 1/2) a2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 1/2) a2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sqrt.f64 1/2) a2))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a2 a2) (sqrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 a2 a2) 1) (sqrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 a2 a2) -1) (neg.f64 (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 a2 (sqrt.f64 (sqrt.f64 1/2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 a2) (*.f64 (sqrt.f64 1/2) a2)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 a2 3) (pow.f64 (*.f64 (sqrt.f64 1/2) a2) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (*.f64 (sqrt.f64 1/2) a2) 3) (pow.f64 a2 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)))))))) |
| 1× | egg-herbie |
| 760× | sqr-pow_binary64 |
| 444× | associate-*r/_binary64 |
| 434× | unswap-sqr_binary64 |
| 415× | *-commutative_binary64 |
| 393× | associate-/r/_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 180 |
| 1 | 12 | 180 |
| 2 | 21 | 180 |
| 3 | 38 | 180 |
| 4 | 86 | 180 |
| 5 | 274 | 180 |
| 6 | 1103 | 180 |
| 7 | 3496 | 180 |
| 8 | 4318 | 180 |
| 9 | 4503 | 180 |
| 10 | 4719 | 180 |
| 11 | 5069 | 180 |
| 12 | 5499 | 180 |
| 13 | 5982 | 180 |
| 14 | 6634 | 180 |
| 15 | 7323 | 180 |
| 1× | node limit |
| Inputs |
|---|
(/.f64 a2 (sqrt.f64 2)) |
(/.f64 a2 (sqrt.f64 2)) |
(/.f64 a2 (sqrt.f64 2)) |
(/.f64 a2 (sqrt.f64 2)) |
(/.f64 a2 (sqrt.f64 2)) |
(/.f64 a2 (sqrt.f64 2)) |
(/.f64 a2 (sqrt.f64 2)) |
(/.f64 a2 (sqrt.f64 2)) |
(/.f64 a2 (sqrt.f64 2)) |
(/.f64 a2 (sqrt.f64 2)) |
(/.f64 a2 (sqrt.f64 2)) |
(/.f64 a2 (sqrt.f64 2)) |
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
| Outputs |
|---|
(/.f64 a2 (sqrt.f64 2)) |
(/.f64 a2 (sqrt.f64 2)) |
(/.f64 a2 (sqrt.f64 2)) |
(/.f64 a2 (sqrt.f64 2)) |
(/.f64 a2 (sqrt.f64 2)) |
(/.f64 a2 (sqrt.f64 2)) |
(/.f64 a2 (sqrt.f64 2)) |
(/.f64 a2 (sqrt.f64 2)) |
(/.f64 a2 (sqrt.f64 2)) |
(/.f64 a2 (sqrt.f64 2)) |
(/.f64 a2 (sqrt.f64 2)) |
(/.f64 a2 (sqrt.f64 2)) |
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
(/.f64 (*.f64 a2 a2) (sqrt.f64 2)) |
(/.f64 a2 (/.f64 (sqrt.f64 2) a2)) |
(*.f64 (/.f64 a2 (sqrt.f64 2)) a2) |
(*.f64 a2 (/.f64 a2 (sqrt.f64 2))) |
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
(/.f64 (*.f64 a2 a2) (sqrt.f64 2)) |
(/.f64 a2 (/.f64 (sqrt.f64 2) a2)) |
(*.f64 (/.f64 a2 (sqrt.f64 2)) a2) |
(*.f64 a2 (/.f64 a2 (sqrt.f64 2))) |
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
(/.f64 (*.f64 a2 a2) (sqrt.f64 2)) |
(/.f64 a2 (/.f64 (sqrt.f64 2) a2)) |
(*.f64 (/.f64 a2 (sqrt.f64 2)) a2) |
(*.f64 a2 (/.f64 a2 (sqrt.f64 2))) |
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
(/.f64 (*.f64 a2 a2) (sqrt.f64 2)) |
(/.f64 a2 (/.f64 (sqrt.f64 2) a2)) |
(*.f64 (/.f64 a2 (sqrt.f64 2)) a2) |
(*.f64 a2 (/.f64 a2 (sqrt.f64 2))) |
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
(/.f64 (*.f64 a2 a2) (sqrt.f64 2)) |
(/.f64 a2 (/.f64 (sqrt.f64 2) a2)) |
(*.f64 (/.f64 a2 (sqrt.f64 2)) a2) |
(*.f64 a2 (/.f64 a2 (sqrt.f64 2))) |
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
(/.f64 (*.f64 a2 a2) (sqrt.f64 2)) |
(/.f64 a2 (/.f64 (sqrt.f64 2) a2)) |
(*.f64 (/.f64 a2 (sqrt.f64 2)) a2) |
(*.f64 a2 (/.f64 a2 (sqrt.f64 2))) |
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
(/.f64 (*.f64 a2 a2) (sqrt.f64 2)) |
(/.f64 a2 (/.f64 (sqrt.f64 2) a2)) |
(*.f64 (/.f64 a2 (sqrt.f64 2)) a2) |
(*.f64 a2 (/.f64 a2 (sqrt.f64 2))) |
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
(/.f64 (*.f64 a2 a2) (sqrt.f64 2)) |
(/.f64 a2 (/.f64 (sqrt.f64 2) a2)) |
(*.f64 (/.f64 a2 (sqrt.f64 2)) a2) |
(*.f64 a2 (/.f64 a2 (sqrt.f64 2))) |
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
(/.f64 (*.f64 a2 a2) (sqrt.f64 2)) |
(/.f64 a2 (/.f64 (sqrt.f64 2) a2)) |
(*.f64 (/.f64 a2 (sqrt.f64 2)) a2) |
(*.f64 a2 (/.f64 a2 (sqrt.f64 2))) |
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
(/.f64 (*.f64 a2 a2) (sqrt.f64 2)) |
(/.f64 a2 (/.f64 (sqrt.f64 2) a2)) |
(*.f64 (/.f64 a2 (sqrt.f64 2)) a2) |
(*.f64 a2 (/.f64 a2 (sqrt.f64 2))) |
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
(/.f64 (*.f64 a2 a2) (sqrt.f64 2)) |
(/.f64 a2 (/.f64 (sqrt.f64 2) a2)) |
(*.f64 (/.f64 a2 (sqrt.f64 2)) a2) |
(*.f64 a2 (/.f64 a2 (sqrt.f64 2))) |
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
(/.f64 (*.f64 a2 a2) (sqrt.f64 2)) |
(/.f64 a2 (/.f64 (sqrt.f64 2) a2)) |
(*.f64 (/.f64 a2 (sqrt.f64 2)) a2) |
(*.f64 a2 (/.f64 a2 (sqrt.f64 2))) |
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.3b | (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
Compiled 16 to 13 computations (18.8% saved)
3 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | a2 | @ | 0 | (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
| 0.0ms | a2 | @ | inf | (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
| 0.0ms | a2 | @ | -inf | (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
| 1× | batch-egg-rewrite |
| 574× | pow1_binary64 |
| 535× | add-log-exp_binary64 |
| 535× | log1p-expm1-u_binary64 |
| 535× | expm1-log1p-u_binary64 |
| 522× | add-exp-log_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 6 | 9 |
| 1 | 129 | 9 |
| 2 | 1504 | 9 |
| 1× | node limit |
| Inputs |
|---|
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 (*.f64 a2 a2) (sqrt.f64 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 a2 (*.f64 a2 (pow.f64 2 -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 a2 a2) (pow.f64 2 -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2))) (cbrt.f64 (/.f64 (pow.f64 a2 4) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (pow.f64 a2 4) 2)) (cbrt.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 a2 4)) (*.f64 (pow.f64 (cbrt.f64 a2) 2) (pow.f64 2 -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a2 (pow.f64 2 1/4)) (/.f64 a2 (pow.f64 2 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 a2 (neg.f64 a2)) (/.f64 1 (neg.f64 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 2 -1/2) (*.f64 a2 a2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a2 1) (/.f64 a2 (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 a2 4)) 1) (/.f64 (pow.f64 (cbrt.f64 a2) 2) (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a2 (cbrt.f64 2)) (/.f64 a2 (cbrt.f64 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 2)) (/.f64 (*.f64 a2 a2) (cbrt.f64 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 a2 4)) (cbrt.f64 2)) (cbrt.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 2 1/4)) (/.f64 (*.f64 a2 a2) (pow.f64 2 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 a2 4)) (pow.f64 2 1/4)) (/.f64 (pow.f64 (cbrt.f64 a2) 2) (pow.f64 2 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 a2 (pow.f64 2 1/4)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 2) (*.f64 a2 a2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 a2 a2) (neg.f64 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 (pow.f64 a2 4) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)))))))) |
| 1× | egg-herbie |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 0 | 0 |
| 1× | saturated |
| Inputs |
|---|
| Outputs |
|---|
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| 0.0b | (cos.f64 th) | |
| ✓ | 0.1b | (*.f64 a2 (*.f64 a2 (cos.f64 th))) |
| ✓ | 0.1b | (*.f64 a2 (cos.f64 th)) |
| ✓ | 0.3b | (*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) |
Compiled 29 to 12 computations (58.6% saved)
18 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | a2 | @ | -inf | (*.f64 a2 (cos.f64 th)) |
| 0.0ms | a2 | @ | 0 | (*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) |
| 0.0ms | a2 | @ | inf | (*.f64 a2 (cos.f64 th)) |
| 0.0ms | th | @ | 0 | (*.f64 a2 (cos.f64 th)) |
| 0.0ms | th | @ | 0 | (*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) |
| 1× | batch-egg-rewrite |
| 828× | pow1_binary64 |
| 760× | add-log-exp_binary64 |
| 760× | log1p-expm1-u_binary64 |
| 760× | expm1-log1p-u_binary64 |
| 743× | add-exp-log_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 29 |
| 1 | 180 | 29 |
| 2 | 2092 | 29 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) |
(*.f64 a2 (cos.f64 th)) |
(*.f64 a2 (*.f64 a2 (cos.f64 th))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a2 a2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a2 a2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a2 a2))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a2 a2)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 a2 (sqrt.f64 (cos.f64 th))) (pow.f64 1/2 1/4)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 1/2 (pow.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2))) (sqrt.f64 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a2 a2))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (*.f64 1/2 (sqrt.f64 1/2)) (pow.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2)) 3) (*.f64 1/2 (sqrt.f64 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a2 a2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a2 a2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a2 a2))))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 a2 (cos.f64 th))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 a2 (cos.f64 th)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 a2 (cos.f64 th)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 a2 (cos.f64 th))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 a2 (cos.f64 th))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 a2 (cos.f64 th)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (cos.f64 th)) a2))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 a2 (cos.f64 th)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 a2 3) (pow.f64 (cos.f64 th) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (cos.f64 th) 3) (pow.f64 a2 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 a2 (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 a2 (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 a2 (cos.f64 th)))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (cos.f64 th) (*.f64 a2 a2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 a2 (sqrt.f64 (cos.f64 th))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 a2 3) (pow.f64 (*.f64 a2 (cos.f64 th)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (*.f64 a2 (cos.f64 th)) 3) (pow.f64 a2 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2)))))))) |
| 1× | egg-herbie |
| 752× | *-commutative_binary64 |
| 697× | sqr-pow_binary64 |
| 460× | fma-def_binary64 |
| 434× | distribute-rgt-out_binary64 |
| 368× | pow-sqr_binary64 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 61 | 840 |
| 1 | 164 | 825 |
| 2 | 480 | 772 |
| 3 | 1967 | 747 |
| 4 | 3760 | 747 |
| 5 | 4017 | 747 |
| 6 | 4246 | 747 |
| 7 | 4481 | 747 |
| 8 | 4816 | 747 |
| 9 | 5421 | 747 |
| 10 | 5985 | 747 |
| 11 | 6288 | 747 |
| 12 | 6629 | 747 |
| 13 | 7037 | 747 |
| 14 | 7520 | 747 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) |
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (pow.f64 th 2))))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (pow.f64 th 2)))) (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (pow.f64 th 4)))))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (pow.f64 th 2)))) (+.f64 (*.f64 -1/720 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (pow.f64 th 6)))) (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (pow.f64 th 4))))))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a2 2))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a2 2))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a2 2))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a2 2))) |
(*.f64 (cos.f64 th) a2) |
(*.f64 (cos.f64 th) a2) |
(*.f64 (cos.f64 th) a2) |
(*.f64 (cos.f64 th) a2) |
(*.f64 (cos.f64 th) a2) |
(*.f64 (cos.f64 th) a2) |
(*.f64 (cos.f64 th) a2) |
(*.f64 (cos.f64 th) a2) |
(*.f64 (cos.f64 th) a2) |
(*.f64 (cos.f64 th) a2) |
(*.f64 (cos.f64 th) a2) |
(*.f64 (cos.f64 th) a2) |
a2 |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 th 2) a2)) a2) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 th 2) a2)) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 th 4) a2)) a2)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 th 2) a2)) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 th 4) a2)) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 th 6) a2)) a2))) |
(*.f64 (cos.f64 th) (pow.f64 a2 2)) |
(*.f64 (cos.f64 th) (pow.f64 a2 2)) |
(*.f64 (cos.f64 th) (pow.f64 a2 2)) |
(*.f64 (cos.f64 th) (pow.f64 a2 2)) |
(*.f64 (cos.f64 th) (pow.f64 a2 2)) |
(*.f64 (cos.f64 th) (pow.f64 a2 2)) |
(*.f64 (cos.f64 th) (pow.f64 a2 2)) |
(*.f64 (cos.f64 th) (pow.f64 a2 2)) |
(*.f64 (cos.f64 th) (pow.f64 a2 2)) |
(*.f64 (cos.f64 th) (pow.f64 a2 2)) |
(*.f64 (cos.f64 th) (pow.f64 a2 2)) |
(*.f64 (cos.f64 th) (pow.f64 a2 2)) |
(pow.f64 a2 2) |
(+.f64 (pow.f64 a2 2) (*.f64 -1/2 (*.f64 (pow.f64 th 2) (pow.f64 a2 2)))) |
(+.f64 (pow.f64 a2 2) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 th 2) (pow.f64 a2 2))) (*.f64 1/24 (*.f64 (pow.f64 th 4) (pow.f64 a2 2))))) |
(+.f64 (pow.f64 a2 2) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 th 2) (pow.f64 a2 2))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 th 4) (pow.f64 a2 2))) (*.f64 -1/720 (*.f64 (pow.f64 th 6) (pow.f64 a2 2)))))) |
(*.f64 (pow.f64 a2 2) (cos.f64 th)) |
(*.f64 (pow.f64 a2 2) (cos.f64 th)) |
(*.f64 (pow.f64 a2 2) (cos.f64 th)) |
(*.f64 (pow.f64 a2 2) (cos.f64 th)) |
(*.f64 (pow.f64 a2 2) (cos.f64 th)) |
(*.f64 (pow.f64 a2 2) (cos.f64 th)) |
(*.f64 (pow.f64 a2 2) (cos.f64 th)) |
(*.f64 (pow.f64 a2 2) (cos.f64 th)) |
| Outputs |
|---|
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th))) |
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) |
(*.f64 (cos.f64 th) (*.f64 a2 (*.f64 (sqrt.f64 1/2) a2))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th))) |
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) |
(*.f64 (cos.f64 th) (*.f64 a2 (*.f64 (sqrt.f64 1/2) a2))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th))) |
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) |
(*.f64 (cos.f64 th) (*.f64 a2 (*.f64 (sqrt.f64 1/2) a2))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th))) |
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) |
(*.f64 (cos.f64 th) (*.f64 a2 (*.f64 (sqrt.f64 1/2) a2))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th))) |
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) |
(*.f64 (cos.f64 th) (*.f64 a2 (*.f64 (sqrt.f64 1/2) a2))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th))) |
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) |
(*.f64 (cos.f64 th) (*.f64 a2 (*.f64 (sqrt.f64 1/2) a2))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th))) |
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) |
(*.f64 (cos.f64 th) (*.f64 a2 (*.f64 (sqrt.f64 1/2) a2))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th))) |
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) |
(*.f64 (cos.f64 th) (*.f64 a2 (*.f64 (sqrt.f64 1/2) a2))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th))) |
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) |
(*.f64 (cos.f64 th) (*.f64 a2 (*.f64 (sqrt.f64 1/2) a2))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th))) |
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) |
(*.f64 (cos.f64 th) (*.f64 a2 (*.f64 (sqrt.f64 1/2) a2))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th))) |
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) |
(*.f64 (cos.f64 th) (*.f64 a2 (*.f64 (sqrt.f64 1/2) a2))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th))) |
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) |
(*.f64 (cos.f64 th) (*.f64 a2 (*.f64 (sqrt.f64 1/2) a2))) |
(*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)) |
(*.f64 a2 (*.f64 (sqrt.f64 1/2) a2)) |
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (pow.f64 th 2))))) |
(fma.f64 (sqrt.f64 1/2) (*.f64 a2 a2) (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (*.f64 th th))))) |
(fma.f64 (sqrt.f64 1/2) (*.f64 a2 a2) (*.f64 (*.f64 (*.f64 a2 a2) (*.f64 th th)) (*.f64 (sqrt.f64 1/2) -1/2))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (fma.f64 (*.f64 th -1/2) th 1))) |
(*.f64 (fma.f64 (*.f64 th -1/2) th 1) (*.f64 a2 (*.f64 (sqrt.f64 1/2) a2))) |
(*.f64 (*.f64 a2 (*.f64 (sqrt.f64 1/2) a2)) (fma.f64 (*.f64 th -1/2) th 1)) |
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (pow.f64 th 2)))) (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (pow.f64 th 4)))))) |
(fma.f64 (sqrt.f64 1/2) (*.f64 a2 a2) (fma.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (*.f64 th th))) (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (pow.f64 th 4)))))) |
(fma.f64 (sqrt.f64 1/2) (*.f64 a2 a2) (fma.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (*.f64 th th))) (*.f64 (*.f64 a2 (*.f64 a2 (pow.f64 th 4))) (*.f64 (sqrt.f64 1/2) 1/24)))) |
(fma.f64 (sqrt.f64 1/2) (*.f64 a2 a2) (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)) (fma.f64 -1/2 (*.f64 th th) (*.f64 1/24 (pow.f64 th 4))))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (fma.f64 a2 (fma.f64 -1/2 (*.f64 th th) (*.f64 1/24 (pow.f64 th 4))) a2))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (pow.f64 th 2)))) (+.f64 (*.f64 -1/720 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (pow.f64 th 6)))) (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (pow.f64 th 4))))))) |
(fma.f64 (sqrt.f64 1/2) (*.f64 a2 a2) (fma.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (*.f64 th th))) (fma.f64 -1/720 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (pow.f64 th 6))) (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (pow.f64 th 4))))))) |
(fma.f64 (sqrt.f64 1/2) (*.f64 a2 a2) (fma.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (*.f64 th th))) (fma.f64 -1/720 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (pow.f64 th 6))) (*.f64 (*.f64 a2 (*.f64 a2 (pow.f64 th 4))) (*.f64 (sqrt.f64 1/2) 1/24))))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (fma.f64 (*.f64 th -1/2) th 1))) (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)) (fma.f64 1/24 (pow.f64 th 4) (*.f64 -1/720 (pow.f64 th 6))))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (+.f64 (fma.f64 -1/2 (*.f64 th th) (*.f64 1/24 (pow.f64 th 4))) (fma.f64 -1/720 (pow.f64 th 6) 1)))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (+.f64 (fma.f64 -1/720 (pow.f64 th 6) 1) (fma.f64 -1/2 (*.f64 th th) (*.f64 1/24 (pow.f64 th 4)))))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th))) |
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) |
(*.f64 (cos.f64 th) (*.f64 a2 (*.f64 (sqrt.f64 1/2) a2))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th))) |
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) |
(*.f64 (cos.f64 th) (*.f64 a2 (*.f64 (sqrt.f64 1/2) a2))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th))) |
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) |
(*.f64 (cos.f64 th) (*.f64 a2 (*.f64 (sqrt.f64 1/2) a2))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th))) |
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) |
(*.f64 (cos.f64 th) (*.f64 a2 (*.f64 (sqrt.f64 1/2) a2))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a2 2))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th))) |
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) |
(*.f64 (cos.f64 th) (*.f64 a2 (*.f64 (sqrt.f64 1/2) a2))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a2 2))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th))) |
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) |
(*.f64 (cos.f64 th) (*.f64 a2 (*.f64 (sqrt.f64 1/2) a2))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a2 2))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th))) |
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) |
(*.f64 (cos.f64 th) (*.f64 a2 (*.f64 (sqrt.f64 1/2) a2))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a2 2))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th))) |
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) |
(*.f64 (cos.f64 th) (*.f64 a2 (*.f64 (sqrt.f64 1/2) a2))) |
(*.f64 (cos.f64 th) a2) |
(*.f64 a2 (cos.f64 th)) |
(*.f64 (cos.f64 th) a2) |
(*.f64 a2 (cos.f64 th)) |
(*.f64 (cos.f64 th) a2) |
(*.f64 a2 (cos.f64 th)) |
(*.f64 (cos.f64 th) a2) |
(*.f64 a2 (cos.f64 th)) |
(*.f64 (cos.f64 th) a2) |
(*.f64 a2 (cos.f64 th)) |
(*.f64 (cos.f64 th) a2) |
(*.f64 a2 (cos.f64 th)) |
(*.f64 (cos.f64 th) a2) |
(*.f64 a2 (cos.f64 th)) |
(*.f64 (cos.f64 th) a2) |
(*.f64 a2 (cos.f64 th)) |
(*.f64 (cos.f64 th) a2) |
(*.f64 a2 (cos.f64 th)) |
(*.f64 (cos.f64 th) a2) |
(*.f64 a2 (cos.f64 th)) |
(*.f64 (cos.f64 th) a2) |
(*.f64 a2 (cos.f64 th)) |
(*.f64 (cos.f64 th) a2) |
(*.f64 a2 (cos.f64 th)) |
a2 |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 th 2) a2)) a2) |
(fma.f64 -1/2 (*.f64 a2 (*.f64 th th)) a2) |
(*.f64 a2 (fma.f64 (*.f64 th -1/2) th 1)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 th 2) a2)) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 th 4) a2)) a2)) |
(fma.f64 -1/2 (*.f64 a2 (*.f64 th th)) (fma.f64 1/24 (*.f64 a2 (pow.f64 th 4)) a2)) |
(fma.f64 a2 (fma.f64 -1/2 (*.f64 th th) (*.f64 1/24 (pow.f64 th 4))) a2) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 th 2) a2)) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 th 4) a2)) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 th 6) a2)) a2))) |
(fma.f64 -1/2 (*.f64 a2 (*.f64 th th)) (fma.f64 1/24 (*.f64 a2 (pow.f64 th 4)) (fma.f64 -1/720 (*.f64 a2 (pow.f64 th 6)) a2))) |
(fma.f64 a2 (*.f64 th (*.f64 th -1/2)) (fma.f64 a2 (fma.f64 1/24 (pow.f64 th 4) (*.f64 -1/720 (pow.f64 th 6))) a2)) |
(*.f64 a2 (+.f64 (fma.f64 -1/2 (*.f64 th th) (*.f64 1/24 (pow.f64 th 4))) (fma.f64 -1/720 (pow.f64 th 6) 1))) |
(*.f64 a2 (+.f64 (fma.f64 -1/720 (pow.f64 th 6) 1) (fma.f64 -1/2 (*.f64 th th) (*.f64 1/24 (pow.f64 th 4))))) |
(*.f64 (cos.f64 th) (pow.f64 a2 2)) |
(*.f64 (*.f64 a2 a2) (cos.f64 th)) |
(*.f64 a2 (*.f64 a2 (cos.f64 th))) |
(*.f64 (cos.f64 th) (pow.f64 a2 2)) |
(*.f64 (*.f64 a2 a2) (cos.f64 th)) |
(*.f64 a2 (*.f64 a2 (cos.f64 th))) |
(*.f64 (cos.f64 th) (pow.f64 a2 2)) |
(*.f64 (*.f64 a2 a2) (cos.f64 th)) |
(*.f64 a2 (*.f64 a2 (cos.f64 th))) |
(*.f64 (cos.f64 th) (pow.f64 a2 2)) |
(*.f64 (*.f64 a2 a2) (cos.f64 th)) |
(*.f64 a2 (*.f64 a2 (cos.f64 th))) |
(*.f64 (cos.f64 th) (pow.f64 a2 2)) |
(*.f64 (*.f64 a2 a2) (cos.f64 th)) |
(*.f64 a2 (*.f64 a2 (cos.f64 th))) |
(*.f64 (cos.f64 th) (pow.f64 a2 2)) |
(*.f64 (*.f64 a2 a2) (cos.f64 th)) |
(*.f64 a2 (*.f64 a2 (cos.f64 th))) |
(*.f64 (cos.f64 th) (pow.f64 a2 2)) |
(*.f64 (*.f64 a2 a2) (cos.f64 th)) |
(*.f64 a2 (*.f64 a2 (cos.f64 th))) |
(*.f64 (cos.f64 th) (pow.f64 a2 2)) |
(*.f64 (*.f64 a2 a2) (cos.f64 th)) |
(*.f64 a2 (*.f64 a2 (cos.f64 th))) |
(*.f64 (cos.f64 th) (pow.f64 a2 2)) |
(*.f64 (*.f64 a2 a2) (cos.f64 th)) |
(*.f64 a2 (*.f64 a2 (cos.f64 th))) |
(*.f64 (cos.f64 th) (pow.f64 a2 2)) |
(*.f64 (*.f64 a2 a2) (cos.f64 th)) |
(*.f64 a2 (*.f64 a2 (cos.f64 th))) |
(*.f64 (cos.f64 th) (pow.f64 a2 2)) |
(*.f64 (*.f64 a2 a2) (cos.f64 th)) |
(*.f64 a2 (*.f64 a2 (cos.f64 th))) |
(*.f64 (cos.f64 th) (pow.f64 a2 2)) |
(*.f64 (*.f64 a2 a2) (cos.f64 th)) |
(*.f64 a2 (*.f64 a2 (cos.f64 th))) |
(pow.f64 a2 2) |
(*.f64 a2 a2) |
(+.f64 (pow.f64 a2 2) (*.f64 -1/2 (*.f64 (pow.f64 th 2) (pow.f64 a2 2)))) |
(+.f64 (*.f64 a2 a2) (*.f64 -1/2 (*.f64 (*.f64 a2 a2) (*.f64 th th)))) |
(*.f64 (+.f64 (*.f64 -1/2 (*.f64 th th)) 1) (*.f64 a2 a2)) |
(*.f64 (*.f64 a2 a2) (fma.f64 (*.f64 th -1/2) th 1)) |
(+.f64 (pow.f64 a2 2) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 th 2) (pow.f64 a2 2))) (*.f64 1/24 (*.f64 (pow.f64 th 4) (pow.f64 a2 2))))) |
(+.f64 (*.f64 a2 a2) (fma.f64 -1/2 (*.f64 (*.f64 a2 a2) (*.f64 th th)) (*.f64 1/24 (*.f64 (*.f64 a2 a2) (pow.f64 th 4))))) |
(fma.f64 a2 a2 (*.f64 (*.f64 a2 a2) (+.f64 (*.f64 -1/2 (*.f64 th th)) (*.f64 1/24 (pow.f64 th 4))))) |
(*.f64 (*.f64 a2 a2) (+.f64 (fma.f64 (*.f64 th -1/2) th 1) (*.f64 1/24 (pow.f64 th 4)))) |
(*.f64 a2 (fma.f64 a2 (fma.f64 -1/2 (*.f64 th th) (*.f64 1/24 (pow.f64 th 4))) a2)) |
(+.f64 (pow.f64 a2 2) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 th 2) (pow.f64 a2 2))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 th 4) (pow.f64 a2 2))) (*.f64 -1/720 (*.f64 (pow.f64 th 6) (pow.f64 a2 2)))))) |
(+.f64 (*.f64 a2 a2) (fma.f64 -1/2 (*.f64 (*.f64 a2 a2) (*.f64 th th)) (fma.f64 1/24 (*.f64 (*.f64 a2 a2) (pow.f64 th 4)) (*.f64 -1/720 (*.f64 (*.f64 a2 a2) (pow.f64 th 6)))))) |
(fma.f64 a2 a2 (fma.f64 -1/2 (*.f64 (*.f64 a2 a2) (*.f64 th th)) (*.f64 (*.f64 a2 a2) (+.f64 (*.f64 1/24 (pow.f64 th 4)) (*.f64 -1/720 (pow.f64 th 6)))))) |
(fma.f64 a2 a2 (*.f64 (*.f64 a2 a2) (+.f64 (*.f64 th (*.f64 th -1/2)) (fma.f64 1/24 (pow.f64 th 4) (*.f64 -1/720 (pow.f64 th 6)))))) |
(*.f64 (*.f64 a2 a2) (+.f64 (fma.f64 -1/2 (*.f64 th th) (*.f64 1/24 (pow.f64 th 4))) (fma.f64 -1/720 (pow.f64 th 6) 1))) |
(*.f64 (*.f64 a2 a2) (+.f64 (fma.f64 -1/720 (pow.f64 th 6) 1) (fma.f64 -1/2 (*.f64 th th) (*.f64 1/24 (pow.f64 th 4))))) |
(*.f64 (pow.f64 a2 2) (cos.f64 th)) |
(*.f64 (*.f64 a2 a2) (cos.f64 th)) |
(*.f64 a2 (*.f64 a2 (cos.f64 th))) |
(*.f64 (pow.f64 a2 2) (cos.f64 th)) |
(*.f64 (*.f64 a2 a2) (cos.f64 th)) |
(*.f64 a2 (*.f64 a2 (cos.f64 th))) |
(*.f64 (pow.f64 a2 2) (cos.f64 th)) |
(*.f64 (*.f64 a2 a2) (cos.f64 th)) |
(*.f64 a2 (*.f64 a2 (cos.f64 th))) |
(*.f64 (pow.f64 a2 2) (cos.f64 th)) |
(*.f64 (*.f64 a2 a2) (cos.f64 th)) |
(*.f64 a2 (*.f64 a2 (cos.f64 th))) |
(*.f64 (pow.f64 a2 2) (cos.f64 th)) |
(*.f64 (*.f64 a2 a2) (cos.f64 th)) |
(*.f64 a2 (*.f64 a2 (cos.f64 th))) |
(*.f64 (pow.f64 a2 2) (cos.f64 th)) |
(*.f64 (*.f64 a2 a2) (cos.f64 th)) |
(*.f64 a2 (*.f64 a2 (cos.f64 th))) |
(*.f64 (pow.f64 a2 2) (cos.f64 th)) |
(*.f64 (*.f64 a2 a2) (cos.f64 th)) |
(*.f64 a2 (*.f64 a2 (cos.f64 th))) |
(*.f64 (pow.f64 a2 2) (cos.f64 th)) |
(*.f64 (*.f64 a2 a2) (cos.f64 th)) |
(*.f64 a2 (*.f64 a2 (cos.f64 th))) |
Compiled 6911 to 3998 computations (42.2% saved)
36 alts after pruning (28 fresh and 8 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 446 | 12 | 458 |
| Fresh | 6 | 16 | 22 |
| Picked | 0 | 1 | 1 |
| Done | 1 | 7 | 8 |
| Total | 453 | 36 | 489 |
| Status | Error | Program |
|---|---|---|
| ✓ | 26.9b | (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) |
| 40.4b | (*.f64 a1 (*.f64 (neg.f64 a1) (/.f64 1 (neg.f64 (sqrt.f64 2))))) | |
| 26.8b | (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) | |
| 42.6b | (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) | |
| 40.4b | (*.f64 a1 (*.f64 (pow.f64 2 -1/2) a1)) | |
| 46.4b | (*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (+.f64 1 (*.f64 th (*.f64 th -1/2))))) | |
| 30.4b | (*.f64 (cos.f64 th) (*.f64 a2 (*.f64 (sqrt.f64 1/2) a2))) | |
| ✓ | 26.9b | (*.f64 a1 (*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2)))) |
| ✓ | 26.9b | (/.f64 (*.f64 (*.f64 a1 (cos.f64 th)) a1) (sqrt.f64 2)) |
| 0.5b | (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) | |
| 30.3b | (/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (sqrt.f64 2)) | |
| 44.2b | (*.f64 a1 (*.f64 (/.f64 a1 (sqrt.f64 2)) (+.f64 1 (*.f64 th (*.f64 th -1/2))))) | |
| 31.7b | (*.f64 (*.f64 (+.f64 (*.f64 (*.f64 th th) (+.f64 -1/2 (*.f64 (*.f64 th th) 1/24))) 1) (sqrt.f64 1/2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) | |
| ✓ | 30.4b | (*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) |
| 40.5b | (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) | |
| 26.9b | (*.f64 (*.f64 a1 (cos.f64 th)) (*.f64 (sqrt.f64 1/2) a1)) | |
| ✓ | 40.4b | (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) |
| ✓ | 42.6b | (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) |
| ✓ | 0.4b | (*.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) |
| 42.7b | (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)) | |
| 40.4b | (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) | |
| 26.9b | (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a1 a1))) | |
| 40.4b | (pow.f64 (/.f64 a1 (pow.f64 2 1/4)) 2) | |
| 47.2b | (-.f64 (+.f64 1 (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) 1) | |
| 42.6b | (*.f64 a2 (/.f64 1 (/.f64 (sqrt.f64 2) a2))) | |
| 42.6b | (*.f64 (*.f64 a2 (neg.f64 a2)) (/.f64 1 (neg.f64 (sqrt.f64 2)))) | |
| ✓ | 42.6b | (*.f64 a2 (*.f64 a2 (/.f64 1 (sqrt.f64 2)))) |
| 30.4b | (*.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (*.f64 a2 a2)) | |
| 27.0b | (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) | |
| 48.4b | (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (/.f64 (pow.f64 a1 4) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))) | |
| 42.6b | (*.f64 a2 (*.f64 (sqrt.f64 1/2) a2)) | |
| 0.6b | (*.f64 (*.f64 (neg.f64 (cos.f64 th)) (/.f64 1 (neg.f64 (sqrt.f64 2)))) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) | |
| 55.3b | (*.f64 a1 (sqrt.f64 (/.f64 (*.f64 a1 a1) 2))) | |
| 42.6b | (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) | |
| 26.8b | (*.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (*.f64 a1 a1)) | |
| 40.4b | (*.f64 a1 (pow.f64 (/.f64 (sqrt.f64 2) a1) -1)) |
Compiled 453 to 343 computations (24.3% saved)
| Inputs |
|---|
(/.f64 (*.f64 a2 a2) (sqrt.f64 2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)) |
(*.f64 a2 (*.f64 (sqrt.f64 1/2) a2)) |
(/.f64 a2 (/.f64 (sqrt.f64 2) a2)) |
(/.f64 (*.f64 a1 a1) (sqrt.f64 2)) |
(*.f64 a2 (/.f64 a2 (sqrt.f64 2))) |
(/.f64 a1 (/.f64 (sqrt.f64 2) a1)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)) |
(*.f64 a2 (/.f64 a2 (sqrt.f64 2))) |
(*.f64 a1 (/.f64 a1 (sqrt.f64 2))) |
(*.f64 a1 (*.f64 (pow.f64 2 -1/2) a1)) |
(*.f64 a2 (/.f64 1 (/.f64 (sqrt.f64 2) a2))) |
(*.f64 a2 (*.f64 a2 (/.f64 1 (sqrt.f64 2)))) |
(*.f64 a1 (sqrt.f64 (/.f64 (*.f64 a1 a1) 2))) |
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) |
(*.f64 (*.f64 a2 (neg.f64 a2)) (/.f64 1 (neg.f64 (sqrt.f64 2)))) |
(*.f64 a1 (*.f64 (neg.f64 a1) (/.f64 1 (neg.f64 (sqrt.f64 2))))) |
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) |
(-.f64 (+.f64 1 (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) 1) |
(*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (+.f64 1 (*.f64 th (*.f64 th -1/2))))) |
(*.f64 a1 (*.f64 (/.f64 a1 (sqrt.f64 2)) (+.f64 1 (*.f64 th (*.f64 th -1/2))))) |
(*.f64 (*.f64 (+.f64 (*.f64 (*.f64 th th) (+.f64 -1/2 (*.f64 (*.f64 th th) 1/24))) 1) (sqrt.f64 1/2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) |
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
(/.f64 (pow.f64 a1 2) (sqrt.f64 2)) |
(pow.f64 (/.f64 a1 (pow.f64 2 1/4)) 2) |
(*.f64 a1 (pow.f64 (/.f64 (sqrt.f64 2) a1) -1)) |
(*.f64 (cos.f64 th) (*.f64 a2 (*.f64 (sqrt.f64 1/2) a2))) |
(*.f64 (*.f64 a1 (cos.f64 th)) (*.f64 (sqrt.f64 1/2) a1)) |
(*.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (*.f64 a2 a2)) |
(*.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (*.f64 a1 a1)) |
(/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 a2 (*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th)))) |
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a1 a1))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) |
(/.f64 (*.f64 (*.f64 a1 (cos.f64 th)) a1) (sqrt.f64 2)) |
(*.f64 a2 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) a2))) |
(*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))) |
(*.f64 a1 (*.f64 a1 (*.f64 (sqrt.f64 1/2) (cos.f64 th)))) |
(*.f64 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) |
(*.f64 a1 (*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2)))) |
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) |
(*.f64 a2 (*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2)))) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)) |
(*.f64 (*.f64 a1 (cos.f64 th)) (*.f64 a1 (pow.f64 2 -1/2))) |
(*.f64 (*.f64 (pow.f64 2 -1/2) (cos.f64 th)) (*.f64 a1 a1)) |
(*.f64 a1 (*.f64 (cos.f64 th) (*.f64 (pow.f64 2 -1/2) a1))) |
(*.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) |
(*.f64 (*.f64 (pow.f64 2 -1/2) (cos.f64 th)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) |
(*.f64 (*.f64 (neg.f64 (cos.f64 th)) (/.f64 1 (neg.f64 (sqrt.f64 2)))) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) |
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2))) |
(*.f64 (*.f64 (pow.f64 2 -1/2) (cos.f64 th)) (fma.f64 a1 a1 (*.f64 a2 a2))) |
(*.f64 (*.f64 (neg.f64 (cos.f64 th)) (/.f64 1 (neg.f64 (sqrt.f64 2)))) (fma.f64 a1 a1 (*.f64 a2 a2))) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (/.f64 (pow.f64 a1 4) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))) |
(/.f64 (pow.f64 (hypot.f64 a1 a2) 2) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 (pow.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) -1) (fma.f64 a1 a1 (*.f64 a2 a2))) |
(*.f64 (*.f64 (/.f64 1 (cbrt.f64 2)) (/.f64 (cos.f64 th) (pow.f64 2 1/6))) (fma.f64 a1 a1 (*.f64 a2 a2))) |
(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2))) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (/.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))) |
(pow.f64 (*.f64 (hypot.f64 a1 a2) (sqrt.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)))) 2) |
(*.f64 (/.f64 (log.f64 (exp.f64 (cos.f64 th))) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2))) |
(/.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a1 a2) 2)) (pow.f64 2 1/4)) (pow.f64 2 1/4)) |
| Outputs |
|---|
(*.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) |
9 calls:
| 96.0ms | (/.f64 (cos.f64 th) (sqrt.f64 2)) |
| 93.0ms | (+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2))) |
| 81.0ms | (cos.f64 th) |
| 79.0ms | th |
| 49.0ms | a1 |
| Error | Segments | Branch |
|---|---|---|
| 0.4b | 1 | a1 |
| 0.4b | 1 | a2 |
| 0.4b | 1 | th |
| 0.4b | 1 | (+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2))) |
| 0.4b | 1 | (/.f64 (cos.f64 th) (sqrt.f64 2)) |
| 0.4b | 1 | (/.f64 (cos.f64 th) (sqrt.f64 2)) |
| 0.4b | 1 | (cos.f64 th) |
| 0.4b | 1 | (*.f64 a1 a1) |
| 0.4b | 1 | (*.f64 a2 a2) |
Compiled 791 to 449 computations (43.2% saved)
| Inputs |
|---|
(/.f64 (*.f64 a2 a2) (sqrt.f64 2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)) |
(*.f64 a2 (*.f64 (sqrt.f64 1/2) a2)) |
(/.f64 a2 (/.f64 (sqrt.f64 2) a2)) |
(/.f64 (*.f64 a1 a1) (sqrt.f64 2)) |
(*.f64 a2 (/.f64 a2 (sqrt.f64 2))) |
(/.f64 a1 (/.f64 (sqrt.f64 2) a1)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)) |
(*.f64 a2 (/.f64 a2 (sqrt.f64 2))) |
(*.f64 a1 (/.f64 a1 (sqrt.f64 2))) |
(*.f64 a1 (*.f64 (pow.f64 2 -1/2) a1)) |
(*.f64 a2 (/.f64 1 (/.f64 (sqrt.f64 2) a2))) |
(*.f64 a2 (*.f64 a2 (/.f64 1 (sqrt.f64 2)))) |
(*.f64 a1 (sqrt.f64 (/.f64 (*.f64 a1 a1) 2))) |
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) |
(*.f64 (*.f64 a2 (neg.f64 a2)) (/.f64 1 (neg.f64 (sqrt.f64 2)))) |
(*.f64 a1 (*.f64 (neg.f64 a1) (/.f64 1 (neg.f64 (sqrt.f64 2))))) |
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) |
(-.f64 (+.f64 1 (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) 1) |
(*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (+.f64 1 (*.f64 th (*.f64 th -1/2))))) |
(*.f64 a1 (*.f64 (/.f64 a1 (sqrt.f64 2)) (+.f64 1 (*.f64 th (*.f64 th -1/2))))) |
(*.f64 (*.f64 (+.f64 (*.f64 (*.f64 th th) (+.f64 -1/2 (*.f64 (*.f64 th th) 1/24))) 1) (sqrt.f64 1/2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) |
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
(/.f64 (pow.f64 a1 2) (sqrt.f64 2)) |
(pow.f64 (/.f64 a1 (pow.f64 2 1/4)) 2) |
(*.f64 a1 (pow.f64 (/.f64 (sqrt.f64 2) a1) -1)) |
(*.f64 (cos.f64 th) (*.f64 a2 (*.f64 (sqrt.f64 1/2) a2))) |
(*.f64 (*.f64 a1 (cos.f64 th)) (*.f64 (sqrt.f64 1/2) a1)) |
(*.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (*.f64 a2 a2)) |
(*.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (*.f64 a1 a1)) |
(/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 a2 (*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th)))) |
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a1 a1))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) |
(/.f64 (*.f64 (*.f64 a1 (cos.f64 th)) a1) (sqrt.f64 2)) |
(*.f64 a2 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) a2))) |
(*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))) |
(*.f64 a1 (*.f64 a1 (*.f64 (sqrt.f64 1/2) (cos.f64 th)))) |
(*.f64 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) |
(*.f64 a1 (*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2)))) |
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) |
(*.f64 a2 (*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2)))) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)) |
(*.f64 (*.f64 a1 (cos.f64 th)) (*.f64 a1 (pow.f64 2 -1/2))) |
(*.f64 (*.f64 (pow.f64 2 -1/2) (cos.f64 th)) (*.f64 a1 a1)) |
(*.f64 a1 (*.f64 (cos.f64 th) (*.f64 (pow.f64 2 -1/2) a1))) |
| Outputs |
|---|
(*.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (*.f64 a1 a1)) |
(*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))) |
(*.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (*.f64 a1 a1)) |
(/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (sqrt.f64 2)) |
10 calls:
| 589.0ms | th |
| 294.0ms | (*.f64 a1 a1) |
| 198.0ms | (/.f64 (cos.f64 th) (sqrt.f64 2)) |
| 177.0ms | a2 |
| 162.0ms | (/.f64 (cos.f64 th) (sqrt.f64 2)) |
| Error | Segments | Branch |
|---|---|---|
| 7.2b | 4 | a1 |
| 7.5b | 2 | a2 |
| 11.1b | 6 | th |
| 10.1b | 6 | (/.f64 (cos.f64 th) (sqrt.f64 2)) |
| 10.1b | 6 | (/.f64 (cos.f64 th) (sqrt.f64 2)) |
| 10.1b | 6 | (cos.f64 th) |
| 9.8b | 9 | (*.f64 a1 a1) |
| 9.8b | 9 | (*.f64 a1 a1) |
| 10.2b | 6 | (*.f64 a2 a2) |
| 10.2b | 6 | (*.f64 a2 a2) |
Compiled 487 to 294 computations (39.6% saved)
| 3× | binary-search |
| Time | Left | Right |
|---|---|---|
| 72.0ms | -6.777300293393531e-151 | -7.5459515883169425e-152 |
| 68.0ms | -1.5480282158629916e-22 | -5.0494686252561106e-30 |
| 103.0ms | -131651913.2293722 | -71494127.82974614 |
Compiled 28 to 20 computations (28.6% saved)
| Inputs |
|---|
(/.f64 (*.f64 a2 a2) (sqrt.f64 2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)) |
(*.f64 a2 (*.f64 (sqrt.f64 1/2) a2)) |
(/.f64 a2 (/.f64 (sqrt.f64 2) a2)) |
(/.f64 (*.f64 a1 a1) (sqrt.f64 2)) |
(*.f64 a2 (/.f64 a2 (sqrt.f64 2))) |
(/.f64 a1 (/.f64 (sqrt.f64 2) a1)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)) |
(*.f64 a2 (/.f64 a2 (sqrt.f64 2))) |
(*.f64 a1 (/.f64 a1 (sqrt.f64 2))) |
(*.f64 a1 (*.f64 (pow.f64 2 -1/2) a1)) |
(*.f64 a2 (/.f64 1 (/.f64 (sqrt.f64 2) a2))) |
(*.f64 a2 (*.f64 a2 (/.f64 1 (sqrt.f64 2)))) |
(*.f64 a1 (sqrt.f64 (/.f64 (*.f64 a1 a1) 2))) |
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) |
(*.f64 (*.f64 a2 (neg.f64 a2)) (/.f64 1 (neg.f64 (sqrt.f64 2)))) |
(*.f64 a1 (*.f64 (neg.f64 a1) (/.f64 1 (neg.f64 (sqrt.f64 2))))) |
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) |
(-.f64 (+.f64 1 (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) 1) |
(*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (+.f64 1 (*.f64 th (*.f64 th -1/2))))) |
(*.f64 a1 (*.f64 (/.f64 a1 (sqrt.f64 2)) (+.f64 1 (*.f64 th (*.f64 th -1/2))))) |
(*.f64 (*.f64 (+.f64 (*.f64 (*.f64 th th) (+.f64 -1/2 (*.f64 (*.f64 th th) 1/24))) 1) (sqrt.f64 1/2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) |
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
(/.f64 (pow.f64 a1 2) (sqrt.f64 2)) |
(pow.f64 (/.f64 a1 (pow.f64 2 1/4)) 2) |
(*.f64 a1 (pow.f64 (/.f64 (sqrt.f64 2) a1) -1)) |
(*.f64 (cos.f64 th) (*.f64 a2 (*.f64 (sqrt.f64 1/2) a2))) |
(*.f64 (*.f64 a1 (cos.f64 th)) (*.f64 (sqrt.f64 1/2) a1)) |
(*.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (*.f64 a2 a2)) |
(*.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (*.f64 a1 a1)) |
(/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 a2 (*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th)))) |
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a1 a1))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) |
(/.f64 (*.f64 (*.f64 a1 (cos.f64 th)) a1) (sqrt.f64 2)) |
(*.f64 a2 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) a2))) |
| Outputs |
|---|
(*.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (*.f64 a1 a1)) |
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) |
(*.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (*.f64 a1 a1)) |
(/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (sqrt.f64 2)) |
8 calls:
| 380.0ms | th |
| 337.0ms | (*.f64 a1 a1) |
| 249.0ms | (cos.f64 th) |
| 163.0ms | (*.f64 a1 a1) |
| 100.0ms | a2 |
| Error | Segments | Branch |
|---|---|---|
| 7.2b | 4 | a1 |
| 7.5b | 2 | a2 |
| 11.2b | 6 | th |
| 10.1b | 6 | (cos.f64 th) |
| 9.8b | 9 | (*.f64 a1 a1) |
| 9.8b | 9 | (*.f64 a1 a1) |
| 10.2b | 6 | (*.f64 a2 a2) |
| 10.2b | 6 | (*.f64 a2 a2) |
Compiled 360 to 226 computations (37.2% saved)
| 3× | binary-search |
| Time | Left | Right |
|---|---|---|
| 89.0ms | -6.777300293393531e-151 | -7.5459515883169425e-152 |
| 694.0ms | -1.5480282158629916e-22 | -5.0494686252561106e-30 |
| 65.0ms | -131651913.2293722 | -71494127.82974614 |
Compiled 28 to 20 computations (28.6% saved)
| Inputs |
|---|
(/.f64 (*.f64 a2 a2) (sqrt.f64 2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)) |
(*.f64 a2 (*.f64 (sqrt.f64 1/2) a2)) |
(/.f64 a2 (/.f64 (sqrt.f64 2) a2)) |
(/.f64 (*.f64 a1 a1) (sqrt.f64 2)) |
(*.f64 a2 (/.f64 a2 (sqrt.f64 2))) |
(/.f64 a1 (/.f64 (sqrt.f64 2) a1)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)) |
(*.f64 a2 (/.f64 a2 (sqrt.f64 2))) |
(*.f64 a1 (/.f64 a1 (sqrt.f64 2))) |
(*.f64 a1 (*.f64 (pow.f64 2 -1/2) a1)) |
(*.f64 a2 (/.f64 1 (/.f64 (sqrt.f64 2) a2))) |
(*.f64 a2 (*.f64 a2 (/.f64 1 (sqrt.f64 2)))) |
(*.f64 a1 (sqrt.f64 (/.f64 (*.f64 a1 a1) 2))) |
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) |
(*.f64 (*.f64 a2 (neg.f64 a2)) (/.f64 1 (neg.f64 (sqrt.f64 2)))) |
(*.f64 a1 (*.f64 (neg.f64 a1) (/.f64 1 (neg.f64 (sqrt.f64 2))))) |
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) |
(-.f64 (+.f64 1 (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) 1) |
(*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (+.f64 1 (*.f64 th (*.f64 th -1/2))))) |
(*.f64 a1 (*.f64 (/.f64 a1 (sqrt.f64 2)) (+.f64 1 (*.f64 th (*.f64 th -1/2))))) |
(*.f64 (*.f64 (+.f64 (*.f64 (*.f64 th th) (+.f64 -1/2 (*.f64 (*.f64 th th) 1/24))) 1) (sqrt.f64 1/2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) |
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
(/.f64 (pow.f64 a1 2) (sqrt.f64 2)) |
(pow.f64 (/.f64 a1 (pow.f64 2 1/4)) 2) |
(*.f64 a1 (pow.f64 (/.f64 (sqrt.f64 2) a1) -1)) |
(*.f64 (cos.f64 th) (*.f64 a2 (*.f64 (sqrt.f64 1/2) a2))) |
(*.f64 (*.f64 a1 (cos.f64 th)) (*.f64 (sqrt.f64 1/2) a1)) |
(*.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (*.f64 a2 a2)) |
(*.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (*.f64 a1 a1)) |
| Outputs |
|---|
(*.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (*.f64 a1 a1)) |
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) |
(*.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (*.f64 a1 a1)) |
(*.f64 (cos.f64 th) (*.f64 a2 (*.f64 (sqrt.f64 1/2) a2))) |
8 calls:
| 93.0ms | th |
| 80.0ms | (*.f64 a1 a1) |
| 77.0ms | (*.f64 a1 a1) |
| 73.0ms | (cos.f64 th) |
| 59.0ms | a1 |
| Error | Segments | Branch |
|---|---|---|
| 7.2b | 4 | a1 |
| 7.6b | 2 | a2 |
| 11.2b | 6 | th |
| 10.1b | 6 | (cos.f64 th) |
| 9.9b | 9 | (*.f64 a1 a1) |
| 9.9b | 9 | (*.f64 a1 a1) |
| 10.2b | 6 | (*.f64 a2 a2) |
| 10.2b | 6 | (*.f64 a2 a2) |
Compiled 306 to 200 computations (34.6% saved)
| 3× | binary-search |
| Time | Left | Right |
|---|---|---|
| 64.0ms | -6.777300293393531e-151 | -7.5459515883169425e-152 |
| 65.0ms | -1.5480282158629916e-22 | -5.0494686252561106e-30 |
| 62.0ms | -131651913.2293722 | -71494127.82974614 |
Compiled 28 to 20 computations (28.6% saved)
| Inputs |
|---|
(/.f64 (*.f64 a2 a2) (sqrt.f64 2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)) |
(*.f64 a2 (*.f64 (sqrt.f64 1/2) a2)) |
(/.f64 a2 (/.f64 (sqrt.f64 2) a2)) |
(/.f64 (*.f64 a1 a1) (sqrt.f64 2)) |
(*.f64 a2 (/.f64 a2 (sqrt.f64 2))) |
(/.f64 a1 (/.f64 (sqrt.f64 2) a1)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)) |
(*.f64 a2 (/.f64 a2 (sqrt.f64 2))) |
(*.f64 a1 (/.f64 a1 (sqrt.f64 2))) |
(*.f64 a1 (*.f64 (pow.f64 2 -1/2) a1)) |
(*.f64 a2 (/.f64 1 (/.f64 (sqrt.f64 2) a2))) |
(*.f64 a2 (*.f64 a2 (/.f64 1 (sqrt.f64 2)))) |
(*.f64 a1 (sqrt.f64 (/.f64 (*.f64 a1 a1) 2))) |
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) |
(*.f64 (*.f64 a2 (neg.f64 a2)) (/.f64 1 (neg.f64 (sqrt.f64 2)))) |
(*.f64 a1 (*.f64 (neg.f64 a1) (/.f64 1 (neg.f64 (sqrt.f64 2))))) |
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) |
(-.f64 (+.f64 1 (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) 1) |
(*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (+.f64 1 (*.f64 th (*.f64 th -1/2))))) |
(*.f64 a1 (*.f64 (/.f64 a1 (sqrt.f64 2)) (+.f64 1 (*.f64 th (*.f64 th -1/2))))) |
(*.f64 (*.f64 (+.f64 (*.f64 (*.f64 th th) (+.f64 -1/2 (*.f64 (*.f64 th th) 1/24))) 1) (sqrt.f64 1/2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) |
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
(/.f64 (pow.f64 a1 2) (sqrt.f64 2)) |
(pow.f64 (/.f64 a1 (pow.f64 2 1/4)) 2) |
(*.f64 a1 (pow.f64 (/.f64 (sqrt.f64 2) a1) -1)) |
(*.f64 (cos.f64 th) (*.f64 a2 (*.f64 (sqrt.f64 1/2) a2))) |
(*.f64 (*.f64 a1 (cos.f64 th)) (*.f64 (sqrt.f64 1/2) a1)) |
(*.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (*.f64 a2 a2)) |
| Outputs |
|---|
(*.f64 (*.f64 a1 (cos.f64 th)) (*.f64 (sqrt.f64 1/2) a1)) |
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) |
(*.f64 (*.f64 a1 (cos.f64 th)) (*.f64 (sqrt.f64 1/2) a1)) |
(*.f64 (cos.f64 th) (*.f64 a2 (*.f64 (sqrt.f64 1/2) a2))) |
8 calls:
| 94.0ms | th |
| 73.0ms | (*.f64 a1 a1) |
| 72.0ms | (*.f64 a1 a1) |
| 72.0ms | (cos.f64 th) |
| 58.0ms | a1 |
| Error | Segments | Branch |
|---|---|---|
| 7.3b | 4 | a1 |
| 7.6b | 2 | a2 |
| 11.2b | 6 | th |
| 10.1b | 6 | (cos.f64 th) |
| 9.9b | 9 | (*.f64 a1 a1) |
| 9.9b | 9 | (*.f64 a1 a1) |
| 10.2b | 6 | (*.f64 a2 a2) |
| 10.2b | 6 | (*.f64 a2 a2) |
Compiled 297 to 196 computations (34% saved)
| 3× | binary-search |
| Time | Left | Right |
|---|---|---|
| 66.0ms | -6.777300293393531e-151 | -7.5459515883169425e-152 |
| 66.0ms | -5.0494686252561106e-30 | -2.2801072566823724e-34 |
| 67.0ms | -131651913.2293722 | -71494127.82974614 |
Compiled 28 to 20 computations (28.6% saved)
| Inputs |
|---|
(/.f64 (*.f64 a2 a2) (sqrt.f64 2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)) |
(*.f64 a2 (*.f64 (sqrt.f64 1/2) a2)) |
(/.f64 a2 (/.f64 (sqrt.f64 2) a2)) |
(/.f64 (*.f64 a1 a1) (sqrt.f64 2)) |
(*.f64 a2 (/.f64 a2 (sqrt.f64 2))) |
(/.f64 a1 (/.f64 (sqrt.f64 2) a1)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)) |
(*.f64 a2 (/.f64 a2 (sqrt.f64 2))) |
(*.f64 a1 (/.f64 a1 (sqrt.f64 2))) |
(*.f64 a1 (*.f64 (pow.f64 2 -1/2) a1)) |
(*.f64 a2 (/.f64 1 (/.f64 (sqrt.f64 2) a2))) |
(*.f64 a2 (*.f64 a2 (/.f64 1 (sqrt.f64 2)))) |
(*.f64 a1 (sqrt.f64 (/.f64 (*.f64 a1 a1) 2))) |
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) |
(*.f64 (*.f64 a2 (neg.f64 a2)) (/.f64 1 (neg.f64 (sqrt.f64 2)))) |
(*.f64 a1 (*.f64 (neg.f64 a1) (/.f64 1 (neg.f64 (sqrt.f64 2))))) |
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) |
(-.f64 (+.f64 1 (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) 1) |
(*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (+.f64 1 (*.f64 th (*.f64 th -1/2))))) |
(*.f64 a1 (*.f64 (/.f64 a1 (sqrt.f64 2)) (+.f64 1 (*.f64 th (*.f64 th -1/2))))) |
(*.f64 (*.f64 (+.f64 (*.f64 (*.f64 th th) (+.f64 -1/2 (*.f64 (*.f64 th th) 1/24))) 1) (sqrt.f64 1/2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) |
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
(/.f64 (pow.f64 a1 2) (sqrt.f64 2)) |
(pow.f64 (/.f64 a1 (pow.f64 2 1/4)) 2) |
(*.f64 a1 (pow.f64 (/.f64 (sqrt.f64 2) a1) -1)) |
(*.f64 (cos.f64 th) (*.f64 a2 (*.f64 (sqrt.f64 1/2) a2))) |
| Outputs |
|---|
(*.f64 (cos.f64 th) (*.f64 a2 (*.f64 (sqrt.f64 1/2) a2))) |
(*.f64 (*.f64 (+.f64 (*.f64 (*.f64 th th) (+.f64 -1/2 (*.f64 (*.f64 th th) 1/24))) 1) (sqrt.f64 1/2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) |
(*.f64 (cos.f64 th) (*.f64 a2 (*.f64 (sqrt.f64 1/2) a2))) |
8 calls:
| 43.0ms | th |
| 42.0ms | a2 |
| 28.0ms | a1 |
| 24.0ms | (*.f64 a1 a1) |
| 23.0ms | (cos.f64 th) |
| Error | Segments | Branch |
|---|---|---|
| 18.3b | 2 | a1 |
| 18.7b | 2 | a2 |
| 15.6b | 3 | th |
| 15.7b | 2 | (cos.f64 th) |
| 15.7b | 2 | (cos.f64 th) |
| 21.5b | 2 | (*.f64 a1 a1) |
| 20.6b | 2 | (*.f64 a2 a2) |
| 20.6b | 2 | (*.f64 a2 a2) |
Compiled 278 to 187 computations (32.7% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 37.0ms | 0.6088585597227865 | 22680.244032798324 |
| 38.0ms | -180.07947022150938 | -0.0009791743699958898 |
Compiled 28 to 20 computations (28.6% saved)
| Inputs |
|---|
(/.f64 (*.f64 a2 a2) (sqrt.f64 2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)) |
(*.f64 a2 (*.f64 (sqrt.f64 1/2) a2)) |
(/.f64 a2 (/.f64 (sqrt.f64 2) a2)) |
(/.f64 (*.f64 a1 a1) (sqrt.f64 2)) |
(*.f64 a2 (/.f64 a2 (sqrt.f64 2))) |
(/.f64 a1 (/.f64 (sqrt.f64 2) a1)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)) |
(*.f64 a2 (/.f64 a2 (sqrt.f64 2))) |
(*.f64 a1 (/.f64 a1 (sqrt.f64 2))) |
(*.f64 a1 (*.f64 (pow.f64 2 -1/2) a1)) |
(*.f64 a2 (/.f64 1 (/.f64 (sqrt.f64 2) a2))) |
(*.f64 a2 (*.f64 a2 (/.f64 1 (sqrt.f64 2)))) |
(*.f64 a1 (sqrt.f64 (/.f64 (*.f64 a1 a1) 2))) |
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) |
(*.f64 (*.f64 a2 (neg.f64 a2)) (/.f64 1 (neg.f64 (sqrt.f64 2)))) |
(*.f64 a1 (*.f64 (neg.f64 a1) (/.f64 1 (neg.f64 (sqrt.f64 2))))) |
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) |
(-.f64 (+.f64 1 (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) 1) |
(*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (+.f64 1 (*.f64 th (*.f64 th -1/2))))) |
(*.f64 a1 (*.f64 (/.f64 a1 (sqrt.f64 2)) (+.f64 1 (*.f64 th (*.f64 th -1/2))))) |
(*.f64 (*.f64 (+.f64 (*.f64 (*.f64 th th) (+.f64 -1/2 (*.f64 (*.f64 th th) 1/24))) 1) (sqrt.f64 1/2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) |
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
(/.f64 (pow.f64 a1 2) (sqrt.f64 2)) |
(pow.f64 (/.f64 a1 (pow.f64 2 1/4)) 2) |
(*.f64 a1 (pow.f64 (/.f64 (sqrt.f64 2) a1) -1)) |
| Outputs |
|---|
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) |
5 calls:
| 16.0ms | a1 |
| 15.0ms | a2 |
| 15.0ms | th |
| 10.0ms | (*.f64 a1 a1) |
| 9.0ms | (*.f64 a2 a2) |
| Error | Segments | Branch |
|---|---|---|
| 26.8b | 1 | a1 |
| 26.8b | 1 | a2 |
| 26.8b | 1 | th |
| 26.8b | 1 | (*.f64 a1 a1) |
| 26.8b | 1 | (*.f64 a2 a2) |
Compiled 253 to 169 computations (33.2% saved)
| Inputs |
|---|
(/.f64 (*.f64 a2 a2) (sqrt.f64 2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)) |
(*.f64 a2 (*.f64 (sqrt.f64 1/2) a2)) |
(/.f64 a2 (/.f64 (sqrt.f64 2) a2)) |
(/.f64 (*.f64 a1 a1) (sqrt.f64 2)) |
(*.f64 a2 (/.f64 a2 (sqrt.f64 2))) |
(/.f64 a1 (/.f64 (sqrt.f64 2) a1)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)) |
(*.f64 a2 (/.f64 a2 (sqrt.f64 2))) |
(*.f64 a1 (/.f64 a1 (sqrt.f64 2))) |
(*.f64 a1 (*.f64 (pow.f64 2 -1/2) a1)) |
(*.f64 a2 (/.f64 1 (/.f64 (sqrt.f64 2) a2))) |
(*.f64 a2 (*.f64 a2 (/.f64 1 (sqrt.f64 2)))) |
(*.f64 a1 (sqrt.f64 (/.f64 (*.f64 a1 a1) 2))) |
| Outputs |
|---|
(*.f64 a1 (/.f64 a1 (sqrt.f64 2))) |
(/.f64 (*.f64 a2 a2) (sqrt.f64 2)) |
6 calls:
| 47.0ms | th |
| 24.0ms | a2 |
| 20.0ms | (*.f64 a1 a1) |
| 20.0ms | (*.f64 a1 a1) |
| 16.0ms | a1 |
| Error | Segments | Branch |
|---|---|---|
| 30.4b | 2 | a1 |
| 30.9b | 2 | a2 |
| 36.0b | 5 | th |
| 31.1b | 4 | (*.f64 a1 a1) |
| 31.1b | 4 | (*.f64 a1 a1) |
| 33.3b | 2 | (*.f64 a2 a2) |
Compiled 124 to 83 computations (33.1% saved)
| 1× | binary-search |
| Time | Left | Right |
|---|---|---|
| 66.0ms | -6.777300293393531e-151 | -7.5459515883169425e-152 |
Compiled 28 to 20 computations (28.6% saved)
| Inputs |
|---|
(/.f64 (*.f64 a2 a2) (sqrt.f64 2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)) |
(*.f64 a2 (*.f64 (sqrt.f64 1/2) a2)) |
(/.f64 a2 (/.f64 (sqrt.f64 2) a2)) |
(/.f64 (*.f64 a1 a1) (sqrt.f64 2)) |
(*.f64 a2 (/.f64 a2 (sqrt.f64 2))) |
(/.f64 a1 (/.f64 (sqrt.f64 2) a1)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)) |
(*.f64 a2 (/.f64 a2 (sqrt.f64 2))) |
| Outputs |
|---|
(/.f64 a1 (/.f64 (sqrt.f64 2) a1)) |
(/.f64 (*.f64 a2 a2) (sqrt.f64 2)) |
6 calls:
| 35.0ms | th |
| 18.0ms | a2 |
| 15.0ms | (*.f64 a1 a1) |
| 15.0ms | (*.f64 a1 a1) |
| 12.0ms | a1 |
| Error | Segments | Branch |
|---|---|---|
| 30.5b | 2 | a1 |
| 31.0b | 2 | a2 |
| 36.0b | 5 | th |
| 31.2b | 4 | (*.f64 a1 a1) |
| 31.2b | 4 | (*.f64 a1 a1) |
| 33.3b | 2 | (*.f64 a2 a2) |
Compiled 87 to 58 computations (33.3% saved)
| 1× | binary-search |
| Time | Left | Right |
|---|---|---|
| 66.0ms | -6.777300293393531e-151 | -7.5459515883169425e-152 |
Compiled 28 to 20 computations (28.6% saved)
| Inputs |
|---|
(/.f64 (*.f64 a2 a2) (sqrt.f64 2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)) |
(*.f64 a2 (*.f64 (sqrt.f64 1/2) a2)) |
(/.f64 a2 (/.f64 (sqrt.f64 2) a2)) |
(/.f64 (*.f64 a1 a1) (sqrt.f64 2)) |
(*.f64 a2 (/.f64 a2 (sqrt.f64 2))) |
| Outputs |
|---|
(/.f64 (*.f64 a1 a1) (sqrt.f64 2)) |
(/.f64 (*.f64 a2 a2) (sqrt.f64 2)) |
5 calls:
| 28.0ms | th |
| 15.0ms | a2 |
| 13.0ms | (*.f64 a1 a1) |
| 9.0ms | a1 |
| 8.0ms | (*.f64 a2 a2) |
| Error | Segments | Branch |
|---|---|---|
| 30.5b | 2 | a1 |
| 31.0b | 2 | a2 |
| 36.0b | 5 | th |
| 31.2b | 4 | (*.f64 a1 a1) |
| 33.3b | 2 | (*.f64 a2 a2) |
Compiled 63 to 43 computations (31.7% saved)
| 1× | binary-search |
| Time | Left | Right |
|---|---|---|
| 64.0ms | -6.777300293393531e-151 | -7.5459515883169425e-152 |
Compiled 28 to 20 computations (28.6% saved)
Total -0.1b remaining (-0.3%)
Threshold costs -0.1b (-0.3%)
| Inputs |
|---|
(/.f64 (*.f64 a2 a2) (sqrt.f64 2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)) |
(*.f64 a2 (*.f64 (sqrt.f64 1/2) a2)) |
(/.f64 a2 (/.f64 (sqrt.f64 2) a2)) |
| Outputs |
|---|
(/.f64 (*.f64 a2 a2) (sqrt.f64 2)) |
4 calls:
| 5.0ms | th |
| 4.0ms | a2 |
| 4.0ms | a1 |
| 3.0ms | (*.f64 a2 a2) |
| Error | Segments | Branch |
|---|---|---|
| 42.6b | 1 | a1 |
| 42.6b | 1 | a2 |
| 42.6b | 1 | th |
| 42.6b | 1 | (*.f64 a2 a2) |
Compiled 45 to 31 computations (31.1% saved)
| 1× | egg-herbie |
| 17× | *-commutative_binary64 |
| 3× | +-commutative_binary64 |
| 1× | 1-exp_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 71 | 490 |
| 1 | 93 | 490 |
| 1× | fuel |
| 1× | saturated |
| Inputs |
|---|
(*.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) |
(if (<=.f64 a1 -2208752585062435/16777216) (*.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (*.f64 a1 a1)) (if (<=.f64 a1 -6584583816928203/42535295865117307932921825928971026432) (*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))) (if (<=.f64 a1 -4995561845507655/7371020360979572953596786290992712677572111758625860211672277930167234692172165726730716260112614780354430419981960634569864423105321860610471551272329484460252725248) (*.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (*.f64 a1 a1)) (/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (sqrt.f64 2))))) |
(if (<=.f64 a1 -2208752585062435/16777216) (*.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (*.f64 a1 a1)) (if (<=.f64 a1 -6584583816928203/42535295865117307932921825928971026432) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) (if (<=.f64 a1 -4995561845507655/7371020360979572953596786290992712677572111758625860211672277930167234692172165726730716260112614780354430419981960634569864423105321860610471551272329484460252725248) (*.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (*.f64 a1 a1)) (/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (sqrt.f64 2))))) |
(if (<=.f64 a1 -2208752585062435/16777216) (*.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (*.f64 a1 a1)) (if (<=.f64 a1 -6584583816928203/42535295865117307932921825928971026432) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) (if (<=.f64 a1 -4995561845507655/7371020360979572953596786290992712677572111758625860211672277930167234692172165726730716260112614780354430419981960634569864423105321860610471551272329484460252725248) (*.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (*.f64 a1 a1)) (*.f64 (cos.f64 th) (*.f64 a2 (*.f64 (sqrt.f64 1/2) a2)))))) |
(if (<=.f64 a1 -2208752585062435/16777216) (*.f64 (*.f64 a1 (cos.f64 th)) (*.f64 (sqrt.f64 1/2) a1)) (if (<=.f64 a1 -7206842444787919/1427247692705959881058285969449495136382746624) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) (if (<=.f64 a1 -4995561845507655/7371020360979572953596786290992712677572111758625860211672277930167234692172165726730716260112614780354430419981960634569864423105321860610471551272329484460252725248) (*.f64 (*.f64 a1 (cos.f64 th)) (*.f64 (sqrt.f64 1/2) a1)) (*.f64 (cos.f64 th) (*.f64 a2 (*.f64 (sqrt.f64 1/2) a2)))))) |
(if (<=.f64 th -395998942864583/2199023255552) (*.f64 (cos.f64 th) (*.f64 a2 (*.f64 (sqrt.f64 1/2) a2))) (if (<=.f64 th 1371027591344439/2251799813685248) (*.f64 (*.f64 (+.f64 (*.f64 (*.f64 th th) (+.f64 -1/2 (*.f64 (*.f64 th th) 1/24))) 1) (sqrt.f64 1/2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) (*.f64 (cos.f64 th) (*.f64 a2 (*.f64 (sqrt.f64 1/2) a2))))) |
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) |
(if (<=.f64 a1 -4995561845507655/7371020360979572953596786290992712677572111758625860211672277930167234692172165726730716260112614780354430419981960634569864423105321860610471551272329484460252725248) (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (/.f64 (*.f64 a2 a2) (sqrt.f64 2))) |
(if (<=.f64 a1 -4995561845507655/7371020360979572953596786290992712677572111758625860211672277930167234692172165726730716260112614780354430419981960634569864423105321860610471551272329484460252725248) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (/.f64 (*.f64 a2 a2) (sqrt.f64 2))) |
(if (<=.f64 a1 -4995561845507655/7371020360979572953596786290992712677572111758625860211672277930167234692172165726730716260112614780354430419981960634569864423105321860610471551272329484460252725248) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (/.f64 (*.f64 a2 a2) (sqrt.f64 2))) |
(/.f64 (*.f64 a2 a2) (sqrt.f64 2)) |
| Outputs |
|---|
(*.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) |
(if (<=.f64 a1 -2208752585062435/16777216) (*.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (*.f64 a1 a1)) (if (<=.f64 a1 -6584583816928203/42535295865117307932921825928971026432) (*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))) (if (<=.f64 a1 -4995561845507655/7371020360979572953596786290992712677572111758625860211672277930167234692172165726730716260112614780354430419981960634569864423105321860610471551272329484460252725248) (*.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (*.f64 a1 a1)) (/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (sqrt.f64 2))))) |
(if (<=.f64 a1 -2208752585062435/16777216) (*.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (*.f64 a1 a1)) (if (<=.f64 a1 -6584583816928203/42535295865117307932921825928971026432) (*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))) (if (<=.f64 a1 -4995561845507655/7371020360979572953596786290992712677572111758625860211672277930167234692172165726730716260112614780354430419981960634569864423105321860610471551272329484460252725248) (*.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (*.f64 a1 a1)) (/.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2)) (sqrt.f64 2))))) |
(if (<=.f64 a1 -2208752585062435/16777216) (*.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (*.f64 a1 a1)) (if (<=.f64 a1 -6584583816928203/42535295865117307932921825928971026432) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) (if (<=.f64 a1 -4995561845507655/7371020360979572953596786290992712677572111758625860211672277930167234692172165726730716260112614780354430419981960634569864423105321860610471551272329484460252725248) (*.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (*.f64 a1 a1)) (/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (sqrt.f64 2))))) |
(if (<=.f64 a1 -2208752585062435/16777216) (*.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (*.f64 a1 a1)) (if (<=.f64 a1 -6584583816928203/42535295865117307932921825928971026432) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) (if (<=.f64 a1 -4995561845507655/7371020360979572953596786290992712677572111758625860211672277930167234692172165726730716260112614780354430419981960634569864423105321860610471551272329484460252725248) (*.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (*.f64 a1 a1)) (/.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2)) (sqrt.f64 2))))) |
(if (<=.f64 a1 -2208752585062435/16777216) (*.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (*.f64 a1 a1)) (if (<=.f64 a1 -6584583816928203/42535295865117307932921825928971026432) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) (if (<=.f64 a1 -4995561845507655/7371020360979572953596786290992712677572111758625860211672277930167234692172165726730716260112614780354430419981960634569864423105321860610471551272329484460252725248) (*.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (*.f64 a1 a1)) (*.f64 (cos.f64 th) (*.f64 a2 (*.f64 (sqrt.f64 1/2) a2)))))) |
(if (<=.f64 a1 -2208752585062435/16777216) (*.f64 (*.f64 a1 (cos.f64 th)) (*.f64 (sqrt.f64 1/2) a1)) (if (<=.f64 a1 -7206842444787919/1427247692705959881058285969449495136382746624) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) (if (<=.f64 a1 -4995561845507655/7371020360979572953596786290992712677572111758625860211672277930167234692172165726730716260112614780354430419981960634569864423105321860610471551272329484460252725248) (*.f64 (*.f64 a1 (cos.f64 th)) (*.f64 (sqrt.f64 1/2) a1)) (*.f64 (cos.f64 th) (*.f64 a2 (*.f64 (sqrt.f64 1/2) a2)))))) |
(if (<=.f64 a1 -2208752585062435/16777216) (*.f64 (*.f64 (cos.f64 th) a1) (*.f64 (sqrt.f64 1/2) a1)) (if (<=.f64 a1 -7206842444787919/1427247692705959881058285969449495136382746624) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) (if (<=.f64 a1 -4995561845507655/7371020360979572953596786290992712677572111758625860211672277930167234692172165726730716260112614780354430419981960634569864423105321860610471551272329484460252725248) (*.f64 (*.f64 (cos.f64 th) a1) (*.f64 (sqrt.f64 1/2) a1)) (*.f64 (cos.f64 th) (*.f64 a2 (*.f64 (sqrt.f64 1/2) a2)))))) |
(if (<=.f64 th -395998942864583/2199023255552) (*.f64 (cos.f64 th) (*.f64 a2 (*.f64 (sqrt.f64 1/2) a2))) (if (<=.f64 th 1371027591344439/2251799813685248) (*.f64 (*.f64 (+.f64 (*.f64 (*.f64 th th) (+.f64 -1/2 (*.f64 (*.f64 th th) 1/24))) 1) (sqrt.f64 1/2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) (*.f64 (cos.f64 th) (*.f64 a2 (*.f64 (sqrt.f64 1/2) a2))))) |
(if (<=.f64 th -395998942864583/2199023255552) (*.f64 (cos.f64 th) (*.f64 a2 (*.f64 (sqrt.f64 1/2) a2))) (if (<=.f64 th 1371027591344439/2251799813685248) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 (*.f64 th th) (+.f64 -1/2 (*.f64 (*.f64 th th) 1/24))) 1))) (*.f64 (cos.f64 th) (*.f64 a2 (*.f64 (sqrt.f64 1/2) a2))))) |
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) |
(if (<=.f64 a1 -4995561845507655/7371020360979572953596786290992712677572111758625860211672277930167234692172165726730716260112614780354430419981960634569864423105321860610471551272329484460252725248) (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (/.f64 (*.f64 a2 a2) (sqrt.f64 2))) |
(if (<=.f64 a1 -4995561845507655/7371020360979572953596786290992712677572111758625860211672277930167234692172165726730716260112614780354430419981960634569864423105321860610471551272329484460252725248) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (/.f64 (*.f64 a2 a2) (sqrt.f64 2))) |
(if (<=.f64 a1 -4995561845507655/7371020360979572953596786290992712677572111758625860211672277930167234692172165726730716260112614780354430419981960634569864423105321860610471551272329484460252725248) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (/.f64 (*.f64 a2 a2) (sqrt.f64 2))) |
(/.f64 (*.f64 a2 a2) (sqrt.f64 2)) |
Compiled 355 to 231 computations (34.9% saved)
| 1× | egg-herbie |
| 32× | fma-def_binary64 |
| 23× | *-commutative_binary64 |
| 20× | associate-/l*_binary64 |
| 11× | associate-/r/_binary64 |
| 9× | associate-*r/_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 13 | 20 |
| 1 | 27 | 18 |
| 2 | 58 | 18 |
| 3 | 88 | 18 |
| 4 | 115 | 18 |
| 5 | 135 | 18 |
| 6 | 152 | 18 |
| 7 | 170 | 18 |
| 8 | 172 | 18 |
| 1× | saturated |
Compiled 53 to 36 computations (32.1% saved)
(sort a1 a2)
Compiled 357 to 195 computations (45.4% saved)
Loading profile data...