Time bar (total: 17.1s)
| 1× | search |
| True | Other | False | Iter |
|---|---|---|---|
| 0% | 99.9% | 0.1% | 0 |
| 0% | 99.9% | 0.1% | 1 |
| 0% | 99.9% | 0.1% | 2 |
| 0% | 99.9% | 0.1% | 3 |
| 0% | 99.9% | 0.1% | 4 |
| 0% | 99.9% | 0.1% | 5 |
| 25% | 74.9% | 0.1% | 6 |
| 25% | 74.9% | 0.1% | 7 |
| 25% | 74.9% | 0.1% | 8 |
| 25% | 74.9% | 0.1% | 9 |
| 25% | 64% | 11.1% | 10 |
| 31.2% | 54.6% | 14.2% | 11 |
| 39% | 44.1% | 16.9% | 12 |
Compiled 23 to 16 computations (30.4% saved)
| 1.3s | 1864× | body | 1024 | valid |
| 1.3s | 5477× | body | 256 | valid |
| 1.1s | 1620× | body | 1024 | invalid |
| 432.0ms | 1511× | body | 256 | invalid |
| 409.0ms | 796× | body | 512 | invalid |
| 377.0ms | 914× | body | 512 | valid |
| 1.0ms | 1× | body | 2048 | invalid |
| 1.0ms | 1× | 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 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 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)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 2.0ms | a2 | @ | 0 | (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2))) |
| 2.0ms | a2 | @ | -inf | (*.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 | a1 | @ | 0 | (*.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× | 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 | 26 |
| 1 | 224 | 25 |
| 2 | 2738 | 25 |
| 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))) |
| 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)))))))) |
| 1× | egg-herbie |
| 821× | unswap-sqr_binary64 |
| 749× | associate-*l*_binary64 |
| 547× | associate-/l/_binary64 |
| 515× | fma-def_binary64 |
| 494× | distribute-rgt-in_binary64 |
Useful iterations: 4 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 59 | 925 |
| 1 | 145 | 857 |
| 2 | 373 | 853 |
| 3 | 1196 | 821 |
| 4 | 4370 | 806 |
| 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))) |
| 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))) |
(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)))) |
(fma.f64 -1/2 (*.f64 th (/.f64 th (sqrt.f64 2))) (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 -1/2 (*.f64 th (*.f64 th 1/24))))) |
(+.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 th (/.f64 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 -1/2 (*.f64 th (*.f64 th 1/24)))))) |
(/.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 (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 -1/2 (*.f64 (*.f64 th (/.f64 th (sqrt.f64 2))) (fma.f64 a2 a2 (*.f64 a1 a1))) (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 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 (*.f64 -1/2 (fma.f64 a2 a2 (*.f64 a1 a1))) (/.f64 (sqrt.f64 2) (*.f64 th th)))) (+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (/.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))) (fma.f64 1/24 (*.f64 (pow.f64 th 4) (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2))) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1)))) |
(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 -1/2 (*.f64 th th)) (*.f64 1/24 (pow.f64 th 4)))))) |
(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 th (sqrt.f64 2))) (+.f64 -1/2 (*.f64 th (*.f64 th 1/24))))))) |
(+.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 (*.f64 -1/2 (fma.f64 a2 a2 (*.f64 a1 a1))) (/.f64 (sqrt.f64 2) (*.f64 th th))))) |
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (fma.f64 -1/720 (*.f64 (pow.f64 th 6) (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2))) (fma.f64 -1/2 (*.f64 (*.f64 th th) (/.f64 (fma.f64 a2 a2 (*.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 a1 (sqrt.f64 2)) a1))))) |
(fma.f64 -1/720 (*.f64 (pow.f64 th 6) (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (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 -1/2 (*.f64 th th)) (*.f64 1/24 (pow.f64 th 4))))))) |
(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 1/24 (pow.f64 th 4)) (+.f64 (*.f64 -1/720 (pow.f64 th 6)) (*.f64 -1/2 (*.f64 th th))))))) |
(/.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 (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 (*.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 (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 (*.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 (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 (*.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 (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 (*.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 (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 (*.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 (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 (*.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 (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 (*.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 (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 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)) |
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 a2 (*.f64 (/.f64 a2 (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 (*.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 (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 (*.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 (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 (*.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 (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 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (*.f64 (cos.f64 th) a1) a1) (sqrt.f64 2)) |
(*.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (cos.f64 th)) |
(*.f64 a1 (*.f64 (/.f64 a1 (sqrt.f64 2)) (cos.f64 th))) |
(*.f64 (*.f64 a1 (/.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 (*.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 (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 (*.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 (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 (*.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 (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 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (*.f64 (cos.f64 th) a1) a1) (sqrt.f64 2)) |
(*.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (cos.f64 th)) |
(*.f64 a1 (*.f64 (/.f64 a1 (sqrt.f64 2)) (cos.f64 th))) |
(*.f64 (*.f64 a1 (/.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 (*.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 (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 (*.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 (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 (*.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 (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 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (*.f64 (cos.f64 th) a1) a1) (sqrt.f64 2)) |
(*.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (cos.f64 th)) |
(*.f64 a1 (*.f64 (/.f64 a1 (sqrt.f64 2)) (cos.f64 th))) |
(*.f64 (*.f64 a1 (/.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 (*.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 (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 (*.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 (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 (*.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 (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 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)) |
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 a2 (*.f64 (/.f64 a2 (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 (*.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 (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 (*.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 (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 (*.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 (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 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)) |
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(*.f64 a2 (*.f64 (/.f64 a2 (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 (*.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 (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 (*.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 (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 (*.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 (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))) |
Compiled 1964 to 1149 computations (41.5% saved)
14 alts after pruning (13 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 96 | 13 | 109 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 96 | 14 | 110 |
| Status | Error | Program |
|---|---|---|
| 19.2b | (pow.f64 (*.f64 (sqrt.f64 (/.f64 (cos.f64 th) (sqrt.f64 2))) (hypot.f64 a1 a2)) 2) | |
| 0.7b | (*.f64 (-.f64 (exp.f64 (log1p.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)))) 1) (fma.f64 a1 a1 (*.f64 a2 a2))) | |
| ▶ | 0.4b | (*.f64 (*.f64 (pow.f64 2 -1/2) (cos.f64 th)) (fma.f64 a1 a1 (*.f64 a2 a2))) |
| ▶ | 30.5b | (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
| ✓ | 0.5b | (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2))) |
| 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)) | |
| ▶ | 25.2b | (*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th))) |
| 25.2b | (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)) | |
| ▶ | 36.5b | (sqrt.f64 (*.f64 (*.f64 (pow.f64 (cos.f64 th) 2) 1/2) (pow.f64 (hypot.f64 a1 a2) 4))) |
| 1.0b | (/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a1 a2) 2)))) | |
| ▶ | 0.4b | (/.f64 (pow.f64 (hypot.f64 a1 a2) 2) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
| 0.9b | (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (pow.f64 (hypot.f64 a1 a2) 2))) | |
| 29.4b | (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) | |
| 30.5b | (*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (cos.f64 th)) |
Compiled 393 to 304 computations (22.6% saved)
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.3b | (*.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 | |
|---|---|---|---|---|
| 1.0ms | th | @ | 0 | (*.f64 (*.f64 (pow.f64 2 -1/2) (cos.f64 th)) (fma.f64 a1 a1 (*.f64 a2 a2))) |
| 1.0ms | th | @ | 0 | (*.f64 (pow.f64 2 -1/2) (cos.f64 th)) |
| 1.0ms | th | @ | inf | (*.f64 (pow.f64 2 -1/2) (cos.f64 th)) |
| 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 (*.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 3 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.2b | (*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th)) |
| ✓ | 0.2b | (*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th))) |
| ✓ | 0.5b | (/.f64 a2 (sqrt.f64 2)) |
Compiled 30 to 19 computations (36.7% saved)
15 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 4.0ms | th | @ | -inf | (*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th)) |
| 2.0ms | a2 | @ | 0 | (*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th))) |
| 1.0ms | th | @ | inf | (*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th))) |
| 1.0ms | th | @ | inf | (*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th)) |
| 1.0ms | th | @ | -inf | (*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th))) |
| 1× | batch-egg-rewrite |
| 953× | pow1_binary64 |
| 882× | add-log-exp_binary64 |
| 882× | log1p-expm1-u_binary64 |
| 882× | expm1-log1p-u_binary64 |
| 862× | add-exp-log_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 31 |
| 1 | 188 | 31 |
| 2 | 2380 | 31 |
| 1× | node limit |
| Inputs |
|---|
(/.f64 a2 (sqrt.f64 2)) |
(*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th))) |
(*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th)) |
| 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 cbrt.f64 (/.f64 (pow.f64 a2 3) (*.f64 2 (sqrt.f64 2))))))) (#(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 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)))) 1)))) (#(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 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 (sqrt.f64 (*.f64 a2 (/.f64 (*.f64 a2 (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))))))))) |
((#(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 (cos.f64 th) (/.f64 (sqrt.f64 2) a2))))) (#(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 a2) (cos.f64 th)) (neg.f64 (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 th) (neg.f64 a2)) (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 (pow.f64 (exp.f64 (/.f64 a2 (sqrt.f64 2))) (cos.f64 th)))))) (#(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 (/.f64 a2 (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 a2 (sqrt.f64 2)) 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)))))))) |
| 1× | egg-herbie |
| 1035× | unswap-sqr_binary64 |
| 985× | associate-*l/_binary64 |
| 967× | fma-def_binary64 |
| 537× | associate-/l*_binary64 |
| 469× | *-commutative_binary64 |
Useful iterations: 5 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 53 | 764 |
| 1 | 135 | 760 |
| 2 | 350 | 758 |
| 3 | 1142 | 732 |
| 4 | 3628 | 698 |
| 5 | 5294 | 678 |
| 6 | 5470 | 678 |
| 7 | 5679 | 678 |
| 8 | 5894 | 678 |
| 9 | 6098 | 678 |
| 1× | node limit |
| Inputs |
|---|
(/.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)) |
(/.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)) |
| Outputs |
|---|
(/.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 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)) a2) |
(*.f64 a2 (/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))) |
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.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 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)) a2) |
(*.f64 a2 (/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))) |
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.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 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)) a2) |
(*.f64 a2 (/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))) |
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.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 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)) a2) |
(*.f64 a2 (/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))) |
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.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 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)) a2) |
(*.f64 a2 (/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))) |
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.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 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)) a2) |
(*.f64 a2 (/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))) |
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.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 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)) a2) |
(*.f64 a2 (/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))) |
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.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 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)) a2) |
(*.f64 a2 (/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))) |
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.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 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)) a2) |
(*.f64 a2 (/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))) |
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.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 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)) a2) |
(*.f64 a2 (/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))) |
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.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 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)) a2) |
(*.f64 a2 (/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))) |
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.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 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)) a2) |
(*.f64 a2 (/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))) |
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (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 a2 a2) (/.f64 (sqrt.f64 2) (*.f64 th th))))) |
(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 (/.f64 a2 (sqrt.f64 2)) a2) (*.f64 th th)) (*.f64 (/.f64 a2 (sqrt.f64 2)) a2)) |
(fma.f64 (/.f64 a2 (sqrt.f64 2)) a2 (*.f64 (/.f64 (*.f64 a2 -1/2) (sqrt.f64 2)) (*.f64 a2 (*.f64 th th)))) |
(*.f64 a2 (*.f64 (+.f64 (*.f64 th (*.f64 th -1/2)) 1) (/.f64 a2 (sqrt.f64 2)))) |
(*.f64 a2 (*.f64 (+.f64 1 (*.f64 th (*.f64 th -1/2))) (/.f64 a2 (sqrt.f64 2)))) |
(*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (+.f64 1 (*.f64 th (*.f64 th -1/2))))) |
(*.f64 (*.f64 a2 (/.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 (*.f64 a2 a2) (pow.f64 th 4)) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 -1/2 (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (*.f64 th th)))))) |
(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 (/.f64 a2 (sqrt.f64 2)) a2) (*.f64 th th)) (fma.f64 1/24 (*.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (pow.f64 th 4)) (*.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 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (fma.f64 1/24 (pow.f64 th 4) (*.f64 th (*.f64 th -1/2))) (*.f64 a2 (/.f64 a2 (sqrt.f64 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 (*.f64 a2 a2) (pow.f64 th 4)) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (fma.f64 -1/2 (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (*.f64 th th))) (*.f64 -1/720 (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (pow.f64 th 6))))))) |
(+.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 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (pow.f64 th 6)))) |
(fma.f64 1/24 (*.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (pow.f64 th 4)) (fma.f64 -1/2 (*.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (*.f64 th th)) (fma.f64 -1/720 (*.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (pow.f64 th 6)) (*.f64 (/.f64 a2 (sqrt.f64 2)) a2)))) |
(fma.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (*.f64 1/24 (pow.f64 th 4)) (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/720 (pow.f64 th 6)))))) |
(fma.f64 a2 (/.f64 a2 (sqrt.f64 2)) (*.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/24 (pow.f64 th 4))))) |
(*.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 -1/720 (pow.f64 th 6)) (fma.f64 1/24 (pow.f64 th 4) (*.f64 th (*.f64 th -1/2)))))) |
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (+.f64 1 (+.f64 (*.f64 -1/720 (pow.f64 th 6)) (fma.f64 th (*.f64 th -1/2) (*.f64 1/24 (pow.f64 th 4)))))) |
(/.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 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)) a2) |
(*.f64 a2 (/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))) |
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.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 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)) a2) |
(*.f64 a2 (/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))) |
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.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 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)) a2) |
(*.f64 a2 (/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))) |
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.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 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)) a2) |
(*.f64 a2 (/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))) |
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.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 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)) a2) |
(*.f64 a2 (/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))) |
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.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 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)) a2) |
(*.f64 a2 (/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))) |
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.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 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)) a2) |
(*.f64 a2 (/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))) |
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.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 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)) a2) |
(*.f64 a2 (/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))) |
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th)) |
(*.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 (*.f64 a2 (*.f64 th th)) (sqrt.f64 2)) (/.f64 a2 (sqrt.f64 2))) |
(fma.f64 -1/2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (*.f64 th th)) (/.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 (*.f64 a2 (*.f64 th th)) (sqrt.f64 2)) (fma.f64 1/24 (/.f64 a2 (/.f64 (sqrt.f64 2) (pow.f64 th 4))) (/.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)))) |
(fma.f64 -1/2 (/.f64 (*.f64 a2 (*.f64 th th)) (sqrt.f64 2)) (fma.f64 1/24 (*.f64 (pow.f64 th 4) (/.f64 a2 (sqrt.f64 2))) (/.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 (*.f64 a2 (*.f64 th th)) (sqrt.f64 2)) (fma.f64 -1/720 (/.f64 a2 (/.f64 (sqrt.f64 2) (pow.f64 th 6))) (fma.f64 1/24 (/.f64 a2 (/.f64 (sqrt.f64 2) (pow.f64 th 4))) (/.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 -1/2 (/.f64 (*.f64 a2 (*.f64 th th)) (sqrt.f64 2)) (fma.f64 1/24 (*.f64 (pow.f64 th 4) (/.f64 a2 (sqrt.f64 2))) (fma.f64 -1/720 (*.f64 (pow.f64 th 6) (/.f64 a2 (sqrt.f64 2))) (/.f64 a2 (sqrt.f64 2))))) |
(+.f64 (/.f64 a2 (sqrt.f64 2)) (fma.f64 -1/2 (/.f64 (*.f64 a2 (*.f64 th th)) (sqrt.f64 2)) (*.f64 (/.f64 a2 (sqrt.f64 2)) (+.f64 (*.f64 1/24 (pow.f64 th 4)) (*.f64 -1/720 (pow.f64 th 6)))))) |
(+.f64 (/.f64 a2 (sqrt.f64 2)) (*.f64 (/.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 (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 -1/720 (pow.f64 th 6)) (fma.f64 1/24 (pow.f64 th 4) (*.f64 th (*.f64 th -1/2)))))) |
(*.f64 (/.f64 a2 (sqrt.f64 2)) (+.f64 1 (+.f64 (*.f64 -1/720 (pow.f64 th 6)) (fma.f64 th (*.f64 th -1/2) (*.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 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th)) |
(*.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 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th)) |
(*.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 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th)) |
(*.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 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2))) |
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.1b | (*.f64 (pow.f64 a1 2) (cos.f64 th)) |
| ✓ | 0.3b | (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
Compiled 28 to 18 computations (35.7% saved)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | a1 | @ | 0 | (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
| 1.0ms | th | @ | inf | (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
| 1.0ms | th | @ | 0 | (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
| 1.0ms | th | @ | -inf | (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
| 1.0ms | a1 | @ | inf | (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
| 1× | batch-egg-rewrite |
| 921× | pow1_binary64 |
| 854× | add-log-exp_binary64 |
| 854× | log1p-expm1-u_binary64 |
| 854× | expm1-log1p-u_binary64 |
| 834× | add-exp-log_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 23 |
| 1 | 189 | 23 |
| 2 | 2332 | 23 |
| 1× | node limit |
| Inputs |
|---|
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(*.f64 (pow.f64 a1 2) (cos.f64 th)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 (*.f64 a1 (*.f64 a1 (cos.f64 th))) (sqrt.f64 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 a1 a1) (/.f64 1 (/.f64 (sqrt.f64 2) (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 a1 a1) (*.f64 (cos.f64 th) (pow.f64 2 -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 th) (*.f64 (*.f64 a1 a1) (pow.f64 2 -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 a1 (*.f64 a1 (cos.f64 th))) (pow.f64 2 -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 a1 (*.f64 a1 (cos.f64 th))) (sqrt.f64 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (*.f64 a1 (*.f64 a1 (cos.f64 th))) (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 a1 (*.f64 a1 (cos.f64 th))) (sqrt.f64 2))) (cbrt.f64 (/.f64 (pow.f64 (*.f64 a1 (*.f64 a1 (cos.f64 th))) 2) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (pow.f64 (*.f64 a1 (*.f64 a1 (cos.f64 th))) 2) 2)) (cbrt.f64 (/.f64 (*.f64 a1 (*.f64 a1 (cos.f64 th))) (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (*.f64 a1 (*.f64 a1 (cos.f64 th))) 2)) (*.f64 (cbrt.f64 (*.f64 a1 (*.f64 a1 (cos.f64 th)))) (pow.f64 2 -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a1 (sqrt.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)))) (/.f64 a1 (sqrt.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 a1 (sqrt.f64 (cos.f64 th))) (*.f64 (*.f64 a1 (sqrt.f64 (cos.f64 th))) (pow.f64 2 -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 a1 a1) (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) (*.f64 a1 (*.f64 a1 (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 a1 a1) 1) (/.f64 (cos.f64 th) (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cos.f64 th) 1) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (*.f64 a1 (*.f64 a1 (cos.f64 th))) 2)) 1) (/.f64 (cbrt.f64 (*.f64 a1 (*.f64 a1 (cos.f64 th)))) (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 a1 (sqrt.f64 (cos.f64 th))) 1) (/.f64 (*.f64 a1 (sqrt.f64 (cos.f64 th))) (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 a1 a1) (cbrt.f64 2)) (/.f64 (cos.f64 th) (cbrt.f64 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cos.f64 th) (cbrt.f64 2)) (/.f64 (*.f64 a1 a1) (cbrt.f64 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 2)) (/.f64 (*.f64 a1 (*.f64 a1 (cos.f64 th))) (cbrt.f64 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (*.f64 a1 (*.f64 a1 (cos.f64 th))) 2)) (cbrt.f64 2)) (cbrt.f64 (/.f64 (*.f64 a1 (*.f64 a1 (cos.f64 th))) (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 a1 (sqrt.f64 (cos.f64 th))) (cbrt.f64 2)) (/.f64 (*.f64 a1 (sqrt.f64 (cos.f64 th))) (cbrt.f64 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 a1 a1) (pow.f64 2 1/4)) (/.f64 (cos.f64 th) (pow.f64 2 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cos.f64 th) (pow.f64 2 1/4)) (/.f64 (*.f64 a1 a1) (pow.f64 2 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 2 1/4)) (/.f64 (*.f64 a1 (*.f64 a1 (cos.f64 th))) (pow.f64 2 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (*.f64 a1 (*.f64 a1 (cos.f64 th))) 2)) (pow.f64 2 1/4)) (/.f64 (cbrt.f64 (*.f64 a1 (*.f64 a1 (cos.f64 th)))) (pow.f64 2 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 a1 (*.f64 a1 (cos.f64 th))) (sqrt.f64 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (*.f64 a1 (*.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 (*.f64 a1 (cos.f64 th))) (sqrt.f64 2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 a1 (sqrt.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 (*.f64 a1 (cos.f64 th)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 a1 (*.f64 a1 (cos.f64 th))) (neg.f64 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 (pow.f64 (*.f64 a1 (*.f64 a1 (cos.f64 th))) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (*.f64 a1 (*.f64 a1 (cos.f64 th))) (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (*.f64 a1 (*.f64 a1 (cos.f64 th))) (sqrt.f64 2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (*.f64 a1 (*.f64 a1 (cos.f64 th))) 3) (*.f64 2 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (*.f64 a1 (*.f64 a1 (cos.f64 th))) (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (*.f64 a1 (*.f64 a1 (cos.f64 th))) (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (*.f64 a1 (*.f64 a1 (cos.f64 th))) (sqrt.f64 2)))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 a1 (*.f64 a1 (cos.f64 th)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 a1 (*.f64 a1 (cos.f64 th))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 a1 (*.f64 a1 (cos.f64 th))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 a1 (*.f64 a1 (cos.f64 th)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 a1 (sqrt.f64 (cos.f64 th))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 a1 (*.f64 a1 (cos.f64 th))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (cos.f64 th)) (*.f64 a1 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 a1 (*.f64 a1 (cos.f64 th))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (*.f64 a1 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 (*.f64 a1 a1) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 a1 (*.f64 a1 (cos.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 a1 (*.f64 a1 (cos.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 a1 (*.f64 a1 (cos.f64 th))))))))) |
| 1× | egg-herbie |
| 940× | distribute-rgt-out_binary64 |
| 773× | fma-def_binary64 |
| 609× | associate-*l/_binary64 |
| 507× | *-commutative_binary64 |
| 477× | associate-*r/_binary64 |
Useful iterations: 5 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 37 | 242 |
| 1 | 105 | 238 |
| 2 | 308 | 229 |
| 3 | 1192 | 196 |
| 4 | 4490 | 179 |
| 5 | 6028 | 162 |
| 1× | node limit |
| Inputs |
|---|
(/.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))))) |
(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)))))) |
| Outputs |
|---|
(/.f64 (pow.f64 a1 2) (sqrt.f64 2)) |
(/.f64 (*.f64 a1 a1) (sqrt.f64 2)) |
(*.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 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (*.f64 -1/2 (*.f64 th th)) (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) |
(*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (*.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 (*.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 a1 a1) (/.f64 (sqrt.f64 2) (pow.f64 th 4))) (/.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 a1 a1) (/.f64 (sqrt.f64 2) (pow.f64 th 4))) (/.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 (/.f64 a1 (sqrt.f64 2)) a1 (*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (fma.f64 -1/2 (*.f64 th th) (*.f64 1/24 (pow.f64 th 4))))) |
(*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (+.f64 1 (fma.f64 -1/2 (*.f64 th th) (*.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 (*.f64 a1 a1) (pow.f64 th 6)) (sqrt.f64 2)) (fma.f64 1/24 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (pow.f64 th 4))) (/.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 a1 a1) (/.f64 (sqrt.f64 2) (pow.f64 th 4))) (/.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)) (fma.f64 -1/720 (/.f64 (*.f64 (*.f64 a1 a1) (pow.f64 th 6)) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))))) |
(fma.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (*.f64 -1/2 (*.f64 th th)) (fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (fma.f64 1/24 (pow.f64 th 4) (*.f64 -1/720 (pow.f64 th 6)))))) |
(+.f64 (*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) (*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (fma.f64 1/24 (pow.f64 th 4) (*.f64 -1/720 (pow.f64 th 6))))) |
(*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 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))))) |
(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 th th) (*.f64 (*.f64 -1/2 a1) a1))) |
(*.f64 (+.f64 (*.f64 -1/2 (*.f64 th th)) 1) (*.f64 a1 a1)) |
(*.f64 (*.f64 a1 a1) (fma.f64 -1/2 (*.f64 th th) 1)) |
(+.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 1/24 (*.f64 (*.f64 a1 a1) (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 -1/2 (*.f64 th th)) (fma.f64 1/24 (pow.f64 th 4) 1))) |
(*.f64 (*.f64 a1 a1) (+.f64 1 (fma.f64 -1/2 (*.f64 th th) (*.f64 1/24 (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)))))) |
(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 1/24 (*.f64 (*.f64 a1 a1) (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)))))) |
(fma.f64 a1 a1 (*.f64 (*.f64 a1 a1) (+.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 a1) (+.f64 (fma.f64 -1/2 (*.f64 th th) 1) (fma.f64 1/24 (pow.f64 th 4) (*.f64 -1/720 (pow.f64 th 6))))) |
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (pow.f64 (hypot.f64 a1 a2) 2) |
| ✓ | 0.0b | (hypot.f64 a1 a2) |
| ✓ | 0.2b | (/.f64 (sqrt.f64 2) (cos.f64 th)) |
| ✓ | 0.4b | (/.f64 (pow.f64 (hypot.f64 a1 a2) 2) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
Compiled 35 to 19 computations (45.7% saved)
24 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 5.0ms | a1 | @ | 0 | (/.f64 (pow.f64 (hypot.f64 a1 a2) 2) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
| 5.0ms | a2 | @ | 0 | (/.f64 (pow.f64 (hypot.f64 a1 a2) 2) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
| 2.0ms | th | @ | 0 | (/.f64 (sqrt.f64 2) (cos.f64 th)) |
| 2.0ms | a2 | @ | inf | (/.f64 (pow.f64 (hypot.f64 a1 a2) 2) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
| 1.0ms | a1 | @ | inf | (/.f64 (pow.f64 (hypot.f64 a1 a2) 2) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
| 1× | batch-egg-rewrite |
| 569× | log-prod_binary64 |
| 451× | exp-prod_binary64 |
| 292× | pow2_binary64 |
| 289× | pow-prod-down_binary64 |
| 204× | pow1/3_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 36 |
| 1 | 235 | 36 |
| 2 | 2972 | 36 |
| 1× | node limit |
| Inputs |
|---|
(/.f64 (pow.f64 (hypot.f64 a1 a2) 2) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(/.f64 (sqrt.f64 2) (cos.f64 th)) |
(hypot.f64 a1 a2) |
(pow.f64 (hypot.f64 a1 a2) 2) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (/.f64 (cos.f64 th) (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (/.f64 (cos.f64 th) (sqrt.f64 2))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (/.f64 (cos.f64 th) (sqrt.f64 2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (/.f64 (cos.f64 th) (sqrt.f64 2)))))) (log.f64 (sqrt.f64 (exp.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (/.f64 (cos.f64 th) (sqrt.f64 2)))))))))) (#(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 (hypot.f64 a1 a2) (*.f64 (hypot.f64 a1 a2) (/.f64 (cos.f64 th) (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (hypot.f64 a1 a2) 2) (/.f64 (cos.f64 th) (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 th) (/.f64 (pow.f64 (hypot.f64 a1 a2) 2) (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.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 1 (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (/.f64 (cos.f64 th) (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (/.f64 (cos.f64 th) (sqrt.f64 2)))) (cbrt.f64 (/.f64 (pow.f64 (hypot.f64 a1 a2) 4) (*.f64 2 (pow.f64 (cos.f64 th) -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (pow.f64 (hypot.f64 a1 a2) 4) (*.f64 2 (pow.f64 (cos.f64 th) -2)))) (cbrt.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (/.f64 (cos.f64 th) (sqrt.f64 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (hypot.f64 a1 a2)) 4) (*.f64 (pow.f64 (cbrt.f64 (hypot.f64 a1 a2)) 2) (/.f64 (cos.f64 th) (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (hypot.f64 a1 a2) (sqrt.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)))) (*.f64 (hypot.f64 a1 a2) (sqrt.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 (hypot.f64 a1 a2) 2)) (/.f64 1 (/.f64 (neg.f64 (sqrt.f64 2)) (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (pow.f64 (hypot.f64 a1 a2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (hypot.f64 a1 a2) 2) (sqrt.f64 2)) (cos.f64 th))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (hypot.f64 a1 a2) 1) (/.f64 (hypot.f64 a1 a2) (/.f64 (sqrt.f64 2) (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (hypot.f64 a1 a2) (sqrt.f64 2)) (/.f64 (hypot.f64 a1 a2) (/.f64 1 (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (hypot.f64 a1 a2)) 4) 1) (/.f64 (pow.f64 (cbrt.f64 (hypot.f64 a1 a2)) 2) (/.f64 (sqrt.f64 2) (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 2 -1/2) (/.f64 (pow.f64 (hypot.f64 a1 a2) 2) (/.f64 1 (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (hypot.f64 a1 a2)) 4) (sqrt.f64 2)) (/.f64 (pow.f64 (cbrt.f64 (hypot.f64 a1 a2)) 2) (/.f64 1 (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (hypot.f64 a1 a2) (cbrt.f64 (*.f64 2 (pow.f64 (cos.f64 th) -2)))) (/.f64 (hypot.f64 a1 a2) (cbrt.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (sqrt.f64 2) (cos.f64 th))) -2) (/.f64 (pow.f64 (hypot.f64 a1 a2) 2) (cbrt.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (hypot.f64 a1 a2)) 4) (cbrt.f64 (*.f64 2 (pow.f64 (cos.f64 th) -2)))) (cbrt.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (/.f64 (cos.f64 th) (sqrt.f64 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) -1/2) (/.f64 (pow.f64 (hypot.f64 a1 a2) 2) (sqrt.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (hypot.f64 a1 a2)) 4) (sqrt.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)))) (/.f64 (pow.f64 (cbrt.f64 (hypot.f64 a1 a2)) 2) (sqrt.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (hypot.f64 a1 a2) 2) 1) (/.f64 (cos.f64 th) (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (hypot.f64 a1 a2) 2) (neg.f64 (sqrt.f64 2))) (neg.f64 (cos.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (pow.f64 (hypot.f64 a1 a2) 2) (sqrt.f64 2)) 1) (cos.f64 th))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (pow.f64 (hypot.f64 a1 a2) 2) (sqrt.f64 2)) (cbrt.f64 (pow.f64 (cos.f64 th) 2))) (cbrt.f64 (cos.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (pow.f64 (hypot.f64 a1 a2) 2) (sqrt.f64 2)) (sqrt.f64 (cos.f64 th))) (sqrt.f64 (cos.f64 th)))))) (#(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 (/.f64 (pow.f64 (hypot.f64 a1 a2) 4) (*.f64 2 (pow.f64 (cos.f64 th) -2))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (hypot.f64 a1 a2) (sqrt.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)))) 6) 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 pow.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (cos.f64 th))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (/.f64 (cos.f64 th) (sqrt.f64 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (hypot.f64 a1 a2) 6) (pow.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) -3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (cos.f64 th))) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (/.f64 (cos.f64 th) (sqrt.f64 2))))) 2)) (cbrt.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 pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (/.f64 (cos.f64 th) (sqrt.f64 2)))))) (sqrt.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 neg.f64 (/.f64 (pow.f64 (hypot.f64 a1 a2) 2) (/.f64 (neg.f64 (sqrt.f64 2)) (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 (pow.f64 (hypot.f64 a1 a2) 4) (*.f64 2 (pow.f64 (cos.f64 th) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.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 (hypot.f64 a1 a2) (sqrt.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)))) 6))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (hypot.f64 a1 a2) 6) (pow.f64 (/.f64 (cos.f64 th) (sqrt.f64 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))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (hypot.f64 a1 a2) (sqrt.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)))) 6)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.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 exp.f64 (*.f64 (log.f64 (*.f64 (hypot.f64 a1 a2) (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) (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (cos.f64 th)))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (/.f64 (cos.f64 th) (sqrt.f64 2)))) 1) 1)))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (sqrt.f64 2) (cos.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (sqrt.f64 2) (cos.f64 th))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (sqrt.f64 2) (cos.f64 th))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (sqrt.f64 2) (cos.f64 th))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 2) (/.f64 1 (cos.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (sqrt.f64 2) (cos.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (sqrt.f64 2) (cos.f64 th))) (cbrt.f64 (*.f64 2 (pow.f64 (cos.f64 th) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 2 (pow.f64 (cos.f64 th) -2))) (cbrt.f64 (/.f64 (sqrt.f64 2) (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 2) (*.f64 (pow.f64 2 1/6) (/.f64 1 (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (sqrt.f64 2) (cos.f64 th))) (sqrt.f64 (/.f64 (sqrt.f64 2) (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 2 1/4) (*.f64 (pow.f64 2 1/4) (/.f64 1 (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 2)) (/.f64 1 (neg.f64 (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cos.f64 th)) (sqrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 2) 1) (/.f64 (pow.f64 2 1/6) (cos.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 2 1/4) 1) (/.f64 (pow.f64 2 1/4) (cos.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cos.f64 th)) -2) (/.f64 (sqrt.f64 2) (cbrt.f64 (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 2) (cbrt.f64 (pow.f64 (cos.f64 th) 2))) (cbrt.f64 (/.f64 (sqrt.f64 2) (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 2 1/4) (cbrt.f64 (pow.f64 (cos.f64 th) 2))) (/.f64 (pow.f64 2 1/4) (cbrt.f64 (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cos.f64 th) -1/2) (/.f64 (sqrt.f64 2) (sqrt.f64 (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 2) (sqrt.f64 (cos.f64 th))) (/.f64 (pow.f64 2 1/6) (sqrt.f64 (cos.f64 th))))))) (#(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 (*.f64 2 (pow.f64 (cos.f64 th) -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 (sqrt.f64 2) (cos.f64 th))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (sqrt.f64 2) (cos.f64 th))) 2)))) (#(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 (exp.f64 1) (log.f64 (/.f64 (sqrt.f64 2) (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 2 3/2) (pow.f64 (cos.f64 th) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)))) 2)) (cbrt.f64 (log.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 (sqrt.f64 2) (cos.f64 th))))) (sqrt.f64 (log.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (sqrt.f64 2) (neg.f64 (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 2 (pow.f64 (cos.f64 th) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (sqrt.f64 2) (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)))))))) (#(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 2 3/2) (pow.f64 (cos.f64 th) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (sqrt.f64 2) (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (sqrt.f64 2) (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (sqrt.f64 2) (cos.f64 th))))))) (#(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 3 (log.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)))) 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 (log.f64 (/.f64 (sqrt.f64 2) (cos.f64 th))) 1) 1)))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (hypot.f64 a1 a2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (hypot.f64 a1 a2))) 2)) (log.f64 (cbrt.f64 (exp.f64 (hypot.f64 a1 a2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (hypot.f64 a1 a2)))) (log.f64 (sqrt.f64 (exp.f64 (hypot.f64 a1 a2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (hypot.f64 a1 a2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (hypot.f64 a1 a2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (hypot.f64 a1 a2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (hypot.f64 a1 a2)) (pow.f64 (cbrt.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 (hypot.f64 a1 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (hypot.f64 a1 a2)) (sqrt.f64 (hypot.f64 a1 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (hypot.f64 a1 a2)) 4)) (sqrt.f64 (pow.f64 (cbrt.f64 (hypot.f64 a1 a2)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (hypot.f64 a1 a2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (hypot.f64 a1 a2) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (hypot.f64 a1 a2) 6) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (hypot.f64 a1 a2) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (hypot.f64 a1 a2)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (hypot.f64 a1 a2)) 2) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (hypot.f64 a1 a2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (hypot.f64 a1 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (hypot.f64 a1 a2))) 2)) (cbrt.f64 (log.f64 (hypot.f64 a1 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (hypot.f64 a1 a2)))) (sqrt.f64 (log.f64 (hypot.f64 a1 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (hypot.f64 a1 a2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (hypot.f64 a1 a2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (hypot.f64 a1 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (hypot.f64 a1 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (hypot.f64 a1 a2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (hypot.f64 a1 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (hypot.f64 a1 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (hypot.f64 a1 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (hypot.f64 a1 a2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (hypot.f64 a1 a2))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (hypot.f64 a1 a2))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (hypot.f64 a1 a2))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (hypot.f64 a1 a2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (hypot.f64 a1 a2)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (*.f64 2 (log.f64 (hypot.f64 a1 a2))) 1) 1/2)))))) |
((#(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 0 (pow.f64 (hypot.f64 a1 a2) 2))))) (#(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 (hypot.f64 a1 a2) (hypot.f64 a1 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 (pow.f64 (cbrt.f64 (hypot.f64 a1 a2)) 4) (pow.f64 (cbrt.f64 (hypot.f64 a1 a2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (hypot.f64 a1 a2)) 2) (pow.f64 (cbrt.f64 (hypot.f64 a1 a2)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (hypot.f64 a1 a2)) (pow.f64 (hypot.f64 a1 a2) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (hypot.f64 a1 a2) 3/2) (sqrt.f64 (hypot.f64 a1 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (hypot.f64 a1 a2)) 5) (cbrt.f64 (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 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 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 (*.f64 2 (log.f64 (cbrt.f64 (hypot.f64 a1 a2)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (hypot.f64 a1 a2)) 1) 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 fma.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 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 (pow.f64 (cbrt.f64 a1) 2) (*.f64 (cbrt.f64 a1) a1) (*.f64 a2 a2))))) (#(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 (sqrt.f64 a1) (pow.f64 a1 3/2) (*.f64 a2 a2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 a2) (pow.f64 a2 3/2) (*.f64 a1 a1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 a1) a1) (pow.f64 (cbrt.f64 a1) 2) (*.f64 a2 a2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 a1 3/2) (sqrt.f64 a1) (*.f64 a2 a2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 a2) a2) (pow.f64 (cbrt.f64 a2) 2) (*.f64 a1 a1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 a2 3/2) (sqrt.f64 a2) (*.f64 a1 a1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 a2) 5) (cbrt.f64 a2) (*.f64 a1 a1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 a1) 5) (cbrt.f64 a1) (*.f64 a2 a2)))))) |
| 1× | egg-herbie |
| 796× | times-frac_binary64 |
| 631× | associate-/l*_binary64 |
| 567× | associate-/r*_binary64 |
| 409× | distribute-rgt-in_binary64 |
| 394× | distribute-lft-in_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 280 | 2949 |
| 1 | 850 | 2759 |
| 2 | 2915 | 2439 |
| 1× | node limit |
| Inputs |
|---|
(/.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 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (+.f64 (*.f64 -1 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6))))) (*.f64 5/64 (/.f64 1 (pow.f64 a2 6)))) (*.f64 (pow.f64 a1 8) (cos.f64 th))) (sqrt.f64 2)))) |
(+.f64 (/.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 (*.f64 (pow.f64 a1 12) (*.f64 (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 a2 8))) (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6)))) (pow.f64 a2 2)))) (pow.f64 a2 2))) (+.f64 (*.f64 -1 (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 a2 8))) (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6)))) (pow.f64 a2 2)))) (pow.f64 a2 2))) (+.f64 (pow.f64 (/.f64 1/16 (pow.f64 a2 5)) 2) (*.f64 1/8 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6)))) (pow.f64 a2 4)))))) (+.f64 (*.f64 1/8 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6)))) (pow.f64 a2 4))) (*.f64 1/256 (/.f64 1 (pow.f64 a2 10)))))) (cos.f64 th))) (sqrt.f64 2)) (/.f64 (*.f64 (+.f64 (*.f64 -1 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6))))) (*.f64 5/64 (/.f64 1 (pow.f64 a2 6)))) (*.f64 (pow.f64 a1 8) (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 (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 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (cos.f64 th)) (*.f64 (sqrt.f64 2) (pow.f64 a1 2))))) |
(+.f64 (/.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 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (cos.f64 th)) (*.f64 (sqrt.f64 2) (pow.f64 a1 2))) (/.f64 (*.f64 (+.f64 (*.f64 1/8 (pow.f64 a2 6)) (*.f64 -1/8 (pow.f64 a2 6))) (cos.f64 th)) (*.f64 (sqrt.f64 2) (pow.f64 a1 4)))))) |
(/.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 (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 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (cos.f64 th)) (*.f64 (sqrt.f64 2) (pow.f64 a1 2))))) |
(+.f64 (/.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 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (cos.f64 th)) (*.f64 (sqrt.f64 2) (pow.f64 a1 2))) (/.f64 (*.f64 (+.f64 (*.f64 1/8 (pow.f64 a2 6)) (*.f64 -1/8 (pow.f64 a2 6))) (cos.f64 th)) (*.f64 (sqrt.f64 2) (pow.f64 a1 4)))))) |
(/.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 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -1 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (*.f64 5/64 (/.f64 1 (pow.f64 a1 6)))) (*.f64 (cos.f64 th) (pow.f64 a2 8))) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))) |
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -1 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (*.f64 5/64 (/.f64 1 (pow.f64 a1 6)))) (*.f64 (pow.f64 a2 8) (cos.f64 th))) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 a1 8))) (*.f64 -1/2 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 2)))) (pow.f64 a1 2))) (+.f64 (*.f64 1/8 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 4))) (+.f64 (*.f64 1/256 (/.f64 1 (pow.f64 a1 10))) (*.f64 -1 (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 a1 8))) (*.f64 -1/2 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 2)))) (pow.f64 a1 2))) (+.f64 (pow.f64 (/.f64 1/16 (pow.f64 a1 5)) 2) (*.f64 1/8 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 4))))))))) (*.f64 (cos.f64 th) (pow.f64 a2 12))) (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 (*.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 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4))) (cos.f64 th)) (*.f64 (sqrt.f64 2) (pow.f64 a2 2))))) |
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/8 (pow.f64 a1 6)) (*.f64 -1/8 (pow.f64 a1 6))) (cos.f64 th)) (*.f64 (sqrt.f64 2) (pow.f64 a2 4))) (+.f64 (/.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 (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4))) (cos.f64 th)) (*.f64 (sqrt.f64 2) (pow.f64 a2 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 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4))) (cos.f64 th)) (*.f64 (sqrt.f64 2) (pow.f64 a2 2))))) |
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/8 (pow.f64 a1 6)) (*.f64 -1/8 (pow.f64 a1 6))) (cos.f64 th)) (*.f64 (sqrt.f64 2) (pow.f64 a2 4))) (+.f64 (/.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 (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4))) (cos.f64 th)) (*.f64 (sqrt.f64 2) (pow.f64 a2 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)) |
(sqrt.f64 2) |
(+.f64 (sqrt.f64 2) (*.f64 1/2 (*.f64 (sqrt.f64 2) (pow.f64 th 2)))) |
(+.f64 (sqrt.f64 2) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 2) (pow.f64 th 2))) (*.f64 -1 (*.f64 (+.f64 (*.f64 1/24 (sqrt.f64 2)) (*.f64 -1/4 (sqrt.f64 2))) (pow.f64 th 4))))) |
(+.f64 (sqrt.f64 2) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/720 (sqrt.f64 2)) (+.f64 (*.f64 1/2 (+.f64 (*.f64 1/24 (sqrt.f64 2)) (*.f64 -1/4 (sqrt.f64 2)))) (*.f64 1/48 (sqrt.f64 2)))) (pow.f64 th 6))) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 2) (pow.f64 th 2))) (*.f64 -1 (*.f64 (+.f64 (*.f64 1/24 (sqrt.f64 2)) (*.f64 -1/4 (sqrt.f64 2))) (pow.f64 th 4)))))) |
a2 |
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 a1 2) a2)) a2) |
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 a1 2) a2)) a2)) |
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 a1 2) a2)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 a1 6) (pow.f64 a2 5))) a2))) |
a1 |
(+.f64 a1 (*.f64 1/2 (/.f64 (pow.f64 a2 2) a1))) |
(+.f64 a1 (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3))) (*.f64 1/2 (/.f64 (pow.f64 a2 2) a1)))) |
(+.f64 (*.f64 1/16 (/.f64 (pow.f64 a2 6) (pow.f64 a1 5))) (+.f64 a1 (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3))) (*.f64 1/2 (/.f64 (pow.f64 a2 2) a1))))) |
(*.f64 -1 a1) |
(+.f64 (*.f64 -1 a1) (*.f64 -1/2 (/.f64 (pow.f64 a2 2) a1))) |
(+.f64 (*.f64 -1 a1) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3))) (*.f64 -1/2 (/.f64 (pow.f64 a2 2) a1)))) |
(+.f64 (*.f64 -1 a1) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 a2 6) (pow.f64 a1 5))) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3))) (*.f64 -1/2 (/.f64 (pow.f64 a2 2) a1))))) |
a1 |
(+.f64 a1 (*.f64 1/2 (/.f64 (pow.f64 a2 2) a1))) |
(+.f64 a1 (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3))) (*.f64 1/2 (/.f64 (pow.f64 a2 2) a1)))) |
(+.f64 (*.f64 1/16 (/.f64 (pow.f64 a2 6) (pow.f64 a1 5))) (+.f64 a1 (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3))) (*.f64 1/2 (/.f64 (pow.f64 a2 2) a1))))) |
a2 |
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 a1 2) a2)) a2) |
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 a1 2) a2)) a2)) |
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 a1 2) a2)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 a1 6) (pow.f64 a2 5))) a2))) |
(*.f64 -1 a2) |
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 a1 2) a2)) (*.f64 -1 a2)) |
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 a1 2) a2)) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3))) (*.f64 -1 a2))) |
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 a1 2) a2)) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3))) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 a1 6) (pow.f64 a2 5))) (*.f64 -1 a2)))) |
(pow.f64 a2 2) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (*.f64 (+.f64 (*.f64 -1 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6))))) (*.f64 5/64 (/.f64 1 (pow.f64 a2 6)))) (pow.f64 a1 8)) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2))) |
(pow.f64 a1 2) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (*.f64 -1/4 (/.f64 (pow.f64 a2 4) (pow.f64 a1 2))) (+.f64 (pow.f64 a2 2) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 a2 4) (pow.f64 a1 2))) (pow.f64 a1 2)))) |
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a2 6) (pow.f64 a1 4))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 a2 4) (pow.f64 a1 2))) (+.f64 (pow.f64 a2 2) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 a2 4) (pow.f64 a1 2))) (+.f64 (pow.f64 a1 2) (*.f64 1/8 (/.f64 (pow.f64 a2 6) (pow.f64 a1 4)))))))) |
(pow.f64 a1 2) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (*.f64 -1/4 (/.f64 (pow.f64 a2 4) (pow.f64 a1 2))) (+.f64 (pow.f64 a2 2) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 a2 4) (pow.f64 a1 2))) (pow.f64 a1 2)))) |
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a2 6) (pow.f64 a1 4))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 a2 4) (pow.f64 a1 2))) (+.f64 (pow.f64 a2 2) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 a2 4) (pow.f64 a1 2))) (+.f64 (pow.f64 a1 2) (*.f64 1/8 (/.f64 (pow.f64 a2 6) (pow.f64 a1 4)))))))) |
(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) (+.f64 (*.f64 (+.f64 (*.f64 -1 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (*.f64 5/64 (/.f64 1 (pow.f64 a1 6)))) (pow.f64 a2 8)) (pow.f64 a1 2))) |
(pow.f64 a2 2) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 a1 4) (pow.f64 a2 2))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 a1 4) (pow.f64 a2 2))) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)))) |
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 a1 4) (pow.f64 a2 2))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a1 6) (pow.f64 a2 4))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 a1 4) (pow.f64 a2 2))) (+.f64 (pow.f64 a2 2) (+.f64 (pow.f64 a1 2) (*.f64 1/8 (/.f64 (pow.f64 a1 6) (pow.f64 a2 4)))))))) |
(pow.f64 a2 2) |
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) |
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 a1 4) (pow.f64 a2 2))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 a1 4) (pow.f64 a2 2))) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)))) |
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 a1 4) (pow.f64 a2 2))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a1 6) (pow.f64 a2 4))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 a1 4) (pow.f64 a2 2))) (+.f64 (pow.f64 a2 2) (+.f64 (pow.f64 a1 2) (*.f64 1/8 (/.f64 (pow.f64 a1 6) (pow.f64 a2 4)))))))) |
| Outputs |
|---|
(/.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 a2 (/.f64 (sqrt.f64 2) a2)) (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 (sqrt.f64 2) (cos.f64 th))) (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2))) |
(+.f64 (*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (cos.f64 th)) (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2))) |
(*.f64 (cos.f64 th) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))) |
(+.f64 (/.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 (+.f64 (*.f64 -1 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6))))) (*.f64 5/64 (/.f64 1 (pow.f64 a2 6)))) (*.f64 (pow.f64 a1 8) (cos.f64 th))) (sqrt.f64 2)))) |
(+.f64 (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (cos.f64 th))) (+.f64 (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2)) (/.f64 (fma.f64 -1 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (/.f64 5/64 (pow.f64 a2 6))) (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (pow.f64 a1 8)))))) |
(+.f64 (*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (cos.f64 th)) (+.f64 (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2)) (/.f64 (-.f64 (/.f64 5/64 (pow.f64 a2 6)) (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6)))) (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (pow.f64 a1 8)))))) |
(+.f64 (*.f64 (cos.f64 th) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))) (*.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 8)) (sqrt.f64 2)) (+.f64 (neg.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2)) (*.f64 (/.f64 1 (pow.f64 a2 6)) 1/64)))) |
(+.f64 (/.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 (*.f64 (pow.f64 a1 12) (*.f64 (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 a2 8))) (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6)))) (pow.f64 a2 2)))) (pow.f64 a2 2))) (+.f64 (*.f64 -1 (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 a2 8))) (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6)))) (pow.f64 a2 2)))) (pow.f64 a2 2))) (+.f64 (pow.f64 (/.f64 1/16 (pow.f64 a2 5)) 2) (*.f64 1/8 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6)))) (pow.f64 a2 4)))))) (+.f64 (*.f64 1/8 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6)))) (pow.f64 a2 4))) (*.f64 1/256 (/.f64 1 (pow.f64 a2 10)))))) (cos.f64 th))) (sqrt.f64 2)) (/.f64 (*.f64 (+.f64 (*.f64 -1 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6))))) (*.f64 5/64 (/.f64 1 (pow.f64 a2 6)))) (*.f64 (pow.f64 a1 8) (cos.f64 th))) (sqrt.f64 2))))) |
(+.f64 (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (cos.f64 th))) (+.f64 (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2)) (+.f64 (/.f64 (fma.f64 -1 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (/.f64 5/64 (pow.f64 a2 6))) (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (pow.f64 a1 8)))) (/.f64 (pow.f64 a1 12) (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (fma.f64 1/2 (/.f64 (-.f64 (/.f64 1/64 (pow.f64 a2 8)) (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (*.f64 a2 a2)))) (*.f64 a2 a2)) (fma.f64 -1 (fma.f64 1/2 (/.f64 (-.f64 (/.f64 1/64 (pow.f64 a2 8)) (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (*.f64 a2 a2)))) (*.f64 a2 a2)) (+.f64 (pow.f64 (/.f64 1/16 (pow.f64 a2 5)) 2) (*.f64 1/8 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (pow.f64 a2 4))))) (fma.f64 1/8 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (pow.f64 a2 4)) (/.f64 1/256 (pow.f64 a2 10))))))))))) |
(+.f64 (*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (cos.f64 th)) (+.f64 (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2)) (+.f64 (/.f64 (-.f64 (/.f64 5/64 (pow.f64 a2 6)) (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6)))) (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (pow.f64 a1 8)))) (*.f64 (/.f64 (pow.f64 a1 12) (sqrt.f64 2)) (*.f64 (cos.f64 th) (fma.f64 1/2 (-.f64 (/.f64 1/64 (*.f64 (*.f64 a2 a2) (pow.f64 a2 8))) (/.f64 (*.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) -1/2) (pow.f64 a2 4))) (-.f64 (fma.f64 1/8 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (pow.f64 a2 4)) (/.f64 1/256 (pow.f64 a2 10))) (fma.f64 1/2 (-.f64 (/.f64 1/64 (*.f64 (*.f64 a2 a2) (pow.f64 a2 8))) (/.f64 (*.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) -1/2) (pow.f64 a2 4))) (fma.f64 1/8 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (pow.f64 a2 4)) (pow.f64 (/.f64 1/16 (pow.f64 a2 5)) 2)))))))))) |
(+.f64 (*.f64 (cos.f64 th) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))) (+.f64 (*.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 8)) (sqrt.f64 2)) (+.f64 (neg.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2)) (*.f64 (/.f64 1 (pow.f64 a2 6)) 1/64))) (*.f64 (/.f64 (pow.f64 a1 12) (sqrt.f64 2)) (*.f64 (cos.f64 th) (+.f64 (fma.f64 1/8 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (pow.f64 a2 4)) (/.f64 1/256 (pow.f64 a2 10))) (-.f64 (*.f64 (+.f64 (/.f64 (/.f64 1/64 (pow.f64 a2 8)) (*.f64 a2 a2)) (/.f64 (*.f64 (-.f64 (/.f64 -1/16 (pow.f64 a2 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2)) -1/2) (pow.f64 a2 4))) 0) (fma.f64 1/8 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (pow.f64 a2 4)) (/.f64 1/256 (pow.f64 a2 10))))))))) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2)) |
(*.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (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 (sqrt.f64 2) (cos.f64 th))) (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2))) |
(+.f64 (*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (cos.f64 th)) (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2))) |
(*.f64 (cos.f64 th) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))) |
(+.f64 (/.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 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (cos.f64 th)) (*.f64 (sqrt.f64 2) (pow.f64 a1 2))))) |
(+.f64 (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (cos.f64 th))) (+.f64 (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2)) (*.f64 (/.f64 (*.f64 (pow.f64 a2 4) 0) (sqrt.f64 2)) (/.f64 (cos.f64 th) (*.f64 a1 a1))))) |
(+.f64 (*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (cos.f64 th)) (fma.f64 (/.f64 0 (sqrt.f64 2)) (/.f64 (cos.f64 th) (*.f64 a1 a1)) (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2)))) |
(+.f64 (*.f64 (cos.f64 th) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))) 0) |
(+.f64 (/.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 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (cos.f64 th)) (*.f64 (sqrt.f64 2) (pow.f64 a1 2))) (/.f64 (*.f64 (+.f64 (*.f64 1/8 (pow.f64 a2 6)) (*.f64 -1/8 (pow.f64 a2 6))) (cos.f64 th)) (*.f64 (sqrt.f64 2) (pow.f64 a1 4)))))) |
(+.f64 (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (cos.f64 th))) (+.f64 (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2)) (*.f64 (/.f64 (*.f64 (pow.f64 a2 4) 0) (sqrt.f64 2)) (/.f64 (cos.f64 th) (*.f64 a1 a1))))) |
(+.f64 (*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (cos.f64 th)) (fma.f64 (/.f64 0 (sqrt.f64 2)) (/.f64 (cos.f64 th) (*.f64 a1 a1)) (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2)))) |
(+.f64 (*.f64 (cos.f64 th) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))) 0) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2)) |
(*.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (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 (sqrt.f64 2) (cos.f64 th))) (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2))) |
(+.f64 (*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (cos.f64 th)) (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2))) |
(*.f64 (cos.f64 th) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))) |
(+.f64 (/.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 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (cos.f64 th)) (*.f64 (sqrt.f64 2) (pow.f64 a1 2))))) |
(+.f64 (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (cos.f64 th))) (+.f64 (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2)) (*.f64 (/.f64 (*.f64 (pow.f64 a2 4) 0) (sqrt.f64 2)) (/.f64 (cos.f64 th) (*.f64 a1 a1))))) |
(+.f64 (*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (cos.f64 th)) (fma.f64 (/.f64 0 (sqrt.f64 2)) (/.f64 (cos.f64 th) (*.f64 a1 a1)) (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2)))) |
(+.f64 (*.f64 (cos.f64 th) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))) 0) |
(+.f64 (/.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 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (cos.f64 th)) (*.f64 (sqrt.f64 2) (pow.f64 a1 2))) (/.f64 (*.f64 (+.f64 (*.f64 1/8 (pow.f64 a2 6)) (*.f64 -1/8 (pow.f64 a2 6))) (cos.f64 th)) (*.f64 (sqrt.f64 2) (pow.f64 a1 4)))))) |
(+.f64 (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (cos.f64 th))) (+.f64 (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2)) (*.f64 (/.f64 (*.f64 (pow.f64 a2 4) 0) (sqrt.f64 2)) (/.f64 (cos.f64 th) (*.f64 a1 a1))))) |
(+.f64 (*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (cos.f64 th)) (fma.f64 (/.f64 0 (sqrt.f64 2)) (/.f64 (cos.f64 th) (*.f64 a1 a1)) (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2)))) |
(+.f64 (*.f64 (cos.f64 th) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))) 0) |
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) |
(/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2)) |
(*.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (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 (sqrt.f64 2) (cos.f64 th))) (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2))) |
(+.f64 (*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (cos.f64 th)) (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2))) |
(*.f64 (cos.f64 th) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))) |
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -1 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (*.f64 5/64 (/.f64 1 (pow.f64 a1 6)))) (*.f64 (cos.f64 th) (pow.f64 a2 8))) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))) |
(+.f64 (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (cos.f64 th))) (/.f64 (fma.f64 -1 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (/.f64 5/64 (pow.f64 a1 6))) (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (pow.f64 a2 8)))))) |
(+.f64 (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2)) (+.f64 (*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (cos.f64 th)) (*.f64 (/.f64 (-.f64 (/.f64 5/64 (pow.f64 a1 6)) (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (sqrt.f64 2)) (*.f64 (cos.f64 th) (pow.f64 a2 8))))) |
(+.f64 (*.f64 (cos.f64 th) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))) (*.f64 (/.f64 (-.f64 (*.f64 (/.f64 1 (pow.f64 a1 6)) 1/64) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (sqrt.f64 2)) (*.f64 (cos.f64 th) (pow.f64 a2 8)))) |
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -1 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (*.f64 5/64 (/.f64 1 (pow.f64 a1 6)))) (*.f64 (pow.f64 a2 8) (cos.f64 th))) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 a1 8))) (*.f64 -1/2 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 2)))) (pow.f64 a1 2))) (+.f64 (*.f64 1/8 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 4))) (+.f64 (*.f64 1/256 (/.f64 1 (pow.f64 a1 10))) (*.f64 -1 (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 a1 8))) (*.f64 -1/2 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 2)))) (pow.f64 a1 2))) (+.f64 (pow.f64 (/.f64 1/16 (pow.f64 a1 5)) 2) (*.f64 1/8 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 4))))))))) (*.f64 (cos.f64 th) (pow.f64 a2 12))) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))))) |
(+.f64 (/.f64 (fma.f64 -1 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (/.f64 5/64 (pow.f64 a1 6))) (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (pow.f64 a2 8)))) (+.f64 (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (cos.f64 th))) (/.f64 (fma.f64 1/2 (/.f64 (+.f64 (/.f64 1/64 (pow.f64 a1 8)) (*.f64 1/2 (/.f64 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (*.f64 a1 a1)))) (*.f64 a1 a1)) (fma.f64 1/8 (/.f64 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 4)) (+.f64 (/.f64 1/256 (pow.f64 a1 10)) (neg.f64 (fma.f64 1/2 (/.f64 (+.f64 (/.f64 1/64 (pow.f64 a1 8)) (*.f64 1/2 (/.f64 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (*.f64 a1 a1)))) (*.f64 a1 a1)) (+.f64 (*.f64 1/8 (/.f64 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 4))) (pow.f64 (/.f64 1/16 (pow.f64 a1 5)) 2))))))) (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (pow.f64 a2 12))))))) |
(+.f64 (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2)) (+.f64 (+.f64 (*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (cos.f64 th)) (/.f64 (fma.f64 1/2 (-.f64 (/.f64 (/.f64 1/64 (pow.f64 a1 8)) (*.f64 a1 a1)) (/.f64 (*.f64 -1/2 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (pow.f64 a1 4))) (-.f64 (fma.f64 1/8 (/.f64 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 4)) (/.f64 1/256 (pow.f64 a1 10))) (fma.f64 1/2 (-.f64 (/.f64 (/.f64 1/64 (pow.f64 a1 8)) (*.f64 a1 a1)) (/.f64 (*.f64 -1/2 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (pow.f64 a1 4))) (fma.f64 1/8 (/.f64 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 4)) (pow.f64 (/.f64 1/16 (pow.f64 a1 5)) 2))))) (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (pow.f64 a2 12))))) (*.f64 (/.f64 (-.f64 (/.f64 5/64 (pow.f64 a1 6)) (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (sqrt.f64 2)) (*.f64 (cos.f64 th) (pow.f64 a2 8))))) |
(+.f64 (*.f64 (/.f64 (-.f64 (*.f64 (/.f64 1 (pow.f64 a1 6)) 1/64) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (sqrt.f64 2)) (*.f64 (cos.f64 th) (pow.f64 a2 8))) (+.f64 (*.f64 (cos.f64 th) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))) (*.f64 (/.f64 (-.f64 (fma.f64 1/2 (+.f64 (/.f64 (/.f64 1/64 (pow.f64 a1 8)) (*.f64 a1 a1)) (/.f64 1/2 (/.f64 (pow.f64 a1 4) (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))))) (fma.f64 1/8 (/.f64 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 4)) (/.f64 1/256 (pow.f64 a1 10)))) (fma.f64 1/2 (+.f64 (/.f64 (/.f64 1/64 (pow.f64 a1 8)) (*.f64 a1 a1)) (/.f64 1/2 (/.f64 (pow.f64 a1 4) (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))))) (fma.f64 1/8 (/.f64 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 4)) (/.f64 1/256 (pow.f64 a1 10))))) (sqrt.f64 2)) (*.f64 (cos.f64 th) (pow.f64 a2 12))))) |
(/.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 a2 (/.f64 (sqrt.f64 2) a2)) (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 (sqrt.f64 2) (cos.f64 th))) (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2))) |
(+.f64 (*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (cos.f64 th)) (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2))) |
(*.f64 (cos.f64 th) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))) |
(+.f64 (/.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 (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4))) (cos.f64 th)) (*.f64 (sqrt.f64 2) (pow.f64 a2 2))))) |
(+.f64 (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (cos.f64 th))) (+.f64 (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2)) (*.f64 (/.f64 (*.f64 (pow.f64 a2 4) 0) (sqrt.f64 2)) (/.f64 (cos.f64 th) (*.f64 a1 a1))))) |
(+.f64 (*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (cos.f64 th)) (fma.f64 (/.f64 0 (sqrt.f64 2)) (/.f64 (cos.f64 th) (*.f64 a1 a1)) (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2)))) |
(+.f64 (*.f64 (cos.f64 th) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))) 0) |
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/8 (pow.f64 a1 6)) (*.f64 -1/8 (pow.f64 a1 6))) (cos.f64 th)) (*.f64 (sqrt.f64 2) (pow.f64 a2 4))) (+.f64 (/.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 (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4))) (cos.f64 th)) (*.f64 (sqrt.f64 2) (pow.f64 a2 2)))))) |
(+.f64 (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (cos.f64 th))) (+.f64 (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2)) (*.f64 (/.f64 (*.f64 (pow.f64 a2 4) 0) (sqrt.f64 2)) (/.f64 (cos.f64 th) (*.f64 a1 a1))))) |
(+.f64 (*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (cos.f64 th)) (fma.f64 (/.f64 0 (sqrt.f64 2)) (/.f64 (cos.f64 th) (*.f64 a1 a1)) (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2)))) |
(+.f64 (*.f64 (cos.f64 th) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))) 0) |
(/.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 a2 (/.f64 (sqrt.f64 2) a2)) (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 (sqrt.f64 2) (cos.f64 th))) (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2))) |
(+.f64 (*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (cos.f64 th)) (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2))) |
(*.f64 (cos.f64 th) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))) |
(+.f64 (/.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 (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4))) (cos.f64 th)) (*.f64 (sqrt.f64 2) (pow.f64 a2 2))))) |
(+.f64 (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (cos.f64 th))) (+.f64 (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2)) (*.f64 (/.f64 (*.f64 (pow.f64 a2 4) 0) (sqrt.f64 2)) (/.f64 (cos.f64 th) (*.f64 a1 a1))))) |
(+.f64 (*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (cos.f64 th)) (fma.f64 (/.f64 0 (sqrt.f64 2)) (/.f64 (cos.f64 th) (*.f64 a1 a1)) (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2)))) |
(+.f64 (*.f64 (cos.f64 th) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))) 0) |
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/8 (pow.f64 a1 6)) (*.f64 -1/8 (pow.f64 a1 6))) (cos.f64 th)) (*.f64 (sqrt.f64 2) (pow.f64 a2 4))) (+.f64 (/.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 (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4))) (cos.f64 th)) (*.f64 (sqrt.f64 2) (pow.f64 a2 2)))))) |
(+.f64 (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (cos.f64 th))) (+.f64 (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2)) (*.f64 (/.f64 (*.f64 (pow.f64 a2 4) 0) (sqrt.f64 2)) (/.f64 (cos.f64 th) (*.f64 a1 a1))))) |
(+.f64 (*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (cos.f64 th)) (fma.f64 (/.f64 0 (sqrt.f64 2)) (/.f64 (cos.f64 th) (*.f64 a1 a1)) (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2)))) |
(+.f64 (*.f64 (cos.f64 th) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))) 0) |
(/.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 (*.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))) |
(+.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 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (+.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (fma.f64 -1/2 (*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (*.f64 th th)) (*.f64 1/24 (*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (pow.f64 th 4)))))) |
(+.f64 (fma.f64 1/24 (*.f64 (/.f64 (pow.f64 th 4) (sqrt.f64 2)) (fma.f64 a2 a2 (*.f64 a1 a1))) (*.f64 (/.f64 -1/2 (sqrt.f64 2)) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 th th)))) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))) |
(+.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 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (fma.f64 -1/2 (*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (*.f64 th th)) (*.f64 1/24 (*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (pow.f64 th 4))))) (fma.f64 -1/720 (*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (pow.f64 th 6)) (/.f64 a2 (/.f64 (sqrt.f64 2) a2)))) |
(+.f64 (+.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (fma.f64 1/24 (*.f64 (/.f64 (pow.f64 th 4) (sqrt.f64 2)) (fma.f64 a2 a2 (*.f64 a1 a1))) (*.f64 (/.f64 -1/2 (sqrt.f64 2)) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 th th))))) (fma.f64 -1/720 (*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (pow.f64 th 6)) (*.f64 (/.f64 a2 (sqrt.f64 2)) a2))) |
(/.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 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a2 a2 (*.f64 a1 a1))) |
(/.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 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a2 a2 (*.f64 a1 a1))) |
(/.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 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a2 a2 (*.f64 a1 a1))) |
(/.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 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a2 a2 (*.f64 a1 a1))) |
(/.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 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a2 a2 (*.f64 a1 a1))) |
(/.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 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a2 a2 (*.f64 a1 a1))) |
(/.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 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a2 a2 (*.f64 a1 a1))) |
(/.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 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th)) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a2 a2 (*.f64 a1 a1))) |
(sqrt.f64 2) |
(+.f64 (sqrt.f64 2) (*.f64 1/2 (*.f64 (sqrt.f64 2) (pow.f64 th 2)))) |
(+.f64 (sqrt.f64 2) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 th th)))) |
(fma.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 th th)) (sqrt.f64 2)) |
(fma.f64 1/2 (*.f64 th (*.f64 th (sqrt.f64 2))) (sqrt.f64 2)) |
(+.f64 (sqrt.f64 2) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 2) (pow.f64 th 2))) (*.f64 -1 (*.f64 (+.f64 (*.f64 1/24 (sqrt.f64 2)) (*.f64 -1/4 (sqrt.f64 2))) (pow.f64 th 4))))) |
(+.f64 (sqrt.f64 2) (fma.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 th th)) (neg.f64 (*.f64 (pow.f64 th 4) (*.f64 (sqrt.f64 2) -5/24))))) |
(-.f64 (fma.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 th th)) (sqrt.f64 2)) (*.f64 (pow.f64 th 4) (*.f64 (sqrt.f64 2) -5/24))) |
(+.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 2) (-.f64 (*.f64 (*.f64 th th) 1/2) (*.f64 -5/24 (pow.f64 th 4))))) |
(+.f64 (sqrt.f64 2) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/720 (sqrt.f64 2)) (+.f64 (*.f64 1/2 (+.f64 (*.f64 1/24 (sqrt.f64 2)) (*.f64 -1/4 (sqrt.f64 2)))) (*.f64 1/48 (sqrt.f64 2)))) (pow.f64 th 6))) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 2) (pow.f64 th 2))) (*.f64 -1 (*.f64 (+.f64 (*.f64 1/24 (sqrt.f64 2)) (*.f64 -1/4 (sqrt.f64 2))) (pow.f64 th 4)))))) |
(+.f64 (sqrt.f64 2) (fma.f64 -1 (*.f64 (pow.f64 th 6) (fma.f64 -1/720 (sqrt.f64 2) (fma.f64 1/2 (*.f64 (sqrt.f64 2) -5/24) (*.f64 (sqrt.f64 2) 1/48)))) (fma.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 th th)) (neg.f64 (*.f64 (pow.f64 th 4) (*.f64 (sqrt.f64 2) -5/24)))))) |
(+.f64 (sqrt.f64 2) (-.f64 (-.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 th th) 1/2)) (*.f64 (pow.f64 th 4) (*.f64 (sqrt.f64 2) -5/24))) (*.f64 (pow.f64 th 6) (fma.f64 (sqrt.f64 2) -1/720 (fma.f64 (sqrt.f64 2) 1/48 (*.f64 (sqrt.f64 2) -5/48)))))) |
(+.f64 (*.f64 (sqrt.f64 2) (-.f64 (*.f64 (*.f64 th th) 1/2) (*.f64 -5/24 (pow.f64 th 4)))) (-.f64 (sqrt.f64 2) (*.f64 (pow.f64 th 6) (fma.f64 (sqrt.f64 2) -1/720 (*.f64 (sqrt.f64 2) -1/12))))) |
a2 |
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 a1 2) a2)) a2) |
(fma.f64 1/2 (/.f64 (*.f64 a1 a1) a2) a2) |
(fma.f64 1/2 (/.f64 a1 (/.f64 a2 a1)) a2) |
(fma.f64 1/2 (*.f64 (/.f64 a1 a2) a1) a2) |
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 a1 2) a2)) a2)) |
(fma.f64 -1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3)) (fma.f64 1/2 (/.f64 (*.f64 a1 a1) a2) a2)) |
(fma.f64 -1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3)) (fma.f64 1/2 (/.f64 a1 (/.f64 a2 a1)) a2)) |
(fma.f64 -1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3)) (fma.f64 1/2 (*.f64 (/.f64 a1 a2) a1) a2)) |
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 a1 2) a2)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 a1 6) (pow.f64 a2 5))) a2))) |
(fma.f64 -1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3)) (fma.f64 1/2 (/.f64 (*.f64 a1 a1) a2) (fma.f64 1/16 (/.f64 (pow.f64 a1 6) (pow.f64 a2 5)) a2))) |
(fma.f64 -1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3)) (fma.f64 1/2 (/.f64 a1 (/.f64 a2 a1)) (fma.f64 1/16 (/.f64 (pow.f64 a1 6) (pow.f64 a2 5)) a2))) |
(fma.f64 -1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3)) (fma.f64 1/2 (*.f64 (/.f64 a1 a2) a1) (fma.f64 1/16 (/.f64 (pow.f64 a1 6) (pow.f64 a2 5)) a2))) |
a1 |
(+.f64 a1 (*.f64 1/2 (/.f64 (pow.f64 a2 2) a1))) |
(+.f64 a1 (*.f64 1/2 (/.f64 (*.f64 a2 a2) a1))) |
(fma.f64 1/2 (/.f64 a2 (/.f64 a1 a2)) a1) |
(fma.f64 1/2 (/.f64 (*.f64 a2 a2) a1) a1) |
(+.f64 a1 (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3))) (*.f64 1/2 (/.f64 (pow.f64 a2 2) a1)))) |
(+.f64 a1 (fma.f64 -1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3)) (*.f64 1/2 (/.f64 (*.f64 a2 a2) a1)))) |
(+.f64 a1 (fma.f64 -1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3)) (*.f64 1/2 (/.f64 a2 (/.f64 a1 a2))))) |
(+.f64 (fma.f64 1/2 (/.f64 (*.f64 a2 a2) a1) a1) (*.f64 -1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3)))) |
(+.f64 (*.f64 1/16 (/.f64 (pow.f64 a2 6) (pow.f64 a1 5))) (+.f64 a1 (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3))) (*.f64 1/2 (/.f64 (pow.f64 a2 2) a1))))) |
(fma.f64 1/16 (/.f64 (pow.f64 a2 6) (pow.f64 a1 5)) (+.f64 a1 (fma.f64 -1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3)) (*.f64 1/2 (/.f64 (*.f64 a2 a2) a1))))) |
(+.f64 (fma.f64 -1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3)) (*.f64 1/2 (/.f64 a2 (/.f64 a1 a2)))) (fma.f64 1/16 (/.f64 (pow.f64 a2 6) (pow.f64 a1 5)) a1)) |
(+.f64 (fma.f64 -1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3)) (*.f64 1/2 (/.f64 (*.f64 a2 a2) a1))) (fma.f64 1/16 (/.f64 (pow.f64 a2 6) (pow.f64 a1 5)) a1)) |
(*.f64 -1 a1) |
(neg.f64 a1) |
(+.f64 (*.f64 -1 a1) (*.f64 -1/2 (/.f64 (pow.f64 a2 2) a1))) |
(fma.f64 -1 a1 (*.f64 -1/2 (/.f64 (*.f64 a2 a2) a1))) |
(-.f64 (*.f64 -1/2 (/.f64 a2 (/.f64 a1 a2))) a1) |
(-.f64 (*.f64 -1/2 (/.f64 (*.f64 a2 a2) a1)) a1) |
(+.f64 (*.f64 -1 a1) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3))) (*.f64 -1/2 (/.f64 (pow.f64 a2 2) a1)))) |
(fma.f64 -1 a1 (fma.f64 1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3)) (*.f64 -1/2 (/.f64 (*.f64 a2 a2) a1)))) |
(-.f64 (fma.f64 -1/2 (/.f64 a2 (/.f64 a1 a2)) (*.f64 1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3)))) a1) |
(-.f64 (fma.f64 -1/2 (/.f64 (*.f64 a2 a2) a1) (*.f64 1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3)))) a1) |
(+.f64 (*.f64 -1 a1) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 a2 6) (pow.f64 a1 5))) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3))) (*.f64 -1/2 (/.f64 (pow.f64 a2 2) a1))))) |
(fma.f64 -1 a1 (fma.f64 -1/16 (/.f64 (pow.f64 a2 6) (pow.f64 a1 5)) (fma.f64 1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3)) (*.f64 -1/2 (/.f64 (*.f64 a2 a2) a1))))) |
(-.f64 (fma.f64 (/.f64 (pow.f64 a2 6) (pow.f64 a1 5)) -1/16 (fma.f64 -1/2 (/.f64 a2 (/.f64 a1 a2)) (*.f64 1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3))))) a1) |
(-.f64 (fma.f64 (/.f64 (pow.f64 a2 6) (pow.f64 a1 5)) -1/16 (fma.f64 -1/2 (/.f64 (*.f64 a2 a2) a1) (*.f64 1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3))))) a1) |
a1 |
(+.f64 a1 (*.f64 1/2 (/.f64 (pow.f64 a2 2) a1))) |
(+.f64 a1 (*.f64 1/2 (/.f64 (*.f64 a2 a2) a1))) |
(fma.f64 1/2 (/.f64 a2 (/.f64 a1 a2)) a1) |
(fma.f64 1/2 (/.f64 (*.f64 a2 a2) a1) a1) |
(+.f64 a1 (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3))) (*.f64 1/2 (/.f64 (pow.f64 a2 2) a1)))) |
(+.f64 a1 (fma.f64 -1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3)) (*.f64 1/2 (/.f64 (*.f64 a2 a2) a1)))) |
(+.f64 a1 (fma.f64 -1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3)) (*.f64 1/2 (/.f64 a2 (/.f64 a1 a2))))) |
(+.f64 (fma.f64 1/2 (/.f64 (*.f64 a2 a2) a1) a1) (*.f64 -1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3)))) |
(+.f64 (*.f64 1/16 (/.f64 (pow.f64 a2 6) (pow.f64 a1 5))) (+.f64 a1 (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3))) (*.f64 1/2 (/.f64 (pow.f64 a2 2) a1))))) |
(fma.f64 1/16 (/.f64 (pow.f64 a2 6) (pow.f64 a1 5)) (+.f64 a1 (fma.f64 -1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3)) (*.f64 1/2 (/.f64 (*.f64 a2 a2) a1))))) |
(+.f64 (fma.f64 -1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3)) (*.f64 1/2 (/.f64 a2 (/.f64 a1 a2)))) (fma.f64 1/16 (/.f64 (pow.f64 a2 6) (pow.f64 a1 5)) a1)) |
(+.f64 (fma.f64 -1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3)) (*.f64 1/2 (/.f64 (*.f64 a2 a2) a1))) (fma.f64 1/16 (/.f64 (pow.f64 a2 6) (pow.f64 a1 5)) a1)) |
a2 |
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 a1 2) a2)) a2) |
(fma.f64 1/2 (/.f64 (*.f64 a1 a1) a2) a2) |
(fma.f64 1/2 (/.f64 a1 (/.f64 a2 a1)) a2) |
(fma.f64 1/2 (*.f64 (/.f64 a1 a2) a1) a2) |
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 a1 2) a2)) a2)) |
(fma.f64 -1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3)) (fma.f64 1/2 (/.f64 (*.f64 a1 a1) a2) a2)) |
(fma.f64 -1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3)) (fma.f64 1/2 (/.f64 a1 (/.f64 a2 a1)) a2)) |
(fma.f64 -1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3)) (fma.f64 1/2 (*.f64 (/.f64 a1 a2) a1) a2)) |
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 a1 2) a2)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 a1 6) (pow.f64 a2 5))) a2))) |
(fma.f64 -1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3)) (fma.f64 1/2 (/.f64 (*.f64 a1 a1) a2) (fma.f64 1/16 (/.f64 (pow.f64 a1 6) (pow.f64 a2 5)) a2))) |
(fma.f64 -1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3)) (fma.f64 1/2 (/.f64 a1 (/.f64 a2 a1)) (fma.f64 1/16 (/.f64 (pow.f64 a1 6) (pow.f64 a2 5)) a2))) |
(fma.f64 -1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3)) (fma.f64 1/2 (*.f64 (/.f64 a1 a2) a1) (fma.f64 1/16 (/.f64 (pow.f64 a1 6) (pow.f64 a2 5)) a2))) |
(*.f64 -1 a2) |
(neg.f64 a2) |
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 a1 2) a2)) (*.f64 -1 a2)) |
(fma.f64 -1/2 (/.f64 (*.f64 a1 a1) a2) (neg.f64 a2)) |
(-.f64 (*.f64 -1/2 (/.f64 a1 (/.f64 a2 a1))) a2) |
(-.f64 (*.f64 (/.f64 -1/2 a2) (*.f64 a1 a1)) a2) |
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 a1 2) a2)) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3))) (*.f64 -1 a2))) |
(fma.f64 -1/2 (/.f64 (*.f64 a1 a1) a2) (fma.f64 1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3)) (neg.f64 a2))) |
(-.f64 (fma.f64 -1/2 (/.f64 a1 (/.f64 a2 a1)) (*.f64 1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3)))) a2) |
(-.f64 (fma.f64 -1/2 (*.f64 (/.f64 a1 a2) a1) (*.f64 1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3)))) a2) |
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 a1 2) a2)) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3))) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 a1 6) (pow.f64 a2 5))) (*.f64 -1 a2)))) |
(fma.f64 -1/2 (/.f64 (*.f64 a1 a1) a2) (fma.f64 1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3)) (fma.f64 -1/16 (/.f64 (pow.f64 a1 6) (pow.f64 a2 5)) (neg.f64 a2)))) |
(fma.f64 -1/2 (/.f64 a1 (/.f64 a2 a1)) (-.f64 (fma.f64 1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3)) (*.f64 (/.f64 (pow.f64 a1 6) (pow.f64 a2 5)) -1/16)) a2)) |
(fma.f64 -1/2 (*.f64 (/.f64 a1 a2) a1) (-.f64 (fma.f64 1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3)) (*.f64 (/.f64 -1/16 (pow.f64 a2 5)) (pow.f64 a1 6))) a2)) |
(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 (*.f64 (+.f64 (*.f64 -1 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6))))) (*.f64 5/64 (/.f64 1 (pow.f64 a2 6)))) (pow.f64 a1 8)) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2))) |
(fma.f64 (fma.f64 -1 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (/.f64 5/64 (pow.f64 a2 6))) (pow.f64 a1 8) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) |
(fma.f64 (-.f64 (/.f64 5/64 (pow.f64 a2 6)) (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6)))) (pow.f64 a1 8) (fma.f64 a2 a2 (*.f64 a1 a1))) |
(fma.f64 (+.f64 (neg.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2)) (*.f64 (/.f64 1 (pow.f64 a2 6)) 1/64)) (pow.f64 a1 8) (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 (*.f64 -1/4 (/.f64 (pow.f64 a2 4) (pow.f64 a1 2))) (+.f64 (pow.f64 a2 2) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 a2 4) (pow.f64 a1 2))) (pow.f64 a1 2)))) |
(fma.f64 -1/4 (/.f64 (pow.f64 a2 4) (*.f64 a1 a1)) (+.f64 (*.f64 a2 a2) (fma.f64 1/4 (/.f64 (pow.f64 a2 4) (*.f64 a1 a1)) (*.f64 a1 a1)))) |
(fma.f64 -1/4 (/.f64 (pow.f64 a2 4) (*.f64 a1 a1)) (fma.f64 a2 a2 (fma.f64 a1 a1 (*.f64 (/.f64 (pow.f64 a2 4) a1) (/.f64 1/4 a1))))) |
(fma.f64 -1/4 (/.f64 (pow.f64 a2 4) (*.f64 a1 a1)) (fma.f64 a2 a2 (fma.f64 a1 a1 (*.f64 1/4 (/.f64 (pow.f64 a2 4) (*.f64 a1 a1)))))) |
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a2 6) (pow.f64 a1 4))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 a2 4) (pow.f64 a1 2))) (+.f64 (pow.f64 a2 2) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 a2 4) (pow.f64 a1 2))) (+.f64 (pow.f64 a1 2) (*.f64 1/8 (/.f64 (pow.f64 a2 6) (pow.f64 a1 4)))))))) |
(fma.f64 -1/8 (/.f64 (pow.f64 a2 6) (pow.f64 a1 4)) (fma.f64 -1/4 (/.f64 (pow.f64 a2 4) (*.f64 a1 a1)) (+.f64 (*.f64 a2 a2) (+.f64 (fma.f64 1/4 (/.f64 (pow.f64 a2 4) (*.f64 a1 a1)) (*.f64 a1 a1)) (*.f64 1/8 (/.f64 (pow.f64 a2 6) (pow.f64 a1 4))))))) |
(fma.f64 -1/8 (/.f64 (pow.f64 a2 6) (pow.f64 a1 4)) (fma.f64 -1/4 (/.f64 (pow.f64 a2 4) (*.f64 a1 a1)) (fma.f64 a2 a2 (fma.f64 1/4 (/.f64 (pow.f64 a2 4) (*.f64 a1 a1)) (fma.f64 a1 a1 (*.f64 1/8 (/.f64 (pow.f64 a2 6) (pow.f64 a1 4)))))))) |
(fma.f64 -1/8 (/.f64 (pow.f64 a2 6) (pow.f64 a1 4)) (fma.f64 -1/4 (/.f64 (pow.f64 a2 4) (*.f64 a1 a1)) (fma.f64 a2 a2 (fma.f64 1/4 (/.f64 (pow.f64 a2 4) (*.f64 a1 a1)) (fma.f64 a1 a1 (*.f64 (/.f64 1/8 (pow.f64 a1 4)) (pow.f64 a2 6))))))) |
(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 (*.f64 -1/4 (/.f64 (pow.f64 a2 4) (pow.f64 a1 2))) (+.f64 (pow.f64 a2 2) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 a2 4) (pow.f64 a1 2))) (pow.f64 a1 2)))) |
(fma.f64 -1/4 (/.f64 (pow.f64 a2 4) (*.f64 a1 a1)) (+.f64 (*.f64 a2 a2) (fma.f64 1/4 (/.f64 (pow.f64 a2 4) (*.f64 a1 a1)) (*.f64 a1 a1)))) |
(fma.f64 -1/4 (/.f64 (pow.f64 a2 4) (*.f64 a1 a1)) (fma.f64 a2 a2 (fma.f64 a1 a1 (*.f64 (/.f64 (pow.f64 a2 4) a1) (/.f64 1/4 a1))))) |
(fma.f64 -1/4 (/.f64 (pow.f64 a2 4) (*.f64 a1 a1)) (fma.f64 a2 a2 (fma.f64 a1 a1 (*.f64 1/4 (/.f64 (pow.f64 a2 4) (*.f64 a1 a1)))))) |
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a2 6) (pow.f64 a1 4))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 a2 4) (pow.f64 a1 2))) (+.f64 (pow.f64 a2 2) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 a2 4) (pow.f64 a1 2))) (+.f64 (pow.f64 a1 2) (*.f64 1/8 (/.f64 (pow.f64 a2 6) (pow.f64 a1 4)))))))) |
(fma.f64 -1/8 (/.f64 (pow.f64 a2 6) (pow.f64 a1 4)) (fma.f64 -1/4 (/.f64 (pow.f64 a2 4) (*.f64 a1 a1)) (+.f64 (*.f64 a2 a2) (+.f64 (fma.f64 1/4 (/.f64 (pow.f64 a2 4) (*.f64 a1 a1)) (*.f64 a1 a1)) (*.f64 1/8 (/.f64 (pow.f64 a2 6) (pow.f64 a1 4))))))) |
(fma.f64 -1/8 (/.f64 (pow.f64 a2 6) (pow.f64 a1 4)) (fma.f64 -1/4 (/.f64 (pow.f64 a2 4) (*.f64 a1 a1)) (fma.f64 a2 a2 (fma.f64 1/4 (/.f64 (pow.f64 a2 4) (*.f64 a1 a1)) (fma.f64 a1 a1 (*.f64 1/8 (/.f64 (pow.f64 a2 6) (pow.f64 a1 4)))))))) |
(fma.f64 -1/8 (/.f64 (pow.f64 a2 6) (pow.f64 a1 4)) (fma.f64 -1/4 (/.f64 (pow.f64 a2 4) (*.f64 a1 a1)) (fma.f64 a2 a2 (fma.f64 1/4 (/.f64 (pow.f64 a2 4) (*.f64 a1 a1)) (fma.f64 a1 a1 (*.f64 (/.f64 1/8 (pow.f64 a1 4)) (pow.f64 a2 6))))))) |
(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) (+.f64 (*.f64 (+.f64 (*.f64 -1 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (*.f64 5/64 (/.f64 1 (pow.f64 a1 6)))) (pow.f64 a2 8)) (pow.f64 a1 2))) |
(+.f64 (*.f64 a2 a2) (fma.f64 (fma.f64 -1 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (/.f64 5/64 (pow.f64 a1 6))) (pow.f64 a2 8) (*.f64 a1 a1))) |
(fma.f64 a2 a2 (fma.f64 a1 a1 (*.f64 (pow.f64 a2 8) (-.f64 (/.f64 5/64 (pow.f64 a1 6)) (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)))))) |
(fma.f64 a2 a2 (fma.f64 (pow.f64 a2 8) (-.f64 (*.f64 (/.f64 1 (pow.f64 a1 6)) 1/64) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (*.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 (*.f64 1/4 (/.f64 (pow.f64 a1 4) (pow.f64 a2 2))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 a1 4) (pow.f64 a2 2))) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)))) |
(fma.f64 1/4 (/.f64 (pow.f64 a1 4) (*.f64 a2 a2)) (fma.f64 -1/4 (/.f64 (pow.f64 a1 4) (*.f64 a2 a2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))) |
(+.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (/.f64 (pow.f64 a1 4) (*.f64 a2 a2)) 0)) |
(+.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) 0) |
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 a1 4) (pow.f64 a2 2))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a1 6) (pow.f64 a2 4))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 a1 4) (pow.f64 a2 2))) (+.f64 (pow.f64 a2 2) (+.f64 (pow.f64 a1 2) (*.f64 1/8 (/.f64 (pow.f64 a1 6) (pow.f64 a2 4)))))))) |
(fma.f64 1/4 (/.f64 (pow.f64 a1 4) (*.f64 a2 a2)) (fma.f64 -1/8 (/.f64 (pow.f64 a1 6) (pow.f64 a2 4)) (fma.f64 -1/4 (/.f64 (pow.f64 a1 4) (*.f64 a2 a2)) (+.f64 (*.f64 a2 a2) (+.f64 (*.f64 a1 a1) (*.f64 1/8 (/.f64 (pow.f64 a1 6) (pow.f64 a2 4)))))))) |
(fma.f64 1/4 (/.f64 (pow.f64 a1 4) (*.f64 a2 a2)) (fma.f64 -1/8 (/.f64 (pow.f64 a1 6) (pow.f64 a2 4)) (fma.f64 -1/4 (/.f64 (pow.f64 a1 4) (*.f64 a2 a2)) (fma.f64 a2 a2 (fma.f64 a1 a1 (/.f64 1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 6)))))))) |
(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 (*.f64 1/4 (/.f64 (pow.f64 a1 4) (pow.f64 a2 2))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 a1 4) (pow.f64 a2 2))) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)))) |
(fma.f64 1/4 (/.f64 (pow.f64 a1 4) (*.f64 a2 a2)) (fma.f64 -1/4 (/.f64 (pow.f64 a1 4) (*.f64 a2 a2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))) |
(+.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (/.f64 (pow.f64 a1 4) (*.f64 a2 a2)) 0)) |
(+.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) 0) |
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 a1 4) (pow.f64 a2 2))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a1 6) (pow.f64 a2 4))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 a1 4) (pow.f64 a2 2))) (+.f64 (pow.f64 a2 2) (+.f64 (pow.f64 a1 2) (*.f64 1/8 (/.f64 (pow.f64 a1 6) (pow.f64 a2 4)))))))) |
(fma.f64 1/4 (/.f64 (pow.f64 a1 4) (*.f64 a2 a2)) (fma.f64 -1/8 (/.f64 (pow.f64 a1 6) (pow.f64 a2 4)) (fma.f64 -1/4 (/.f64 (pow.f64 a1 4) (*.f64 a2 a2)) (+.f64 (*.f64 a2 a2) (+.f64 (*.f64 a1 a1) (*.f64 1/8 (/.f64 (pow.f64 a1 6) (pow.f64 a2 4)))))))) |
(fma.f64 1/4 (/.f64 (pow.f64 a1 4) (*.f64 a2 a2)) (fma.f64 -1/8 (/.f64 (pow.f64 a1 6) (pow.f64 a2 4)) (fma.f64 -1/4 (/.f64 (pow.f64 a1 4) (*.f64 a2 a2)) (fma.f64 a2 a2 (fma.f64 a1 a1 (/.f64 1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 6)))))))) |
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (pow.f64 (hypot.f64 a1 a2) 4) |
| ✓ | 0.2b | (pow.f64 (cos.f64 th) 2) |
| ✓ | 0.3b | (*.f64 (*.f64 (pow.f64 (cos.f64 th) 2) 1/2) (pow.f64 (hypot.f64 a1 a2) 4)) |
| ✓ | 26.3b | (sqrt.f64 (*.f64 (*.f64 (pow.f64 (cos.f64 th) 2) 1/2) (pow.f64 (hypot.f64 a1 a2) 4))) |
Compiled 54 to 31 computations (42.6% saved)
27 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 7.0ms | th | @ | -inf | (*.f64 (*.f64 (pow.f64 (cos.f64 th) 2) 1/2) (pow.f64 (hypot.f64 a1 a2) 4)) |
| 5.0ms | a2 | @ | 0 | (sqrt.f64 (*.f64 (*.f64 (pow.f64 (cos.f64 th) 2) 1/2) (pow.f64 (hypot.f64 a1 a2) 4))) |
| 2.0ms | a1 | @ | 0 | (*.f64 (*.f64 (pow.f64 (cos.f64 th) 2) 1/2) (pow.f64 (hypot.f64 a1 a2) 4)) |
| 1.0ms | a2 | @ | 0 | (*.f64 (*.f64 (pow.f64 (cos.f64 th) 2) 1/2) (pow.f64 (hypot.f64 a1 a2) 4)) |
| 1.0ms | th | @ | inf | (*.f64 (*.f64 (pow.f64 (cos.f64 th) 2) 1/2) (pow.f64 (hypot.f64 a1 a2) 4)) |
| 1× | batch-egg-rewrite |
| 592× | log-prod_binary64 |
| 354× | pow-prod-down_binary64 |
| 327× | pow2_binary64 |
| 228× | pow-unpow_binary64 |
| 227× | expm1-udef_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 14 | 51 |
| 1 | 287 | 48 |
| 2 | 3095 | 48 |
| 1× | node limit |
| Inputs |
|---|
(sqrt.f64 (*.f64 (*.f64 (pow.f64 (cos.f64 th) 2) 1/2) (pow.f64 (hypot.f64 a1 a2) 4))) |
(*.f64 (*.f64 (pow.f64 (cos.f64 th) 2) 1/2) (pow.f64 (hypot.f64 a1 a2) 4)) |
(pow.f64 (cos.f64 th) 2) |
(pow.f64 (hypot.f64 a1 a2) 4) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (cos.f64 th) (sqrt.f64 (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 (sqrt.f64 1/2)) (cos.f64 th)) (pow.f64 (hypot.f64 a1 a2) 2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 (sqrt.f64 1/2)) (cos.f64 th)) (pow.f64 (hypot.f64 a1 a2) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 (sqrt.f64 1/2)) (cos.f64 th)) (pow.f64 (hypot.f64 a1 a2) 2)))) (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 (sqrt.f64 1/2)) (cos.f64 th)) (pow.f64 (hypot.f64 a1 a2) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 th) (sqrt.f64 (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 th) (sqrt.f64 (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 th) (sqrt.f64 (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (cos.f64 th) (sqrt.f64 (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (hypot.f64 a1 a2) 2) (*.f64 (cos.f64 th) (sqrt.f64 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (cos.f64 th) (sqrt.f64 (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4))))) (cbrt.f64 (*.f64 (pow.f64 (cos.f64 th) 2) (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (pow.f64 (cos.f64 th) 2) (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4)))) (cbrt.f64 (*.f64 (cos.f64 th) (sqrt.f64 (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (*.f64 (cos.f64 th) (sqrt.f64 1/2))) (hypot.f64 a1 a2)) (*.f64 (sqrt.f64 (*.f64 (cos.f64 th) (sqrt.f64 1/2))) (hypot.f64 a1 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 th) (sqrt.f64 1/2)) (pow.f64 (hypot.f64 a1 a2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (cos.f64 th) 2) (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 th) (sqrt.f64 (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 (*.f64 (cos.f64 th) (sqrt.f64 1/2))) (hypot.f64 a1 a2)) 6) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 8) (*.f64 (pow.f64 (cos.f64 th) 4) 1/4)) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 12) (pow.f64 (*.f64 (cos.f64 th) (sqrt.f64 1/2)) 6)) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (cos.f64 th) (sqrt.f64 (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (pow.f64 (cos.f64 th) 2) (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4)))) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 (*.f64 (cos.f64 th) (sqrt.f64 1/2))) (hypot.f64 a1 a2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (*.f64 (cos.f64 th) (sqrt.f64 (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (pow.f64 (exp.f64 (sqrt.f64 1/2)) (cos.f64 th)) (pow.f64 (hypot.f64 a1 a2) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 th) (sqrt.f64 (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (*.f64 (cos.f64 th) (sqrt.f64 1/2))) (hypot.f64 a1 a2)) 6))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (cos.f64 th) (sqrt.f64 (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (cos.f64 th) (sqrt.f64 (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (cos.f64 th) (sqrt.f64 (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 (cos.f64 th) 2) (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 th) (sqrt.f64 (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (sqrt.f64 (*.f64 (cos.f64 th) (sqrt.f64 1/2))) (hypot.f64 a1 a2)) 6)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (cos.f64 th) (sqrt.f64 (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4)))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (*.f64 (cos.f64 th) (sqrt.f64 1/2))) (hypot.f64 a1 a2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (pow.f64 (cos.f64 th) 2) (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4)))) 1) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (pow.f64 (cos.f64 th) 2) (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4)))) 1/2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (cos.f64 th) (sqrt.f64 (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4))))) 1) 1)))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (pow.f64 (cos.f64 th) 2) (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (pow.f64 (cos.f64 th) 2))) (pow.f64 (hypot.f64 a1 a2) 4))) 2)) (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (pow.f64 (cos.f64 th) 2))) (pow.f64 (hypot.f64 a1 a2) 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (pow.f64 (cos.f64 th) 2))) (pow.f64 (hypot.f64 a1 a2) 4)))) (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (pow.f64 (cos.f64 th) 2))) (pow.f64 (hypot.f64 a1 a2) 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 (cos.f64 th) 2) (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (cos.f64 th) 2) (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 th) (sqrt.f64 (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 (*.f64 (cos.f64 th) (sqrt.f64 1/2))) (hypot.f64 a1 a2)) 6) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 8) (*.f64 (pow.f64 (cos.f64 th) 4) 1/4)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 12) (pow.f64 (*.f64 (cos.f64 th) (sqrt.f64 1/2)) 6)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (cos.f64 th) (sqrt.f64 (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4))))) 6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (pow.f64 (cos.f64 th) 2) (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 (*.f64 (cos.f64 th) (sqrt.f64 1/2))) (hypot.f64 a1 a2)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 8) (*.f64 (pow.f64 (cos.f64 th) 4) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (sqrt.f64 (exp.f64 (pow.f64 (cos.f64 th) 2))) (pow.f64 (hypot.f64 a1 a2) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 (cos.f64 th) 2) (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 12) (pow.f64 (*.f64 (cos.f64 th) (sqrt.f64 1/2)) 6)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (pow.f64 (cos.f64 th) 2) (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (pow.f64 (cos.f64 th) 2) (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (pow.f64 (cos.f64 th) 2) (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 (cos.f64 th) 2) (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 th) (sqrt.f64 (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 8) (*.f64 (pow.f64 (cos.f64 th) 4) 1/4))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 12) (pow.f64 (*.f64 (cos.f64 th) (sqrt.f64 1/2)) 6))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (pow.f64 (cos.f64 th) 2) (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (pow.f64 (cos.f64 th) 2) (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4)))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (pow.f64 (cos.f64 th) 2) (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4)))) 1/2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (cos.f64 th) (sqrt.f64 (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4))))) 1) 2)))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 1/2 (*.f64 1/2 (cos.f64 (+.f64 th th))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 (cos.f64 th) 2) 1/2) (*.f64 (pow.f64 (cos.f64 th) 2) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (cos.f64 th) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 (cos.f64 th) 2))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (cos.f64 th) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 (cos.f64 th) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 th) (cos.f64 th))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cos.f64 th) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (cos.f64 th) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cos.f64 th)) 4) (cbrt.f64 (pow.f64 (cos.f64 th) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (cos.f64 th) 2)) (pow.f64 (cbrt.f64 (cos.f64 th)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cos.f64 th)) (pow.f64 (cos.f64 th) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cos.f64 th) 3/2) (sqrt.f64 (cos.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cos.f64 th)) 5) (cbrt.f64 (cos.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (cos.f64 (+.f64 th th)) (cos.f64 (-.f64 th th))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cos.f64 th) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (cos.f64 th) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (cos.f64 th) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (cos.f64 th) 6))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (cos.f64 th) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (cos.f64 th) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 2 (log.f64 (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (cos.f64 th))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (cos.f64 th) 6)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (pow.f64 (cos.f64 th) 2))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (cos.f64 th)) 1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (*.f64 2 (log.f64 (cos.f64 th))) 1) 1)))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4)) (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (hypot.f64 a1 a2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 (hypot.f64 a1 a2) 4))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (hypot.f64 a1 a2) 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 (hypot.f64 a1 a2) 4))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (hypot.f64 a1 a2) 4) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (hypot.f64 a1 a2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (hypot.f64 a1 a2) 2) (pow.f64 (hypot.f64 a1 a2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (hypot.f64 a1 a2)) 4) (cbrt.f64 (pow.f64 (hypot.f64 a1 a2) 8)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (hypot.f64 a1 a2) 8)) (pow.f64 (cbrt.f64 (hypot.f64 a1 a2)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (hypot.f64 a1 a2)) 8) (pow.f64 (cbrt.f64 (hypot.f64 a1 a2)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (hypot.f64 a1 a2) 8))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (hypot.f64 a1 a2) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (hypot.f64 a1 a2) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (hypot.f64 a1 a2) 12))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (hypot.f64 a1 a2) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (hypot.f64 a1 a2) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 4 (log.f64 (hypot.f64 a1 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 4 (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) 12)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (hypot.f64 a1 a2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (cbrt.f64 (hypot.f64 a1 a2)) 4)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (hypot.f64 a1 a2)) 1) 4))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (*.f64 4 (log.f64 (hypot.f64 a1 a2))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (hypot.f64 a1 a2)) 2) 2)))))) |
| 1× | egg-herbie |
| 500× | times-frac_binary64 |
| 449× | associate-/l*_binary64 |
| 439× | fma-def_binary64 |
| 424× | associate-/r*_binary64 |
| 273× | distribute-rgt-out_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 309 | 3505 |
| 1 | 991 | 3121 |
| 2 | 4052 | 2717 |
| 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 (*.f64 (+.f64 (*.f64 -1 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6))))) (*.f64 5/64 (/.f64 1 (pow.f64 a2 6)))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 8) (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 (*.f64 (+.f64 (*.f64 -1 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6))))) (*.f64 5/64 (/.f64 1 (pow.f64 a2 6)))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 8) (cos.f64 th)))) (+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 12) (*.f64 (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 a2 8))) (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6)))) (pow.f64 a2 2)))) (pow.f64 a2 2))) (+.f64 (*.f64 -1 (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 a2 8))) (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6)))) (pow.f64 a2 2)))) (pow.f64 a2 2))) (+.f64 (pow.f64 (/.f64 1/16 (pow.f64 a2 5)) 2) (*.f64 1/8 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6)))) (pow.f64 a2 4)))))) (+.f64 (*.f64 1/8 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6)))) (pow.f64 a2 4))) (*.f64 1/256 (/.f64 1 (pow.f64 a2 10)))))) (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 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (cos.f64 th))) (pow.f64 a1 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 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 1/8 (pow.f64 a2 6)) (*.f64 -1/8 (pow.f64 a2 6))) (cos.f64 th))) (pow.f64 a1 4)) (+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (cos.f64 th))) (pow.f64 a1 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 (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 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (cos.f64 th))) (pow.f64 a1 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 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 1/8 (pow.f64 a2 6)) (*.f64 -1/8 (pow.f64 a2 6))) (cos.f64 th))) (pow.f64 a1 4)) (+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (cos.f64 th))) (pow.f64 a1 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 (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 (+.f64 (*.f64 -1 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (*.f64 5/64 (/.f64 1 (pow.f64 a1 6)))) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a2 8)))) (+.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 (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 a1 8))) (*.f64 -1/2 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 2)))) (pow.f64 a1 2))) (+.f64 (*.f64 1/8 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 4))) (+.f64 (*.f64 1/256 (/.f64 1 (pow.f64 a1 10))) (*.f64 -1 (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 a1 8))) (*.f64 -1/2 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 2)))) (pow.f64 a1 2))) (+.f64 (pow.f64 (/.f64 1/16 (pow.f64 a1 5)) 2) (*.f64 1/8 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 4))))))))) (*.f64 (pow.f64 a2 12) (cos.f64 th)))) (+.f64 (*.f64 (+.f64 (*.f64 -1 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (*.f64 5/64 (/.f64 1 (pow.f64 a1 6)))) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a2 8)))) (+.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 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4))) (cos.f64 th))) (pow.f64 a2 2)) (*.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 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4))) (cos.f64 th))) (pow.f64 a2 2)) (+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))) (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 1/8 (pow.f64 a1 6)) (*.f64 -1/8 (pow.f64 a1 6))) (cos.f64 th))) (pow.f64 a2 4))))) |
(*.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 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4))) (cos.f64 th))) (pow.f64 a2 2)) (*.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 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4))) (cos.f64 th))) (pow.f64 a2 2)) (+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))) (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 1/8 (pow.f64 a1 6)) (*.f64 -1/8 (pow.f64 a1 6))) (cos.f64 th))) (pow.f64 a2 4))))) |
(*.f64 1/2 (pow.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) 2)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) 2) (pow.f64 th 2))) (*.f64 1/2 (pow.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) 2))) |
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) 2) (pow.f64 th 4))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) 2) (pow.f64 th 2))) (*.f64 1/2 (pow.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) 2)))) |
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) 2) (pow.f64 th 4))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) 2) (pow.f64 th 2))) (+.f64 (*.f64 -1/45 (*.f64 (pow.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) 2) (pow.f64 th 6))) (*.f64 1/2 (pow.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) 2))))) |
(*.f64 1/2 (*.f64 (pow.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) 2) (pow.f64 (cos.f64 th) 2))) |
(*.f64 1/2 (*.f64 (pow.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) 2) (pow.f64 (cos.f64 th) 2))) |
(*.f64 1/2 (*.f64 (pow.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) 2) (pow.f64 (cos.f64 th) 2))) |
(*.f64 1/2 (*.f64 (pow.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) 2) (pow.f64 (cos.f64 th) 2))) |
(*.f64 1/2 (*.f64 (pow.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) 2) (pow.f64 (cos.f64 th) 2))) |
(*.f64 1/2 (*.f64 (pow.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) 2) (pow.f64 (cos.f64 th) 2))) |
(*.f64 1/2 (*.f64 (pow.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) 2) (pow.f64 (cos.f64 th) 2))) |
(*.f64 1/2 (*.f64 (pow.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) 2) (pow.f64 (cos.f64 th) 2))) |
(*.f64 1/2 (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2))) |
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2))) (*.f64 (pow.f64 a1 2) (*.f64 (pow.f64 (cos.f64 th) 2) (pow.f64 a2 2)))) |
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2))) (*.f64 (pow.f64 a1 2) (*.f64 (pow.f64 (cos.f64 th) 2) (pow.f64 a2 2))))) |
(+.f64 (*.f64 (+.f64 (*.f64 -1 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6))))) (*.f64 5/64 (/.f64 1 (pow.f64 a2 6)))) (*.f64 (pow.f64 a1 8) (*.f64 (pow.f64 (cos.f64 th) 2) (pow.f64 a2 2)))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2))) (*.f64 (pow.f64 a1 2) (*.f64 (pow.f64 (cos.f64 th) 2) (pow.f64 a2 2)))))) |
(*.f64 1/2 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2))) |
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2))) (*.f64 (pow.f64 a1 2) (*.f64 (pow.f64 (cos.f64 th) 2) (pow.f64 a2 2)))) |
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2))) (+.f64 (*.f64 (pow.f64 a1 2) (*.f64 (pow.f64 (cos.f64 th) 2) (pow.f64 a2 2))) (*.f64 1/2 (*.f64 (+.f64 (*.f64 -1/2 (pow.f64 a2 4)) (+.f64 (*.f64 1/2 (pow.f64 a2 4)) (pow.f64 a2 4))) (pow.f64 (cos.f64 th) 2))))) |
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2))) (+.f64 (*.f64 (pow.f64 a1 2) (*.f64 (pow.f64 (cos.f64 th) 2) (pow.f64 a2 2))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (pow.f64 a2 2))) (+.f64 (*.f64 -1/4 (pow.f64 a2 6)) (*.f64 1/4 (pow.f64 a2 6)))) (pow.f64 (cos.f64 th) 2)) (pow.f64 a1 2))) (*.f64 1/2 (*.f64 (+.f64 (*.f64 -1/2 (pow.f64 a2 4)) (+.f64 (*.f64 1/2 (pow.f64 a2 4)) (pow.f64 a2 4))) (pow.f64 (cos.f64 th) 2)))))) |
(*.f64 1/2 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2))) |
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2))) (*.f64 (pow.f64 a1 2) (*.f64 (pow.f64 (cos.f64 th) 2) (pow.f64 a2 2)))) |
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2))) (+.f64 (*.f64 (pow.f64 a1 2) (*.f64 (pow.f64 (cos.f64 th) 2) (pow.f64 a2 2))) (*.f64 1/2 (*.f64 (+.f64 (*.f64 -1/2 (pow.f64 a2 4)) (+.f64 (*.f64 1/2 (pow.f64 a2 4)) (pow.f64 a2 4))) (pow.f64 (cos.f64 th) 2))))) |
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2))) (+.f64 (*.f64 (pow.f64 a1 2) (*.f64 (pow.f64 (cos.f64 th) 2) (pow.f64 a2 2))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (pow.f64 a2 2))) (+.f64 (*.f64 -1/4 (pow.f64 a2 6)) (*.f64 1/4 (pow.f64 a2 6)))) (pow.f64 (cos.f64 th) 2)) (pow.f64 a1 2))) (*.f64 1/2 (*.f64 (+.f64 (*.f64 -1/2 (pow.f64 a2 4)) (+.f64 (*.f64 1/2 (pow.f64 a2 4)) (pow.f64 a2 4))) (pow.f64 (cos.f64 th) 2)))))) |
(*.f64 1/2 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2))) |
(+.f64 (*.f64 (pow.f64 a1 2) (*.f64 (pow.f64 a2 2) (pow.f64 (cos.f64 th) 2))) (*.f64 1/2 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2)))) |
(+.f64 (*.f64 (pow.f64 a1 2) (*.f64 (pow.f64 a2 2) (pow.f64 (cos.f64 th) 2))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2))) (*.f64 1/2 (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2))))) |
(+.f64 (*.f64 (+.f64 (*.f64 -1 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (*.f64 5/64 (/.f64 1 (pow.f64 a1 6)))) (*.f64 (pow.f64 a1 2) (*.f64 (pow.f64 (cos.f64 th) 2) (pow.f64 a2 8)))) (+.f64 (*.f64 (pow.f64 a1 2) (*.f64 (pow.f64 a2 2) (pow.f64 (cos.f64 th) 2))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2))) (*.f64 1/2 (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2)))))) |
(*.f64 1/2 (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2))) |
(+.f64 (*.f64 (pow.f64 a1 2) (*.f64 (pow.f64 a2 2) (pow.f64 (cos.f64 th) 2))) (*.f64 1/2 (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2)))) |
(+.f64 (*.f64 (pow.f64 a1 2) (*.f64 (pow.f64 a2 2) (pow.f64 (cos.f64 th) 2))) (+.f64 (*.f64 1/2 (*.f64 (+.f64 (pow.f64 a1 4) (+.f64 (*.f64 1/2 (pow.f64 a1 4)) (*.f64 -1/2 (pow.f64 a1 4)))) (pow.f64 (cos.f64 th) 2))) (*.f64 1/2 (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2))))) |
(+.f64 (*.f64 (pow.f64 a1 2) (*.f64 (pow.f64 a2 2) (pow.f64 (cos.f64 th) 2))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a1 6)) (+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4))))) (*.f64 1/4 (pow.f64 a1 6)))) (pow.f64 (cos.f64 th) 2)) (pow.f64 a2 2))) (+.f64 (*.f64 1/2 (*.f64 (+.f64 (pow.f64 a1 4) (+.f64 (*.f64 1/2 (pow.f64 a1 4)) (*.f64 -1/2 (pow.f64 a1 4)))) (pow.f64 (cos.f64 th) 2))) (*.f64 1/2 (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2)))))) |
(*.f64 1/2 (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2))) |
(+.f64 (*.f64 (pow.f64 a1 2) (*.f64 (pow.f64 a2 2) (pow.f64 (cos.f64 th) 2))) (*.f64 1/2 (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2)))) |
(+.f64 (*.f64 (pow.f64 a1 2) (*.f64 (pow.f64 a2 2) (pow.f64 (cos.f64 th) 2))) (+.f64 (*.f64 1/2 (*.f64 (+.f64 (pow.f64 a1 4) (+.f64 (*.f64 1/2 (pow.f64 a1 4)) (*.f64 -1/2 (pow.f64 a1 4)))) (pow.f64 (cos.f64 th) 2))) (*.f64 1/2 (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2))))) |
(+.f64 (*.f64 (pow.f64 a1 2) (*.f64 (pow.f64 a2 2) (pow.f64 (cos.f64 th) 2))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a1 6)) (+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4))))) (*.f64 1/4 (pow.f64 a1 6)))) (pow.f64 (cos.f64 th) 2)) (pow.f64 a2 2))) (+.f64 (*.f64 1/2 (*.f64 (+.f64 (pow.f64 a1 4) (+.f64 (*.f64 1/2 (pow.f64 a1 4)) (*.f64 -1/2 (pow.f64 a1 4)))) (pow.f64 (cos.f64 th) 2))) (*.f64 1/2 (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2)))))) |
1 |
(+.f64 1 (*.f64 -1 (pow.f64 th 2))) |
(+.f64 1 (+.f64 (*.f64 -1 (pow.f64 th 2)) (*.f64 1/3 (pow.f64 th 4)))) |
(+.f64 1 (+.f64 (*.f64 -1 (pow.f64 th 2)) (+.f64 (*.f64 -2/45 (pow.f64 th 6)) (*.f64 1/3 (pow.f64 th 4))))) |
(pow.f64 a2 4) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (pow.f64 a2 4)) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (+.f64 (pow.f64 a1 4) (pow.f64 a2 4))) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (+.f64 (pow.f64 a1 4) (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 -1 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6))))) (*.f64 5/64 (/.f64 1 (pow.f64 a2 6)))) (*.f64 (pow.f64 a1 8) (pow.f64 a2 2)))) (pow.f64 a2 4)))) |
(pow.f64 a1 4) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (pow.f64 a1 4)) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (+.f64 (pow.f64 a1 4) (+.f64 (*.f64 -1/2 (pow.f64 a2 4)) (+.f64 (*.f64 1/2 (pow.f64 a2 4)) (pow.f64 a2 4))))) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (+.f64 (pow.f64 a1 4) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 a2 6) (pow.f64 a1 2))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 a2 6) (pow.f64 a1 2))) (+.f64 (*.f64 -1/2 (pow.f64 a2 4)) (+.f64 (*.f64 1/2 (pow.f64 a2 4)) (+.f64 (pow.f64 a2 4) (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (pow.f64 a2 2)) (pow.f64 a1 2)))))))))) |
(pow.f64 a1 4) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (pow.f64 a1 4)) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (+.f64 (pow.f64 a1 4) (+.f64 (*.f64 -1/2 (pow.f64 a2 4)) (+.f64 (*.f64 1/2 (pow.f64 a2 4)) (pow.f64 a2 4))))) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (+.f64 (pow.f64 a1 4) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 a2 6) (pow.f64 a1 2))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 a2 6) (pow.f64 a1 2))) (+.f64 (*.f64 -1/2 (pow.f64 a2 4)) (+.f64 (*.f64 1/2 (pow.f64 a2 4)) (+.f64 (pow.f64 a2 4) (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (pow.f64 a2 2)) (pow.f64 a1 2)))))))))) |
(pow.f64 a1 4) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (pow.f64 a1 4)) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (+.f64 (pow.f64 a1 4) (pow.f64 a2 4))) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (+.f64 (pow.f64 a1 4) (+.f64 (pow.f64 a2 4) (*.f64 2 (*.f64 (+.f64 (*.f64 -1 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (*.f64 5/64 (/.f64 1 (pow.f64 a1 6)))) (*.f64 (pow.f64 a1 2) (pow.f64 a2 8))))))) |
(pow.f64 a2 4) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (pow.f64 a2 4)) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (+.f64 (pow.f64 a1 4) (+.f64 (*.f64 1/2 (pow.f64 a1 4)) (+.f64 (pow.f64 a2 4) (*.f64 -1/2 (pow.f64 a1 4)))))) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 a1 6) (pow.f64 a2 2))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 a1 6) (pow.f64 a2 2))) (+.f64 (pow.f64 a1 4) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 a1 2) (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4)))) (pow.f64 a2 2))) (+.f64 (*.f64 1/2 (pow.f64 a1 4)) (+.f64 (pow.f64 a2 4) (*.f64 -1/2 (pow.f64 a1 4))))))))) |
(pow.f64 a2 4) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (pow.f64 a2 4)) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (+.f64 (pow.f64 a1 4) (+.f64 (*.f64 1/2 (pow.f64 a1 4)) (+.f64 (pow.f64 a2 4) (*.f64 -1/2 (pow.f64 a1 4)))))) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 a1 6) (pow.f64 a2 2))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 a1 6) (pow.f64 a2 2))) (+.f64 (pow.f64 a1 4) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 a1 2) (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4)))) (pow.f64 a2 2))) (+.f64 (*.f64 1/2 (pow.f64 a1 4)) (+.f64 (pow.f64 a2 4) (*.f64 -1/2 (pow.f64 a1 4))))))))) |
| 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 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 th th)) -1/2))) |
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (+.f64 (sqrt.f64 1/2) (*.f64 (*.f64 (sqrt.f64 1/2) -1/2) (*.f64 th th)))) |
(+.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 (pow.f64 th 4) (sqrt.f64 1/2))) (fma.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 th th)) -1/2)))) |
(+.f64 (*.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 (*.f64 th th) -1/2) (*.f64 (pow.f64 th 4) 1/24)))) |
(+.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 (pow.f64 th 4) (sqrt.f64 1/2))) (fma.f64 -1/720 (*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (pow.f64 th 6))) (fma.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 th th)) -1/2))))) |
(+.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))) (+.f64 (*.f64 (*.f64 th th) -1/2) (*.f64 (pow.f64 th 6) -1/720))) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (+.f64 (sqrt.f64 1/2) (*.f64 (*.f64 (sqrt.f64 1/2) 1/24) (pow.f64 th 4))))) |
(*.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 (+.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 (+.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 (+.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 (+.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 (+.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 (+.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 (+.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 (pow.f64 a2 2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th))) |
(*.f64 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (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 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (+.f64 (*.f64 (+.f64 (*.f64 -1 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6))))) (*.f64 5/64 (/.f64 1 (pow.f64 a2 6)))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 8) (cos.f64 th)))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))) |
(fma.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a1 a1) (cos.f64 th)) (fma.f64 (fma.f64 -1 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (/.f64 5/64 (pow.f64 a2 6))) (*.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 8)) (cos.f64 th)) (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th))))) |
(+.f64 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 (cos.f64 th) (pow.f64 a1 8)) (-.f64 (/.f64 5/64 (pow.f64 a2 6)) (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))))))) |
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)) (*.f64 (+.f64 (neg.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2)) (*.f64 (/.f64 1 (pow.f64 a2 6)) 1/64)) (*.f64 (cos.f64 th) (pow.f64 a1 8))))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (+.f64 (*.f64 (+.f64 (*.f64 -1 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6))))) (*.f64 5/64 (/.f64 1 (pow.f64 a2 6)))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 8) (cos.f64 th)))) (+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 12) (*.f64 (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 a2 8))) (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6)))) (pow.f64 a2 2)))) (pow.f64 a2 2))) (+.f64 (*.f64 -1 (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 a2 8))) (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6)))) (pow.f64 a2 2)))) (pow.f64 a2 2))) (+.f64 (pow.f64 (/.f64 1/16 (pow.f64 a2 5)) 2) (*.f64 1/8 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6)))) (pow.f64 a2 4)))))) (+.f64 (*.f64 1/8 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6)))) (pow.f64 a2 4))) (*.f64 1/256 (/.f64 1 (pow.f64 a2 10)))))) (cos.f64 th))))))) |
(fma.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a1 a1) (cos.f64 th)) (fma.f64 (fma.f64 -1 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (/.f64 5/64 (pow.f64 a2 6))) (*.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 8)) (cos.f64 th)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (*.f64 (pow.f64 a1 12) (*.f64 (cos.f64 th) (fma.f64 1/2 (/.f64 (+.f64 (/.f64 1/64 (pow.f64 a2 8)) (*.f64 1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (*.f64 a2 a2)))) (*.f64 a2 a2)) (fma.f64 -1 (fma.f64 1/2 (/.f64 (+.f64 (/.f64 1/64 (pow.f64 a2 8)) (*.f64 1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (*.f64 a2 a2)))) (*.f64 a2 a2)) (+.f64 (pow.f64 (/.f64 1/16 (pow.f64 a2 5)) 2) (/.f64 (*.f64 1/8 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6)))) (pow.f64 a2 4)))) (fma.f64 1/8 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (pow.f64 a2 4)) (/.f64 1/256 (pow.f64 a2 10))))))))))) |
(fma.f64 (sqrt.f64 1/2) (*.f64 a1 (*.f64 a1 (cos.f64 th))) (fma.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (+.f64 (*.f64 a2 a2) (*.f64 (pow.f64 a1 12) (fma.f64 1/2 (-.f64 (/.f64 1/64 (*.f64 (*.f64 a2 a2) (pow.f64 a2 8))) (/.f64 (*.f64 -1/2 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6)))) (pow.f64 a2 4))) (-.f64 (fma.f64 1/8 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (pow.f64 a2 4)) (/.f64 1/256 (pow.f64 a2 10))) (fma.f64 1/2 (-.f64 (/.f64 1/64 (*.f64 (*.f64 a2 a2) (pow.f64 a2 8))) (/.f64 (*.f64 -1/2 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6)))) (pow.f64 a2 4))) (fma.f64 1/8 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (pow.f64 a2 4)) (pow.f64 (/.f64 1/16 (pow.f64 a2 5)) 2)))))))) (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 (cos.f64 th) (pow.f64 a1 8)) (-.f64 (/.f64 5/64 (pow.f64 a2 6)) (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6)))))))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)) (*.f64 (+.f64 (neg.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2)) (*.f64 (/.f64 1 (pow.f64 a2 6)) 1/64)) (*.f64 (cos.f64 th) (pow.f64 a1 8))))) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 (pow.f64 a1 12) (+.f64 (fma.f64 1/8 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (pow.f64 a2 4)) (/.f64 1/256 (pow.f64 a2 10))) (-.f64 (*.f64 (+.f64 (/.f64 1/64 (*.f64 (*.f64 a2 a2) (pow.f64 a2 8))) (/.f64 (*.f64 1/2 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6)))) (pow.f64 a2 4))) 0) (fma.f64 1/8 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (pow.f64 a2 4)) (/.f64 1/256 (pow.f64 a2 10))))))))) |
(*.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 (*.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 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (cos.f64 th))) (pow.f64 a1 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 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (*.f64 (*.f64 a2 a2) (cos.f64 th)))) (/.f64 (sqrt.f64 1/2) (/.f64 (*.f64 a1 a1) (*.f64 (cos.f64 th) (*.f64 (pow.f64 a2 4) 0))))) |
(fma.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)) (*.f64 (/.f64 (*.f64 (sqrt.f64 1/2) 0) a1) (/.f64 (cos.f64 th) a1))) |
(fma.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)) 0) |
(+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 1/8 (pow.f64 a2 6)) (*.f64 -1/8 (pow.f64 a2 6))) (cos.f64 th))) (pow.f64 a1 4)) (+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (cos.f64 th))) (pow.f64 a1 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 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (*.f64 (*.f64 a2 a2) (cos.f64 th)))) (/.f64 (sqrt.f64 1/2) (/.f64 (*.f64 a1 a1) (*.f64 (cos.f64 th) (*.f64 (pow.f64 a2 4) 0))))) |
(fma.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)) (*.f64 (/.f64 (*.f64 (sqrt.f64 1/2) 0) a1) (/.f64 (cos.f64 th) a1))) |
(fma.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)) 0) |
(*.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 (*.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 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (cos.f64 th))) (pow.f64 a1 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 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (*.f64 (*.f64 a2 a2) (cos.f64 th)))) (/.f64 (sqrt.f64 1/2) (/.f64 (*.f64 a1 a1) (*.f64 (cos.f64 th) (*.f64 (pow.f64 a2 4) 0))))) |
(fma.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)) (*.f64 (/.f64 (*.f64 (sqrt.f64 1/2) 0) a1) (/.f64 (cos.f64 th) a1))) |
(fma.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)) 0) |
(+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 1/8 (pow.f64 a2 6)) (*.f64 -1/8 (pow.f64 a2 6))) (cos.f64 th))) (pow.f64 a1 4)) (+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (cos.f64 th))) (pow.f64 a1 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 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (*.f64 (*.f64 a2 a2) (cos.f64 th)))) (/.f64 (sqrt.f64 1/2) (/.f64 (*.f64 a1 a1) (*.f64 (cos.f64 th) (*.f64 (pow.f64 a2 4) 0))))) |
(fma.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)) (*.f64 (/.f64 (*.f64 (sqrt.f64 1/2) 0) a1) (/.f64 (cos.f64 th) a1))) |
(fma.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)) 0) |
(*.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 (*.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 (*.f64 (+.f64 (*.f64 -1 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (*.f64 5/64 (/.f64 1 (pow.f64 a1 6)))) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a2 8)))) (+.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))))) |
(fma.f64 (fma.f64 -1 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (/.f64 5/64 (pow.f64 a1 6))) (*.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (pow.f64 a2 8)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (*.f64 (*.f64 a2 a2) (cos.f64 th))))) |
(fma.f64 (-.f64 (/.f64 5/64 (pow.f64 a1 6)) (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a2 8))) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))) |
(*.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (+.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (pow.f64 a2 8) (-.f64 (*.f64 (/.f64 1 (pow.f64 a1 6)) 1/64) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 a1 8))) (*.f64 -1/2 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 2)))) (pow.f64 a1 2))) (+.f64 (*.f64 1/8 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 4))) (+.f64 (*.f64 1/256 (/.f64 1 (pow.f64 a1 10))) (*.f64 -1 (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 a1 8))) (*.f64 -1/2 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 2)))) (pow.f64 a1 2))) (+.f64 (pow.f64 (/.f64 1/16 (pow.f64 a1 5)) 2) (*.f64 1/8 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 4))))))))) (*.f64 (pow.f64 a2 12) (cos.f64 th)))) (+.f64 (*.f64 (+.f64 (*.f64 -1 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (*.f64 5/64 (/.f64 1 (pow.f64 a1 6)))) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a2 8)))) (+.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)))))) |
(fma.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 1/2 (/.f64 (+.f64 (/.f64 1/64 (pow.f64 a1 8)) (*.f64 1/2 (/.f64 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (*.f64 a1 a1)))) (*.f64 a1 a1)) (fma.f64 1/8 (/.f64 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 4)) (+.f64 (/.f64 1/256 (pow.f64 a1 10)) (neg.f64 (fma.f64 1/2 (/.f64 (+.f64 (/.f64 1/64 (pow.f64 a1 8)) (*.f64 1/2 (/.f64 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (*.f64 a1 a1)))) (*.f64 a1 a1)) (+.f64 (/.f64 (*.f64 1/8 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (pow.f64 a1 4)) (pow.f64 (/.f64 1/16 (pow.f64 a1 5)) 2))))))) (*.f64 (cos.f64 th) (pow.f64 a2 12))) (fma.f64 (fma.f64 -1 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (/.f64 5/64 (pow.f64 a1 6))) (*.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (pow.f64 a2 8)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (*.f64 (*.f64 a2 a2) (cos.f64 th)))))) |
(fma.f64 (*.f64 (sqrt.f64 1/2) (fma.f64 1/2 (-.f64 (/.f64 1/64 (*.f64 (*.f64 a1 a1) (pow.f64 a1 8))) (/.f64 (*.f64 -1/2 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (pow.f64 a1 4))) (-.f64 (fma.f64 1/8 (/.f64 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 4)) (/.f64 1/256 (pow.f64 a1 10))) (fma.f64 1/2 (-.f64 (/.f64 1/64 (*.f64 (*.f64 a1 a1) (pow.f64 a1 8))) (/.f64 (*.f64 -1/2 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (pow.f64 a1 4))) (fma.f64 1/8 (/.f64 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 4)) (pow.f64 (/.f64 1/16 (pow.f64 a1 5)) 2)))))) (*.f64 (cos.f64 th) (pow.f64 a2 12)) (fma.f64 (-.f64 (/.f64 5/64 (pow.f64 a1 6)) (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a2 8))) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))))) |
(fma.f64 (*.f64 (sqrt.f64 1/2) (-.f64 (fma.f64 1/2 (-.f64 (/.f64 1/64 (*.f64 (*.f64 a1 a1) (pow.f64 a1 8))) (/.f64 -1/2 (/.f64 (pow.f64 a1 4) (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))))) (fma.f64 1/8 (/.f64 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 4)) (/.f64 1/256 (pow.f64 a1 10)))) (fma.f64 1/2 (-.f64 (/.f64 1/64 (*.f64 (*.f64 a1 a1) (pow.f64 a1 8))) (/.f64 -1/2 (/.f64 (pow.f64 a1 4) (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))))) (fma.f64 1/8 (/.f64 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 4)) (/.f64 1/256 (pow.f64 a1 10)))))) (*.f64 (cos.f64 th) (pow.f64 a2 12)) (*.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (+.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (pow.f64 a2 8) (-.f64 (*.f64 (/.f64 1 (pow.f64 a1 6)) 1/64) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)))))) |
(*.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 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (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 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4))) (cos.f64 th))) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (*.f64 (*.f64 a2 a2) (cos.f64 th)))) (/.f64 (sqrt.f64 1/2) (/.f64 (*.f64 a1 a1) (*.f64 (cos.f64 th) (*.f64 (pow.f64 a2 4) 0))))) |
(fma.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)) (*.f64 (/.f64 (*.f64 (sqrt.f64 1/2) 0) a1) (/.f64 (cos.f64 th) a1))) |
(fma.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)) 0) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4))) (cos.f64 th))) (pow.f64 a2 2)) (+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))) (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 1/8 (pow.f64 a1 6)) (*.f64 -1/8 (pow.f64 a1 6))) (cos.f64 th))) (pow.f64 a2 4))))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (*.f64 (*.f64 a2 a2) (cos.f64 th)))) (/.f64 (sqrt.f64 1/2) (/.f64 (*.f64 a1 a1) (*.f64 (cos.f64 th) (*.f64 (pow.f64 a2 4) 0))))) |
(fma.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)) (*.f64 (/.f64 (*.f64 (sqrt.f64 1/2) 0) a1) (/.f64 (cos.f64 th) a1))) |
(fma.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)) 0) |
(*.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 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (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 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4))) (cos.f64 th))) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (*.f64 (*.f64 a2 a2) (cos.f64 th)))) (/.f64 (sqrt.f64 1/2) (/.f64 (*.f64 a1 a1) (*.f64 (cos.f64 th) (*.f64 (pow.f64 a2 4) 0))))) |
(fma.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)) (*.f64 (/.f64 (*.f64 (sqrt.f64 1/2) 0) a1) (/.f64 (cos.f64 th) a1))) |
(fma.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)) 0) |
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4))) (cos.f64 th))) (pow.f64 a2 2)) (+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))) (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 1/8 (pow.f64 a1 6)) (*.f64 -1/8 (pow.f64 a1 6))) (cos.f64 th))) (pow.f64 a2 4))))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (*.f64 (*.f64 a2 a2) (cos.f64 th)))) (/.f64 (sqrt.f64 1/2) (/.f64 (*.f64 a1 a1) (*.f64 (cos.f64 th) (*.f64 (pow.f64 a2 4) 0))))) |
(fma.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)) (*.f64 (/.f64 (*.f64 (sqrt.f64 1/2) 0) a1) (/.f64 (cos.f64 th) a1))) |
(fma.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)) 0) |
(*.f64 1/2 (pow.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) 2)) |
(*.f64 1/2 (pow.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) 2)) |
(*.f64 1/2 (pow.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) 2)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) 2) (pow.f64 th 2))) (*.f64 1/2 (pow.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) 2))) |
(fma.f64 -1/2 (*.f64 (*.f64 th th) (pow.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) 2)) (*.f64 1/2 (pow.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) 2))) |
(fma.f64 1/2 (pow.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) 2) (*.f64 -1/2 (*.f64 (*.f64 th th) (pow.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) 2)))) |
(*.f64 (pow.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) 2) (+.f64 1/2 (*.f64 -1/2 (*.f64 th th)))) |
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) 2) (pow.f64 th 4))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) 2) (pow.f64 th 2))) (*.f64 1/2 (pow.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) 2)))) |
(fma.f64 1/6 (*.f64 (pow.f64 th 4) (pow.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) 2)) (fma.f64 -1/2 (*.f64 (*.f64 th th) (pow.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) 2)) (*.f64 1/2 (pow.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) 2)))) |
(fma.f64 1/6 (*.f64 (pow.f64 th 4) (pow.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) 2)) (fma.f64 1/2 (pow.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) 2) (*.f64 -1/2 (*.f64 (*.f64 th th) (pow.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) 2))))) |
(fma.f64 1/6 (*.f64 (pow.f64 th 4) (pow.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) 2)) (*.f64 (pow.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) 2) (+.f64 1/2 (*.f64 -1/2 (*.f64 th th))))) |
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) 2) (pow.f64 th 4))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) 2) (pow.f64 th 2))) (+.f64 (*.f64 -1/45 (*.f64 (pow.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) 2) (pow.f64 th 6))) (*.f64 1/2 (pow.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) 2))))) |
(fma.f64 1/6 (*.f64 (pow.f64 th 4) (pow.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) 2)) (fma.f64 -1/2 (*.f64 (*.f64 th th) (pow.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) 2)) (fma.f64 -1/45 (*.f64 (pow.f64 th 6) (pow.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) 2)) (*.f64 1/2 (pow.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) 2))))) |
(fma.f64 1/6 (*.f64 (pow.f64 th 4) (pow.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) 2)) (fma.f64 -1/2 (*.f64 (*.f64 th th) (pow.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) 2)) (fma.f64 1/2 (pow.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) 2) (*.f64 (pow.f64 th 6) (*.f64 (pow.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) 2) -1/45))))) |
(+.f64 (*.f64 (pow.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) 2) (+.f64 1/2 (*.f64 -1/45 (pow.f64 th 6)))) (*.f64 (pow.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) 2) (+.f64 (*.f64 -1/2 (*.f64 th th)) (*.f64 1/6 (pow.f64 th 4))))) |
(*.f64 1/2 (*.f64 (pow.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) 2) (pow.f64 (cos.f64 th) 2))) |
(*.f64 1/2 (*.f64 (pow.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) 2) (pow.f64 (cos.f64 th) 2))) |
(*.f64 1/2 (*.f64 (pow.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) 2) (pow.f64 (cos.f64 th) 2))) |
(*.f64 (pow.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) 2) (*.f64 (pow.f64 (cos.f64 th) 2) 1/2)) |
(*.f64 1/2 (*.f64 (pow.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) 2) (pow.f64 (cos.f64 th) 2))) |
(*.f64 1/2 (*.f64 (pow.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) 2) (pow.f64 (cos.f64 th) 2))) |
(*.f64 1/2 (*.f64 (pow.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) 2) (pow.f64 (cos.f64 th) 2))) |
(*.f64 (pow.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) 2) (*.f64 (pow.f64 (cos.f64 th) 2) 1/2)) |
(*.f64 1/2 (*.f64 (pow.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) 2) (pow.f64 (cos.f64 th) 2))) |
(*.f64 1/2 (*.f64 (pow.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) 2) (pow.f64 (cos.f64 th) 2))) |
(*.f64 1/2 (*.f64 (pow.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) 2) (pow.f64 (cos.f64 th) 2))) |
(*.f64 (pow.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) 2) (*.f64 (pow.f64 (cos.f64 th) 2) 1/2)) |
(*.f64 1/2 (*.f64 (pow.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) 2) (pow.f64 (cos.f64 th) 2))) |
(*.f64 1/2 (*.f64 (pow.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) 2) (pow.f64 (cos.f64 th) 2))) |
(*.f64 1/2 (*.f64 (pow.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) 2) (pow.f64 (cos.f64 th) 2))) |
(*.f64 (pow.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) 2) (*.f64 (pow.f64 (cos.f64 th) 2) 1/2)) |
(*.f64 1/2 (*.f64 (pow.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) 2) (pow.f64 (cos.f64 th) 2))) |
(*.f64 1/2 (*.f64 (pow.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) 2) (pow.f64 (cos.f64 th) 2))) |
(*.f64 1/2 (*.f64 (pow.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) 2) (pow.f64 (cos.f64 th) 2))) |
(*.f64 (pow.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) 2) (*.f64 (pow.f64 (cos.f64 th) 2) 1/2)) |
(*.f64 1/2 (*.f64 (pow.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) 2) (pow.f64 (cos.f64 th) 2))) |
(*.f64 1/2 (*.f64 (pow.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) 2) (pow.f64 (cos.f64 th) 2))) |
(*.f64 1/2 (*.f64 (pow.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) 2) (pow.f64 (cos.f64 th) 2))) |
(*.f64 (pow.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) 2) (*.f64 (pow.f64 (cos.f64 th) 2) 1/2)) |
(*.f64 1/2 (*.f64 (pow.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) 2) (pow.f64 (cos.f64 th) 2))) |
(*.f64 1/2 (*.f64 (pow.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) 2) (pow.f64 (cos.f64 th) 2))) |
(*.f64 1/2 (*.f64 (pow.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) 2) (pow.f64 (cos.f64 th) 2))) |
(*.f64 (pow.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) 2) (*.f64 (pow.f64 (cos.f64 th) 2) 1/2)) |
(*.f64 1/2 (*.f64 (pow.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) 2) (pow.f64 (cos.f64 th) 2))) |
(*.f64 1/2 (*.f64 (pow.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) 2) (pow.f64 (cos.f64 th) 2))) |
(*.f64 1/2 (*.f64 (pow.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) 2) (pow.f64 (cos.f64 th) 2))) |
(*.f64 (pow.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) 2) (*.f64 (pow.f64 (cos.f64 th) 2) 1/2)) |
(*.f64 1/2 (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2))) |
(*.f64 (*.f64 1/2 (pow.f64 a2 4)) (pow.f64 (cos.f64 th) 2)) |
(*.f64 (pow.f64 a2 4) (*.f64 1/2 (pow.f64 (cos.f64 th) 2))) |
(*.f64 (pow.f64 a2 4) (*.f64 (pow.f64 (cos.f64 th) 2) 1/2)) |
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2))) (*.f64 (pow.f64 a1 2) (*.f64 (pow.f64 (cos.f64 th) 2) (pow.f64 a2 2)))) |
(fma.f64 1/2 (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2)) (*.f64 (*.f64 a1 a1) (*.f64 (*.f64 a2 a2) (pow.f64 (cos.f64 th) 2)))) |
(*.f64 (pow.f64 (cos.f64 th) 2) (+.f64 (*.f64 1/2 (pow.f64 a2 4)) (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))))) |
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2))) (*.f64 (pow.f64 a1 2) (*.f64 (pow.f64 (cos.f64 th) 2) (pow.f64 a2 2))))) |
(fma.f64 (*.f64 a1 a1) (*.f64 (*.f64 a2 a2) (pow.f64 (cos.f64 th) 2)) (*.f64 1/2 (+.f64 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2)) (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2))))) |
(fma.f64 1/2 (*.f64 (pow.f64 (cos.f64 th) 2) (+.f64 (pow.f64 a2 4) (pow.f64 a1 4))) (*.f64 (*.f64 a2 a2) (*.f64 (*.f64 a1 a1) (pow.f64 (cos.f64 th) 2)))) |
(*.f64 (pow.f64 (cos.f64 th) 2) (+.f64 (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))) (*.f64 1/2 (+.f64 (pow.f64 a2 4) (pow.f64 a1 4))))) |
(+.f64 (*.f64 (+.f64 (*.f64 -1 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6))))) (*.f64 5/64 (/.f64 1 (pow.f64 a2 6)))) (*.f64 (pow.f64 a1 8) (*.f64 (pow.f64 (cos.f64 th) 2) (pow.f64 a2 2)))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2))) (*.f64 (pow.f64 a1 2) (*.f64 (pow.f64 (cos.f64 th) 2) (pow.f64 a2 2)))))) |
(fma.f64 (fma.f64 -1 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (/.f64 5/64 (pow.f64 a2 6))) (*.f64 (pow.f64 a1 8) (*.f64 (*.f64 a2 a2) (pow.f64 (cos.f64 th) 2))) (fma.f64 (*.f64 a1 a1) (*.f64 (*.f64 a2 a2) (pow.f64 (cos.f64 th) 2)) (*.f64 1/2 (+.f64 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2)) (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2)))))) |
(fma.f64 (-.f64 (/.f64 5/64 (pow.f64 a2 6)) (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6)))) (*.f64 (pow.f64 a1 8) (*.f64 (*.f64 a2 a2) (pow.f64 (cos.f64 th) 2))) (fma.f64 1/2 (*.f64 (pow.f64 (cos.f64 th) 2) (+.f64 (pow.f64 a2 4) (pow.f64 a1 4))) (*.f64 (*.f64 a2 a2) (*.f64 (*.f64 a1 a1) (pow.f64 (cos.f64 th) 2))))) |
(+.f64 (*.f64 (*.f64 (pow.f64 (cos.f64 th) 2) 1/2) (+.f64 (pow.f64 a2 4) (pow.f64 a1 4))) (*.f64 (*.f64 (*.f64 a2 a2) (pow.f64 (cos.f64 th) 2)) (+.f64 (*.f64 a1 a1) (*.f64 (+.f64 (neg.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2)) (*.f64 (/.f64 1 (pow.f64 a2 6)) 1/64)) (pow.f64 a1 8))))) |
(*.f64 1/2 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2))) |
(*.f64 (pow.f64 a1 4) (*.f64 (pow.f64 (cos.f64 th) 2) 1/2)) |
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2))) (*.f64 (pow.f64 a1 2) (*.f64 (pow.f64 (cos.f64 th) 2) (pow.f64 a2 2)))) |
(fma.f64 (*.f64 a1 a1) (*.f64 (*.f64 a2 a2) (pow.f64 (cos.f64 th) 2)) (*.f64 1/2 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2)))) |
(*.f64 (pow.f64 (cos.f64 th) 2) (+.f64 (*.f64 1/2 (pow.f64 a1 4)) (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))))) |
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2))) (+.f64 (*.f64 (pow.f64 a1 2) (*.f64 (pow.f64 (cos.f64 th) 2) (pow.f64 a2 2))) (*.f64 1/2 (*.f64 (+.f64 (*.f64 -1/2 (pow.f64 a2 4)) (+.f64 (*.f64 1/2 (pow.f64 a2 4)) (pow.f64 a2 4))) (pow.f64 (cos.f64 th) 2))))) |
(fma.f64 (*.f64 a1 a1) (*.f64 (*.f64 a2 a2) (pow.f64 (cos.f64 th) 2)) (*.f64 1/2 (+.f64 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2)) (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2))))) |
(fma.f64 1/2 (*.f64 (pow.f64 (cos.f64 th) 2) (+.f64 (pow.f64 a2 4) (pow.f64 a1 4))) (*.f64 (*.f64 a2 a2) (*.f64 (*.f64 a1 a1) (pow.f64 (cos.f64 th) 2)))) |
(*.f64 (pow.f64 (cos.f64 th) 2) (+.f64 (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))) (*.f64 1/2 (+.f64 (pow.f64 a2 4) (pow.f64 a1 4))))) |
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2))) (+.f64 (*.f64 (pow.f64 a1 2) (*.f64 (pow.f64 (cos.f64 th) 2) (pow.f64 a2 2))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (pow.f64 a2 2))) (+.f64 (*.f64 -1/4 (pow.f64 a2 6)) (*.f64 1/4 (pow.f64 a2 6)))) (pow.f64 (cos.f64 th) 2)) (pow.f64 a1 2))) (*.f64 1/2 (*.f64 (+.f64 (*.f64 -1/2 (pow.f64 a2 4)) (+.f64 (*.f64 1/2 (pow.f64 a2 4)) (pow.f64 a2 4))) (pow.f64 (cos.f64 th) 2)))))) |
(fma.f64 (*.f64 a1 a1) (*.f64 (*.f64 a2 a2) (pow.f64 (cos.f64 th) 2)) (*.f64 1/2 (+.f64 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2)) (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2))))) |
(fma.f64 1/2 (*.f64 (pow.f64 (cos.f64 th) 2) (+.f64 (pow.f64 a2 4) (pow.f64 a1 4))) (*.f64 (*.f64 a2 a2) (*.f64 (*.f64 a1 a1) (pow.f64 (cos.f64 th) 2)))) |
(*.f64 (pow.f64 (cos.f64 th) 2) (+.f64 (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))) (*.f64 1/2 (+.f64 (pow.f64 a2 4) (pow.f64 a1 4))))) |
(*.f64 1/2 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2))) |
(*.f64 (pow.f64 a1 4) (*.f64 (pow.f64 (cos.f64 th) 2) 1/2)) |
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2))) (*.f64 (pow.f64 a1 2) (*.f64 (pow.f64 (cos.f64 th) 2) (pow.f64 a2 2)))) |
(fma.f64 (*.f64 a1 a1) (*.f64 (*.f64 a2 a2) (pow.f64 (cos.f64 th) 2)) (*.f64 1/2 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2)))) |
(*.f64 (pow.f64 (cos.f64 th) 2) (+.f64 (*.f64 1/2 (pow.f64 a1 4)) (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))))) |
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2))) (+.f64 (*.f64 (pow.f64 a1 2) (*.f64 (pow.f64 (cos.f64 th) 2) (pow.f64 a2 2))) (*.f64 1/2 (*.f64 (+.f64 (*.f64 -1/2 (pow.f64 a2 4)) (+.f64 (*.f64 1/2 (pow.f64 a2 4)) (pow.f64 a2 4))) (pow.f64 (cos.f64 th) 2))))) |
(fma.f64 (*.f64 a1 a1) (*.f64 (*.f64 a2 a2) (pow.f64 (cos.f64 th) 2)) (*.f64 1/2 (+.f64 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2)) (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2))))) |
(fma.f64 1/2 (*.f64 (pow.f64 (cos.f64 th) 2) (+.f64 (pow.f64 a2 4) (pow.f64 a1 4))) (*.f64 (*.f64 a2 a2) (*.f64 (*.f64 a1 a1) (pow.f64 (cos.f64 th) 2)))) |
(*.f64 (pow.f64 (cos.f64 th) 2) (+.f64 (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))) (*.f64 1/2 (+.f64 (pow.f64 a2 4) (pow.f64 a1 4))))) |
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2))) (+.f64 (*.f64 (pow.f64 a1 2) (*.f64 (pow.f64 (cos.f64 th) 2) (pow.f64 a2 2))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (pow.f64 a2 2))) (+.f64 (*.f64 -1/4 (pow.f64 a2 6)) (*.f64 1/4 (pow.f64 a2 6)))) (pow.f64 (cos.f64 th) 2)) (pow.f64 a1 2))) (*.f64 1/2 (*.f64 (+.f64 (*.f64 -1/2 (pow.f64 a2 4)) (+.f64 (*.f64 1/2 (pow.f64 a2 4)) (pow.f64 a2 4))) (pow.f64 (cos.f64 th) 2)))))) |
(fma.f64 (*.f64 a1 a1) (*.f64 (*.f64 a2 a2) (pow.f64 (cos.f64 th) 2)) (*.f64 1/2 (+.f64 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2)) (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2))))) |
(fma.f64 1/2 (*.f64 (pow.f64 (cos.f64 th) 2) (+.f64 (pow.f64 a2 4) (pow.f64 a1 4))) (*.f64 (*.f64 a2 a2) (*.f64 (*.f64 a1 a1) (pow.f64 (cos.f64 th) 2)))) |
(*.f64 (pow.f64 (cos.f64 th) 2) (+.f64 (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))) (*.f64 1/2 (+.f64 (pow.f64 a2 4) (pow.f64 a1 4))))) |
(*.f64 1/2 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2))) |
(*.f64 (pow.f64 a1 4) (*.f64 (pow.f64 (cos.f64 th) 2) 1/2)) |
(+.f64 (*.f64 (pow.f64 a1 2) (*.f64 (pow.f64 a2 2) (pow.f64 (cos.f64 th) 2))) (*.f64 1/2 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2)))) |
(fma.f64 (*.f64 a1 a1) (*.f64 (*.f64 a2 a2) (pow.f64 (cos.f64 th) 2)) (*.f64 1/2 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2)))) |
(*.f64 (pow.f64 (cos.f64 th) 2) (+.f64 (*.f64 1/2 (pow.f64 a1 4)) (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))))) |
(+.f64 (*.f64 (pow.f64 a1 2) (*.f64 (pow.f64 a2 2) (pow.f64 (cos.f64 th) 2))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2))) (*.f64 1/2 (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2))))) |
(fma.f64 (*.f64 a1 a1) (*.f64 (*.f64 a2 a2) (pow.f64 (cos.f64 th) 2)) (*.f64 1/2 (+.f64 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2)) (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2))))) |
(fma.f64 1/2 (*.f64 (pow.f64 (cos.f64 th) 2) (+.f64 (pow.f64 a2 4) (pow.f64 a1 4))) (*.f64 (*.f64 a2 a2) (*.f64 (*.f64 a1 a1) (pow.f64 (cos.f64 th) 2)))) |
(*.f64 (pow.f64 (cos.f64 th) 2) (+.f64 (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))) (*.f64 1/2 (+.f64 (pow.f64 a2 4) (pow.f64 a1 4))))) |
(+.f64 (*.f64 (+.f64 (*.f64 -1 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (*.f64 5/64 (/.f64 1 (pow.f64 a1 6)))) (*.f64 (pow.f64 a1 2) (*.f64 (pow.f64 (cos.f64 th) 2) (pow.f64 a2 8)))) (+.f64 (*.f64 (pow.f64 a1 2) (*.f64 (pow.f64 a2 2) (pow.f64 (cos.f64 th) 2))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2))) (*.f64 1/2 (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2)))))) |
(fma.f64 (fma.f64 -1 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (/.f64 5/64 (pow.f64 a1 6))) (*.f64 (*.f64 (*.f64 a1 a1) (pow.f64 (cos.f64 th) 2)) (pow.f64 a2 8)) (fma.f64 (*.f64 a1 a1) (*.f64 (*.f64 a2 a2) (pow.f64 (cos.f64 th) 2)) (*.f64 1/2 (+.f64 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2)) (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2)))))) |
(fma.f64 (-.f64 (/.f64 5/64 (pow.f64 a1 6)) (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (*.f64 (pow.f64 a2 8) (*.f64 (*.f64 a1 a1) (pow.f64 (cos.f64 th) 2))) (fma.f64 1/2 (*.f64 (pow.f64 (cos.f64 th) 2) (+.f64 (pow.f64 a2 4) (pow.f64 a1 4))) (*.f64 (*.f64 a2 a2) (*.f64 (*.f64 a1 a1) (pow.f64 (cos.f64 th) 2))))) |
(+.f64 (*.f64 (*.f64 (pow.f64 (cos.f64 th) 2) 1/2) (+.f64 (pow.f64 a2 4) (pow.f64 a1 4))) (*.f64 (*.f64 a1 (*.f64 a1 (pow.f64 (cos.f64 th) 2))) (+.f64 (*.f64 a2 a2) (*.f64 (pow.f64 a2 8) (-.f64 (*.f64 (/.f64 1 (pow.f64 a1 6)) 1/64) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)))))) |
(*.f64 1/2 (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2))) |
(*.f64 (*.f64 1/2 (pow.f64 a2 4)) (pow.f64 (cos.f64 th) 2)) |
(*.f64 (pow.f64 a2 4) (*.f64 1/2 (pow.f64 (cos.f64 th) 2))) |
(*.f64 (pow.f64 a2 4) (*.f64 (pow.f64 (cos.f64 th) 2) 1/2)) |
(+.f64 (*.f64 (pow.f64 a1 2) (*.f64 (pow.f64 a2 2) (pow.f64 (cos.f64 th) 2))) (*.f64 1/2 (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2)))) |
(fma.f64 1/2 (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2)) (*.f64 (*.f64 a1 a1) (*.f64 (*.f64 a2 a2) (pow.f64 (cos.f64 th) 2)))) |
(*.f64 (pow.f64 (cos.f64 th) 2) (+.f64 (*.f64 1/2 (pow.f64 a2 4)) (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))))) |
(+.f64 (*.f64 (pow.f64 a1 2) (*.f64 (pow.f64 a2 2) (pow.f64 (cos.f64 th) 2))) (+.f64 (*.f64 1/2 (*.f64 (+.f64 (pow.f64 a1 4) (+.f64 (*.f64 1/2 (pow.f64 a1 4)) (*.f64 -1/2 (pow.f64 a1 4)))) (pow.f64 (cos.f64 th) 2))) (*.f64 1/2 (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2))))) |
(fma.f64 (*.f64 a1 a1) (*.f64 (*.f64 a2 a2) (pow.f64 (cos.f64 th) 2)) (*.f64 1/2 (+.f64 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2)) (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2))))) |
(fma.f64 1/2 (*.f64 (pow.f64 (cos.f64 th) 2) (+.f64 (pow.f64 a2 4) (pow.f64 a1 4))) (*.f64 (*.f64 a2 a2) (*.f64 (*.f64 a1 a1) (pow.f64 (cos.f64 th) 2)))) |
(*.f64 (pow.f64 (cos.f64 th) 2) (+.f64 (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))) (*.f64 1/2 (+.f64 (pow.f64 a2 4) (pow.f64 a1 4))))) |
(+.f64 (*.f64 (pow.f64 a1 2) (*.f64 (pow.f64 a2 2) (pow.f64 (cos.f64 th) 2))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a1 6)) (+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4))))) (*.f64 1/4 (pow.f64 a1 6)))) (pow.f64 (cos.f64 th) 2)) (pow.f64 a2 2))) (+.f64 (*.f64 1/2 (*.f64 (+.f64 (pow.f64 a1 4) (+.f64 (*.f64 1/2 (pow.f64 a1 4)) (*.f64 -1/2 (pow.f64 a1 4)))) (pow.f64 (cos.f64 th) 2))) (*.f64 1/2 (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2)))))) |
(fma.f64 (*.f64 a1 a1) (*.f64 (*.f64 a2 a2) (pow.f64 (cos.f64 th) 2)) (*.f64 1/2 (+.f64 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2)) (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2))))) |
(fma.f64 1/2 (*.f64 (pow.f64 (cos.f64 th) 2) (+.f64 (pow.f64 a2 4) (pow.f64 a1 4))) (*.f64 (*.f64 a2 a2) (*.f64 (*.f64 a1 a1) (pow.f64 (cos.f64 th) 2)))) |
(*.f64 (pow.f64 (cos.f64 th) 2) (+.f64 (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))) (*.f64 1/2 (+.f64 (pow.f64 a2 4) (pow.f64 a1 4))))) |
(*.f64 1/2 (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2))) |
(*.f64 (*.f64 1/2 (pow.f64 a2 4)) (pow.f64 (cos.f64 th) 2)) |
(*.f64 (pow.f64 a2 4) (*.f64 1/2 (pow.f64 (cos.f64 th) 2))) |
(*.f64 (pow.f64 a2 4) (*.f64 (pow.f64 (cos.f64 th) 2) 1/2)) |
(+.f64 (*.f64 (pow.f64 a1 2) (*.f64 (pow.f64 a2 2) (pow.f64 (cos.f64 th) 2))) (*.f64 1/2 (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2)))) |
(fma.f64 1/2 (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2)) (*.f64 (*.f64 a1 a1) (*.f64 (*.f64 a2 a2) (pow.f64 (cos.f64 th) 2)))) |
(*.f64 (pow.f64 (cos.f64 th) 2) (+.f64 (*.f64 1/2 (pow.f64 a2 4)) (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))))) |
(+.f64 (*.f64 (pow.f64 a1 2) (*.f64 (pow.f64 a2 2) (pow.f64 (cos.f64 th) 2))) (+.f64 (*.f64 1/2 (*.f64 (+.f64 (pow.f64 a1 4) (+.f64 (*.f64 1/2 (pow.f64 a1 4)) (*.f64 -1/2 (pow.f64 a1 4)))) (pow.f64 (cos.f64 th) 2))) (*.f64 1/2 (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2))))) |
(fma.f64 (*.f64 a1 a1) (*.f64 (*.f64 a2 a2) (pow.f64 (cos.f64 th) 2)) (*.f64 1/2 (+.f64 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2)) (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2))))) |
(fma.f64 1/2 (*.f64 (pow.f64 (cos.f64 th) 2) (+.f64 (pow.f64 a2 4) (pow.f64 a1 4))) (*.f64 (*.f64 a2 a2) (*.f64 (*.f64 a1 a1) (pow.f64 (cos.f64 th) 2)))) |
(*.f64 (pow.f64 (cos.f64 th) 2) (+.f64 (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))) (*.f64 1/2 (+.f64 (pow.f64 a2 4) (pow.f64 a1 4))))) |
(+.f64 (*.f64 (pow.f64 a1 2) (*.f64 (pow.f64 a2 2) (pow.f64 (cos.f64 th) 2))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a1 6)) (+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4))))) (*.f64 1/4 (pow.f64 a1 6)))) (pow.f64 (cos.f64 th) 2)) (pow.f64 a2 2))) (+.f64 (*.f64 1/2 (*.f64 (+.f64 (pow.f64 a1 4) (+.f64 (*.f64 1/2 (pow.f64 a1 4)) (*.f64 -1/2 (pow.f64 a1 4)))) (pow.f64 (cos.f64 th) 2))) (*.f64 1/2 (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2)))))) |
(fma.f64 (*.f64 a1 a1) (*.f64 (*.f64 a2 a2) (pow.f64 (cos.f64 th) 2)) (*.f64 1/2 (+.f64 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2)) (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2))))) |
(fma.f64 1/2 (*.f64 (pow.f64 (cos.f64 th) 2) (+.f64 (pow.f64 a2 4) (pow.f64 a1 4))) (*.f64 (*.f64 a2 a2) (*.f64 (*.f64 a1 a1) (pow.f64 (cos.f64 th) 2)))) |
(*.f64 (pow.f64 (cos.f64 th) 2) (+.f64 (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))) (*.f64 1/2 (+.f64 (pow.f64 a2 4) (pow.f64 a1 4))))) |
1 |
(+.f64 1 (*.f64 -1 (pow.f64 th 2))) |
(+.f64 1 (neg.f64 (*.f64 th th))) |
(-.f64 1 (*.f64 th th)) |
(+.f64 1 (+.f64 (*.f64 -1 (pow.f64 th 2)) (*.f64 1/3 (pow.f64 th 4)))) |
(+.f64 1 (fma.f64 -1 (*.f64 th th) (*.f64 (pow.f64 th 4) 1/3))) |
(+.f64 1 (-.f64 (*.f64 (pow.f64 th 4) 1/3) (*.f64 th th))) |
(+.f64 (-.f64 1 (*.f64 th th)) (*.f64 (pow.f64 th 4) 1/3)) |
(+.f64 1 (+.f64 (*.f64 -1 (pow.f64 th 2)) (+.f64 (*.f64 -2/45 (pow.f64 th 6)) (*.f64 1/3 (pow.f64 th 4))))) |
(+.f64 1 (fma.f64 -1 (*.f64 th th) (fma.f64 -2/45 (pow.f64 th 6) (*.f64 (pow.f64 th 4) 1/3)))) |
(+.f64 1 (-.f64 (fma.f64 (pow.f64 th 4) 1/3 (*.f64 (pow.f64 th 6) -2/45)) (*.f64 th th))) |
(+.f64 (-.f64 1 (*.f64 th th)) (fma.f64 (pow.f64 th 4) 1/3 (*.f64 (pow.f64 th 6) -2/45))) |
(pow.f64 a2 4) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (pow.f64 a2 4)) |
(fma.f64 2 (*.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (pow.f64 a2 4)) |
(fma.f64 2 (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))) (pow.f64 a2 4)) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (+.f64 (pow.f64 a1 4) (pow.f64 a2 4))) |
(+.f64 (fma.f64 2 (*.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (pow.f64 a1 4)) (pow.f64 a2 4)) |
(fma.f64 2 (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))) (+.f64 (pow.f64 a2 4) (pow.f64 a1 4))) |
(+.f64 (pow.f64 a2 4) (fma.f64 2 (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))) (pow.f64 a1 4))) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (+.f64 (pow.f64 a1 4) (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 -1 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6))))) (*.f64 5/64 (/.f64 1 (pow.f64 a2 6)))) (*.f64 (pow.f64 a1 8) (pow.f64 a2 2)))) (pow.f64 a2 4)))) |
(+.f64 (fma.f64 2 (*.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (pow.f64 a1 4)) (fma.f64 2 (*.f64 (fma.f64 -1 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (/.f64 5/64 (pow.f64 a2 6))) (*.f64 (*.f64 a2 a2) (pow.f64 a1 8))) (pow.f64 a2 4))) |
(+.f64 (fma.f64 2 (*.f64 (-.f64 (/.f64 5/64 (pow.f64 a2 6)) (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6)))) (*.f64 a2 (*.f64 a2 (pow.f64 a1 8)))) (pow.f64 a2 4)) (fma.f64 2 (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))) (pow.f64 a1 4))) |
(+.f64 (fma.f64 2 (*.f64 (+.f64 (neg.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2)) (*.f64 (/.f64 1 (pow.f64 a2 6)) 1/64)) (*.f64 a2 (*.f64 a2 (pow.f64 a1 8)))) (pow.f64 a2 4)) (fma.f64 2 (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))) (pow.f64 a1 4))) |
(pow.f64 a1 4) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (pow.f64 a1 4)) |
(fma.f64 2 (*.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (pow.f64 a1 4)) |
(fma.f64 2 (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))) (pow.f64 a1 4)) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (+.f64 (pow.f64 a1 4) (+.f64 (*.f64 -1/2 (pow.f64 a2 4)) (+.f64 (*.f64 1/2 (pow.f64 a2 4)) (pow.f64 a2 4))))) |
(+.f64 (fma.f64 2 (*.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (pow.f64 a1 4)) (pow.f64 a2 4)) |
(fma.f64 2 (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))) (+.f64 (pow.f64 a2 4) (pow.f64 a1 4))) |
(+.f64 (pow.f64 a2 4) (fma.f64 2 (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))) (pow.f64 a1 4))) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (+.f64 (pow.f64 a1 4) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 a2 6) (pow.f64 a1 2))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 a2 6) (pow.f64 a1 2))) (+.f64 (*.f64 -1/2 (pow.f64 a2 4)) (+.f64 (*.f64 1/2 (pow.f64 a2 4)) (+.f64 (pow.f64 a2 4) (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (pow.f64 a2 2)) (pow.f64 a1 2)))))))))) |
(+.f64 (fma.f64 2 (*.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (pow.f64 a1 4)) (pow.f64 a2 4)) |
(fma.f64 2 (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))) (+.f64 (pow.f64 a2 4) (pow.f64 a1 4))) |
(+.f64 (pow.f64 a2 4) (fma.f64 2 (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))) (pow.f64 a1 4))) |
(pow.f64 a1 4) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (pow.f64 a1 4)) |
(fma.f64 2 (*.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (pow.f64 a1 4)) |
(fma.f64 2 (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))) (pow.f64 a1 4)) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (+.f64 (pow.f64 a1 4) (+.f64 (*.f64 -1/2 (pow.f64 a2 4)) (+.f64 (*.f64 1/2 (pow.f64 a2 4)) (pow.f64 a2 4))))) |
(+.f64 (fma.f64 2 (*.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (pow.f64 a1 4)) (pow.f64 a2 4)) |
(fma.f64 2 (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))) (+.f64 (pow.f64 a2 4) (pow.f64 a1 4))) |
(+.f64 (pow.f64 a2 4) (fma.f64 2 (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))) (pow.f64 a1 4))) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (+.f64 (pow.f64 a1 4) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 a2 6) (pow.f64 a1 2))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 a2 6) (pow.f64 a1 2))) (+.f64 (*.f64 -1/2 (pow.f64 a2 4)) (+.f64 (*.f64 1/2 (pow.f64 a2 4)) (+.f64 (pow.f64 a2 4) (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (pow.f64 a2 2)) (pow.f64 a1 2)))))))))) |
(+.f64 (fma.f64 2 (*.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (pow.f64 a1 4)) (pow.f64 a2 4)) |
(fma.f64 2 (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))) (+.f64 (pow.f64 a2 4) (pow.f64 a1 4))) |
(+.f64 (pow.f64 a2 4) (fma.f64 2 (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))) (pow.f64 a1 4))) |
(pow.f64 a1 4) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (pow.f64 a1 4)) |
(fma.f64 2 (*.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (pow.f64 a1 4)) |
(fma.f64 2 (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))) (pow.f64 a1 4)) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (+.f64 (pow.f64 a1 4) (pow.f64 a2 4))) |
(+.f64 (fma.f64 2 (*.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (pow.f64 a1 4)) (pow.f64 a2 4)) |
(fma.f64 2 (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))) (+.f64 (pow.f64 a2 4) (pow.f64 a1 4))) |
(+.f64 (pow.f64 a2 4) (fma.f64 2 (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))) (pow.f64 a1 4))) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (+.f64 (pow.f64 a1 4) (+.f64 (pow.f64 a2 4) (*.f64 2 (*.f64 (+.f64 (*.f64 -1 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (*.f64 5/64 (/.f64 1 (pow.f64 a1 6)))) (*.f64 (pow.f64 a1 2) (pow.f64 a2 8))))))) |
(+.f64 (fma.f64 2 (*.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (pow.f64 a1 4)) (+.f64 (pow.f64 a2 4) (*.f64 2 (*.f64 (fma.f64 -1 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (/.f64 5/64 (pow.f64 a1 6))) (*.f64 (*.f64 a1 a1) (pow.f64 a2 8)))))) |
(+.f64 (fma.f64 2 (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))) (pow.f64 a1 4)) (fma.f64 2 (*.f64 (*.f64 a1 a1) (*.f64 (pow.f64 a2 8) (-.f64 (/.f64 5/64 (pow.f64 a1 6)) (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))))) (pow.f64 a2 4))) |
(+.f64 (+.f64 (pow.f64 a2 4) (pow.f64 a1 4)) (*.f64 (*.f64 a1 a1) (+.f64 (*.f64 (*.f64 2 (-.f64 (*.f64 (/.f64 1 (pow.f64 a1 6)) 1/64) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (pow.f64 a2 8)) (*.f64 2 (*.f64 a2 a2))))) |
(pow.f64 a2 4) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (pow.f64 a2 4)) |
(fma.f64 2 (*.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (pow.f64 a2 4)) |
(fma.f64 2 (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))) (pow.f64 a2 4)) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (+.f64 (pow.f64 a1 4) (+.f64 (*.f64 1/2 (pow.f64 a1 4)) (+.f64 (pow.f64 a2 4) (*.f64 -1/2 (pow.f64 a1 4)))))) |
(+.f64 (fma.f64 2 (*.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (pow.f64 a1 4)) (pow.f64 a2 4)) |
(fma.f64 2 (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))) (+.f64 (pow.f64 a2 4) (pow.f64 a1 4))) |
(+.f64 (pow.f64 a2 4) (fma.f64 2 (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))) (pow.f64 a1 4))) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 a1 6) (pow.f64 a2 2))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 a1 6) (pow.f64 a2 2))) (+.f64 (pow.f64 a1 4) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 a1 2) (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4)))) (pow.f64 a2 2))) (+.f64 (*.f64 1/2 (pow.f64 a1 4)) (+.f64 (pow.f64 a2 4) (*.f64 -1/2 (pow.f64 a1 4))))))))) |
(+.f64 (fma.f64 2 (*.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (pow.f64 a1 4)) (pow.f64 a2 4)) |
(fma.f64 2 (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))) (+.f64 (pow.f64 a2 4) (pow.f64 a1 4))) |
(+.f64 (pow.f64 a2 4) (fma.f64 2 (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))) (pow.f64 a1 4))) |
(pow.f64 a2 4) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (pow.f64 a2 4)) |
(fma.f64 2 (*.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (pow.f64 a2 4)) |
(fma.f64 2 (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))) (pow.f64 a2 4)) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (+.f64 (pow.f64 a1 4) (+.f64 (*.f64 1/2 (pow.f64 a1 4)) (+.f64 (pow.f64 a2 4) (*.f64 -1/2 (pow.f64 a1 4)))))) |
(+.f64 (fma.f64 2 (*.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (pow.f64 a1 4)) (pow.f64 a2 4)) |
(fma.f64 2 (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))) (+.f64 (pow.f64 a2 4) (pow.f64 a1 4))) |
(+.f64 (pow.f64 a2 4) (fma.f64 2 (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))) (pow.f64 a1 4))) |
(+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 a1 6) (pow.f64 a2 2))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 a1 6) (pow.f64 a2 2))) (+.f64 (pow.f64 a1 4) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 a1 2) (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4)))) (pow.f64 a2 2))) (+.f64 (*.f64 1/2 (pow.f64 a1 4)) (+.f64 (pow.f64 a2 4) (*.f64 -1/2 (pow.f64 a1 4))))))))) |
(+.f64 (fma.f64 2 (*.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (pow.f64 a1 4)) (pow.f64 a2 4)) |
(fma.f64 2 (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))) (+.f64 (pow.f64 a2 4) (pow.f64 a1 4))) |
(+.f64 (pow.f64 a2 4) (fma.f64 2 (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))) (pow.f64 a1 4))) |
Compiled 14543 to 9678 computations (33.5% saved)
23 alts after pruning (22 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 671 | 22 | 693 |
| Fresh | 8 | 0 | 8 |
| Picked | 1 | 0 | 1 |
| Done | 4 | 1 | 5 |
| Total | 684 | 23 | 707 |
| Status | Error | Program |
|---|---|---|
| 30.5b | (*.f64 (*.f64 (*.f64 a1 a1) (neg.f64 (cos.f64 th))) (/.f64 1 (neg.f64 (sqrt.f64 2)))) | |
| 25.2b | (*.f64 a2 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) a2))) | |
| 25.2b | (/.f64 (*.f64 (*.f64 a2 (cos.f64 th)) a2) (sqrt.f64 2)) | |
| 44.5b | (*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (+.f64 1 (*.f64 th (*.f64 th -1/2)))) | |
| 25.2b | (*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) | |
| ▶ | 29.4b | (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) |
| 41.2b | (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) | |
| 30.5b | (*.f64 a1 (*.f64 a1 (*.f64 (sqrt.f64 1/2) (cos.f64 th)))) | |
| 43.8b | (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) | |
| ▶ | 41.1b | (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
| ▶ | 25.2b | (*.f64 a2 (*.f64 (*.f64 (pow.f64 2 -1/2) a2) (cos.f64 th))) |
| 45.1b | (*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (+.f64 1 (*.f64 th (*.f64 th -1/2))))) | |
| 25.2b | (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))) | |
| ▶ | 43.7b | (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) |
| ▶ | 29.4b | (*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))) |
| 31.0b | (pow.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 (*.f64 a1 (cos.f64 th)))) -1) | |
| 30.5b | (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) | |
| 30.5b | (*.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (cos.f64 th)) | |
| ✓ | 25.2b | (*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th))) |
| 25.2b | (*.f64 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) | |
| 30.5b | (*.f64 (/.f64 (*.f64 a1 (*.f64 a1 (cos.f64 th))) (sqrt.f64 2)) 1) | |
| 30.5b | (*.f64 (cos.f64 th) (*.f64 (*.f64 a1 a1) (pow.f64 2 -1/2))) | |
| 30.5b | (*.f64 (sqrt.f64 1/2) (*.f64 a1 (*.f64 a1 (cos.f64 th)))) |
Compiled 556 to 425 computations (23.6% saved)
Found 3 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.2b | (*.f64 (*.f64 (pow.f64 2 -1/2) a2) (cos.f64 th)) |
| ✓ | 0.2b | (*.f64 a2 (*.f64 (*.f64 (pow.f64 2 -1/2) a2) (cos.f64 th))) |
| ✓ | 0.4b | (*.f64 (pow.f64 2 -1/2) a2) |
Compiled 35 to 24 computations (31.4% saved)
15 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 2.0ms | th | @ | inf | (*.f64 a2 (*.f64 (*.f64 (pow.f64 2 -1/2) a2) (cos.f64 th))) |
| 1.0ms | a2 | @ | 0 | (*.f64 (pow.f64 2 -1/2) a2) |
| 1.0ms | a2 | @ | inf | (*.f64 a2 (*.f64 (*.f64 (pow.f64 2 -1/2) a2) (cos.f64 th))) |
| 1.0ms | a2 | @ | inf | (*.f64 (pow.f64 2 -1/2) a2) |
| 1.0ms | th | @ | -inf | (*.f64 (*.f64 (pow.f64 2 -1/2) a2) (cos.f64 th)) |
| 1× | batch-egg-rewrite |
| 949× | pow1_binary64 |
| 876× | add-log-exp_binary64 |
| 875× | log1p-expm1-u_binary64 |
| 875× | expm1-log1p-u_binary64 |
| 856× | add-exp-log_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 34 |
| 1 | 208 | 31 |
| 2 | 2426 | 31 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (pow.f64 2 -1/2) a2) |
(*.f64 a2 (*.f64 (*.f64 (pow.f64 2 -1/2) a2) (cos.f64 th))) |
(*.f64 (*.f64 (pow.f64 2 -1/2) a2) (cos.f64 th)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (sqrt.f64 1/2) a2)) 1)))) (#(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 a2) (sqrt.f64 1/2)))))) (#(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 (*.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 a2 (*.f64 a2 (*.f64 (sqrt.f64 1/2) (cos.f64 th))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 a2 (*.f64 a2 (*.f64 (sqrt.f64 1/2) (cos.f64 th)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 a2 (*.f64 a2 (*.f64 (sqrt.f64 1/2) (cos.f64 th)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 a2 (*.f64 a2 (*.f64 (sqrt.f64 1/2) (cos.f64 th))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 a2 (*.f64 a2 (*.f64 (sqrt.f64 1/2) (cos.f64 th))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 a2 (*.f64 a2 (*.f64 (sqrt.f64 1/2) (cos.f64 th)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 a2) (*.f64 a2 (*.f64 (sqrt.f64 1/2) (cos.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 a2 (*.f64 a2 (*.f64 (sqrt.f64 1/2) (cos.f64 th)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 a2 3) (pow.f64 (*.f64 a2 (*.f64 (sqrt.f64 1/2) (cos.f64 th))) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (*.f64 a2 (*.f64 (sqrt.f64 1/2) (cos.f64 th))) 3) (pow.f64 a2 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 a2 (*.f64 a2 (*.f64 (sqrt.f64 1/2) (cos.f64 th))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 a2 (*.f64 a2 (*.f64 (sqrt.f64 1/2) (cos.f64 th))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 a2 (*.f64 a2 (*.f64 (sqrt.f64 1/2) (cos.f64 th)))))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 a2 (*.f64 (sqrt.f64 1/2) (cos.f64 th)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 a2 (*.f64 (sqrt.f64 1/2) (cos.f64 th))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 a2 (*.f64 (sqrt.f64 1/2) (cos.f64 th))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 a2 (*.f64 (sqrt.f64 1/2) (cos.f64 th)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 a2 (*.f64 (sqrt.f64 1/2) (cos.f64 th)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 a2 (*.f64 (sqrt.f64 1/2) (cos.f64 th))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (pow.f64 (exp.f64 a2) (sqrt.f64 1/2)) (cos.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 a2 (*.f64 (sqrt.f64 1/2) (cos.f64 th))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (*.f64 (sqrt.f64 1/2) 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 (sqrt.f64 1/2) a2) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 a2 (*.f64 (sqrt.f64 1/2) (cos.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 a2 (*.f64 (sqrt.f64 1/2) (cos.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 a2 (*.f64 (sqrt.f64 1/2) (cos.f64 th))))))))) |
| 1× | egg-herbie |
| 841× | distribute-lft-out_binary64 |
| 697× | sqr-pow_binary64 |
| 645× | *-commutative_binary64 |
| 524× | distribute-rgt-in_binary64 |
| 368× | pow-sqr_binary64 |
Useful iterations: 4 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 56 | 830 |
| 1 | 143 | 830 |
| 2 | 410 | 790 |
| 3 | 1763 | 769 |
| 4 | 3229 | 758 |
| 5 | 3851 | 758 |
| 6 | 4498 | 758 |
| 7 | 5464 | 758 |
| 8 | 5621 | 758 |
| 9 | 5804 | 758 |
| 10 | 6095 | 758 |
| 11 | 6397 | 758 |
| 12 | 6738 | 758 |
| 13 | 7148 | 758 |
| 14 | 7633 | 758 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (sqrt.f64 1/2) a2) |
(*.f64 (sqrt.f64 1/2) a2) |
(*.f64 (sqrt.f64 1/2) a2) |
(*.f64 (sqrt.f64 1/2) a2) |
(*.f64 (sqrt.f64 1/2) a2) |
(*.f64 (sqrt.f64 1/2) a2) |
(*.f64 (sqrt.f64 1/2) a2) |
(*.f64 (sqrt.f64 1/2) a2) |
(*.f64 (sqrt.f64 1/2) a2) |
(*.f64 (sqrt.f64 1/2) a2) |
(*.f64 (sqrt.f64 1/2) 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 (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 (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 (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 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) a2) |
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 a2 (pow.f64 th 2)))) (*.f64 (sqrt.f64 1/2) a2)) |
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 a2 (pow.f64 th 2)))) (+.f64 (*.f64 (sqrt.f64 1/2) a2) (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 a2 (pow.f64 th 4)))))) |
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 a2 (pow.f64 th 2)))) (+.f64 (*.f64 (sqrt.f64 1/2) a2) (+.f64 (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 a2 (pow.f64 th 4)))) (*.f64 -1/720 (*.f64 (sqrt.f64 1/2) (*.f64 a2 (pow.f64 th 6))))))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) a2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) a2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) a2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) a2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) a2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) a2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) a2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) a2)) |
| Outputs |
|---|
(*.f64 (sqrt.f64 1/2) a2) |
(*.f64 (sqrt.f64 1/2) a2) |
(*.f64 (sqrt.f64 1/2) a2) |
(*.f64 (sqrt.f64 1/2) a2) |
(*.f64 (sqrt.f64 1/2) a2) |
(*.f64 (sqrt.f64 1/2) a2) |
(*.f64 (sqrt.f64 1/2) a2) |
(*.f64 (sqrt.f64 1/2) a2) |
(*.f64 (sqrt.f64 1/2) a2) |
(*.f64 (sqrt.f64 1/2) a2) |
(*.f64 (sqrt.f64 1/2) 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 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (*.f64 (sqrt.f64 1/2) a2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (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 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (*.f64 (sqrt.f64 1/2) a2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (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 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (*.f64 (sqrt.f64 1/2) a2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (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 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (*.f64 (sqrt.f64 1/2) a2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (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 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (*.f64 (sqrt.f64 1/2) a2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (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 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (*.f64 (sqrt.f64 1/2) a2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (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 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (*.f64 (sqrt.f64 1/2) a2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (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 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (*.f64 (sqrt.f64 1/2) a2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (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 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (*.f64 (sqrt.f64 1/2) a2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (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 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (*.f64 (sqrt.f64 1/2) a2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (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 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (*.f64 (sqrt.f64 1/2) a2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (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 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (*.f64 (sqrt.f64 1/2) a2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) |
(*.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 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 th) (*.f64 a2 th))) (*.f64 a2 (*.f64 (sqrt.f64 1/2) a2))) |
(*.f64 (*.f64 a2 a2) (+.f64 (sqrt.f64 1/2) (*.f64 (*.f64 th th) (*.f64 (sqrt.f64 1/2) -1/2)))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (+.f64 a2 (*.f64 th (*.f64 -1/2 (*.f64 a2 th)))))) |
(*.f64 (*.f64 a2 a2) (*.f64 (+.f64 1 (*.f64 th (*.f64 th -1/2))) (sqrt.f64 1/2))) |
(*.f64 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 th (*.f64 th -1/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)))))) |
(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 th) (*.f64 a2 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 (*.f64 a2 (pow.f64 th 4))) 1/24)))) |
(fma.f64 (sqrt.f64 1/2) (*.f64 a2 a2) (*.f64 (*.f64 a2 (*.f64 (sqrt.f64 1/2) a2)) (+.f64 (*.f64 1/24 (pow.f64 th 4)) (*.f64 -1/2 (*.f64 th th))))) |
(*.f64 (*.f64 a2 a2) (+.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 th (*.f64 th -1/2)) (*.f64 1/24 (pow.f64 th 4)))))) |
(*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)) (+.f64 (*.f64 1/24 (pow.f64 th 4)) (+.f64 1 (*.f64 th (*.f64 th -1/2))))) |
(*.f64 a2 (*.f64 (*.f64 (sqrt.f64 1/2) a2) (+.f64 1 (+.f64 (*.f64 th (*.f64 th -1/2)) (*.f64 1/24 (pow.f64 th 4)))))) |
(*.f64 (*.f64 a2 (*.f64 (sqrt.f64 1/2) a2)) (+.f64 1 (+.f64 (*.f64 th (*.f64 th -1/2)) (*.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 (sqrt.f64 1/2) (*.f64 (*.f64 a2 th) (*.f64 a2 th))) (fma.f64 -1/720 (*.f64 (*.f64 a2 (*.f64 (sqrt.f64 1/2) a2)) (pow.f64 th 6)) (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 (*.f64 a2 (pow.f64 th 4))) 1/24))))) |
(+.f64 (*.f64 (*.f64 a2 (*.f64 (sqrt.f64 1/2) a2)) (+.f64 (*.f64 -1/720 (pow.f64 th 6)) (*.f64 -1/2 (*.f64 th th)))) (*.f64 (*.f64 a2 a2) (+.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 th 4) (*.f64 (sqrt.f64 1/2) 1/24))))) |
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 (+.f64 a2 (*.f64 th (*.f64 -1/2 (*.f64 a2 th))))) (*.f64 (*.f64 a2 a2) (+.f64 (*.f64 -1/720 (pow.f64 th 6)) (*.f64 1/24 (pow.f64 th 4)))))) |
(*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)) (+.f64 (+.f64 1 (*.f64 th (*.f64 th -1/2))) (+.f64 (*.f64 -1/720 (pow.f64 th 6)) (*.f64 1/24 (pow.f64 th 4))))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (+.f64 (+.f64 (*.f64 -1/720 (pow.f64 th 6)) (*.f64 th (*.f64 th -1/2))) (+.f64 1 (*.f64 1/24 (pow.f64 th 4))))))) |
(*.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 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (*.f64 (sqrt.f64 1/2) a2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.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 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (*.f64 (sqrt.f64 1/2) a2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.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 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (*.f64 (sqrt.f64 1/2) a2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.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 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (*.f64 (sqrt.f64 1/2) a2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (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 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (*.f64 (sqrt.f64 1/2) a2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (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 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (*.f64 (sqrt.f64 1/2) a2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (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 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (*.f64 (sqrt.f64 1/2) a2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (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 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (*.f64 (sqrt.f64 1/2) a2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) a2) |
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 a2 (pow.f64 th 2)))) (*.f64 (sqrt.f64 1/2) a2)) |
(fma.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 th th))) (*.f64 (sqrt.f64 1/2) a2)) |
(fma.f64 (sqrt.f64 1/2) a2 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 (*.f64 th th)) -1/2))) |
(*.f64 (sqrt.f64 1/2) (+.f64 a2 (*.f64 a2 (*.f64 -1/2 (*.f64 th th))))) |
(*.f64 (sqrt.f64 1/2) (+.f64 a2 (*.f64 th (*.f64 -1/2 (*.f64 a2 th))))) |
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 a2 (pow.f64 th 2)))) (+.f64 (*.f64 (sqrt.f64 1/2) a2) (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 a2 (pow.f64 th 4)))))) |
(fma.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 th th))) (fma.f64 (sqrt.f64 1/2) a2 (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 a2 (pow.f64 th 4)))))) |
(fma.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 th th))) (fma.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 a2 (pow.f64 th 4))) (*.f64 (sqrt.f64 1/2) a2))) |
(fma.f64 (sqrt.f64 1/2) a2 (*.f64 (*.f64 (sqrt.f64 1/2) a2) (+.f64 (*.f64 1/24 (pow.f64 th 4)) (*.f64 -1/2 (*.f64 th th))))) |
(*.f64 (sqrt.f64 1/2) (+.f64 a2 (*.f64 a2 (+.f64 (*.f64 th (*.f64 th -1/2)) (*.f64 1/24 (pow.f64 th 4)))))) |
(*.f64 (*.f64 (sqrt.f64 1/2) a2) (+.f64 (*.f64 th (*.f64 th -1/2)) (+.f64 1 (*.f64 1/24 (pow.f64 th 4))))) |
(*.f64 (*.f64 (sqrt.f64 1/2) a2) (+.f64 1 (+.f64 (*.f64 th (*.f64 th -1/2)) (*.f64 1/24 (pow.f64 th 4))))) |
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 a2 (pow.f64 th 2)))) (+.f64 (*.f64 (sqrt.f64 1/2) a2) (+.f64 (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 a2 (pow.f64 th 4)))) (*.f64 -1/720 (*.f64 (sqrt.f64 1/2) (*.f64 a2 (pow.f64 th 6))))))) |
(fma.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 th th))) (fma.f64 (sqrt.f64 1/2) a2 (fma.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 a2 (pow.f64 th 4))) (*.f64 -1/720 (*.f64 (sqrt.f64 1/2) (*.f64 a2 (pow.f64 th 6))))))) |
(fma.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 th th))) (fma.f64 (sqrt.f64 1/2) a2 (fma.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 a2 (pow.f64 th 4))) (*.f64 (*.f64 (sqrt.f64 1/2) a2) (*.f64 (pow.f64 th 6) -1/720))))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 a2 (*.f64 a2 (*.f64 -1/2 (*.f64 th th))))) (*.f64 (*.f64 (sqrt.f64 1/2) a2) (+.f64 (*.f64 1/24 (pow.f64 th 4)) (*.f64 -1/720 (pow.f64 th 6))))) |
(*.f64 (sqrt.f64 1/2) (+.f64 (+.f64 a2 (*.f64 a2 (*.f64 -1/720 (pow.f64 th 6)))) (*.f64 a2 (+.f64 (*.f64 th (*.f64 th -1/2)) (*.f64 1/24 (pow.f64 th 4)))))) |
(*.f64 (*.f64 (sqrt.f64 1/2) a2) (+.f64 (+.f64 1 (*.f64 th (*.f64 th -1/2))) (+.f64 (*.f64 -1/720 (pow.f64 th 6)) (*.f64 1/24 (pow.f64 th 4))))) |
(*.f64 (*.f64 (sqrt.f64 1/2) a2) (+.f64 (+.f64 (*.f64 -1/720 (pow.f64 th 6)) (*.f64 th (*.f64 th -1/2))) (+.f64 1 (*.f64 1/24 (pow.f64 th 4))))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) a2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) a2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) a2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) a2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) a2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) a2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) a2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) a2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th))) |
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)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | a1 | @ | inf | (/.f64 a1 (sqrt.f64 2)) |
| 1.0ms | a1 | @ | 0 | (/.f64 a1 (sqrt.f64 2)) |
| 1.0ms | a1 | @ | -inf | (/.f64 a1 (sqrt.f64 2)) |
| 1.0ms | a1 | @ | 0 | (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) |
| 1.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 | 15 |
| 1 | 127 | 15 |
| 2 | 1566 | 15 |
| 1× | node limit |
| Inputs |
|---|
(/.f64 a1 (sqrt.f64 2)) |
(*.f64 a1 (/.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 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 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 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 | |
|---|---|---|---|---|
| 1.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 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.4b | (*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))) |
Compiled 26 to 11 computations (57.7% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | a2 | @ | 0 | (*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))) |
| 1.0ms | a1 | @ | inf | (*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))) |
| 1.0ms | a2 | @ | -inf | (*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))) |
| 1.0ms | a2 | @ | inf | (*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))) |
| 1.0ms | a1 | @ | 0 | (*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))) |
| 1× | batch-egg-rewrite |
| 674× | pow1_binary64 |
| 620× | add-log-exp_binary64 |
| 620× | log1p-expm1-u_binary64 |
| 620× | expm1-log1p-u_binary64 |
| 605× | add-exp-log_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 13 |
| 1 | 158 | 12 |
| 2 | 1753 | 12 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 a2 a2) (sqrt.f64 1/2)) (*.f64 (*.f64 a1 a1) (sqrt.f64 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)) (*.f64 (sqrt.f64 1/2) (*.f64 a1 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (sqrt.f64 1/2) (pow.f64 (hypot.f64 a2 a1) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.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 (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 (sqrt.f64 1/2) (pow.f64 (hypot.f64 a2 a1) 2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 1/2 1/4) (hypot.f64 a2 a1)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 1/2 (pow.f64 (pow.f64 (hypot.f64 a2 a1) 2) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sqrt.f64 1/2)) (pow.f64 (hypot.f64 a2 a1) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 (hypot.f64 a2 a1) 2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (*.f64 1/2 (sqrt.f64 1/2)) (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) (*.f64 1/2 (sqrt.f64 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 (hypot.f64 a2 a1) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 (hypot.f64 a2 a1) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 (hypot.f64 a2 a1) 2)))))))) |
| 1× | egg-herbie |
| 1040× | sqr-pow_binary64 |
| 784× | cube-prod_binary64 |
| 743× | fabs-mul_binary64 |
| 484× | unswap-sqr_binary64 |
| 360× | pow-sqr_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 324 |
| 1 | 25 | 288 |
| 2 | 49 | 288 |
| 3 | 94 | 288 |
| 4 | 226 | 288 |
| 5 | 687 | 288 |
| 6 | 1068 | 288 |
| 7 | 1891 | 288 |
| 8 | 2108 | 288 |
| 9 | 2348 | 288 |
| 10 | 2661 | 288 |
| 11 | 3107 | 288 |
| 12 | 3703 | 288 |
| 13 | 4412 | 288 |
| 14 | 5296 | 288 |
| 15 | 5988 | 288 |
| 16 | 6446 | 288 |
| 17 | 6882 | 288 |
| 18 | 7038 | 288 |
| 19 | 7108 | 288 |
| 20 | 7935 | 288 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)) |
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2))) |
(*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) |
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2))) |
(*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) |
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2))) |
(*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) |
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2))) |
(*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)) |
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2))) |
(*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)) |
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2))) |
| Outputs |
|---|
(*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a1 a1)) |
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/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 (sqrt.f64 1/2) (fma.f64 a1 a1 (*.f64 a2 a2))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/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 (sqrt.f64 1/2) (fma.f64 a1 a1 (*.f64 a2 a2))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/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 (sqrt.f64 1/2) (fma.f64 a1 a1 (*.f64 a2 a2))) |
(*.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 (sqrt.f64 1/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 (sqrt.f64 1/2) (fma.f64 a1 a1 (*.f64 a2 a2))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/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 (sqrt.f64 1/2) (fma.f64 a1 a1 (*.f64 a2 a2))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/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 (sqrt.f64 1/2) (fma.f64 a1 a1 (*.f64 a2 a2))) |
(*.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 (sqrt.f64 1/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 (sqrt.f64 1/2) (fma.f64 a1 a1 (*.f64 a2 a2))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/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 (sqrt.f64 1/2) (fma.f64 a1 a1 (*.f64 a2 a2))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/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 (sqrt.f64 1/2) (fma.f64 a1 a1 (*.f64 a2 a2))) |
(*.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 (sqrt.f64 1/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 (sqrt.f64 1/2) (fma.f64 a1 a1 (*.f64 a2 a2))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/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 (sqrt.f64 1/2) (fma.f64 a1 a1 (*.f64 a2 a2))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/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 (sqrt.f64 1/2) (fma.f64 a1 a1 (*.f64 a2 a2))) |
(*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a1 a1)) |
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/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 (sqrt.f64 1/2) (fma.f64 a1 a1 (*.f64 a2 a2))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/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 (sqrt.f64 1/2) (fma.f64 a1 a1 (*.f64 a2 a2))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/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 (sqrt.f64 1/2) (fma.f64 a1 a1 (*.f64 a2 a2))) |
(*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a1 a1)) |
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/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 (sqrt.f64 1/2) (fma.f64 a1 a1 (*.f64 a2 a2))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/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 (sqrt.f64 1/2) (fma.f64 a1 a1 (*.f64 a2 a2))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/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 (sqrt.f64 1/2) (fma.f64 a1 a1 (*.f64 a2 a2))) |
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 | a1 | @ | 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 | a2 | @ | -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))) |
Compiled 2290 to 1621 computations (29.2% saved)
37 alts after pruning (33 fresh and 4 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 179 | 20 | 199 |
| Fresh | 4 | 13 | 17 |
| Picked | 0 | 1 | 1 |
| Done | 2 | 3 | 5 |
| Total | 185 | 37 | 222 |
| Status | Error | Program |
|---|---|---|
| 43.8b | (*.f64 (sqrt.f64 1/2) (*.f64 a1 a1)) | |
| 44.9b | (*.f64 a2 (*.f64 (sqrt.f64 1/2) (+.f64 a2 (*.f64 th (*.f64 -1/2 (*.f64 a2 th)))))) | |
| 30.5b | (*.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (cos.f64 th)) | |
| 44.0b | (/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 a1 a1))) | |
| 48.3b | (*.f64 a1 (-.f64 (+.f64 1 (/.f64 a1 (sqrt.f64 2))) 1)) | |
| ✓ | 25.2b | (*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th))) |
| 25.2b | (/.f64 (*.f64 (*.f64 a2 (cos.f64 th)) a2) (sqrt.f64 2)) | |
| 48.6b | (-.f64 (+.f64 1 (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) 1) | |
| 30.5b | (*.f64 (*.f64 (*.f64 a1 a1) (neg.f64 (cos.f64 th))) (/.f64 1 (neg.f64 (sqrt.f64 2)))) | |
| 44.5b | (*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (+.f64 1 (*.f64 th (*.f64 th -1/2)))) | |
| 41.2b | (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) | |
| 30.5b | (*.f64 a1 (*.f64 a1 (*.f64 (sqrt.f64 1/2) (cos.f64 th)))) | |
| 43.8b | (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) | |
| 41.2b | (*.f64 (*.f64 a2 (neg.f64 a2)) (/.f64 1 (neg.f64 (sqrt.f64 2)))) | |
| 48.1b | (sqrt.f64 (/.f64 (pow.f64 a2 4) 2)) | |
| 43.8b | (*.f64 a1 (*.f64 (pow.f64 2 -1/2) a1)) | |
| 43.7b | (*.f64 a1 (*.f64 (neg.f64 a1) (/.f64 1 (neg.f64 (sqrt.f64 2))))) | |
| ▶ | 44.5b | (*.f64 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 th (*.f64 th -1/2))))) |
| 41.2b | (pow.f64 (/.f64 (sqrt.f64 2) (*.f64 a2 a2)) -1) | |
| 54.4b | (*.f64 a1 (sqrt.f64 (/.f64 (*.f64 a1 a1) 2))) | |
| 45.1b | (*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (+.f64 1 (*.f64 th (*.f64 th -1/2))))) | |
| 25.2b | (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))) | |
| 30.5b | (*.f64 (/.f64 (*.f64 a1 (*.f64 a1 (cos.f64 th))) (sqrt.f64 2)) 1) | |
| 41.2b | (pow.f64 (/.f64 a2 (pow.f64 2 1/4)) 2) | |
| ▶ | 41.2b | (*.f64 a2 (*.f64 (sqrt.f64 1/2) a2)) |
| 30.5b | (*.f64 (cos.f64 th) (*.f64 (*.f64 a1 a1) (pow.f64 2 -1/2))) | |
| 41.2b | (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)) | |
| ▶ | 41.1b | (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) 1) |
| ▶ | 25.2b | (*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) |
| ✓ | 43.7b | (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) |
| ▶ | 25.2b | (*.f64 a2 (*.f64 (*.f64 (sqrt.f64 1/2) a2) (cos.f64 th))) |
| ✓ | 29.4b | (*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))) |
| 43.7b | (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) | |
| ✓ | 29.4b | (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) |
| 43.8b | (*.f64 a1 (pow.f64 (/.f64 (sqrt.f64 2) a1) -1)) | |
| 30.5b | (*.f64 (sqrt.f64 1/2) (*.f64 a1 (*.f64 a1 (cos.f64 th)))) | |
| 30.5b | (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
Compiled 839 to 658 computations (21.6% saved)
Found 3 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.2b | (*.f64 (*.f64 (sqrt.f64 1/2) a2) (cos.f64 th)) |
| ✓ | 0.2b | (*.f64 a2 (*.f64 (*.f64 (sqrt.f64 1/2) a2) (cos.f64 th))) |
| ✓ | 0.4b | (*.f64 (sqrt.f64 1/2) a2) |
Compiled 30 to 19 computations (36.7% saved)
15 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 2.0ms | a2 | @ | -inf | (*.f64 (sqrt.f64 1/2) a2) |
| 1.0ms | a2 | @ | inf | (*.f64 (sqrt.f64 1/2) a2) |
| 1.0ms | a2 | @ | 0 | (*.f64 (sqrt.f64 1/2) a2) |
| 1.0ms | th | @ | 0 | (*.f64 a2 (*.f64 (*.f64 (sqrt.f64 1/2) a2) (cos.f64 th))) |
| 1.0ms | th | @ | 0 | (*.f64 (*.f64 (sqrt.f64 1/2) a2) (cos.f64 th)) |
| 1× | batch-egg-rewrite |
| 844× | pow1_binary64 |
| 775× | add-log-exp_binary64 |
| 775× | log1p-expm1-u_binary64 |
| 775× | expm1-log1p-u_binary64 |
| 757× | add-exp-log_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 31 |
| 1 | 181 | 31 |
| 2 | 2128 | 31 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (sqrt.f64 1/2) a2) |
(*.f64 a2 (*.f64 (*.f64 (sqrt.f64 1/2) a2) (cos.f64 th))) |
(*.f64 (*.f64 (sqrt.f64 1/2) a2) (cos.f64 th)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (sqrt.f64 1/2) a2)) 1)))) (#(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 1/2 (*.f64 a2 a2)))))) (#(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 (*.f64 1/2 (sqrt.f64 1/2)) (pow.f64 a2 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 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) 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 (*.f64 (sqrt.f64 1/2) a2) (*.f64 a2 (cos.f64 th)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 (sqrt.f64 1/2) a2) (*.f64 a2 (cos.f64 th))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (*.f64 (sqrt.f64 1/2) a2) (*.f64 a2 (cos.f64 th))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (*.f64 (sqrt.f64 1/2) a2) (*.f64 a2 (cos.f64 th)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (*.f64 (sqrt.f64 1/2) a2) (*.f64 a2 (cos.f64 th)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (*.f64 (sqrt.f64 1/2) a2) (*.f64 a2 (cos.f64 th))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (*.f64 (*.f64 a2 a2) (sqrt.f64 1/2))) (cos.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (*.f64 (sqrt.f64 1/2) a2) (*.f64 a2 (cos.f64 th))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 a2 3) (pow.f64 (*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th))) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th))) 3) (pow.f64 a2 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (*.f64 (sqrt.f64 1/2) a2) (*.f64 a2 (cos.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (*.f64 (sqrt.f64 1/2) a2) (*.f64 a2 (cos.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (*.f64 (sqrt.f64 1/2) a2) (*.f64 a2 (cos.f64 th))))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 1/2) (*.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 (cos.f64 th)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (pow.f64 (exp.f64 (sqrt.f64 1/2)) a2) (cos.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (*.f64 (sqrt.f64 1/2) 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 (sqrt.f64 1/2) a2) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th))))))))) |
| 1× | egg-herbie |
| 835× | distribute-lft-out_binary64 |
| 697× | sqr-pow_binary64 |
| 651× | *-commutative_binary64 |
| 524× | distribute-rgt-in_binary64 |
| 368× | pow-sqr_binary64 |
Useful iterations: 4 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 56 | 758 |
| 1 | 144 | 758 |
| 2 | 411 | 718 |
| 3 | 1768 | 697 |
| 4 | 3235 | 686 |
| 5 | 3860 | 686 |
| 6 | 4495 | 686 |
| 7 | 5461 | 686 |
| 8 | 5618 | 686 |
| 9 | 5801 | 686 |
| 10 | 6092 | 686 |
| 11 | 6390 | 686 |
| 12 | 6735 | 686 |
| 13 | 7143 | 686 |
| 14 | 7626 | 686 |
| 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 (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 (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 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) a2) |
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 a2 (pow.f64 th 2)))) (*.f64 (sqrt.f64 1/2) a2)) |
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 a2 (pow.f64 th 2)))) (+.f64 (*.f64 (sqrt.f64 1/2) a2) (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 a2 (pow.f64 th 4)))))) |
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 a2 (pow.f64 th 2)))) (+.f64 (*.f64 (sqrt.f64 1/2) a2) (+.f64 (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 a2 (pow.f64 th 4)))) (*.f64 -1/720 (*.f64 (sqrt.f64 1/2) (*.f64 a2 (pow.f64 th 6))))))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) a2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) a2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) a2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) a2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) a2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) a2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) a2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) a2)) |
| 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 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) |
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 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 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) |
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 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 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) |
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 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 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) |
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 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 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) |
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 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 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) |
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 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 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) |
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 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 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) |
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 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 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) |
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 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 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) |
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 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 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) |
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 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 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) |
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) |
(*.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 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (*.f64 th th))) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) |
(*.f64 (*.f64 a2 a2) (+.f64 (sqrt.f64 1/2) (*.f64 -1/2 (*.f64 th (*.f64 th (sqrt.f64 1/2)))))) |
(*.f64 a2 (*.f64 (sqrt.f64 1/2) (+.f64 a2 (*.f64 a2 (*.f64 th (*.f64 th -1/2)))))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (+.f64 a2 (*.f64 a2 (*.f64 th (*.f64 th -1/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)))))) |
(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 (sqrt.f64 1/2) (*.f64 (*.f64 (*.f64 a2 a2) (pow.f64 th 4)) 1/24)))) |
(fma.f64 (sqrt.f64 1/2) (*.f64 a2 a2) (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)) (+.f64 (*.f64 th (*.f64 th -1/2)) (*.f64 1/24 (pow.f64 th 4))))) |
(*.f64 (*.f64 a2 a2) (+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/24 (pow.f64 th 4)) (*.f64 th (*.f64 th -1/2)))) (sqrt.f64 1/2))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (+.f64 (+.f64 1 (*.f64 th (*.f64 th -1/2))) (*.f64 1/24 (pow.f64 th 4))))) |
(*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)) (+.f64 1 (+.f64 (*.f64 1/24 (pow.f64 th 4)) (*.f64 th (*.f64 th -1/2))))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (+.f64 1 (+.f64 (*.f64 1/24 (pow.f64 th 4)) (*.f64 th (*.f64 th -1/2)))))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (+.f64 a2 (*.f64 (+.f64 (*.f64 1/24 (pow.f64 th 4)) (*.f64 th (*.f64 th -1/2))) 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/24 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (pow.f64 th 4))) (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 (*.f64 a2 (pow.f64 th 6))) -1/720))))) |
(+.f64 (*.f64 (*.f64 a2 a2) (+.f64 (sqrt.f64 1/2) (*.f64 -1/2 (*.f64 th (*.f64 th (sqrt.f64 1/2)))))) (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)) (+.f64 (*.f64 1/24 (pow.f64 th 4)) (*.f64 -1/720 (pow.f64 th 6))))) |
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 (+.f64 a2 (*.f64 a2 (*.f64 th (*.f64 th -1/2))))) (*.f64 (*.f64 a2 a2) (+.f64 (*.f64 1/24 (pow.f64 th 4)) (*.f64 -1/720 (pow.f64 th 6)))))) |
(*.f64 a2 (*.f64 (*.f64 (sqrt.f64 1/2) a2) (+.f64 (+.f64 1 (*.f64 -1/720 (pow.f64 th 6))) (+.f64 (*.f64 1/24 (pow.f64 th 4)) (*.f64 th (*.f64 th -1/2)))))) |
(*.f64 a2 (*.f64 (*.f64 (sqrt.f64 1/2) a2) (+.f64 1 (+.f64 (*.f64 1/24 (pow.f64 th 4)) (+.f64 (*.f64 -1/720 (pow.f64 th 6)) (*.f64 th (*.f64 th -1/2))))))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (+.f64 1 (+.f64 (*.f64 1/24 (pow.f64 th 4)) (+.f64 (*.f64 -1/720 (pow.f64 th 6)) (*.f64 th (*.f64 th -1/2))))))) |
(*.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 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 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 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) |
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 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 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) |
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 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 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) |
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 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 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) |
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 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 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) |
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 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 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) |
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 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 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) |
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) a2) |
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 a2 (pow.f64 th 2)))) (*.f64 (sqrt.f64 1/2) a2)) |
(fma.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 th th))) (*.f64 (sqrt.f64 1/2) a2)) |
(*.f64 (sqrt.f64 1/2) (+.f64 a2 (*.f64 a2 (*.f64 th (*.f64 th -1/2))))) |
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 a2 (pow.f64 th 2)))) (+.f64 (*.f64 (sqrt.f64 1/2) a2) (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 a2 (pow.f64 th 4)))))) |
(fma.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 th th))) (fma.f64 (sqrt.f64 1/2) a2 (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 a2 (pow.f64 th 4)))))) |
(fma.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 th th))) (fma.f64 (sqrt.f64 1/2) a2 (*.f64 (*.f64 (sqrt.f64 1/2) a2) (*.f64 (pow.f64 th 4) 1/24)))) |
(fma.f64 (sqrt.f64 1/2) a2 (*.f64 (*.f64 (sqrt.f64 1/2) a2) (+.f64 (*.f64 th (*.f64 th -1/2)) (*.f64 1/24 (pow.f64 th 4))))) |
(*.f64 (sqrt.f64 1/2) (+.f64 a2 (*.f64 a2 (+.f64 (*.f64 1/24 (pow.f64 th 4)) (*.f64 th (*.f64 th -1/2)))))) |
(*.f64 (*.f64 (sqrt.f64 1/2) a2) (+.f64 (+.f64 1 (*.f64 th (*.f64 th -1/2))) (*.f64 1/24 (pow.f64 th 4)))) |
(*.f64 (sqrt.f64 1/2) (+.f64 a2 (*.f64 (+.f64 (*.f64 1/24 (pow.f64 th 4)) (*.f64 th (*.f64 th -1/2))) a2))) |
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 a2 (pow.f64 th 2)))) (+.f64 (*.f64 (sqrt.f64 1/2) a2) (+.f64 (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 a2 (pow.f64 th 4)))) (*.f64 -1/720 (*.f64 (sqrt.f64 1/2) (*.f64 a2 (pow.f64 th 6))))))) |
(fma.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 th th))) (fma.f64 (sqrt.f64 1/2) a2 (fma.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 a2 (pow.f64 th 4))) (*.f64 -1/720 (*.f64 (sqrt.f64 1/2) (*.f64 a2 (pow.f64 th 6))))))) |
(fma.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 th th))) (fma.f64 (sqrt.f64 1/2) a2 (fma.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 a2 (pow.f64 th 4))) (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 (pow.f64 th 6)) -1/720))))) |
(+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 a2 (*.f64 a2 (*.f64 th (*.f64 th -1/2))))) (*.f64 (*.f64 (sqrt.f64 1/2) a2) (+.f64 (*.f64 1/24 (pow.f64 th 4)) (*.f64 -1/720 (pow.f64 th 6))))) |
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 (+.f64 (*.f64 1/24 (pow.f64 th 4)) (*.f64 th (*.f64 th -1/2)))) (+.f64 a2 (*.f64 a2 (*.f64 -1/720 (pow.f64 th 6)))))) |
(*.f64 (*.f64 (sqrt.f64 1/2) a2) (+.f64 (+.f64 1 (*.f64 -1/720 (pow.f64 th 6))) (+.f64 (*.f64 1/24 (pow.f64 th 4)) (*.f64 th (*.f64 th -1/2))))) |
(*.f64 (*.f64 (sqrt.f64 1/2) a2) (+.f64 1 (+.f64 (*.f64 1/24 (pow.f64 th 4)) (+.f64 (*.f64 -1/720 (pow.f64 th 6)) (*.f64 th (*.f64 th -1/2)))))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) a2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) a2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) a2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) a2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) a2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) a2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) a2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) a2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (cos.f64 th))) |
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.2b | (*.f64 a2 (*.f64 (sqrt.f64 1/2) a2)) |
| 0.4b | (*.f64 (sqrt.f64 1/2) a2) |
Compiled 17 to 13 computations (23.5% saved)
3 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | a2 | @ | 0 | (*.f64 a2 (*.f64 (sqrt.f64 1/2) a2)) |
| 1.0ms | a2 | @ | inf | (*.f64 a2 (*.f64 (sqrt.f64 1/2) a2)) |
| 0.0ms | a2 | @ | -inf | (*.f64 a2 (*.f64 (sqrt.f64 1/2) a2)) |
| 1× | batch-egg-rewrite |
| 511× | pow1_binary64 |
| 490× | add-sqr-sqrt_binary64 |
| 471× | add-log-exp_binary64 |
| 471× | log1p-expm1-u_binary64 |
| 471× | expm1-log1p-u_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 6 | 9 |
| 1 | 120 | 9 |
| 2 | 1316 | 9 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 a2 (*.f64 (sqrt.f64 1/2) a2)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 a2 (*.f64 a2 (sqrt.f64 1/2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 a2 (*.f64 a2 (sqrt.f64 1/2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 a2 (*.f64 a2 (sqrt.f64 1/2))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 a2 (*.f64 a2 (sqrt.f64 1/2)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 a2 (*.f64 a2 (sqrt.f64 1/2)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 a2 (*.f64 a2 (sqrt.f64 1/2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (pow.f64 (exp.f64 a2) (sqrt.f64 1/2)) a2))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 a2 (*.f64 a2 (sqrt.f64 1/2))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 a2 (*.f64 a2 (sqrt.f64 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 a2 (*.f64 a2 (sqrt.f64 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 a2 (*.f64 a2 (sqrt.f64 1/2))))))))) |
| 1× | egg-herbie |
| 1082× | sqr-pow_binary64 |
| 617× | cube-prod_binary64 |
| 554× | fabs-mul_binary64 |
| 523× | pow-sqr_binary64 |
| 441× | associate-*l*_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 108 |
| 1 | 13 | 108 |
| 2 | 23 | 108 |
| 3 | 44 | 108 |
| 4 | 107 | 108 |
| 5 | 328 | 108 |
| 6 | 1230 | 108 |
| 7 | 2107 | 108 |
| 8 | 2271 | 108 |
| 9 | 2455 | 108 |
| 10 | 2663 | 108 |
| 11 | 2959 | 108 |
| 12 | 3352 | 108 |
| 13 | 3833 | 108 |
| 14 | 4401 | 108 |
| 15 | 5091 | 108 |
| 16 | 5926 | 108 |
| 17 | 6320 | 108 |
| 18 | 6610 | 108 |
| 19 | 6884 | 108 |
| 20 | 6954 | 108 |
| 21 | 6988 | 108 |
| 22 | 7929 | 108 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) |
(*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) |
(*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) |
(*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) |
(*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) |
(*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) |
(*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) |
(*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) |
(*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) |
(*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) |
(*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) |
(*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) |
| Outputs |
|---|
(*.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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (sqrt.f64 1/2) (pow.f64 a2 2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)) |
(*.f64 a2 (*.f64 (sqrt.f64 1/2) a2)) |
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.3b | (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) |
Compiled 25 to 16 computations (36% saved)
3 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | a2 | @ | 0 | (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) |
| 0.0ms | a2 | @ | inf | (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) |
| 0.0ms | a2 | @ | -inf | (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) |
| 1× | batch-egg-rewrite |
| 610× | pow1_binary64 |
| 570× | add-log-exp_binary64 |
| 570× | log1p-expm1-u_binary64 |
| 570× | expm1-log1p-u_binary64 |
| 556× | add-exp-log_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 6 | 9 |
| 1 | 127 | 9 |
| 2 | 1583 | 9 |
| 1× | node limit |
| Inputs |
|---|
(/.f64 (*.f64 a2 a2) (sqrt.f64 2)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 a2 (/.f64 (sqrt.f64 2) a2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 a2 (/.f64 1 (/.f64 (sqrt.f64 2) a2)))))) (#(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 a2 (/.f64 (sqrt.f64 2) a2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2))) (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 a2 (/.f64 (sqrt.f64 2) a2))))))) (#(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 a2 (sqrt.f64 2)) a2)))) (#(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 a2 (/.f64 (sqrt.f64 2) a2))))))) (#(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 a2 (/.f64 (sqrt.f64 2) a2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2))) 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 a2 (/.f64 (sqrt.f64 2) a2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)))))))) |
| 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 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.2b | (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 th (*.f64 th -1/2)))) |
| ✓ | 11.4b | (*.f64 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 th (*.f64 th -1/2))))) |
Compiled 52 to 36 computations (30.8% saved)
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 3.0ms | a2 | @ | 0 | (*.f64 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 th (*.f64 th -1/2))))) |
| 2.0ms | th | @ | inf | (*.f64 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 th (*.f64 th -1/2))))) |
| 1.0ms | a2 | @ | inf | (*.f64 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 th (*.f64 th -1/2))))) |
| 1.0ms | th | @ | 0 | (*.f64 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 th (*.f64 th -1/2))))) |
| 1.0ms | th | @ | 0 | (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 th (*.f64 th -1/2)))) |
| 1× | batch-egg-rewrite |
| 632× | log-prod_binary64 |
| 559× | prod-diff_binary64 |
| 404× | fma-def_binary64 |
| 316× | pow2_binary64 |
| 249× | pow-unpow_binary64 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 13 | 36 |
| 1 | 271 | 32 |
| 2 | 3362 | 32 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 th (*.f64 th -1/2))))) |
(*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 th (*.f64 th -1/2)))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 a2 (*.f64 (*.f64 a2 (sqrt.f64 1/2)) (fma.f64 th (*.f64 th -1/2) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 a2 (*.f64 a2 (sqrt.f64 1/2))) (*.f64 (*.f64 (*.f64 (sqrt.f64 1/2) th) (*.f64 th -1/2)) (*.f64 a2 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 a2 (*.f64 a2 (sqrt.f64 1/2))) (*.f64 (*.f64 th (*.f64 th -1/2)) (*.f64 a2 (*.f64 a2 (sqrt.f64 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 a2 (*.f64 a2 (sqrt.f64 1/2))) (*.f64 (*.f64 a2 a2) (*.f64 (*.f64 (sqrt.f64 1/2) th) (*.f64 th -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 th (*.f64 th -1/2)) (*.f64 a2 (*.f64 a2 (sqrt.f64 1/2)))) (*.f64 a2 (*.f64 a2 (sqrt.f64 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 a2 (*.f64 a2 (sqrt.f64 1/2))) 1) (*.f64 (*.f64 a2 (*.f64 a2 (sqrt.f64 1/2))) (*.f64 th (*.f64 th -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 a2 (*.f64 a2 (sqrt.f64 1/2))) (*.f64 th (*.f64 th -1/2))) (*.f64 (*.f64 a2 (*.f64 a2 (sqrt.f64 1/2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 a2) (*.f64 (*.f64 a2 (sqrt.f64 1/2)) (fma.f64 th (*.f64 th -1/2) 1)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 a2) (*.f64 (*.f64 a2 (sqrt.f64 1/2)) (fma.f64 th (*.f64 th -1/2) 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 a2) (*.f64 (*.f64 a2 (sqrt.f64 1/2)) (fma.f64 th (*.f64 th -1/2) 1))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 a2) (*.f64 (*.f64 a2 (sqrt.f64 1/2)) (fma.f64 th (*.f64 th -1/2) 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 a2 (*.f64 (*.f64 a2 (sqrt.f64 1/2)) (fma.f64 th (*.f64 th -1/2) 1))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 a2 (*.f64 a2 (sqrt.f64 1/2))) (fma.f64 (pow.f64 (*.f64 th th) 3) -1/8 1)) (fma.f64 (*.f64 th (*.f64 th -1/2)) (fma.f64 th (*.f64 th -1/2) -1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 a2 (*.f64 a2 (sqrt.f64 1/2))) (-.f64 1 (*.f64 (pow.f64 (*.f64 th th) 2) 1/4))) (-.f64 1 (*.f64 th (*.f64 th -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 a2 (*.f64 (*.f64 a2 (sqrt.f64 1/2)) (fma.f64 th (*.f64 th -1/2) 1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 1/2 (pow.f64 (fma.f64 th (*.f64 th -1/2) 1) 2)) (pow.f64 a2 4)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 a2 (*.f64 (*.f64 a2 (sqrt.f64 1/2)) (fma.f64 th (*.f64 th -1/2) 1))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 a2 (*.f64 (*.f64 a2 (sqrt.f64 1/2)) (fma.f64 th (*.f64 th -1/2) 1)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 a2 (*.f64 (hypot.f64 1 (*.f64 th (sqrt.f64 -1/2))) (pow.f64 1/2 1/4))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (*.f64 a2 a2) 3) (pow.f64 (*.f64 (sqrt.f64 1/2) (fma.f64 th (*.f64 th -1/2) 1)) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (*.f64 (sqrt.f64 1/2) (fma.f64 th (*.f64 th -1/2) 1)) 3) (pow.f64 (*.f64 a2 a2) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (*.f64 1/2 (pow.f64 (fma.f64 th (*.f64 th -1/2) 1) 2)) (pow.f64 a2 4)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 a2) (*.f64 (*.f64 a2 (sqrt.f64 1/2)) (fma.f64 th (*.f64 th -1/2) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 a2 (*.f64 (*.f64 a2 (sqrt.f64 1/2)) (fma.f64 th (*.f64 th -1/2) 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 a2 (*.f64 (*.f64 a2 (sqrt.f64 1/2)) (fma.f64 th (*.f64 th -1/2) 1))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (*.f64 a2 a2) 3) (pow.f64 (*.f64 (sqrt.f64 1/2) (fma.f64 th (*.f64 th -1/2) 1)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (*.f64 (sqrt.f64 1/2) (fma.f64 th (*.f64 th -1/2) 1)) 3) (pow.f64 (*.f64 a2 a2) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 a2 (*.f64 (*.f64 a2 (sqrt.f64 1/2)) (fma.f64 th (*.f64 th -1/2) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 a2 (*.f64 (*.f64 a2 (sqrt.f64 1/2)) (fma.f64 th (*.f64 th -1/2) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 a2 (*.f64 (*.f64 a2 (sqrt.f64 1/2)) (fma.f64 th (*.f64 th -1/2) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 a2 (*.f64 (*.f64 a2 (sqrt.f64 1/2)) (fma.f64 th (*.f64 th -1/2) 1)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a2 (*.f64 a2 (sqrt.f64 1/2)) (*.f64 (*.f64 (*.f64 (sqrt.f64 1/2) th) (*.f64 th -1/2)) (*.f64 a2 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a2 (*.f64 a2 (sqrt.f64 1/2)) (*.f64 (*.f64 th (*.f64 th -1/2)) (*.f64 a2 (*.f64 a2 (sqrt.f64 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a2 (*.f64 a2 (sqrt.f64 1/2)) (*.f64 (*.f64 a2 a2) (*.f64 (*.f64 (sqrt.f64 1/2) th) (*.f64 th -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a2 a2) (sqrt.f64 1/2) (*.f64 (*.f64 (*.f64 (sqrt.f64 1/2) th) (*.f64 th -1/2)) (*.f64 a2 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a2 a2) (sqrt.f64 1/2) (*.f64 (*.f64 th (*.f64 th -1/2)) (*.f64 a2 (*.f64 a2 (sqrt.f64 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a2 a2) (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (*.f64 (*.f64 (sqrt.f64 1/2) th) (*.f64 th -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 1/2) (*.f64 a2 a2) (*.f64 (*.f64 (*.f64 (sqrt.f64 1/2) th) (*.f64 th -1/2)) (*.f64 a2 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 1/2) (*.f64 a2 a2) (*.f64 (*.f64 th (*.f64 th -1/2)) (*.f64 a2 (*.f64 a2 (sqrt.f64 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 1/2) (*.f64 a2 a2) (*.f64 (*.f64 a2 a2) (*.f64 (*.f64 (sqrt.f64 1/2) th) (*.f64 th -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 a2 (*.f64 a2 (sqrt.f64 1/2))) (*.f64 (*.f64 (*.f64 (sqrt.f64 1/2) th) (*.f64 th -1/2)) (*.f64 a2 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 a2 (*.f64 a2 (sqrt.f64 1/2))) (*.f64 (*.f64 th (*.f64 th -1/2)) (*.f64 a2 (*.f64 a2 (sqrt.f64 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 a2 (*.f64 a2 (sqrt.f64 1/2))) (*.f64 (*.f64 a2 a2) (*.f64 (*.f64 (sqrt.f64 1/2) th) (*.f64 th -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 th (*.f64 th -1/2)) (*.f64 a2 (*.f64 a2 (sqrt.f64 1/2))) (*.f64 a2 (*.f64 a2 (sqrt.f64 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 a2 4)) (*.f64 (pow.f64 (cbrt.f64 a2) 2) (sqrt.f64 1/2)) (*.f64 (*.f64 (*.f64 (sqrt.f64 1/2) th) (*.f64 th -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) (sqrt.f64 1/2)) (*.f64 (*.f64 th (*.f64 th -1/2)) (*.f64 a2 (*.f64 a2 (sqrt.f64 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 a2 4)) (*.f64 (pow.f64 (cbrt.f64 a2) 2) (sqrt.f64 1/2)) (*.f64 (*.f64 a2 a2) (*.f64 (*.f64 (sqrt.f64 1/2) th) (*.f64 th -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a2 (*.f64 a2 (sqrt.f64 1/2))) 1 (*.f64 (*.f64 a2 (*.f64 a2 (sqrt.f64 1/2))) (*.f64 th (*.f64 th -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a2 (*.f64 a2 (sqrt.f64 1/2))) (*.f64 th (*.f64 th -1/2)) (*.f64 (*.f64 a2 (*.f64 a2 (sqrt.f64 1/2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 a2 (*.f64 a2 (sqrt.f64 1/2)))) 2) (cbrt.f64 (*.f64 a2 (*.f64 a2 (sqrt.f64 1/2)))) (*.f64 (*.f64 (*.f64 (sqrt.f64 1/2) th) (*.f64 th -1/2)) (*.f64 a2 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 a2 (*.f64 a2 (sqrt.f64 1/2)))) 2) (cbrt.f64 (*.f64 a2 (*.f64 a2 (sqrt.f64 1/2)))) (*.f64 (*.f64 th (*.f64 th -1/2)) (*.f64 a2 (*.f64 a2 (sqrt.f64 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 a2 (*.f64 a2 (sqrt.f64 1/2)))) 2) (cbrt.f64 (*.f64 a2 (*.f64 a2 (sqrt.f64 1/2)))) (*.f64 (*.f64 a2 a2) (*.f64 (*.f64 (sqrt.f64 1/2) th) (*.f64 th -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 a2 (*.f64 a2 (sqrt.f64 1/2)))) (sqrt.f64 (*.f64 a2 (*.f64 a2 (sqrt.f64 1/2)))) (*.f64 (*.f64 (*.f64 (sqrt.f64 1/2) th) (*.f64 th -1/2)) (*.f64 a2 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 a2 (*.f64 a2 (sqrt.f64 1/2)))) (sqrt.f64 (*.f64 a2 (*.f64 a2 (sqrt.f64 1/2)))) (*.f64 (*.f64 th (*.f64 th -1/2)) (*.f64 a2 (*.f64 a2 (sqrt.f64 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 a2 (*.f64 a2 (sqrt.f64 1/2)))) (sqrt.f64 (*.f64 a2 (*.f64 a2 (sqrt.f64 1/2)))) (*.f64 (*.f64 a2 a2) (*.f64 (*.f64 (sqrt.f64 1/2) th) (*.f64 th -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a2 (pow.f64 1/2 1/4)) (*.f64 a2 (pow.f64 1/2 1/4)) (*.f64 (*.f64 (*.f64 (sqrt.f64 1/2) th) (*.f64 th -1/2)) (*.f64 a2 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a2 (pow.f64 1/2 1/4)) (*.f64 a2 (pow.f64 1/2 1/4)) (*.f64 (*.f64 th (*.f64 th -1/2)) (*.f64 a2 (*.f64 a2 (sqrt.f64 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a2 (pow.f64 1/2 1/4)) (*.f64 a2 (pow.f64 1/2 1/4)) (*.f64 (*.f64 a2 a2) (*.f64 (*.f64 (sqrt.f64 1/2) th) (*.f64 th -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 a2 a2) (cbrt.f64 1/2)) (cbrt.f64 (sqrt.f64 1/2)) (*.f64 (*.f64 (*.f64 (sqrt.f64 1/2) th) (*.f64 th -1/2)) (*.f64 a2 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 a2 a2) (cbrt.f64 1/2)) (cbrt.f64 (sqrt.f64 1/2)) (*.f64 (*.f64 th (*.f64 th -1/2)) (*.f64 a2 (*.f64 a2 (sqrt.f64 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 a2 a2) (cbrt.f64 1/2)) (cbrt.f64 (sqrt.f64 1/2)) (*.f64 (*.f64 a2 a2) (*.f64 (*.f64 (sqrt.f64 1/2) th) (*.f64 th -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 a2 a2) (pow.f64 1/2 1/4)) (pow.f64 1/2 1/4) (*.f64 (*.f64 (*.f64 (sqrt.f64 1/2) th) (*.f64 th -1/2)) (*.f64 a2 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 a2 a2) (pow.f64 1/2 1/4)) (pow.f64 1/2 1/4) (*.f64 (*.f64 th (*.f64 th -1/2)) (*.f64 a2 (*.f64 a2 (sqrt.f64 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 a2 a2) (pow.f64 1/2 1/4)) (pow.f64 1/2 1/4) (*.f64 (*.f64 a2 a2) (*.f64 (*.f64 (sqrt.f64 1/2) th) (*.f64 th -1/2)))))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 1/2) (*.f64 (*.f64 (sqrt.f64 1/2) th) (*.f64 th -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 1/2) (*.f64 (*.f64 (*.f64 (sqrt.f64 1/2) th) (*.f64 th -1/2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 1/2) (fma.f64 th (*.f64 th -1/2) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (sqrt.f64 1/2) th) (*.f64 th -1/2)) (sqrt.f64 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 th (*.f64 th -1/2) 1)) (sqrt.f64 1/2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 th (*.f64 th -1/2) 1)) (sqrt.f64 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 th (*.f64 th -1/2) 1)) (sqrt.f64 1/2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 th (*.f64 th -1/2) 1)) (sqrt.f64 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sqrt.f64 1/2) (fma.f64 th (*.f64 th -1/2) 1)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 1/2 (sqrt.f64 1/2) (pow.f64 (*.f64 (*.f64 (sqrt.f64 1/2) th) (*.f64 th -1/2)) 3)) (+.f64 1/2 (-.f64 (pow.f64 (*.f64 (*.f64 (sqrt.f64 1/2) th) (*.f64 th -1/2)) 2) (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 (sqrt.f64 1/2) th) (*.f64 th -1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1/2 (pow.f64 (*.f64 (*.f64 (sqrt.f64 1/2) th) (*.f64 th -1/2)) 2)) (-.f64 (sqrt.f64 1/2) (*.f64 (*.f64 (sqrt.f64 1/2) th) (*.f64 th -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 (pow.f64 (*.f64 th th) 3) -1/8 1) (sqrt.f64 1/2)) (fma.f64 (*.f64 th (*.f64 th -1/2)) (fma.f64 th (*.f64 th -1/2) -1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 th th) 2) 1/4)) (sqrt.f64 1/2)) (-.f64 1 (*.f64 th (*.f64 th -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 1/2) (fma.f64 (pow.f64 (*.f64 th th) 3) -1/8 1)) (fma.f64 (*.f64 th (*.f64 th -1/2)) (fma.f64 th (*.f64 th -1/2) -1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 1/2) (-.f64 1 (*.f64 (pow.f64 (*.f64 th th) 2) 1/4))) (-.f64 1 (*.f64 th (*.f64 th -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 1/2) (fma.f64 th (*.f64 th -1/2) 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/2 (pow.f64 (fma.f64 th (*.f64 th -1/2) 1) 2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 1/2) (fma.f64 th (*.f64 th -1/2) 1)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 1/2) (fma.f64 th (*.f64 th -1/2) 1))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (hypot.f64 1 (*.f64 th (sqrt.f64 -1/2))) (pow.f64 1/2 1/4)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 1/2 (sqrt.f64 1/2)) (pow.f64 (fma.f64 th (*.f64 th -1/2) 1) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (fma.f64 th (*.f64 th -1/2) 1) 3) (*.f64 1/2 (sqrt.f64 1/2))) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 1/2 (pow.f64 (fma.f64 th (*.f64 th -1/2) 1) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (fma.f64 th (*.f64 th -1/2) 1)) (sqrt.f64 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sqrt.f64 1/2) (fma.f64 th (*.f64 th -1/2) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (sqrt.f64 1/2))) (exp.f64 (*.f64 (*.f64 (sqrt.f64 1/2) th) (*.f64 th -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (*.f64 (sqrt.f64 1/2) th) (*.f64 th -1/2))) (exp.f64 (sqrt.f64 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (*.f64 (sqrt.f64 1/2) th) (*.f64 th -1/2))) (+.f64 1 (expm1.f64 (sqrt.f64 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 1/2) (fma.f64 th (*.f64 th -1/2) 1)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (*.f64 1/2 (sqrt.f64 1/2)) (pow.f64 (fma.f64 th (*.f64 th -1/2) 1) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (fma.f64 th (*.f64 th -1/2) 1) 3) (*.f64 1/2 (sqrt.f64 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 1/2) (fma.f64 th (*.f64 th -1/2) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 1/2) (fma.f64 th (*.f64 th -1/2) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sqrt.f64 1/2) (fma.f64 th (*.f64 th -1/2) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 1/2) (fma.f64 th (*.f64 th -1/2) 1))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 1/2) 1 (*.f64 (*.f64 (sqrt.f64 1/2) th) (*.f64 th -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 1/2) 1 (*.f64 (*.f64 (*.f64 (sqrt.f64 1/2) th) (*.f64 th -1/2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 1/2) (*.f64 th (*.f64 th -1/2)) (sqrt.f64 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (sqrt.f64 1/2) (*.f64 (*.f64 (sqrt.f64 1/2) th) (*.f64 th -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (sqrt.f64 1/2) (*.f64 (*.f64 (*.f64 (sqrt.f64 1/2) th) (*.f64 th -1/2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (*.f64 (sqrt.f64 1/2) th) (*.f64 th -1/2)) (sqrt.f64 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 th (*.f64 (*.f64 th -1/2) (sqrt.f64 1/2)) (sqrt.f64 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 th -1/2) (*.f64 th (sqrt.f64 1/2)) (sqrt.f64 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 th (*.f64 th -1/2)) (sqrt.f64 1/2) (sqrt.f64 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 th th) (*.f64 -1/2 (sqrt.f64 1/2)) (sqrt.f64 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (sqrt.f64 1/2)) (cbrt.f64 1/2) (*.f64 (*.f64 (sqrt.f64 1/2) th) (*.f64 th -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (sqrt.f64 1/2)) (cbrt.f64 1/2) (*.f64 (*.f64 (*.f64 (sqrt.f64 1/2) th) (*.f64 th -1/2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 1/2) (cbrt.f64 (sqrt.f64 1/2)) (*.f64 (*.f64 (sqrt.f64 1/2) th) (*.f64 th -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 1/2) (cbrt.f64 (sqrt.f64 1/2)) (*.f64 (*.f64 (*.f64 (sqrt.f64 1/2) th) (*.f64 th -1/2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 1/2) (*.f64 (cbrt.f64 (sqrt.f64 1/2)) (*.f64 th (*.f64 th -1/2))) (sqrt.f64 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 1/2) (*.f64 (cbrt.f64 (sqrt.f64 1/2)) 1) (*.f64 (*.f64 (sqrt.f64 1/2) th) (*.f64 th -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 1/2) (*.f64 (cbrt.f64 (sqrt.f64 1/2)) 1) (*.f64 (*.f64 (*.f64 (sqrt.f64 1/2) th) (*.f64 th -1/2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (pow.f64 (*.f64 th th) 2) 1/4)) (*.f64 (cbrt.f64 (*.f64 th (*.f64 th -1/2))) (sqrt.f64 1/2)) (sqrt.f64 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 1/2 1/4) (pow.f64 1/2 1/4) (*.f64 (*.f64 (sqrt.f64 1/2) th) (*.f64 th -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 1/2 1/4) (pow.f64 1/2 1/4) (*.f64 (*.f64 (*.f64 (sqrt.f64 1/2) th) (*.f64 th -1/2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 1/2 1/4) (*.f64 (pow.f64 1/2 1/4) (*.f64 th (*.f64 th -1/2))) (sqrt.f64 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 1/2 1/4) (*.f64 (pow.f64 1/2 1/4) 1) (*.f64 (*.f64 (sqrt.f64 1/2) th) (*.f64 th -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 1/2 1/4) (*.f64 (pow.f64 1/2 1/4) 1) (*.f64 (*.f64 (*.f64 (sqrt.f64 1/2) th) (*.f64 th -1/2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 th (sqrt.f64 -1/2)) (*.f64 (*.f64 th (sqrt.f64 -1/2)) (sqrt.f64 1/2)) (sqrt.f64 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 (sqrt.f64 1/2) th) (*.f64 th -1/2))) 2) (cbrt.f64 (*.f64 (*.f64 (sqrt.f64 1/2) th) (*.f64 th -1/2))) (sqrt.f64 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (*.f64 (sqrt.f64 1/2) th) (*.f64 th -1/2))) (sqrt.f64 (*.f64 (*.f64 (sqrt.f64 1/2) th) (*.f64 th -1/2))) (sqrt.f64 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 th (sqrt.f64 -1/2)) (pow.f64 1/2 1/4)) (*.f64 (*.f64 th (sqrt.f64 -1/2)) (pow.f64 1/2 1/4)) (sqrt.f64 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (pow.f64 1/2 1/4) (*.f64 th (sqrt.f64 -1/2))) (*.f64 (pow.f64 1/2 1/4) (*.f64 th (sqrt.f64 -1/2))) (sqrt.f64 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 th (*.f64 th -1/2)) (cbrt.f64 1/2)) (cbrt.f64 (sqrt.f64 1/2)) (sqrt.f64 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 th (*.f64 th -1/2)) (pow.f64 1/2 1/4)) (pow.f64 1/2 1/4) (sqrt.f64 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 1/2) th) (*.f64 th -1/2) (sqrt.f64 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 1/2) (*.f64 th -1/2)) th (sqrt.f64 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 1/2) (*.f64 th th)) -1/2 (sqrt.f64 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 1/2) (cbrt.f64 (*.f64 (pow.f64 (*.f64 th th) 2) 1/4))) (cbrt.f64 (*.f64 th (*.f64 th -1/2))) (sqrt.f64 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 1/2) (*.f64 th (sqrt.f64 -1/2))) (*.f64 th (sqrt.f64 -1/2)) (sqrt.f64 1/2)))))) |
| 1× | egg-herbie |
| 1094× | distribute-rgt-in_binary64 |
| 872× | distribute-lft-in_binary64 |
| 729× | fma-def_binary64 |
| 641× | associate-*l*_binary64 |
| 458× | sqr-pow_binary64 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 21 | 648 |
| 1 | 49 | 606 |
| 2 | 129 | 588 |
| 3 | 503 | 588 |
| 4 | 2364 | 588 |
| 5 | 3203 | 588 |
| 6 | 3759 | 588 |
| 7 | 4355 | 588 |
| 8 | 5360 | 588 |
| 9 | 5495 | 588 |
| 10 | 5651 | 588 |
| 11 | 5821 | 588 |
| 12 | 6019 | 588 |
| 13 | 6243 | 588 |
| 14 | 7521 | 588 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))) |
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))) |
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))) |
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))) |
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))) |
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))) |
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))) |
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))) |
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))) |
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))) |
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))) |
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))) |
(*.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 -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 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (pow.f64 th 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 -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 -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 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (pow.f64 th 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 -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 -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 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (pow.f64 th 2))))) |
(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))) (sqrt.f64 1/2)) |
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (pow.f64 th 2))) (sqrt.f64 1/2)) |
(*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (pow.f64 th 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))) (sqrt.f64 1/2)) |
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (pow.f64 th 2))) (sqrt.f64 1/2)) |
(*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (pow.f64 th 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))) (sqrt.f64 1/2)) |
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (pow.f64 th 2))) (sqrt.f64 1/2)) |
| Outputs |
|---|
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))) |
(*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) |
(*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) |
(*.f64 (*.f64 a2 a2) (*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 1/2))) |
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))) |
(*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) |
(*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) |
(*.f64 (*.f64 a2 a2) (*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 1/2))) |
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))) |
(*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) |
(*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) |
(*.f64 (*.f64 a2 a2) (*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 1/2))) |
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))) |
(*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) |
(*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) |
(*.f64 (*.f64 a2 a2) (*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 1/2))) |
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))) |
(*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) |
(*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) |
(*.f64 (*.f64 a2 a2) (*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 1/2))) |
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))) |
(*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) |
(*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) |
(*.f64 (*.f64 a2 a2) (*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 1/2))) |
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))) |
(*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) |
(*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) |
(*.f64 (*.f64 a2 a2) (*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 1/2))) |
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))) |
(*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) |
(*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) |
(*.f64 (*.f64 a2 a2) (*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 1/2))) |
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))) |
(*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) |
(*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) |
(*.f64 (*.f64 a2 a2) (*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 1/2))) |
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))) |
(*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) |
(*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) |
(*.f64 (*.f64 a2 a2) (*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 1/2))) |
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))) |
(*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) |
(*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) |
(*.f64 (*.f64 a2 a2) (*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 1/2))) |
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))) |
(*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) |
(*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) |
(*.f64 (*.f64 a2 a2) (*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 1/2))) |
(*.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))))) |
(*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) |
(*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) |
(*.f64 (*.f64 a2 a2) (*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 1/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 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) |
(*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) |
(*.f64 (*.f64 a2 a2) (*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 1/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 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) |
(*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) |
(*.f64 (*.f64 a2 a2) (*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 1/2))) |
(*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (pow.f64 th 2)))) |
(*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 th th) (*.f64 a2 a2)))) |
(*.f64 -1/2 (*.f64 (*.f64 th th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 -1/2 (*.f64 th a2)) (*.f64 th a2))) |
(*.f64 (sqrt.f64 1/2) (*.f64 -1/2 (*.f64 (*.f64 th a2) (*.f64 th a2)))) |
(*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 th a2) (*.f64 th 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))))) |
(*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) |
(*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) |
(*.f64 (*.f64 a2 a2) (*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 1/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 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) |
(*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) |
(*.f64 (*.f64 a2 a2) (*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 1/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 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) |
(*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) |
(*.f64 (*.f64 a2 a2) (*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 1/2))) |
(*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (pow.f64 th 2)))) |
(*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 th th) (*.f64 a2 a2)))) |
(*.f64 -1/2 (*.f64 (*.f64 th th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)))) |
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 -1/2 (*.f64 th a2)) (*.f64 th a2))) |
(*.f64 (sqrt.f64 1/2) (*.f64 -1/2 (*.f64 (*.f64 th a2) (*.f64 th a2)))) |
(*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 th a2) (*.f64 th 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))))) |
(*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) |
(*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) |
(*.f64 (*.f64 a2 a2) (*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 1/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 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) |
(*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) |
(*.f64 (*.f64 a2 a2) (*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 1/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 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) |
(*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) |
(*.f64 (*.f64 a2 a2) (*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 1/2))) |
(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 (*.f64 th th) (sqrt.f64 1/2)) (sqrt.f64 1/2)) |
(fma.f64 -1/2 (*.f64 th (*.f64 th (sqrt.f64 1/2))) (sqrt.f64 1/2)) |
(*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (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 (*.f64 th th) (sqrt.f64 1/2)) (sqrt.f64 1/2)) |
(fma.f64 -1/2 (*.f64 th (*.f64 th (sqrt.f64 1/2))) (sqrt.f64 1/2)) |
(*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (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 (*.f64 th th) (sqrt.f64 1/2)) (sqrt.f64 1/2)) |
(fma.f64 -1/2 (*.f64 th (*.f64 th (sqrt.f64 1/2))) (sqrt.f64 1/2)) |
(*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 1/2)) |
(*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (pow.f64 th 2))) |
(*.f64 -1/2 (*.f64 (*.f64 th th) (sqrt.f64 1/2))) |
(*.f64 -1/2 (*.f64 th (*.f64 th (sqrt.f64 1/2)))) |
(*.f64 th (*.f64 th (*.f64 -1/2 (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 (*.f64 th th) (sqrt.f64 1/2)) (sqrt.f64 1/2)) |
(fma.f64 -1/2 (*.f64 th (*.f64 th (sqrt.f64 1/2))) (sqrt.f64 1/2)) |
(*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (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 (*.f64 th th) (sqrt.f64 1/2)) (sqrt.f64 1/2)) |
(fma.f64 -1/2 (*.f64 th (*.f64 th (sqrt.f64 1/2))) (sqrt.f64 1/2)) |
(*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (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 (*.f64 th th) (sqrt.f64 1/2)) (sqrt.f64 1/2)) |
(fma.f64 -1/2 (*.f64 th (*.f64 th (sqrt.f64 1/2))) (sqrt.f64 1/2)) |
(*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 1/2)) |
(*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (pow.f64 th 2))) |
(*.f64 -1/2 (*.f64 (*.f64 th th) (sqrt.f64 1/2))) |
(*.f64 -1/2 (*.f64 th (*.f64 th (sqrt.f64 1/2)))) |
(*.f64 th (*.f64 th (*.f64 -1/2 (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 (*.f64 th th) (sqrt.f64 1/2)) (sqrt.f64 1/2)) |
(fma.f64 -1/2 (*.f64 th (*.f64 th (sqrt.f64 1/2))) (sqrt.f64 1/2)) |
(*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (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 (*.f64 th th) (sqrt.f64 1/2)) (sqrt.f64 1/2)) |
(fma.f64 -1/2 (*.f64 th (*.f64 th (sqrt.f64 1/2))) (sqrt.f64 1/2)) |
(*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (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 (*.f64 th th) (sqrt.f64 1/2)) (sqrt.f64 1/2)) |
(fma.f64 -1/2 (*.f64 th (*.f64 th (sqrt.f64 1/2))) (sqrt.f64 1/2)) |
(*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 1/2)) |
Found 3 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 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 | |
|---|---|---|---|---|
| 1.0ms | th | @ | inf | (*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) |
| 1.0ms | a2 | @ | 0 | (*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) |
| 1.0ms | th | @ | -inf | (*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) |
| 1.0ms | th | @ | 0 | (*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) |
| 0.0ms | a2 | @ | -inf | (*.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 5143 to 3567 computations (30.6% saved)
42 alts after pruning (33 fresh and 9 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 324 | 7 | 331 |
| Fresh | 2 | 26 | 28 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 8 | 8 |
| Total | 326 | 42 | 368 |
| Status | Error | Program |
|---|---|---|
| 43.8b | (*.f64 (sqrt.f64 1/2) (*.f64 a1 a1)) | |
| 44.9b | (*.f64 a2 (*.f64 (sqrt.f64 1/2) (+.f64 a2 (*.f64 th (*.f64 -1/2 (*.f64 a2 th)))))) | |
| 30.5b | (*.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (cos.f64 th)) | |
| 44.0b | (/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 a1 a1))) | |
| 48.3b | (*.f64 a1 (-.f64 (+.f64 1 (/.f64 a1 (sqrt.f64 2))) 1)) | |
| ✓ | 25.2b | (*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th))) |
| 25.2b | (/.f64 (*.f64 (*.f64 a2 (cos.f64 th)) a2) (sqrt.f64 2)) | |
| 48.6b | (-.f64 (+.f64 1 (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) 1) | |
| 30.5b | (*.f64 (*.f64 (*.f64 a1 a1) (neg.f64 (cos.f64 th))) (/.f64 1 (neg.f64 (sqrt.f64 2)))) | |
| 44.5b | (*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (+.f64 1 (*.f64 th (*.f64 th -1/2)))) | |
| 45.4b | (*.f64 a2 (-.f64 (+.f64 1 (*.f64 (sqrt.f64 1/2) a2)) 1)) | |
| 41.2b | (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) | |
| 57.7b | (*.f64 (*.f64 a2 a2) (*.f64 th (*.f64 th (*.f64 -1/2 (sqrt.f64 1/2))))) | |
| 30.5b | (*.f64 a1 (*.f64 a1 (*.f64 (sqrt.f64 1/2) (cos.f64 th)))) | |
| 43.8b | (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) | |
| 41.2b | (*.f64 (*.f64 a2 (neg.f64 a2)) (/.f64 1 (neg.f64 (sqrt.f64 2)))) | |
| 48.1b | (sqrt.f64 (/.f64 (pow.f64 a2 4) 2)) | |
| 43.8b | (*.f64 a1 (*.f64 (pow.f64 2 -1/2) a1)) | |
| 43.7b | (*.f64 a1 (*.f64 (neg.f64 a1) (/.f64 1 (neg.f64 (sqrt.f64 2))))) | |
| ✓ | 44.5b | (*.f64 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 th (*.f64 th -1/2))))) |
| 41.2b | (pow.f64 (/.f64 (sqrt.f64 2) (*.f64 a2 a2)) -1) | |
| 54.4b | (*.f64 a1 (sqrt.f64 (/.f64 (*.f64 a1 a1) 2))) | |
| 45.1b | (*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (+.f64 1 (*.f64 th (*.f64 th -1/2))))) | |
| 41.2b | (*.f64 (*.f64 a2 a2) (sqrt.f64 1/2)) | |
| 30.5b | (*.f64 (/.f64 (*.f64 a1 (*.f64 a1 (cos.f64 th))) (sqrt.f64 2)) 1) | |
| 41.2b | (pow.f64 (/.f64 a2 (pow.f64 2 1/4)) 2) | |
| ✓ | 41.2b | (*.f64 a2 (*.f64 (sqrt.f64 1/2) a2)) |
| 58.1b | (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 th a2) (*.f64 th a2)))) | |
| 35.1b | (-.f64 (+.f64 1 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a2 a2)))) 1) | |
| 43.8b | (*.f64 a1 (pow.f64 (/.f64 (sqrt.f64 2) a1) -1)) | |
| 30.5b | (*.f64 (cos.f64 th) (*.f64 (*.f64 a1 a1) (pow.f64 2 -1/2))) | |
| ✓ | 41.1b | (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) 1) |
| ✓ | 25.2b | (*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) |
| 41.2b | (*.f64 (*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) 1) 1) | |
| ✓ | 43.7b | (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) |
| ✓ | 25.2b | (*.f64 a2 (*.f64 (*.f64 (sqrt.f64 1/2) a2) (cos.f64 th))) |
| ✓ | 29.4b | (*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))) |
| 30.5b | (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) | |
| 41.2b | (*.f64 (*.f64 a2 (/.f64 1 (/.f64 (sqrt.f64 2) a2))) 1) | |
| 43.7b | (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) | |
| ✓ | 29.4b | (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) |
| 30.5b | (*.f64 (sqrt.f64 1/2) (*.f64 a1 (*.f64 a1 (cos.f64 th)))) |
Compiled 515 to 402 computations (21.9% saved)
| Inputs |
|---|
(*.f64 (*.f64 a2 a2) (sqrt.f64 1/2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a1 a1)) |
(*.f64 a2 (*.f64 (sqrt.f64 1/2) a2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)) |
(/.f64 a1 (/.f64 (sqrt.f64 2) a1)) |
(*.f64 a2 (/.f64 a2 (sqrt.f64 2))) |
(/.f64 (*.f64 a1 a1) (sqrt.f64 2)) |
(*.f64 a1 (/.f64 a1 (sqrt.f64 2))) |
(*.f64 a1 (*.f64 (pow.f64 2 -1/2) a1)) |
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 a1 a1))) |
(*.f64 a1 (sqrt.f64 (/.f64 (*.f64 a1 a1) 2))) |
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) 1) |
(*.f64 a2 (-.f64 (+.f64 1 (*.f64 (sqrt.f64 1/2) a2)) 1)) |
(*.f64 (*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) 1) 1) |
(*.f64 (*.f64 a2 (/.f64 1 (/.f64 (sqrt.f64 2) a2))) 1) |
(*.f64 a1 (-.f64 (+.f64 1 (/.f64 a1 (sqrt.f64 2))) 1)) |
(-.f64 (+.f64 1 (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) 1) |
(*.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 (*.f64 a2 a2) (*.f64 th (*.f64 th (*.f64 -1/2 (sqrt.f64 1/2))))) |
(*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 th a2) (*.f64 th a2)))) |
(*.f64 a2 (*.f64 (sqrt.f64 1/2) (+.f64 a2 (*.f64 th (*.f64 -1/2 (*.f64 a2 th)))))) |
(*.f64 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 th (*.f64 th -1/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))))) |
(sqrt.f64 (/.f64 (pow.f64 a2 4) 2)) |
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
(pow.f64 (/.f64 a2 (pow.f64 2 1/4)) 2) |
(pow.f64 (/.f64 (sqrt.f64 2) (*.f64 a2 a2)) -1) |
(*.f64 a1 (pow.f64 (/.f64 (sqrt.f64 2) a1) -1)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) |
(*.f64 a2 (*.f64 (*.f64 (sqrt.f64 1/2) a2) (cos.f64 th))) |
(*.f64 a2 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) a2))) |
(/.f64 (*.f64 (*.f64 a2 (cos.f64 th)) a2) (sqrt.f64 2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) |
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) |
(*.f64 a1 (*.f64 a1 (*.f64 (sqrt.f64 1/2) (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))) |
(/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (cos.f64 th)) |
(*.f64 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a1 (*.f64 a1 (cos.f64 th)))) |
(*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th))) |
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) |
(*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (cos.f64 th)) |
(*.f64 a2 (*.f64 (*.f64 (pow.f64 2 -1/2) a2) (cos.f64 th))) |
(*.f64 (cos.f64 th) (*.f64 (*.f64 a1 a1) (pow.f64 2 -1/2))) |
(*.f64 (/.f64 (*.f64 a1 (*.f64 a1 (cos.f64 th))) (sqrt.f64 2)) 1) |
(-.f64 (+.f64 1 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a2 a2)))) 1) |
(*.f64 (*.f64 (*.f64 a1 a1) (neg.f64 (cos.f64 th))) (/.f64 1 (neg.f64 (sqrt.f64 2)))) |
(*.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 a2 2) (cos.f64 th)) (sqrt.f64 2)) |
(pow.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 (*.f64 a1 (cos.f64 th)))) -1) |
(*.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 (pow.f64 (hypot.f64 a1 a2) 2) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (pow.f64 (hypot.f64 a1 a2) 2))) |
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a1 a2) 2)))) |
(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2))) |
(pow.f64 (*.f64 (sqrt.f64 (/.f64 (cos.f64 th) (sqrt.f64 2))) (hypot.f64 a1 a2)) 2) |
(sqrt.f64 (*.f64 (*.f64 (pow.f64 (cos.f64 th) 2) 1/2) (pow.f64 (hypot.f64 a1 a2) 4))) |
(*.f64 (-.f64 (exp.f64 (log1p.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)))) 1) (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 (pow.f64 2 -1/2) (cos.f64 th)) (fma.f64 a1 a1 (*.f64 a2 a2))) |
10 calls:
| 41.0ms | th |
| 40.0ms | (+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2))) |
| 38.0ms | a2 |
| 37.0ms | a1 |
| 35.0ms | (cos.f64 th) |
| 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 a1 a1) |
| 0.4b | 1 | (*.f64 a2 a2) |
Compiled 706 to 436 computations (38.2% saved)
| Inputs |
|---|
(*.f64 (*.f64 a2 a2) (sqrt.f64 1/2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a1 a1)) |
(*.f64 a2 (*.f64 (sqrt.f64 1/2) a2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)) |
(/.f64 a1 (/.f64 (sqrt.f64 2) a1)) |
(*.f64 a2 (/.f64 a2 (sqrt.f64 2))) |
(/.f64 (*.f64 a1 a1) (sqrt.f64 2)) |
(*.f64 a1 (/.f64 a1 (sqrt.f64 2))) |
(*.f64 a1 (*.f64 (pow.f64 2 -1/2) a1)) |
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 a1 a1))) |
(*.f64 a1 (sqrt.f64 (/.f64 (*.f64 a1 a1) 2))) |
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) 1) |
(*.f64 a2 (-.f64 (+.f64 1 (*.f64 (sqrt.f64 1/2) a2)) 1)) |
(*.f64 (*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) 1) 1) |
(*.f64 (*.f64 a2 (/.f64 1 (/.f64 (sqrt.f64 2) a2))) 1) |
(*.f64 a1 (-.f64 (+.f64 1 (/.f64 a1 (sqrt.f64 2))) 1)) |
(-.f64 (+.f64 1 (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) 1) |
(*.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 (*.f64 a2 a2) (*.f64 th (*.f64 th (*.f64 -1/2 (sqrt.f64 1/2))))) |
(*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 th a2) (*.f64 th a2)))) |
(*.f64 a2 (*.f64 (sqrt.f64 1/2) (+.f64 a2 (*.f64 th (*.f64 -1/2 (*.f64 a2 th)))))) |
(*.f64 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 th (*.f64 th -1/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))))) |
(sqrt.f64 (/.f64 (pow.f64 a2 4) 2)) |
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
(pow.f64 (/.f64 a2 (pow.f64 2 1/4)) 2) |
(pow.f64 (/.f64 (sqrt.f64 2) (*.f64 a2 a2)) -1) |
(*.f64 a1 (pow.f64 (/.f64 (sqrt.f64 2) a1) -1)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) |
(*.f64 a2 (*.f64 (*.f64 (sqrt.f64 1/2) a2) (cos.f64 th))) |
(*.f64 a2 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) a2))) |
(/.f64 (*.f64 (*.f64 a2 (cos.f64 th)) a2) (sqrt.f64 2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) |
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) |
(*.f64 a1 (*.f64 a1 (*.f64 (sqrt.f64 1/2) (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))) |
(/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (cos.f64 th)) |
(*.f64 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a1 (*.f64 a1 (cos.f64 th)))) |
(*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th))) |
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) |
(*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (cos.f64 th)) |
(*.f64 a2 (*.f64 (*.f64 (pow.f64 2 -1/2) a2) (cos.f64 th))) |
(*.f64 (cos.f64 th) (*.f64 (*.f64 a1 a1) (pow.f64 2 -1/2))) |
(*.f64 (/.f64 (*.f64 a1 (*.f64 a1 (cos.f64 th))) (sqrt.f64 2)) 1) |
(-.f64 (+.f64 1 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a2 a2)))) 1) |
(*.f64 (*.f64 (*.f64 a1 a1) (neg.f64 (cos.f64 th))) (/.f64 1 (neg.f64 (sqrt.f64 2)))) |
(*.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 a2 2) (cos.f64 th)) (sqrt.f64 2)) |
(pow.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 (*.f64 a1 (cos.f64 th)))) -1) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2))) |
| Outputs |
|---|
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2))) |
8 calls:
| 36.0ms | a1 |
| 33.0ms | th |
| 31.0ms | a2 |
| 30.0ms | (cos.f64 th) |
| 26.0ms | (/.f64 (cos.f64 th) (sqrt.f64 2)) |
| Error | Segments | Branch |
|---|---|---|
| 0.5b | 1 | a1 |
| 0.5b | 1 | a2 |
| 0.5b | 1 | th |
| 0.5b | 1 | (/.f64 (cos.f64 th) (sqrt.f64 2)) |
| 0.5b | 1 | (cos.f64 th) |
| 0.5b | 1 | (*.f64 a1 a1) |
| 0.5b | 1 | (*.f64 a1 a1) |
| 0.5b | 1 | (*.f64 a2 a2) |
Compiled 552 to 345 computations (37.5% saved)
| Inputs |
|---|
(*.f64 (*.f64 a2 a2) (sqrt.f64 1/2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a1 a1)) |
(*.f64 a2 (*.f64 (sqrt.f64 1/2) a2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)) |
(/.f64 a1 (/.f64 (sqrt.f64 2) a1)) |
(*.f64 a2 (/.f64 a2 (sqrt.f64 2))) |
(/.f64 (*.f64 a1 a1) (sqrt.f64 2)) |
(*.f64 a1 (/.f64 a1 (sqrt.f64 2))) |
(*.f64 a1 (*.f64 (pow.f64 2 -1/2) a1)) |
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 a1 a1))) |
(*.f64 a1 (sqrt.f64 (/.f64 (*.f64 a1 a1) 2))) |
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) 1) |
(*.f64 a2 (-.f64 (+.f64 1 (*.f64 (sqrt.f64 1/2) a2)) 1)) |
(*.f64 (*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) 1) 1) |
(*.f64 (*.f64 a2 (/.f64 1 (/.f64 (sqrt.f64 2) a2))) 1) |
(*.f64 a1 (-.f64 (+.f64 1 (/.f64 a1 (sqrt.f64 2))) 1)) |
(-.f64 (+.f64 1 (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) 1) |
(*.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 (*.f64 a2 a2) (*.f64 th (*.f64 th (*.f64 -1/2 (sqrt.f64 1/2))))) |
(*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 th a2) (*.f64 th a2)))) |
(*.f64 a2 (*.f64 (sqrt.f64 1/2) (+.f64 a2 (*.f64 th (*.f64 -1/2 (*.f64 a2 th)))))) |
(*.f64 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 th (*.f64 th -1/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))))) |
(sqrt.f64 (/.f64 (pow.f64 a2 4) 2)) |
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
(pow.f64 (/.f64 a2 (pow.f64 2 1/4)) 2) |
(pow.f64 (/.f64 (sqrt.f64 2) (*.f64 a2 a2)) -1) |
(*.f64 a1 (pow.f64 (/.f64 (sqrt.f64 2) a1) -1)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) |
(*.f64 a2 (*.f64 (*.f64 (sqrt.f64 1/2) a2) (cos.f64 th))) |
(*.f64 a2 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) a2))) |
(/.f64 (*.f64 (*.f64 a2 (cos.f64 th)) a2) (sqrt.f64 2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) |
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) |
(*.f64 a1 (*.f64 a1 (*.f64 (sqrt.f64 1/2) (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))) |
(/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (cos.f64 th)) |
(*.f64 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a1 (*.f64 a1 (cos.f64 th)))) |
(*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th))) |
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) |
(*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (cos.f64 th)) |
(*.f64 a2 (*.f64 (*.f64 (pow.f64 2 -1/2) a2) (cos.f64 th))) |
(*.f64 (cos.f64 th) (*.f64 (*.f64 a1 a1) (pow.f64 2 -1/2))) |
(*.f64 (/.f64 (*.f64 a1 (*.f64 a1 (cos.f64 th))) (sqrt.f64 2)) 1) |
(-.f64 (+.f64 1 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a2 a2)))) 1) |
(*.f64 (*.f64 (*.f64 a1 a1) (neg.f64 (cos.f64 th))) (/.f64 1 (neg.f64 (sqrt.f64 2)))) |
(*.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 a2 2) (cos.f64 th)) (sqrt.f64 2)) |
(pow.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 (*.f64 a1 (cos.f64 th)))) -1) |
| Outputs |
|---|
(*.f64 (cos.f64 th) (*.f64 (*.f64 a1 a1) (pow.f64 2 -1/2))) |
(*.f64 a2 (*.f64 (*.f64 (sqrt.f64 1/2) a2) (cos.f64 th))) |
7 calls:
| 241.0ms | th |
| 116.0ms | (*.f64 a1 a1) |
| 81.0ms | (cos.f64 th) |
| 69.0ms | (*.f64 a2 a2) |
| 69.0ms | (*.f64 a2 a2) |
| Error | Segments | Branch |
|---|---|---|
| 6.3b | 2 | a1 |
| 7.2b | 2 | a2 |
| 12.9b | 5 | th |
| 14.7b | 2 | (cos.f64 th) |
| 9.5b | 6 | (*.f64 a1 a1) |
| 9.6b | 4 | (*.f64 a2 a2) |
| 9.6b | 4 | (*.f64 a2 a2) |
Compiled 532 to 333 computations (37.4% saved)
| 1× | binary-search |
| Time | Left | Right |
|---|---|---|
| 63.0ms | -6.895388867423736e-118 | -5.466196423826453e-131 |
Compiled 28 to 20 computations (28.6% saved)
| Inputs |
|---|
(*.f64 (*.f64 a2 a2) (sqrt.f64 1/2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a1 a1)) |
(*.f64 a2 (*.f64 (sqrt.f64 1/2) a2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)) |
(/.f64 a1 (/.f64 (sqrt.f64 2) a1)) |
(*.f64 a2 (/.f64 a2 (sqrt.f64 2))) |
(/.f64 (*.f64 a1 a1) (sqrt.f64 2)) |
(*.f64 a1 (/.f64 a1 (sqrt.f64 2))) |
(*.f64 a1 (*.f64 (pow.f64 2 -1/2) a1)) |
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 a1 a1))) |
(*.f64 a1 (sqrt.f64 (/.f64 (*.f64 a1 a1) 2))) |
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) 1) |
(*.f64 a2 (-.f64 (+.f64 1 (*.f64 (sqrt.f64 1/2) a2)) 1)) |
(*.f64 (*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) 1) 1) |
(*.f64 (*.f64 a2 (/.f64 1 (/.f64 (sqrt.f64 2) a2))) 1) |
(*.f64 a1 (-.f64 (+.f64 1 (/.f64 a1 (sqrt.f64 2))) 1)) |
(-.f64 (+.f64 1 (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) 1) |
(*.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 (*.f64 a2 a2) (*.f64 th (*.f64 th (*.f64 -1/2 (sqrt.f64 1/2))))) |
(*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 th a2) (*.f64 th a2)))) |
(*.f64 a2 (*.f64 (sqrt.f64 1/2) (+.f64 a2 (*.f64 th (*.f64 -1/2 (*.f64 a2 th)))))) |
(*.f64 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 th (*.f64 th -1/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))))) |
(sqrt.f64 (/.f64 (pow.f64 a2 4) 2)) |
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
(pow.f64 (/.f64 a2 (pow.f64 2 1/4)) 2) |
(pow.f64 (/.f64 (sqrt.f64 2) (*.f64 a2 a2)) -1) |
(*.f64 a1 (pow.f64 (/.f64 (sqrt.f64 2) a1) -1)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) |
(*.f64 a2 (*.f64 (*.f64 (sqrt.f64 1/2) a2) (cos.f64 th))) |
(*.f64 a2 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) a2))) |
(/.f64 (*.f64 (*.f64 a2 (cos.f64 th)) a2) (sqrt.f64 2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) |
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) |
(*.f64 a1 (*.f64 a1 (*.f64 (sqrt.f64 1/2) (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))) |
(/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (cos.f64 th)) |
(*.f64 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a1 (*.f64 a1 (cos.f64 th)))) |
(*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th))) |
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) |
(*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (cos.f64 th)) |
(*.f64 a2 (*.f64 (*.f64 (pow.f64 2 -1/2) a2) (cos.f64 th))) |
| Outputs |
|---|
(*.f64 (sqrt.f64 1/2) (*.f64 a1 (*.f64 a1 (cos.f64 th)))) |
(*.f64 a2 (*.f64 (*.f64 (sqrt.f64 1/2) a2) (cos.f64 th))) |
8 calls:
| 146.0ms | th |
| 65.0ms | (*.f64 a1 a1) |
| 59.0ms | (*.f64 a1 a1) |
| 53.0ms | a2 |
| 52.0ms | a1 |
| Error | Segments | Branch |
|---|---|---|
| 6.3b | 2 | a1 |
| 7.2b | 2 | a2 |
| 12.9b | 5 | th |
| 14.7b | 2 | (cos.f64 th) |
| 9.5b | 6 | (*.f64 a1 a1) |
| 9.5b | 6 | (*.f64 a1 a1) |
| 9.6b | 4 | (*.f64 a2 a2) |
| 9.6b | 4 | (*.f64 a2 a2) |
Compiled 453 to 288 computations (36.4% saved)
| 1× | binary-search |
| Time | Left | Right |
|---|---|---|
| 62.0ms | -6.895388867423736e-118 | -5.466196423826453e-131 |
Compiled 28 to 20 computations (28.6% saved)
| Inputs |
|---|
(*.f64 (*.f64 a2 a2) (sqrt.f64 1/2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a1 a1)) |
(*.f64 a2 (*.f64 (sqrt.f64 1/2) a2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)) |
(/.f64 a1 (/.f64 (sqrt.f64 2) a1)) |
(*.f64 a2 (/.f64 a2 (sqrt.f64 2))) |
(/.f64 (*.f64 a1 a1) (sqrt.f64 2)) |
(*.f64 a1 (/.f64 a1 (sqrt.f64 2))) |
(*.f64 a1 (*.f64 (pow.f64 2 -1/2) a1)) |
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 a1 a1))) |
(*.f64 a1 (sqrt.f64 (/.f64 (*.f64 a1 a1) 2))) |
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) 1) |
(*.f64 a2 (-.f64 (+.f64 1 (*.f64 (sqrt.f64 1/2) a2)) 1)) |
(*.f64 (*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) 1) 1) |
(*.f64 (*.f64 a2 (/.f64 1 (/.f64 (sqrt.f64 2) a2))) 1) |
(*.f64 a1 (-.f64 (+.f64 1 (/.f64 a1 (sqrt.f64 2))) 1)) |
(-.f64 (+.f64 1 (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) 1) |
(*.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 (*.f64 a2 a2) (*.f64 th (*.f64 th (*.f64 -1/2 (sqrt.f64 1/2))))) |
(*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 th a2) (*.f64 th a2)))) |
(*.f64 a2 (*.f64 (sqrt.f64 1/2) (+.f64 a2 (*.f64 th (*.f64 -1/2 (*.f64 a2 th)))))) |
(*.f64 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 th (*.f64 th -1/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))))) |
(sqrt.f64 (/.f64 (pow.f64 a2 4) 2)) |
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
(pow.f64 (/.f64 a2 (pow.f64 2 1/4)) 2) |
(pow.f64 (/.f64 (sqrt.f64 2) (*.f64 a2 a2)) -1) |
(*.f64 a1 (pow.f64 (/.f64 (sqrt.f64 2) a1) -1)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) |
(*.f64 a2 (*.f64 (*.f64 (sqrt.f64 1/2) a2) (cos.f64 th))) |
(*.f64 a2 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) a2))) |
(/.f64 (*.f64 (*.f64 a2 (cos.f64 th)) a2) (sqrt.f64 2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) |
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) |
(*.f64 a1 (*.f64 a1 (*.f64 (sqrt.f64 1/2) (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))) |
(/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (cos.f64 th)) |
(*.f64 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) |
| Outputs |
|---|
(*.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (cos.f64 th)) |
(*.f64 a2 (*.f64 (*.f64 (sqrt.f64 1/2) a2) (cos.f64 th))) |
8 calls:
| 167.0ms | a2 |
| 120.0ms | th |
| 57.0ms | (*.f64 a1 a1) |
| 54.0ms | (*.f64 a1 a1) |
| 50.0ms | (*.f64 a2 a2) |
| Error | Segments | Branch |
|---|---|---|
| 6.3b | 2 | a1 |
| 7.2b | 2 | a2 |
| 12.9b | 5 | th |
| 14.7b | 2 | (cos.f64 th) |
| 9.5b | 6 | (*.f64 a1 a1) |
| 9.5b | 6 | (*.f64 a1 a1) |
| 9.6b | 4 | (*.f64 a2 a2) |
| 9.6b | 4 | (*.f64 a2 a2) |
Compiled 407 to 264 computations (35.1% saved)
| 1× | binary-search |
| Time | Left | Right |
|---|---|---|
| 62.0ms | -6.895388867423736e-118 | -5.466196423826453e-131 |
Compiled 28 to 20 computations (28.6% saved)
| Inputs |
|---|
(*.f64 (*.f64 a2 a2) (sqrt.f64 1/2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a1 a1)) |
(*.f64 a2 (*.f64 (sqrt.f64 1/2) a2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)) |
(/.f64 a1 (/.f64 (sqrt.f64 2) a1)) |
(*.f64 a2 (/.f64 a2 (sqrt.f64 2))) |
(/.f64 (*.f64 a1 a1) (sqrt.f64 2)) |
(*.f64 a1 (/.f64 a1 (sqrt.f64 2))) |
(*.f64 a1 (*.f64 (pow.f64 2 -1/2) a1)) |
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 a1 a1))) |
(*.f64 a1 (sqrt.f64 (/.f64 (*.f64 a1 a1) 2))) |
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) 1) |
(*.f64 a2 (-.f64 (+.f64 1 (*.f64 (sqrt.f64 1/2) a2)) 1)) |
(*.f64 (*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) 1) 1) |
(*.f64 (*.f64 a2 (/.f64 1 (/.f64 (sqrt.f64 2) a2))) 1) |
(*.f64 a1 (-.f64 (+.f64 1 (/.f64 a1 (sqrt.f64 2))) 1)) |
(-.f64 (+.f64 1 (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) 1) |
(*.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 (*.f64 a2 a2) (*.f64 th (*.f64 th (*.f64 -1/2 (sqrt.f64 1/2))))) |
(*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 th a2) (*.f64 th a2)))) |
(*.f64 a2 (*.f64 (sqrt.f64 1/2) (+.f64 a2 (*.f64 th (*.f64 -1/2 (*.f64 a2 th)))))) |
(*.f64 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 th (*.f64 th -1/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))))) |
(sqrt.f64 (/.f64 (pow.f64 a2 4) 2)) |
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
(pow.f64 (/.f64 a2 (pow.f64 2 1/4)) 2) |
(pow.f64 (/.f64 (sqrt.f64 2) (*.f64 a2 a2)) -1) |
(*.f64 a1 (pow.f64 (/.f64 (sqrt.f64 2) a1) -1)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) |
(*.f64 a2 (*.f64 (*.f64 (sqrt.f64 1/2) a2) (cos.f64 th))) |
(*.f64 a2 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) a2))) |
(/.f64 (*.f64 (*.f64 a2 (cos.f64 th)) a2) (sqrt.f64 2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) |
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) |
(*.f64 a1 (*.f64 a1 (*.f64 (sqrt.f64 1/2) (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))) |
(/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
| Outputs |
|---|
(/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) |
(*.f64 a2 (*.f64 (*.f64 (sqrt.f64 1/2) a2) (cos.f64 th))) |
8 calls:
| 193.0ms | th |
| 88.0ms | (cos.f64 th) |
| 80.0ms | a1 |
| 67.0ms | a2 |
| 53.0ms | (*.f64 a1 a1) |
| Error | Segments | Branch |
|---|---|---|
| 6.3b | 2 | a1 |
| 7.3b | 2 | a2 |
| 12.9b | 5 | th |
| 14.7b | 2 | (cos.f64 th) |
| 9.5b | 6 | (*.f64 a1 a1) |
| 9.5b | 6 | (*.f64 a1 a1) |
| 9.6b | 4 | (*.f64 a2 a2) |
| 9.6b | 4 | (*.f64 a2 a2) |
Compiled 389 to 255 computations (34.4% saved)
| 1× | binary-search |
| Time | Left | Right |
|---|---|---|
| 133.0ms | -6.895388867423736e-118 | -5.466196423826453e-131 |
Compiled 28 to 20 computations (28.6% saved)
| Inputs |
|---|
(*.f64 (*.f64 a2 a2) (sqrt.f64 1/2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a1 a1)) |
(*.f64 a2 (*.f64 (sqrt.f64 1/2) a2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)) |
(/.f64 a1 (/.f64 (sqrt.f64 2) a1)) |
(*.f64 a2 (/.f64 a2 (sqrt.f64 2))) |
(/.f64 (*.f64 a1 a1) (sqrt.f64 2)) |
(*.f64 a1 (/.f64 a1 (sqrt.f64 2))) |
(*.f64 a1 (*.f64 (pow.f64 2 -1/2) a1)) |
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 a1 a1))) |
(*.f64 a1 (sqrt.f64 (/.f64 (*.f64 a1 a1) 2))) |
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) 1) |
(*.f64 a2 (-.f64 (+.f64 1 (*.f64 (sqrt.f64 1/2) a2)) 1)) |
(*.f64 (*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) 1) 1) |
(*.f64 (*.f64 a2 (/.f64 1 (/.f64 (sqrt.f64 2) a2))) 1) |
(*.f64 a1 (-.f64 (+.f64 1 (/.f64 a1 (sqrt.f64 2))) 1)) |
(-.f64 (+.f64 1 (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) 1) |
(*.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 (*.f64 a2 a2) (*.f64 th (*.f64 th (*.f64 -1/2 (sqrt.f64 1/2))))) |
(*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 th a2) (*.f64 th a2)))) |
(*.f64 a2 (*.f64 (sqrt.f64 1/2) (+.f64 a2 (*.f64 th (*.f64 -1/2 (*.f64 a2 th)))))) |
(*.f64 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 th (*.f64 th -1/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))))) |
(sqrt.f64 (/.f64 (pow.f64 a2 4) 2)) |
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
(pow.f64 (/.f64 a2 (pow.f64 2 1/4)) 2) |
(pow.f64 (/.f64 (sqrt.f64 2) (*.f64 a2 a2)) -1) |
(*.f64 a1 (pow.f64 (/.f64 (sqrt.f64 2) a1) -1)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) |
(*.f64 a2 (*.f64 (*.f64 (sqrt.f64 1/2) a2) (cos.f64 th))) |
(*.f64 a2 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) a2))) |
(/.f64 (*.f64 (*.f64 a2 (cos.f64 th)) a2) (sqrt.f64 2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) |
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) |
(*.f64 a1 (*.f64 a1 (*.f64 (sqrt.f64 1/2) (cos.f64 th)))) |
(*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))) |
| Outputs |
|---|
(*.f64 a1 (*.f64 a1 (*.f64 (sqrt.f64 1/2) (cos.f64 th)))) |
(*.f64 a2 (*.f64 (*.f64 (sqrt.f64 1/2) a2) (cos.f64 th))) |
8 calls:
| 186.0ms | th |
| 108.0ms | (*.f64 a2 a2) |
| 80.0ms | (*.f64 a1 a1) |
| 71.0ms | (*.f64 a1 a1) |
| 69.0ms | (*.f64 a2 a2) |
| Error | Segments | Branch |
|---|---|---|
| 6.3b | 2 | a1 |
| 7.3b | 2 | a2 |
| 12.9b | 5 | th |
| 14.7b | 2 | (cos.f64 th) |
| 9.5b | 6 | (*.f64 a1 a1) |
| 9.5b | 6 | (*.f64 a1 a1) |
| 9.6b | 4 | (*.f64 a2 a2) |
| 9.6b | 4 | (*.f64 a2 a2) |
Compiled 380 to 251 computations (33.9% saved)
| 1× | binary-search |
| Time | Left | Right |
|---|---|---|
| 78.0ms | -6.895388867423736e-118 | -5.466196423826453e-131 |
Compiled 28 to 20 computations (28.6% saved)
| Inputs |
|---|
(*.f64 (*.f64 a2 a2) (sqrt.f64 1/2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a1 a1)) |
(*.f64 a2 (*.f64 (sqrt.f64 1/2) a2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)) |
(/.f64 a1 (/.f64 (sqrt.f64 2) a1)) |
(*.f64 a2 (/.f64 a2 (sqrt.f64 2))) |
(/.f64 (*.f64 a1 a1) (sqrt.f64 2)) |
(*.f64 a1 (/.f64 a1 (sqrt.f64 2))) |
(*.f64 a1 (*.f64 (pow.f64 2 -1/2) a1)) |
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 a1 a1))) |
(*.f64 a1 (sqrt.f64 (/.f64 (*.f64 a1 a1) 2))) |
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) 1) |
(*.f64 a2 (-.f64 (+.f64 1 (*.f64 (sqrt.f64 1/2) a2)) 1)) |
(*.f64 (*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) 1) 1) |
(*.f64 (*.f64 a2 (/.f64 1 (/.f64 (sqrt.f64 2) a2))) 1) |
(*.f64 a1 (-.f64 (+.f64 1 (/.f64 a1 (sqrt.f64 2))) 1)) |
(-.f64 (+.f64 1 (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) 1) |
(*.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 (*.f64 a2 a2) (*.f64 th (*.f64 th (*.f64 -1/2 (sqrt.f64 1/2))))) |
(*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 th a2) (*.f64 th a2)))) |
(*.f64 a2 (*.f64 (sqrt.f64 1/2) (+.f64 a2 (*.f64 th (*.f64 -1/2 (*.f64 a2 th)))))) |
(*.f64 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 th (*.f64 th -1/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))))) |
(sqrt.f64 (/.f64 (pow.f64 a2 4) 2)) |
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
(pow.f64 (/.f64 a2 (pow.f64 2 1/4)) 2) |
(pow.f64 (/.f64 (sqrt.f64 2) (*.f64 a2 a2)) -1) |
(*.f64 a1 (pow.f64 (/.f64 (sqrt.f64 2) a1) -1)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) |
(*.f64 a2 (*.f64 (*.f64 (sqrt.f64 1/2) a2) (cos.f64 th))) |
(*.f64 a2 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) a2))) |
(/.f64 (*.f64 (*.f64 a2 (cos.f64 th)) a2) (sqrt.f64 2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) |
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) |
| Outputs |
|---|
(*.f64 a2 (*.f64 (*.f64 (sqrt.f64 1/2) a2) (cos.f64 th))) |
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) |
(*.f64 a2 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) a2))) |
7 calls:
| 75.0ms | th |
| 50.0ms | (*.f64 a1 a1) |
| 37.0ms | a2 |
| 36.0ms | a1 |
| 29.0ms | (cos.f64 th) |
| Error | Segments | Branch |
|---|---|---|
| 17.1b | 2 | a1 |
| 16.6b | 2 | a2 |
| 14.7b | 3 | th |
| 14.7b | 2 | (cos.f64 th) |
| 19.7b | 2 | (*.f64 a1 a1) |
| 18.5b | 2 | (*.f64 a2 a2) |
| 18.5b | 2 | (*.f64 a2 a2) |
Compiled 356 to 239 computations (32.9% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 37.0ms | 1.4566389604854082e-16 | 1.7120722258190529e-9 |
| 37.0ms | -0.007453308212503148 | -1.6985407511627086e-12 |
Compiled 28 to 20 computations (28.6% saved)
| Inputs |
|---|
(*.f64 (*.f64 a2 a2) (sqrt.f64 1/2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a1 a1)) |
(*.f64 a2 (*.f64 (sqrt.f64 1/2) a2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)) |
(/.f64 a1 (/.f64 (sqrt.f64 2) a1)) |
(*.f64 a2 (/.f64 a2 (sqrt.f64 2))) |
(/.f64 (*.f64 a1 a1) (sqrt.f64 2)) |
(*.f64 a1 (/.f64 a1 (sqrt.f64 2))) |
(*.f64 a1 (*.f64 (pow.f64 2 -1/2) a1)) |
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 a1 a1))) |
(*.f64 a1 (sqrt.f64 (/.f64 (*.f64 a1 a1) 2))) |
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) 1) |
(*.f64 a2 (-.f64 (+.f64 1 (*.f64 (sqrt.f64 1/2) a2)) 1)) |
(*.f64 (*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) 1) 1) |
(*.f64 (*.f64 a2 (/.f64 1 (/.f64 (sqrt.f64 2) a2))) 1) |
(*.f64 a1 (-.f64 (+.f64 1 (/.f64 a1 (sqrt.f64 2))) 1)) |
(-.f64 (+.f64 1 (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) 1) |
(*.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 (*.f64 a2 a2) (*.f64 th (*.f64 th (*.f64 -1/2 (sqrt.f64 1/2))))) |
(*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 th a2) (*.f64 th a2)))) |
(*.f64 a2 (*.f64 (sqrt.f64 1/2) (+.f64 a2 (*.f64 th (*.f64 -1/2 (*.f64 a2 th)))))) |
(*.f64 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 th (*.f64 th -1/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))))) |
(sqrt.f64 (/.f64 (pow.f64 a2 4) 2)) |
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
(pow.f64 (/.f64 a2 (pow.f64 2 1/4)) 2) |
(pow.f64 (/.f64 (sqrt.f64 2) (*.f64 a2 a2)) -1) |
(*.f64 a1 (pow.f64 (/.f64 (sqrt.f64 2) a1) -1)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) |
(*.f64 a2 (*.f64 (*.f64 (sqrt.f64 1/2) a2) (cos.f64 th))) |
(*.f64 a2 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) a2))) |
(/.f64 (*.f64 (*.f64 a2 (cos.f64 th)) a2) (sqrt.f64 2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) |
| Outputs |
|---|
(*.f64 a1 (/.f64 a1 (sqrt.f64 2))) |
(*.f64 a2 (*.f64 (*.f64 (sqrt.f64 1/2) a2) (cos.f64 th))) |
8 calls:
| 183.0ms | th |
| 118.0ms | a2 |
| 55.0ms | a1 |
| 29.0ms | (*.f64 a2 a2) |
| 28.0ms | (*.f64 a2 a2) |
| Error | Segments | Branch |
|---|---|---|
| 18.8b | 2 | a1 |
| 16.7b | 2 | a2 |
| 22.5b | 5 | th |
| 25.2b | 1 | (cos.f64 th) |
| 20.9b | 2 | (*.f64 a1 a1) |
| 20.9b | 2 | (*.f64 a1 a1) |
| 19.4b | 2 | (*.f64 a2 a2) |
| 19.4b | 2 | (*.f64 a2 a2) |
Compiled 353 to 239 computations (32.3% saved)
| 1× | binary-search |
| Time | Left | Right |
|---|---|---|
| 59.0ms | 2.0915784599899e-166 | 2.283291334674652e-161 |
Compiled 28 to 20 computations (28.6% saved)
| Inputs |
|---|
(*.f64 (*.f64 a2 a2) (sqrt.f64 1/2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a1 a1)) |
(*.f64 a2 (*.f64 (sqrt.f64 1/2) a2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)) |
(/.f64 a1 (/.f64 (sqrt.f64 2) a1)) |
(*.f64 a2 (/.f64 a2 (sqrt.f64 2))) |
(/.f64 (*.f64 a1 a1) (sqrt.f64 2)) |
(*.f64 a1 (/.f64 a1 (sqrt.f64 2))) |
(*.f64 a1 (*.f64 (pow.f64 2 -1/2) a1)) |
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 a1 a1))) |
(*.f64 a1 (sqrt.f64 (/.f64 (*.f64 a1 a1) 2))) |
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) 1) |
(*.f64 a2 (-.f64 (+.f64 1 (*.f64 (sqrt.f64 1/2) a2)) 1)) |
(*.f64 (*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) 1) 1) |
(*.f64 (*.f64 a2 (/.f64 1 (/.f64 (sqrt.f64 2) a2))) 1) |
(*.f64 a1 (-.f64 (+.f64 1 (/.f64 a1 (sqrt.f64 2))) 1)) |
(-.f64 (+.f64 1 (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) 1) |
(*.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 (*.f64 a2 a2) (*.f64 th (*.f64 th (*.f64 -1/2 (sqrt.f64 1/2))))) |
(*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 th a2) (*.f64 th a2)))) |
(*.f64 a2 (*.f64 (sqrt.f64 1/2) (+.f64 a2 (*.f64 th (*.f64 -1/2 (*.f64 a2 th)))))) |
(*.f64 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 th (*.f64 th -1/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))))) |
(sqrt.f64 (/.f64 (pow.f64 a2 4) 2)) |
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
(pow.f64 (/.f64 a2 (pow.f64 2 1/4)) 2) |
(pow.f64 (/.f64 (sqrt.f64 2) (*.f64 a2 a2)) -1) |
(*.f64 a1 (pow.f64 (/.f64 (sqrt.f64 2) a1) -1)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) |
| Outputs |
|---|
(*.f64 a1 (/.f64 a1 (sqrt.f64 2))) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) |
8 calls:
| 136.0ms | th |
| 52.0ms | a1 |
| 51.0ms | a2 |
| 28.0ms | (*.f64 a2 a2) |
| 27.0ms | (*.f64 a2 a2) |
| Error | Segments | Branch |
|---|---|---|
| 18.8b | 2 | a1 |
| 16.7b | 2 | a2 |
| 22.5b | 5 | th |
| 25.2b | 1 | (cos.f64 th) |
| 20.9b | 2 | (*.f64 a1 a1) |
| 20.9b | 2 | (*.f64 a1 a1) |
| 19.5b | 2 | (*.f64 a2 a2) |
| 19.5b | 2 | (*.f64 a2 a2) |
Compiled 317 to 222 computations (30% saved)
| 1× | binary-search |
| Time | Left | Right |
|---|---|---|
| 89.0ms | 2.0915784599899e-166 | 2.283291334674652e-161 |
Compiled 28 to 20 computations (28.6% saved)
| Inputs |
|---|
(*.f64 (*.f64 a2 a2) (sqrt.f64 1/2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a1 a1)) |
(*.f64 a2 (*.f64 (sqrt.f64 1/2) a2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)) |
(/.f64 a1 (/.f64 (sqrt.f64 2) a1)) |
(*.f64 a2 (/.f64 a2 (sqrt.f64 2))) |
(/.f64 (*.f64 a1 a1) (sqrt.f64 2)) |
(*.f64 a1 (/.f64 a1 (sqrt.f64 2))) |
(*.f64 a1 (*.f64 (pow.f64 2 -1/2) a1)) |
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 a1 a1))) |
(*.f64 a1 (sqrt.f64 (/.f64 (*.f64 a1 a1) 2))) |
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) 1) |
(*.f64 a2 (-.f64 (+.f64 1 (*.f64 (sqrt.f64 1/2) a2)) 1)) |
(*.f64 (*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) 1) 1) |
(*.f64 (*.f64 a2 (/.f64 1 (/.f64 (sqrt.f64 2) a2))) 1) |
(*.f64 a1 (-.f64 (+.f64 1 (/.f64 a1 (sqrt.f64 2))) 1)) |
(-.f64 (+.f64 1 (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) 1) |
(*.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 (*.f64 a2 a2) (*.f64 th (*.f64 th (*.f64 -1/2 (sqrt.f64 1/2))))) |
(*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 th a2) (*.f64 th a2)))) |
(*.f64 a2 (*.f64 (sqrt.f64 1/2) (+.f64 a2 (*.f64 th (*.f64 -1/2 (*.f64 a2 th)))))) |
(*.f64 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 th (*.f64 th -1/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))))) |
(sqrt.f64 (/.f64 (pow.f64 a2 4) 2)) |
(/.f64 (pow.f64 a2 2) (sqrt.f64 2)) |
(pow.f64 (/.f64 a2 (pow.f64 2 1/4)) 2) |
(pow.f64 (/.f64 (sqrt.f64 2) (*.f64 a2 a2)) -1) |
(*.f64 a1 (pow.f64 (/.f64 (sqrt.f64 2) a1) -1)) |
| Outputs |
|---|
(*.f64 a1 (/.f64 a1 (sqrt.f64 2))) |
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) 1) |
6 calls:
| 80.0ms | th |
| 41.0ms | (*.f64 a2 a2) |
| 36.0ms | (*.f64 a1 a1) |
| 34.0ms | a1 |
| 30.0ms | (*.f64 a1 a1) |
| Error | Segments | Branch |
|---|---|---|
| 31.4b | 2 | a1 |
| 32.6b | 2 | a2 |
| 38.5b | 5 | th |
| 34.8b | 2 | (*.f64 a1 a1) |
| 34.8b | 2 | (*.f64 a1 a1) |
| 34.6b | 2 | (*.f64 a2 a2) |
Compiled 297 to 208 computations (30% saved)
| 1× | binary-search |
| Time | Left | Right |
|---|---|---|
| 64.0ms | -3.0393027398314696e-136 | -8.990438045660026e-137 |
Compiled 28 to 20 computations (28.6% saved)
| Inputs |
|---|
(*.f64 (*.f64 a2 a2) (sqrt.f64 1/2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a1 a1)) |
(*.f64 a2 (*.f64 (sqrt.f64 1/2) a2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)) |
(/.f64 a1 (/.f64 (sqrt.f64 2) a1)) |
(*.f64 a2 (/.f64 a2 (sqrt.f64 2))) |
(/.f64 (*.f64 a1 a1) (sqrt.f64 2)) |
(*.f64 a1 (/.f64 a1 (sqrt.f64 2))) |
(*.f64 a1 (*.f64 (pow.f64 2 -1/2) a1)) |
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 a1 a1))) |
(*.f64 a1 (sqrt.f64 (/.f64 (*.f64 a1 a1) 2))) |
| Outputs |
|---|
(*.f64 a1 (/.f64 a1 (sqrt.f64 2))) |
(*.f64 a2 (*.f64 (sqrt.f64 1/2) a2)) |
7 calls:
| 43.0ms | th |
| 16.0ms | (*.f64 a2 a2) |
| 16.0ms | a2 |
| 14.0ms | (*.f64 a2 a2) |
| 13.0ms | (*.f64 a1 a1) |
| Error | Segments | Branch |
|---|---|---|
| 31.4b | 2 | a1 |
| 32.7b | 2 | a2 |
| 38.5b | 5 | th |
| 34.8b | 2 | (*.f64 a1 a1) |
| 34.8b | 2 | (*.f64 a1 a1) |
| 34.7b | 2 | (*.f64 a2 a2) |
| 34.7b | 2 | (*.f64 a2 a2) |
Compiled 110 to 72 computations (34.5% saved)
| 1× | binary-search |
| Time | Left | Right |
|---|---|---|
| 76.0ms | -3.0393027398314696e-136 | -8.990438045660026e-137 |
Compiled 28 to 20 computations (28.6% saved)
| Inputs |
|---|
(*.f64 (*.f64 a2 a2) (sqrt.f64 1/2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a1 a1)) |
(*.f64 a2 (*.f64 (sqrt.f64 1/2) a2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)) |
(/.f64 a1 (/.f64 (sqrt.f64 2) a1)) |
(*.f64 a2 (/.f64 a2 (sqrt.f64 2))) |
(/.f64 (*.f64 a1 a1) (sqrt.f64 2)) |
| Outputs |
|---|
(/.f64 a1 (/.f64 (sqrt.f64 2) a1)) |
(*.f64 a2 (*.f64 (sqrt.f64 1/2) a2)) |
6 calls:
| 31.0ms | th |
| 15.0ms | a2 |
| 14.0ms | (*.f64 a2 a2) |
| 13.0ms | (*.f64 a1 a1) |
| 11.0ms | a1 |
| Error | Segments | Branch |
|---|---|---|
| 31.4b | 2 | a1 |
| 32.7b | 2 | a2 |
| 38.5b | 5 | th |
| 34.8b | 2 | (*.f64 a1 a1) |
| 34.7b | 2 | (*.f64 a2 a2) |
| 34.7b | 2 | (*.f64 a2 a2) |
Compiled 75 to 50 computations (33.3% saved)
| 1× | binary-search |
| Time | Left | Right |
|---|---|---|
| 70.0ms | -3.0393027398314696e-136 | -8.990438045660026e-137 |
Compiled 28 to 20 computations (28.6% saved)
| Inputs |
|---|
(*.f64 (*.f64 a2 a2) (sqrt.f64 1/2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a1 a1)) |
(*.f64 a2 (*.f64 (sqrt.f64 1/2) a2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)) |
| Outputs |
|---|
(*.f64 (sqrt.f64 1/2) (*.f64 a1 a1)) |
(*.f64 a2 (*.f64 (sqrt.f64 1/2) a2)) |
6 calls:
| 23.0ms | th |
| 13.0ms | (*.f64 a2 a2) |
| 11.0ms | (*.f64 a1 a1) |
| 10.0ms | a1 |
| 8.0ms | (*.f64 a2 a2) |
| Error | Segments | Branch |
|---|---|---|
| 31.4b | 2 | a1 |
| 32.7b | 2 | a2 |
| 38.5b | 5 | th |
| 34.8b | 2 | (*.f64 a1 a1) |
| 34.7b | 2 | (*.f64 a2 a2) |
| 34.7b | 2 | (*.f64 a2 a2) |
Compiled 57 to 39 computations (31.6% saved)
| 1× | binary-search |
| Time | Left | Right |
|---|---|---|
| 67.0ms | -3.0393027398314696e-136 | -8.990438045660026e-137 |
Compiled 28 to 20 computations (28.6% saved)
Total -24.1b remaining (-76.5%)
Threshold costs -24.1b (-76.5%)
| Inputs |
|---|
(*.f64 (*.f64 a2 a2) (sqrt.f64 1/2)) |
(*.f64 (sqrt.f64 1/2) (*.f64 a1 a1)) |
| Outputs |
|---|
(*.f64 (sqrt.f64 1/2) (*.f64 a1 a1)) |
(*.f64 (*.f64 a2 a2) (sqrt.f64 1/2)) |
5 calls:
| 19.0ms | th |
| 12.0ms | a1 |
| 9.0ms | (*.f64 a2 a2) |
| 6.0ms | (*.f64 a1 a1) |
| 6.0ms | a2 |
| Error | Segments | Branch |
|---|---|---|
| 31.4b | 2 | a1 |
| 32.7b | 2 | a2 |
| 38.5b | 5 | th |
| 34.8b | 2 | (*.f64 a1 a1) |
| 34.7b | 2 | (*.f64 a2 a2) |
Compiled 39 to 28 computations (28.2% saved)
| 1× | binary-search |
| Time | Left | Right |
|---|---|---|
| 65.0ms | -3.0393027398314696e-136 | -8.990438045660026e-137 |
Compiled 28 to 20 computations (28.6% saved)
| 1× | egg-herbie |
| 24× | *-commutative_binary64 |
| 1× | *-rgt-identity_binary64 |
| 1× | 1-exp_binary64 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 76 | 448 |
| 1 | 103 | 448 |
| 1× | fuel |
| 1× | saturated |
| Inputs |
|---|
(*.f64 (*.f64 (pow.f64 2 -1/2) (cos.f64 th)) (fma.f64 a1 a1 (*.f64 a2 a2))) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2))) |
(if (<=.f64 a1 -501183564792039808/726838724295606890549323807888004534353641360687318060281490199180639288113397923326191050713763565560762521606266177933534601628614656) (*.f64 (cos.f64 th) (*.f64 (*.f64 a1 a1) (pow.f64 2 -1/2))) (*.f64 a2 (*.f64 (*.f64 (sqrt.f64 1/2) a2) (cos.f64 th)))) |
(if (<=.f64 a1 -501183564792039808/726838724295606890549323807888004534353641360687318060281490199180639288113397923326191050713763565560762521606266177933534601628614656) (*.f64 (sqrt.f64 1/2) (*.f64 a1 (*.f64 a1 (cos.f64 th)))) (*.f64 a2 (*.f64 (*.f64 (sqrt.f64 1/2) a2) (cos.f64 th)))) |
(if (<=.f64 a1 -501183564792039808/726838724295606890549323807888004534353641360687318060281490199180639288113397923326191050713763565560762521606266177933534601628614656) (*.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (cos.f64 th)) (*.f64 a2 (*.f64 (*.f64 (sqrt.f64 1/2) a2) (cos.f64 th)))) |
(if (<=.f64 a1 -501183564792039808/726838724295606890549323807888004534353641360687318060281490199180639288113397923326191050713763565560762521606266177933534601628614656) (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) (*.f64 a2 (*.f64 (*.f64 (sqrt.f64 1/2) a2) (cos.f64 th)))) |
(if (<=.f64 a1 -501183564792039808/726838724295606890549323807888004534353641360687318060281490199180639288113397923326191050713763565560762521606266177933534601628614656) (*.f64 a1 (*.f64 a1 (*.f64 (sqrt.f64 1/2) (cos.f64 th)))) (*.f64 a2 (*.f64 (*.f64 (sqrt.f64 1/2) a2) (cos.f64 th)))) |
(if (<=.f64 th -137489269098523184/18446744073709551616) (*.f64 a2 (*.f64 (*.f64 (sqrt.f64 1/2) a2) (cos.f64 th))) (if (<=.f64 th 2954414804120243/20282409603651670423947251286016) (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (*.f64 a2 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) a2))))) |
(if (<=.f64 a2 222183357011564064/1062275985633534197379176413104937254659186235454063846398888276400807119721704485478325004530458571337778658972493002030693158675305414478819039957533174703887662541670786438063456256) (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (*.f64 a2 (*.f64 (*.f64 (sqrt.f64 1/2) a2) (cos.f64 th)))) |
(if (<=.f64 a2 222183357011564064/1062275985633534197379176413104937254659186235454063846398888276400807119721704485478325004530458571337778658972493002030693158675305414478819039957533174703887662541670786438063456256) (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))) |
(if (<=.f64 a1 -4075038737660864000/13407807929942597099574024998205846127479365820592393377723561443721764030073546976801874298166903427690031858186486050853753882811946569946433649006084096) (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) 1)) |
(if (<=.f64 a1 -4075038737660864000/13407807929942597099574024998205846127479365820592393377723561443721764030073546976801874298166903427690031858186486050853753882811946569946433649006084096) (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (*.f64 a2 (*.f64 (sqrt.f64 1/2) a2))) |
(if (<=.f64 a1 -4075038737660864000/13407807929942597099574024998205846127479365820592393377723561443721764030073546976801874298166903427690031858186486050853753882811946569946433649006084096) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (*.f64 a2 (*.f64 (sqrt.f64 1/2) a2))) |
(if (<=.f64 a1 -4075038737660864000/13407807929942597099574024998205846127479365820592393377723561443721764030073546976801874298166903427690031858186486050853753882811946569946433649006084096) (*.f64 (sqrt.f64 1/2) (*.f64 a1 a1)) (*.f64 a2 (*.f64 (sqrt.f64 1/2) a2))) |
(if (<=.f64 a1 -4075038737660864000/13407807929942597099574024998205846127479365820592393377723561443721764030073546976801874298166903427690031858186486050853753882811946569946433649006084096) (*.f64 (sqrt.f64 1/2) (*.f64 a1 a1)) (*.f64 (*.f64 a2 a2) (sqrt.f64 1/2))) |
(*.f64 (*.f64 a2 a2) (sqrt.f64 1/2)) |
| Outputs |
|---|
(*.f64 (*.f64 (pow.f64 2 -1/2) (cos.f64 th)) (fma.f64 a1 a1 (*.f64 a2 a2))) |
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2))) |
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2))) |
(if (<=.f64 a1 -501183564792039808/726838724295606890549323807888004534353641360687318060281490199180639288113397923326191050713763565560762521606266177933534601628614656) (*.f64 (cos.f64 th) (*.f64 (*.f64 a1 a1) (pow.f64 2 -1/2))) (*.f64 a2 (*.f64 (*.f64 (sqrt.f64 1/2) a2) (cos.f64 th)))) |
(if (<=.f64 a1 -3915496599937811/5678427533559428832416592249125035424637823130369672345949142181098744438385921275985867583701277855943457200048954515105739075223552) (*.f64 (cos.f64 th) (*.f64 (pow.f64 2 -1/2) (*.f64 a1 a1))) (*.f64 a2 (*.f64 (cos.f64 th) (*.f64 a2 (sqrt.f64 1/2))))) |
(if (<=.f64 a1 -501183564792039808/726838724295606890549323807888004534353641360687318060281490199180639288113397923326191050713763565560762521606266177933534601628614656) (*.f64 (sqrt.f64 1/2) (*.f64 a1 (*.f64 a1 (cos.f64 th)))) (*.f64 a2 (*.f64 (*.f64 (sqrt.f64 1/2) a2) (cos.f64 th)))) |
(if (<=.f64 a1 -3915496599937811/5678427533559428832416592249125035424637823130369672345949142181098744438385921275985867583701277855943457200048954515105739075223552) (*.f64 (sqrt.f64 1/2) (*.f64 a1 (*.f64 (cos.f64 th) a1))) (*.f64 a2 (*.f64 (cos.f64 th) (*.f64 a2 (sqrt.f64 1/2))))) |
(if (<=.f64 a1 -501183564792039808/726838724295606890549323807888004534353641360687318060281490199180639288113397923326191050713763565560762521606266177933534601628614656) (*.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (cos.f64 th)) (*.f64 a2 (*.f64 (*.f64 (sqrt.f64 1/2) a2) (cos.f64 th)))) |
(if (<=.f64 a1 -3915496599937811/5678427533559428832416592249125035424637823130369672345949142181098744438385921275985867583701277855943457200048954515105739075223552) (*.f64 (cos.f64 th) (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) (*.f64 a2 (*.f64 (cos.f64 th) (*.f64 a2 (sqrt.f64 1/2))))) |
(if (<=.f64 a1 -501183564792039808/726838724295606890549323807888004534353641360687318060281490199180639288113397923326191050713763565560762521606266177933534601628614656) (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) (*.f64 a2 (*.f64 (*.f64 (sqrt.f64 1/2) a2) (cos.f64 th)))) |
(if (<=.f64 a1 -3915496599937811/5678427533559428832416592249125035424637823130369672345949142181098744438385921275985867583701277855943457200048954515105739075223552) (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) (*.f64 a2 (*.f64 (cos.f64 th) (*.f64 a2 (sqrt.f64 1/2))))) |
(if (<=.f64 a1 -501183564792039808/726838724295606890549323807888004534353641360687318060281490199180639288113397923326191050713763565560762521606266177933534601628614656) (*.f64 a1 (*.f64 a1 (*.f64 (sqrt.f64 1/2) (cos.f64 th)))) (*.f64 a2 (*.f64 (*.f64 (sqrt.f64 1/2) a2) (cos.f64 th)))) |
(if (<=.f64 a1 -3915496599937811/5678427533559428832416592249125035424637823130369672345949142181098744438385921275985867583701277855943457200048954515105739075223552) (*.f64 a1 (*.f64 a1 (*.f64 (cos.f64 th) (sqrt.f64 1/2)))) (*.f64 a2 (*.f64 (cos.f64 th) (*.f64 a2 (sqrt.f64 1/2))))) |
(if (<=.f64 th -137489269098523184/18446744073709551616) (*.f64 a2 (*.f64 (*.f64 (sqrt.f64 1/2) a2) (cos.f64 th))) (if (<=.f64 th 2954414804120243/20282409603651670423947251286016) (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (*.f64 a2 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) a2))))) |
(if (<=.f64 th -8593079318657699/1152921504606846976) (*.f64 a2 (*.f64 (cos.f64 th) (*.f64 a2 (sqrt.f64 1/2)))) (if (<=.f64 th 2954414804120243/20282409603651670423947251286016) (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (*.f64 a2 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) a2))))) |
(if (<=.f64 a2 222183357011564064/1062275985633534197379176413104937254659186235454063846398888276400807119721704485478325004530458571337778658972493002030693158675305414478819039957533174703887662541670786438063456256) (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (*.f64 a2 (*.f64 (*.f64 (sqrt.f64 1/2) a2) (cos.f64 th)))) |
(if (<=.f64 a2 6943229906611377/33196124551047943668099262909529289208099569857939495199965258637525222491303265171197656391576830354305583092890406313459161208603294202463094998672911709496489454427212076189483008) (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (*.f64 a2 (*.f64 (cos.f64 th) (*.f64 a2 (sqrt.f64 1/2))))) |
(if (<=.f64 a2 222183357011564064/1062275985633534197379176413104937254659186235454063846398888276400807119721704485478325004530458571337778658972493002030693158675305414478819039957533174703887662541670786438063456256) (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))) |
(if (<=.f64 a2 6943229906611377/33196124551047943668099262909529289208099569857939495199965258637525222491303265171197656391576830354305583092890406313459161208603294202463094998672911709496489454427212076189483008) (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 (cos.f64 th) a2)))) |
(if (<=.f64 a1 -4075038737660864000/13407807929942597099574024998205846127479365820592393377723561443721764030073546976801874298166903427690031858186486050853753882811946569946433649006084096) (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) 1)) |
(if (<=.f64 a1 -7959060034493875/26187124863169134960105517574620793217733136368344518315866330944769070371237396439066160738607233257207093473020480568073738052367083144426628220715008) (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (/.f64 (*.f64 a2 a2) (sqrt.f64 2))) |
(if (<=.f64 a1 -4075038737660864000/13407807929942597099574024998205846127479365820592393377723561443721764030073546976801874298166903427690031858186486050853753882811946569946433649006084096) (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (*.f64 a2 (*.f64 (sqrt.f64 1/2) a2))) |
(if (<=.f64 a1 -7959060034493875/26187124863169134960105517574620793217733136368344518315866330944769070371237396439066160738607233257207093473020480568073738052367083144426628220715008) (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (*.f64 a2 (*.f64 a2 (sqrt.f64 1/2)))) |
(if (<=.f64 a1 -4075038737660864000/13407807929942597099574024998205846127479365820592393377723561443721764030073546976801874298166903427690031858186486050853753882811946569946433649006084096) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (*.f64 a2 (*.f64 (sqrt.f64 1/2) a2))) |
(if (<=.f64 a1 -7959060034493875/26187124863169134960105517574620793217733136368344518315866330944769070371237396439066160738607233257207093473020480568073738052367083144426628220715008) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (*.f64 a2 (*.f64 a2 (sqrt.f64 1/2)))) |
(if (<=.f64 a1 -4075038737660864000/13407807929942597099574024998205846127479365820592393377723561443721764030073546976801874298166903427690031858186486050853753882811946569946433649006084096) (*.f64 (sqrt.f64 1/2) (*.f64 a1 a1)) (*.f64 a2 (*.f64 (sqrt.f64 1/2) a2))) |
(if (<=.f64 a1 -7959060034493875/26187124863169134960105517574620793217733136368344518315866330944769070371237396439066160738607233257207093473020480568073738052367083144426628220715008) (*.f64 (*.f64 a1 a1) (sqrt.f64 1/2)) (*.f64 a2 (*.f64 a2 (sqrt.f64 1/2)))) |
(if (<=.f64 a1 -4075038737660864000/13407807929942597099574024998205846127479365820592393377723561443721764030073546976801874298166903427690031858186486050853753882811946569946433649006084096) (*.f64 (sqrt.f64 1/2) (*.f64 a1 a1)) (*.f64 (*.f64 a2 a2) (sqrt.f64 1/2))) |
(if (<=.f64 a1 -7959060034493875/26187124863169134960105517574620793217733136368344518315866330944769070371237396439066160738607233257207093473020480568073738052367083144426628220715008) (*.f64 (*.f64 a1 a1) (sqrt.f64 1/2)) (*.f64 (*.f64 a2 a2) (sqrt.f64 1/2))) |
(*.f64 (*.f64 a2 a2) (sqrt.f64 1/2)) |
Compiled 343 to 241 computations (29.7% 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 330 to 200 computations (39.4% saved)
Loading profile data...