Details

Time bar (total: 7.0s)

analyze1.1s (15.5%)

Algorithm
search
Search
TrueOtherFalseIter
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
39%41.5%19.5%13
42.9%37%20.1%14
Compiler

Compiled 23 to 16 computations (30.4% saved)

sample4.2s (60%)

Results
1.2s1882×body1024valid
980.0ms1603×body1024invalid
866.0ms5037×body128valid
396.0ms880×body512valid
363.0ms812×body512invalid
158.0ms449×body256invalid
139.0ms452×body256valid
128.0ms692×body128invalid
4.0msbody2048valid

preprocess28.0ms (0.4%)

Algorithm
egg-herbie
Rules
96×fma-def_binary64
70×*-commutative_binary64
57×associate-/l*_binary64
30×associate-/r/_binary64
26×distribute-rgt-out_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02580
16972
216072
324372
432172
537572
642072
747472
848072
033
133
Stop Event
unsound
saturated
Calls
Call 1
Inputs
0
1
2
Outputs
0
1
0
2
Call 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 a1 a1) (*.f64 a2 a2)))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 (cos.f64 th) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)))
(+.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 a1 a1) (*.f64 a2 a2)))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 (cos.f64 th) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)))
(+.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)))
Symmetry

(sort a1 a2)

Compiler

Compiled 22 to 15 computations (31.8% saved)

simplify10.0ms (0.1%)

Algorithm
egg-herbie
Rules
32×fma-def_binary64
23×*-commutative_binary64
20×associate-/l*_binary64
11×associate-/r/_binary64
associate-*r/_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01320
12718
25818
38818
411518
513518
615218
717018
817218
Stop Event
saturated
Counts
1 → 2
Calls
Call 1
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)))
(*.f64 (cos.f64 th) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)))

prune4.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.6b
Counts
3 → 2
Alt Table
StatusErrorProgram
0.7b
(*.f64 (cos.f64 th) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)))
0.7b
(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
Compiler

Compiled 108 to 70 computations (35.2% saved)

localize8.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.4b
(*.f64 (cos.f64 th) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)))
0.4b
(/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2))

series17.0ms (0.2%)

Counts
2 → 60
Calls

15 calls:

TimeVariablePointExpression
4.0ms
a1
@0
(*.f64 (cos.f64 th) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)))
2.0ms
a2
@inf
(*.f64 (cos.f64 th) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)))
2.0ms
th
@inf
(*.f64 (cos.f64 th) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)))
1.0ms
a1
@0
(/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2))
1.0ms
th
@0
(*.f64 (cos.f64 th) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)))

rewrite45.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
523×log-prod_binary64
195×expm1-udef_binary64
195×log1p-udef_binary64
182×pow3_binary64
171×log-pow_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01131
122429
2272929
Stop Event
node limit
Counts
2 → 65
Calls
Call 1
Inputs
(/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2))
(*.f64 (cos.f64 th) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (pow.f64 (hypot.f64 a1 a2) 2) (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (/.f64 (pow.f64 (hypot.f64 a1 a2) 2) (sqrt.f64 2)))) (cbrt.f64 (exp.f64 (/.f64 (pow.f64 (hypot.f64 a1 a2) 2) (sqrt.f64 2)))))) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (pow.f64 (hypot.f64 a1 a2) 2) (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) (sqrt.f64 2))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (pow.f64 (hypot.f64 a1 a2) 2) (sqrt.f64 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (pow.f64 (hypot.f64 a1 a2) 2) (sqrt.f64 2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (hypot.f64 a1 a2) 2) (pow.f64 2 -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (hypot.f64 a1 a2) 2) (sqrt.f64 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (pow.f64 (hypot.f64 a1 a2) 2) (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (pow.f64 (hypot.f64 a1 a2) 2) (sqrt.f64 2))) (cbrt.f64 (/.f64 (pow.f64 (pow.f64 (hypot.f64 a1 a2) 2) 2) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (pow.f64 (pow.f64 (hypot.f64 a1 a2) 2) 2) 2)) (cbrt.f64 (/.f64 (pow.f64 (hypot.f64 a1 a2) 2) (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (pow.f64 (hypot.f64 a1 a2) 2)) 2) (*.f64 (cbrt.f64 (pow.f64 (hypot.f64 a1 a2) 2)) (pow.f64 2 -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (hypot.f64 a1 a2) (pow.f64 2 1/4)) (/.f64 (hypot.f64 a1 a2) (pow.f64 2 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (hypot.f64 a1 a2) (*.f64 (hypot.f64 a1 a2) (pow.f64 2 -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 (hypot.f64 a1 a2) 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 a1 a2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (pow.f64 (hypot.f64 a1 a2) 2)) 2) 1) (/.f64 (cbrt.f64 (pow.f64 (hypot.f64 a1 a2) 2)) (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (hypot.f64 a1 a2) 1) (/.f64 (hypot.f64 a1 a2) (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 2)) (/.f64 (pow.f64 (hypot.f64 a1 a2) 2) (cbrt.f64 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (pow.f64 (hypot.f64 a1 a2) 2)) 2) (cbrt.f64 2)) (cbrt.f64 (/.f64 (pow.f64 (hypot.f64 a1 a2) 2) (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (hypot.f64 a1 a2) (cbrt.f64 2)) (/.f64 (hypot.f64 a1 a2) (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 a1 a2) 2) (pow.f64 2 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (pow.f64 (hypot.f64 a1 a2) 2)) 2) (pow.f64 2 1/4)) (/.f64 (cbrt.f64 (pow.f64 (hypot.f64 a1 a2) 2)) (pow.f64 2 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (hypot.f64 a1 a2) 2) (sqrt.f64 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (pow.f64 (hypot.f64 a1 a2) 2) (sqrt.f64 2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (pow.f64 (hypot.f64 a1 a2) 2) (sqrt.f64 2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (hypot.f64 a1 a2) (pow.f64 2 1/4)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 2) (pow.f64 (hypot.f64 a1 a2) 2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 (sqrt.f64 2) (pow.f64 (hypot.f64 a1 a2) 2)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (pow.f64 (hypot.f64 a1 a2) 2) (neg.f64 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 (pow.f64 (pow.f64 (hypot.f64 a1 a2) 2) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (pow.f64 (hypot.f64 a1 a2) 2) (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (pow.f64 (hypot.f64 a1 a2) 2) (sqrt.f64 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (pow.f64 (hypot.f64 a1 a2) 2) (sqrt.f64 2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (pow.f64 (hypot.f64 a1 a2) 2) 3) (*.f64 2 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (pow.f64 (hypot.f64 a1 a2) 2) (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (pow.f64 (hypot.f64 a1 a2) 2) (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (pow.f64 (hypot.f64 a1 a2) 2) (sqrt.f64 2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (pow.f64 (hypot.f64 a1 a2) 2) (sqrt.f64 2))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (pow.f64 (hypot.f64 a1 a2) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 th)) (/.f64 (pow.f64 (hypot.f64 a1 a2) 2) (sqrt.f64 2)))) (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 th)) (/.f64 (pow.f64 (hypot.f64 a1 a2) 2) (sqrt.f64 2)))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 th)) (/.f64 (pow.f64 (hypot.f64 a1 a2) 2) (sqrt.f64 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 th)) (/.f64 (pow.f64 (hypot.f64 a1 a2) 2) (sqrt.f64 2))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 th)) (/.f64 (pow.f64 (hypot.f64 a1 a2) 2) (sqrt.f64 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (cos.f64 th) (/.f64 (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 1 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (cos.f64 th)) (sqrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (cos.f64 th))) (neg.f64 (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (cos.f64 th)) 1) (sqrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (cos.f64 th)) (cbrt.f64 2)) (cbrt.f64 (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (cos.f64 th)) (pow.f64 2 1/4)) (pow.f64 2 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (pow.f64 (hypot.f64 a1 a2) 2)) (cos.f64 th)) (neg.f64 (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 th) (neg.f64 (pow.f64 (hypot.f64 a1 a2) 2))) (neg.f64 (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (pow.f64 (hypot.f64 a1 a2) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (pow.f64 (hypot.f64 a1 a2) 2))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (pow.f64 (hypot.f64 a1 a2) 2)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 (hypot.f64 a1 a2) (pow.f64 2 1/4)) (sqrt.f64 (cos.f64 th))) 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 sqrt.f64 (pow.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (pow.f64 (hypot.f64 a1 a2) 2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (cos.f64 th)) (/.f64 (pow.f64 (hypot.f64 a1 a2) 2) (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (pow.f64 (hypot.f64 a1 a2) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (pow.f64 (hypot.f64 a1 a2) 2))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (/.f64 (pow.f64 (hypot.f64 a1 a2) 2) (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 (pow.f64 (hypot.f64 a1 a2) 2) (sqrt.f64 2)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (pow.f64 (hypot.f64 a1 a2) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (pow.f64 (hypot.f64 a1 a2) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (pow.f64 (hypot.f64 a1 a2) 2)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (pow.f64 (hypot.f64 a1 a2) 2)))))))))

simplify48.0ms (0.7%)

Algorithm
egg-herbie
Rules
821×unswap-sqr_binary64
650×associate-*l*_binary64
423×fma-def_binary64
199×associate-/l*_binary64
171×*-commutative_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0471243
11071175
22861171
310231103
438161103
Stop Event
node limit
Counts
125 → 87
Calls
Call 1
Inputs
(/.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)))
(/.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 (+.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 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(/.f64 a2 (/.f64 (sqrt.f64 2) a2))
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))
(+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))
(fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)))
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))
(+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))
(fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)))
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))
(+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))
(fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(/.f64 (*.f64 a1 a1) (sqrt.f64 2))
(/.f64 a1 (/.f64 (sqrt.f64 2) a1))
(*.f64 a1 (/.f64 a1 (sqrt.f64 2)))
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))
(+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))
(fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)))
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))
(+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))
(fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)))
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))
(+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))
(fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(/.f64 (*.f64 a1 a1) (sqrt.f64 2))
(/.f64 a1 (/.f64 (sqrt.f64 2) a1))
(*.f64 a1 (/.f64 a1 (sqrt.f64 2)))
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))
(+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))
(fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)))
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))
(+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))
(fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)))
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))
(+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))
(fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(/.f64 (*.f64 a1 a1) (sqrt.f64 2))
(/.f64 a1 (/.f64 (sqrt.f64 2) a1))
(*.f64 a1 (/.f64 a1 (sqrt.f64 2)))
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))
(+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))
(fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)))
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))
(+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))
(fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)))
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))
(+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))
(fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(/.f64 a2 (/.f64 (sqrt.f64 2) a2))
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))
(+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))
(fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)))
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))
(+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))
(fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)))
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))
(+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))
(fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(/.f64 a2 (/.f64 (sqrt.f64 2) a2))
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))
(+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))
(fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)))
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))
(+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))
(fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)))
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))
(+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))
(fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)))
(/.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 a1 a1 (*.f64 a2 a2)) (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 (*.f64 a2 a2) (sqrt.f64 2)) (/.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 th th) (/.f64 (sqrt.f64 2) (fma.f64 a1 a1 (*.f64 a2 a2)))) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))))
(fma.f64 -1/2 (*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (*.f64 th th)) (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))))
(fma.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (*.f64 -1/2 (*.f64 th th)) (fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (/.f64 a2 (/.f64 (sqrt.f64 2) a2))))
(+.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 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))) (fma.f64 -1/2 (/.f64 (*.f64 th th) (/.f64 (sqrt.f64 2) (fma.f64 a1 a1 (*.f64 a2 a2)))) (*.f64 1/24 (/.f64 (pow.f64 th 4) (/.f64 (sqrt.f64 2) (fma.f64 a1 a1 (*.f64 a2 a2)))))))
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (fma.f64 -1/2 (*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (*.f64 th th)) (fma.f64 1/24 (*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (pow.f64 th 4)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))))
(fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (fma.f64 (/.f64 a2 (sqrt.f64 2)) a2 (*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (+.f64 (*.f64 1/24 (pow.f64 th 4)) (*.f64 -1/2 (*.f64 th th))))))
(+.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 a1 (/.f64 (sqrt.f64 2) a1)) (fma.f64 -1/2 (/.f64 (*.f64 th th) (/.f64 (sqrt.f64 2) (fma.f64 a1 a1 (*.f64 a2 a2)))) (*.f64 1/24 (/.f64 (pow.f64 th 4) (/.f64 (sqrt.f64 2) (fma.f64 a1 a1 (*.f64 a2 a2))))))) (fma.f64 -1/720 (/.f64 (pow.f64 th 6) (/.f64 (sqrt.f64 2) (fma.f64 a1 a1 (*.f64 a2 a2)))) (/.f64 a2 (/.f64 (sqrt.f64 2) a2))))
(+.f64 (fma.f64 -1/2 (*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (*.f64 th th)) (fma.f64 1/24 (*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (pow.f64 th 4)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))) (fma.f64 -1/720 (*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (pow.f64 th 6)) (/.f64 (*.f64 a2 a2) (sqrt.f64 2))))
(fma.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (*.f64 -1/720 (pow.f64 th 6)) (fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (fma.f64 (/.f64 a2 (sqrt.f64 2)) a2 (*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (+.f64 (*.f64 1/24 (pow.f64 th 4)) (*.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 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (fma.f64 a1 a1 (*.f64 a2 a2))))
(*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (fma.f64 a1 a1 (*.f64 a2 a2))))
(*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (fma.f64 a1 a1 (*.f64 a2 a2))))
(*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (fma.f64 a1 a1 (*.f64 a2 a2))))
(*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (fma.f64 a1 a1 (*.f64 a2 a2))))
(*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (fma.f64 a1 a1 (*.f64 a2 a2))))
(*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (fma.f64 a1 a1 (*.f64 a2 a2))))
(*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (fma.f64 a1 a1 (*.f64 a2 a2))))
(*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.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 a2 (/.f64 (sqrt.f64 2) a2)) (cos.f64 th))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 a2 (/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (fma.f64 a1 a1 (*.f64 a2 a2))))
(*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (fma.f64 a1 a1 (*.f64 a2 a2))))
(*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (fma.f64 a1 a1 (*.f64 a2 a2))))
(*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1)))
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (fma.f64 a1 a1 (*.f64 a2 a2))))
(*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (fma.f64 a1 a1 (*.f64 a2 a2))))
(*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (fma.f64 a1 a1 (*.f64 a2 a2))))
(*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1)))
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (fma.f64 a1 a1 (*.f64 a2 a2))))
(*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (fma.f64 a1 a1 (*.f64 a2 a2))))
(*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (fma.f64 a1 a1 (*.f64 a2 a2))))
(*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1)))
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (fma.f64 a1 a1 (*.f64 a2 a2))))
(*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (fma.f64 a1 a1 (*.f64 a2 a2))))
(*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (fma.f64 a1 a1 (*.f64 a2 a2))))
(*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.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 a2 (/.f64 (sqrt.f64 2) a2)) (cos.f64 th))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 a2 (/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (fma.f64 a1 a1 (*.f64 a2 a2))))
(*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (fma.f64 a1 a1 (*.f64 a2 a2))))
(*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (fma.f64 a1 a1 (*.f64 a2 a2))))
(*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.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 a2 (/.f64 (sqrt.f64 2) a2)) (cos.f64 th))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 a2 (/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (fma.f64 a1 a1 (*.f64 a2 a2))))
(*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (fma.f64 a1 a1 (*.f64 a2 a2))))
(*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (fma.f64 a1 a1 (*.f64 a2 a2))))
(*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))

prune79.0ms (1.1%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New80787
Fresh101
Picked101
Done000
Total82789
Error
0b
Counts
89 → 7
Alt Table
StatusErrorProgram
0.8b
(pow.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (pow.f64 (hypot.f64 a1 a2) 2))) 1)
29.7b
(*.f64 a2 (/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)))
0.7b
(*.f64 (cos.f64 th) (*.f64 (hypot.f64 a1 a2) (*.f64 (hypot.f64 a1 a2) (pow.f64 2 -1/2))))
0.8b
(*.f64 (cos.f64 th) (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (pow.f64 2 -1/2)))
0.8b
(/.f64 (/.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (cos.f64 th)) (pow.f64 2 1/4)) (pow.f64 2 1/4))
0.7b
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
0.7b
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
Compiler

Compiled 1701 to 1128 computations (33.7% saved)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(hypot.f64 a1 a2)
0.3b
(*.f64 (hypot.f64 a1 a2) (*.f64 (hypot.f64 a1 a2) (pow.f64 2 -1/2)))
0.4b
(*.f64 (cos.f64 th) (*.f64 (hypot.f64 a1 a2) (*.f64 (hypot.f64 a1 a2) (pow.f64 2 -1/2))))
0.4b
(*.f64 (hypot.f64 a1 a2) (pow.f64 2 -1/2))

series34.0ms (0.5%)

Counts
4 → 108
Calls

27 calls:

TimeVariablePointExpression
7.0ms
a2
@0
(*.f64 (cos.f64 th) (*.f64 (hypot.f64 a1 a2) (*.f64 (hypot.f64 a1 a2) (pow.f64 2 -1/2))))
5.0ms
a1
@0
(*.f64 (cos.f64 th) (*.f64 (hypot.f64 a1 a2) (*.f64 (hypot.f64 a1 a2) (pow.f64 2 -1/2))))
2.0ms
th
@inf
(*.f64 (cos.f64 th) (*.f64 (hypot.f64 a1 a2) (*.f64 (hypot.f64 a1 a2) (pow.f64 2 -1/2))))
2.0ms
a1
@-inf
(hypot.f64 a1 a2)
2.0ms
a2
@0
(*.f64 (hypot.f64 a1 a2) (*.f64 (hypot.f64 a1 a2) (pow.f64 2 -1/2)))

rewrite48.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
577×log-prod_binary64
213×expm1-udef_binary64
213×log1p-udef_binary64
194×pow3_binary64
181×log-pow_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01251
124742
2285042
Stop Event
node limit
Counts
4 → 76
Calls
Call 1
Inputs
(*.f64 (hypot.f64 a1 a2) (pow.f64 2 -1/2))
(*.f64 (cos.f64 th) (*.f64 (hypot.f64 a1 a2) (*.f64 (hypot.f64 a1 a2) (pow.f64 2 -1/2))))
(*.f64 (hypot.f64 a1 a2) (*.f64 (hypot.f64 a1 a2) (pow.f64 2 -1/2)))
(hypot.f64 a1 a2)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (hypot.f64 a1 a2) (sqrt.f64 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 1/2)) (hypot.f64 a1 a2))) (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 1/2)) (hypot.f64 a1 a2))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 1/2)) (hypot.f64 a1 a2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 1/2)) (hypot.f64 a1 a2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 1/2)) (hypot.f64 a1 a2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (hypot.f64 a1 a2) (sqrt.f64 1/2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (hypot.f64 a1 a2) (sqrt.f64 1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (hypot.f64 a1 a2) (sqrt.f64 1/2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (hypot.f64 a1 a2) (sqrt.f64 1/2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (hypot.f64 a1 a2) (sqrt.f64 1/2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sqrt.f64 1/2)) (hypot.f64 a1 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (hypot.f64 a1 a2) (sqrt.f64 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (hypot.f64 a1 a2) (sqrt.f64 1/2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 3) (*.f64 (sqrt.f64 1/2) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (*.f64 (sqrt.f64 1/2) 1/2) (pow.f64 (hypot.f64 a1 a2) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (hypot.f64 a1 a2) (sqrt.f64 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (hypot.f64 a1 a2) (sqrt.f64 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (hypot.f64 a1 a2) (sqrt.f64 1/2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (hypot.f64 a1 a2) (sqrt.f64 1/2))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (pow.f64 (hypot.f64 a1 a2) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 th)) (*.f64 (sqrt.f64 1/2) (pow.f64 (hypot.f64 a1 a2) 2)))) (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 th)) (*.f64 (sqrt.f64 1/2) (pow.f64 (hypot.f64 a1 a2) 2)))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 th)) (*.f64 (sqrt.f64 1/2) (pow.f64 (hypot.f64 a1 a2) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 th)) (*.f64 (sqrt.f64 1/2) (pow.f64 (hypot.f64 a1 a2) 2))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 th)) (*.f64 (sqrt.f64 1/2) (pow.f64 (hypot.f64 a1 a2) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (pow.f64 (hypot.f64 a1 a2) 2))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (pow.f64 (hypot.f64 a1 a2) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (pow.f64 (hypot.f64 a1 a2) 2))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (pow.f64 (hypot.f64 a1 a2) 2)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 (hypot.f64 a1 a2) (pow.f64 2 -1/4)) (sqrt.f64 (cos.f64 th))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (pow.f64 (hypot.f64 a1 a2) 2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (cos.f64 th)) (*.f64 (sqrt.f64 1/2) (pow.f64 (hypot.f64 a1 a2) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (pow.f64 (hypot.f64 a1 a2) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (pow.f64 (hypot.f64 a1 a2) 2))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (cos.f64 th) 3) (pow.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 (hypot.f64 a1 a2) 2)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 (hypot.f64 a1 a2) 2)) 3) (pow.f64 (cos.f64 th) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (pow.f64 (hypot.f64 a1 a2) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (pow.f64 (hypot.f64 a1 a2) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (pow.f64 (hypot.f64 a1 a2) 2)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (pow.f64 (hypot.f64 a1 a2) 2)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 1/2) (pow.f64 (hypot.f64 a1 a2) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 a1 a2) 2)) (sqrt.f64 1/2))) (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 a1 a2) 2)) (sqrt.f64 1/2))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 a1 a2) 2)) (sqrt.f64 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 a1 a2) 2)) (sqrt.f64 1/2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 a1 a2) 2)) (sqrt.f64 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 (hypot.f64 a1 a2) 2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 (hypot.f64 a1 a2) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 (hypot.f64 a1 a2) 2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 (hypot.f64 a1 a2) 2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (hypot.f64 a1 a2) (pow.f64 2 -1/4)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (sqrt.f64 1/2) (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)) (sqrt.f64 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 (hypot.f64 a1 a2) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 (hypot.f64 a1 a2) 2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 3) (pow.f64 (*.f64 (hypot.f64 a1 a2) (sqrt.f64 1/2)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (*.f64 (hypot.f64 a1 a2) (sqrt.f64 1/2)) 3) (pow.f64 (hypot.f64 a1 a2) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 (hypot.f64 a1 a2) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 (hypot.f64 a1 a2) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 (hypot.f64 a1 a2) 2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 (hypot.f64 a1 a2) 2))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (hypot.f64 a1 a2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (hypot.f64 a1 a2))) (cbrt.f64 (exp.f64 (hypot.f64 a1 a2))))) (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 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) 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 (sqrt.f64 (hypot.f64 a1 a2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (hypot.f64 a1 a2) 2))))) (#(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 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 expm1.f64 (log1p.f64 (hypot.f64 a1 a2)))))))

simplify87.0ms (1.2%)

Algorithm
egg-herbie
Rules
953×times-frac_binary64
431×fma-def_binary64
204×*-commutative_binary64
198×associate-+r+_binary64
196×+-commutative_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
03124071
110273684
237053684
Stop Event
node limit
Counts
184 → 188
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 1/2) a2)
(+.f64 (*.f64 (sqrt.f64 1/2) a2) (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)) a2)))
(+.f64 (*.f64 (sqrt.f64 1/2) a2) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)) a2)) (*.f64 -1/8 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 4)) (pow.f64 a2 3)))))
(+.f64 (*.f64 (sqrt.f64 1/2) a2) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)) a2)) (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 4)) (pow.f64 a2 3))) (*.f64 1/16 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 6)) (pow.f64 a2 5))))))
(*.f64 (sqrt.f64 1/2) a1)
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) a1)) (*.f64 (sqrt.f64 1/2) a1))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) a1)) (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 4)) (pow.f64 a1 3))) (*.f64 (sqrt.f64 1/2) a1)))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) a1)) (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 4)) (pow.f64 a1 3))) (+.f64 (*.f64 (sqrt.f64 1/2) a1) (*.f64 1/16 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 6)) (pow.f64 a1 5))))))
(*.f64 -1 (*.f64 (sqrt.f64 1/2) a1))
(+.f64 (*.f64 -1 (*.f64 (sqrt.f64 1/2) a1)) (*.f64 -1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) a1)))
(+.f64 (*.f64 -1 (*.f64 (sqrt.f64 1/2) a1)) (+.f64 (*.f64 1/8 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 4)) (pow.f64 a1 3))) (*.f64 -1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) a1))))
(+.f64 (*.f64 -1 (*.f64 (sqrt.f64 1/2) a1)) (+.f64 (*.f64 1/8 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 4)) (pow.f64 a1 3))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) a1)) (*.f64 -1/16 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 6)) (pow.f64 a1 5))))))
(*.f64 (sqrt.f64 1/2) a1)
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) a1)) (*.f64 (sqrt.f64 1/2) a1))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) a1)) (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 4)) (pow.f64 a1 3))) (*.f64 (sqrt.f64 1/2) a1)))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) a1)) (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 4)) (pow.f64 a1 3))) (+.f64 (*.f64 (sqrt.f64 1/2) a1) (*.f64 1/16 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 6)) (pow.f64 a1 5))))))
(*.f64 (sqrt.f64 1/2) a2)
(+.f64 (*.f64 (sqrt.f64 1/2) a2) (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)) a2)))
(+.f64 (*.f64 (sqrt.f64 1/2) a2) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)) a2)) (*.f64 -1/8 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 4)) (pow.f64 a2 3)))))
(+.f64 (*.f64 (sqrt.f64 1/2) a2) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)) a2)) (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 4)) (pow.f64 a2 3))) (*.f64 1/16 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 6)) (pow.f64 a2 5))))))
(*.f64 -1 (*.f64 (sqrt.f64 1/2) a2))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)) a2)) (*.f64 -1 (*.f64 (sqrt.f64 1/2) a2)))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)) a2)) (+.f64 (*.f64 1/8 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 4)) (pow.f64 a2 3))) (*.f64 -1 (*.f64 (sqrt.f64 1/2) a2))))
(+.f64 (*.f64 -1/16 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 6)) (pow.f64 a2 5))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)) a2)) (+.f64 (*.f64 1/8 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 4)) (pow.f64 a2 3))) (*.f64 -1 (*.f64 (sqrt.f64 1/2) a2)))))
(*.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 (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) (*.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 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2))))
(+.f64 (*.f64 (sqrt.f64 1/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)))) (pow.f64 a1 8))) (+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 12) (+.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/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/256 (/.f64 1 (pow.f64 a2 10))) (*.f64 -1 (+.f64 (pow.f64 (/.f64 1/16 (pow.f64 a2 5)) 2) (+.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 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 (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 (/.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4)))) (pow.f64 a1 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2))))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4)))) (pow.f64 a1 2)) (+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/8 (pow.f64 a2 6)) (*.f64 -1/8 (pow.f64 a2 6)))) (pow.f64 a1 4)) (*.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 (/.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4)))) (pow.f64 a1 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2))))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4)))) (pow.f64 a1 2)) (+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/8 (pow.f64 a2 6)) (*.f64 -1/8 (pow.f64 a2 6)))) (pow.f64 a1 4)) (*.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 (*.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) (pow.f64 a2 8))) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2))))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 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 (+.f64 (pow.f64 (/.f64 1/16 (pow.f64 a1 5)) 2) (+.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 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 1/256 (/.f64 1 (pow.f64 a1 10)))))) (pow.f64 a2 12))) (+.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) (pow.f64 a2 8))) (*.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 (/.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4)))) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2))))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4)))) (pow.f64 a2 2)) (+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)) (/.f64 (*.f64 (+.f64 (*.f64 -1/8 (pow.f64 a1 6)) (*.f64 1/8 (pow.f64 a1 6))) (sqrt.f64 1/2)) (pow.f64 a2 4)))))
(*.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 (/.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4)))) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2))))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4)))) (pow.f64 a2 2)) (+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)) (/.f64 (*.f64 (+.f64 (*.f64 -1/8 (pow.f64 a1 6)) (*.f64 1/8 (pow.f64 a1 6))) (sqrt.f64 1/2)) (pow.f64 a2 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))))
Outputs
(*.f64 (sqrt.f64 1/2) a2)
(+.f64 (*.f64 (sqrt.f64 1/2) a2) (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)) a2)))
(fma.f64 (sqrt.f64 1/2) a2 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) (/.f64 a2 (*.f64 a1 a1)))))
(fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 1/2) a2) (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) a2))
(+.f64 (*.f64 (sqrt.f64 1/2) a2) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)) a2)) (*.f64 -1/8 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 4)) (pow.f64 a2 3)))))
(fma.f64 (sqrt.f64 1/2) a2 (fma.f64 1/2 (/.f64 (sqrt.f64 1/2) (/.f64 a2 (*.f64 a1 a1))) (*.f64 -1/8 (/.f64 (sqrt.f64 1/2) (/.f64 (pow.f64 a2 3) (pow.f64 a1 4))))))
(fma.f64 (sqrt.f64 1/2) a2 (fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 1/2) a2) (*.f64 a1 a1)) (*.f64 -1/8 (*.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 a2 3)) (pow.f64 a1 4)))))
(+.f64 (*.f64 (sqrt.f64 1/2) a2) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)) a2)) (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 4)) (pow.f64 a2 3))) (*.f64 1/16 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 6)) (pow.f64 a2 5))))))
(fma.f64 (sqrt.f64 1/2) a2 (fma.f64 1/2 (/.f64 (sqrt.f64 1/2) (/.f64 a2 (*.f64 a1 a1))) (fma.f64 -1/8 (/.f64 (sqrt.f64 1/2) (/.f64 (pow.f64 a2 3) (pow.f64 a1 4))) (/.f64 (*.f64 1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 6))) (pow.f64 a2 5)))))
(fma.f64 (sqrt.f64 1/2) a2 (fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 1/2) a2) (*.f64 a1 a1)) (fma.f64 -1/8 (*.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 a2 3)) (pow.f64 a1 4)) (*.f64 1/16 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 6)) (pow.f64 a2 5))))))
(*.f64 (sqrt.f64 1/2) a1)
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) a1)) (*.f64 (sqrt.f64 1/2) a1))
(fma.f64 1/2 (/.f64 (sqrt.f64 1/2) (/.f64 a1 (*.f64 a2 a2))) (*.f64 (sqrt.f64 1/2) a1))
(fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 1/2) a1) (*.f64 a2 a2)) (*.f64 (sqrt.f64 1/2) a1))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) a1)) (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 4)) (pow.f64 a1 3))) (*.f64 (sqrt.f64 1/2) a1)))
(fma.f64 1/2 (/.f64 (sqrt.f64 1/2) (/.f64 a1 (*.f64 a2 a2))) (fma.f64 -1/8 (/.f64 (sqrt.f64 1/2) (/.f64 (pow.f64 a1 3) (pow.f64 a2 4))) (*.f64 (sqrt.f64 1/2) a1)))
(fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 1/2) a1) (*.f64 a2 a2)) (fma.f64 (sqrt.f64 1/2) a1 (/.f64 (*.f64 (sqrt.f64 1/2) -1/8) (/.f64 (pow.f64 a1 3) (pow.f64 a2 4)))))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) a1)) (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 4)) (pow.f64 a1 3))) (+.f64 (*.f64 (sqrt.f64 1/2) a1) (*.f64 1/16 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 6)) (pow.f64 a1 5))))))
(fma.f64 1/2 (/.f64 (sqrt.f64 1/2) (/.f64 a1 (*.f64 a2 a2))) (fma.f64 -1/8 (/.f64 (sqrt.f64 1/2) (/.f64 (pow.f64 a1 3) (pow.f64 a2 4))) (fma.f64 (sqrt.f64 1/2) a1 (*.f64 1/16 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 6)) (pow.f64 a1 5))))))
(fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 1/2) a1) (*.f64 a2 a2)) (fma.f64 -1/8 (*.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 a1 3)) (pow.f64 a2 4)) (fma.f64 (sqrt.f64 1/2) a1 (*.f64 1/16 (*.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 a1 5)) (pow.f64 a2 6))))))
(*.f64 -1 (*.f64 (sqrt.f64 1/2) a1))
(neg.f64 (*.f64 (sqrt.f64 1/2) a1))
(+.f64 (*.f64 -1 (*.f64 (sqrt.f64 1/2) a1)) (*.f64 -1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) a1)))
(fma.f64 -1 (*.f64 (sqrt.f64 1/2) a1) (*.f64 (/.f64 (sqrt.f64 1/2) (/.f64 a1 (*.f64 a2 a2))) -1/2))
(-.f64 (/.f64 (*.f64 (*.f64 (sqrt.f64 1/2) -1/2) (*.f64 a2 a2)) a1) (*.f64 (sqrt.f64 1/2) a1))
(+.f64 (*.f64 -1 (*.f64 (sqrt.f64 1/2) a1)) (+.f64 (*.f64 1/8 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 4)) (pow.f64 a1 3))) (*.f64 -1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) a1))))
(fma.f64 -1 (*.f64 (sqrt.f64 1/2) a1) (fma.f64 1/8 (/.f64 (sqrt.f64 1/2) (/.f64 (pow.f64 a1 3) (pow.f64 a2 4))) (*.f64 (/.f64 (sqrt.f64 1/2) (/.f64 a1 (*.f64 a2 a2))) -1/2)))
(-.f64 (fma.f64 (*.f64 (/.f64 (sqrt.f64 1/2) a1) (*.f64 a2 a2)) -1/2 (/.f64 1/8 (/.f64 (pow.f64 a1 3) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 4))))) (*.f64 (sqrt.f64 1/2) a1))
(+.f64 (*.f64 -1 (*.f64 (sqrt.f64 1/2) a1)) (+.f64 (*.f64 1/8 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 4)) (pow.f64 a1 3))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) a1)) (*.f64 -1/16 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 6)) (pow.f64 a1 5))))))
(fma.f64 -1 (*.f64 (sqrt.f64 1/2) a1) (fma.f64 1/8 (/.f64 (sqrt.f64 1/2) (/.f64 (pow.f64 a1 3) (pow.f64 a2 4))) (fma.f64 -1/2 (/.f64 (sqrt.f64 1/2) (/.f64 a1 (*.f64 a2 a2))) (*.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 6)) (pow.f64 a1 5)) -1/16))))
(-.f64 (fma.f64 (*.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 a1 3)) (pow.f64 a2 4)) 1/8 (fma.f64 (*.f64 (/.f64 (sqrt.f64 1/2) a1) (*.f64 a2 a2)) -1/2 (/.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 6)) -1/16) (pow.f64 a1 5)))) (*.f64 (sqrt.f64 1/2) a1))
(*.f64 (sqrt.f64 1/2) a1)
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) a1)) (*.f64 (sqrt.f64 1/2) a1))
(fma.f64 1/2 (/.f64 (sqrt.f64 1/2) (/.f64 a1 (*.f64 a2 a2))) (*.f64 (sqrt.f64 1/2) a1))
(fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 1/2) a1) (*.f64 a2 a2)) (*.f64 (sqrt.f64 1/2) a1))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) a1)) (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 4)) (pow.f64 a1 3))) (*.f64 (sqrt.f64 1/2) a1)))
(fma.f64 1/2 (/.f64 (sqrt.f64 1/2) (/.f64 a1 (*.f64 a2 a2))) (fma.f64 -1/8 (/.f64 (sqrt.f64 1/2) (/.f64 (pow.f64 a1 3) (pow.f64 a2 4))) (*.f64 (sqrt.f64 1/2) a1)))
(fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 1/2) a1) (*.f64 a2 a2)) (fma.f64 (sqrt.f64 1/2) a1 (/.f64 (*.f64 (sqrt.f64 1/2) -1/8) (/.f64 (pow.f64 a1 3) (pow.f64 a2 4)))))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) a1)) (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 4)) (pow.f64 a1 3))) (+.f64 (*.f64 (sqrt.f64 1/2) a1) (*.f64 1/16 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 6)) (pow.f64 a1 5))))))
(fma.f64 1/2 (/.f64 (sqrt.f64 1/2) (/.f64 a1 (*.f64 a2 a2))) (fma.f64 -1/8 (/.f64 (sqrt.f64 1/2) (/.f64 (pow.f64 a1 3) (pow.f64 a2 4))) (fma.f64 (sqrt.f64 1/2) a1 (*.f64 1/16 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 6)) (pow.f64 a1 5))))))
(fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 1/2) a1) (*.f64 a2 a2)) (fma.f64 -1/8 (*.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 a1 3)) (pow.f64 a2 4)) (fma.f64 (sqrt.f64 1/2) a1 (*.f64 1/16 (*.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 a1 5)) (pow.f64 a2 6))))))
(*.f64 (sqrt.f64 1/2) a2)
(+.f64 (*.f64 (sqrt.f64 1/2) a2) (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)) a2)))
(fma.f64 (sqrt.f64 1/2) a2 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) (/.f64 a2 (*.f64 a1 a1)))))
(fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 1/2) a2) (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) a2))
(+.f64 (*.f64 (sqrt.f64 1/2) a2) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)) a2)) (*.f64 -1/8 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 4)) (pow.f64 a2 3)))))
(fma.f64 (sqrt.f64 1/2) a2 (fma.f64 1/2 (/.f64 (sqrt.f64 1/2) (/.f64 a2 (*.f64 a1 a1))) (*.f64 -1/8 (/.f64 (sqrt.f64 1/2) (/.f64 (pow.f64 a2 3) (pow.f64 a1 4))))))
(fma.f64 (sqrt.f64 1/2) a2 (fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 1/2) a2) (*.f64 a1 a1)) (*.f64 -1/8 (*.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 a2 3)) (pow.f64 a1 4)))))
(+.f64 (*.f64 (sqrt.f64 1/2) a2) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)) a2)) (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 4)) (pow.f64 a2 3))) (*.f64 1/16 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 6)) (pow.f64 a2 5))))))
(fma.f64 (sqrt.f64 1/2) a2 (fma.f64 1/2 (/.f64 (sqrt.f64 1/2) (/.f64 a2 (*.f64 a1 a1))) (fma.f64 -1/8 (/.f64 (sqrt.f64 1/2) (/.f64 (pow.f64 a2 3) (pow.f64 a1 4))) (/.f64 (*.f64 1/16 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 6))) (pow.f64 a2 5)))))
(fma.f64 (sqrt.f64 1/2) a2 (fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 1/2) a2) (*.f64 a1 a1)) (fma.f64 -1/8 (*.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 a2 3)) (pow.f64 a1 4)) (*.f64 1/16 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 6)) (pow.f64 a2 5))))))
(*.f64 -1 (*.f64 (sqrt.f64 1/2) a2))
(neg.f64 (*.f64 (sqrt.f64 1/2) a2))
(*.f64 (sqrt.f64 1/2) (neg.f64 a2))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)) a2)) (*.f64 -1 (*.f64 (sqrt.f64 1/2) a2)))
(fma.f64 -1/2 (/.f64 (sqrt.f64 1/2) (/.f64 a2 (*.f64 a1 a1))) (neg.f64 (*.f64 (sqrt.f64 1/2) a2)))
(fma.f64 (*.f64 (/.f64 (sqrt.f64 1/2) a2) (*.f64 a1 a1)) -1/2 (*.f64 (sqrt.f64 1/2) (neg.f64 a2)))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)) a2)) (+.f64 (*.f64 1/8 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 4)) (pow.f64 a2 3))) (*.f64 -1 (*.f64 (sqrt.f64 1/2) a2))))
(fma.f64 -1/2 (/.f64 (sqrt.f64 1/2) (/.f64 a2 (*.f64 a1 a1))) (fma.f64 1/8 (/.f64 (sqrt.f64 1/2) (/.f64 (pow.f64 a2 3) (pow.f64 a1 4))) (neg.f64 (*.f64 (sqrt.f64 1/2) a2))))
(-.f64 (fma.f64 (*.f64 (/.f64 (sqrt.f64 1/2) a2) (*.f64 a1 a1)) -1/2 (*.f64 (*.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 a2 3)) (pow.f64 a1 4)) 1/8)) (*.f64 (sqrt.f64 1/2) a2))
(+.f64 (*.f64 -1/16 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 6)) (pow.f64 a2 5))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)) a2)) (+.f64 (*.f64 1/8 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 4)) (pow.f64 a2 3))) (*.f64 -1 (*.f64 (sqrt.f64 1/2) a2)))))
(fma.f64 -1/16 (/.f64 (sqrt.f64 1/2) (/.f64 (pow.f64 a2 5) (pow.f64 a1 6))) (fma.f64 -1/2 (/.f64 (sqrt.f64 1/2) (/.f64 a2 (*.f64 a1 a1))) (fma.f64 1/8 (/.f64 (sqrt.f64 1/2) (/.f64 (pow.f64 a2 3) (pow.f64 a1 4))) (neg.f64 (*.f64 (sqrt.f64 1/2) a2)))))
(fma.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 6)) (pow.f64 a2 5)) -1/16 (-.f64 (fma.f64 (*.f64 (/.f64 (sqrt.f64 1/2) a2) (*.f64 a1 a1)) -1/2 (*.f64 (*.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 a2 3)) (pow.f64 a1 4)) 1/8)) (*.f64 (sqrt.f64 1/2) a2)))
(*.f64 (sqrt.f64 1/2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)))
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)))
(*.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 a1 a1) (*.f64 a2 a2)) (*.f64 th th))) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a1 a1) (*.f64 a2 a2))))
(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 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 a1 a1) (*.f64 a2 a2)) (pow.f64 th 4))) (fma.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (*.f64 th th))) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)))))
(fma.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (pow.f64 th 4))) (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 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 a1 a1) (*.f64 a2 a2)) (pow.f64 th 4))) (fma.f64 -1/720 (*.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a1 a1) (*.f64 a2 a2))) (pow.f64 th 6)) (fma.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (*.f64 th th))) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a1 a1) (*.f64 a2 a2))))))
(fma.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (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 (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 (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 a1 a1) (*.f64 a2 a2)) (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 a1 a1) (*.f64 a2 a2)) (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 a1 a1) (*.f64 a2 a2)) (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 a1 a1) (*.f64 a2 a2)) (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 a1 a1) (*.f64 a2 a2)) (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 a1 a1) (*.f64 a2 a2)) (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 a1 a1) (*.f64 a2 a2)) (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 a1 a1) (*.f64 a2 a2)) (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 (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 a1 a1) (*.f64 a2 a2)) (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 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a1 8))) (*.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 (-.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 (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 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a1 8))) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (*.f64 (*.f64 (pow.f64 a1 12) (fma.f64 1/2 (/.f64 (-.f64 (/.f64 1/64 (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)))) (*.f64 a2 a2))) (*.f64 a2 a2)) (fma.f64 -1 (fma.f64 1/2 (/.f64 (-.f64 (/.f64 1/64 (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)))) (*.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)))))) (cos.f64 th))))))
(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 (/.f64 1/64 (pow.f64 a2 8)) (*.f64 (/.f64 -1/2 a2) (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) a2))) (*.f64 a2 a2)) (-.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 (/.f64 1/64 (pow.f64 a2 8)) (*.f64 (/.f64 -1/2 a2) (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) a2))) (*.f64 a2 a2)) (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 (/.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 (cos.f64 th) (pow.f64 a1 8))))))
(*.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 a1 a1) (*.f64 a2 a2)) (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 (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 4) 0)) (cos.f64 th)) (*.f64 a1 a1)))
(fma.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)) (*.f64 (/.f64 (sqrt.f64 1/2) a1) (/.f64 (*.f64 (cos.f64 th) 0) a1)))
(+.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 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (*.f64 (*.f64 a2 a2) (cos.f64 th)))) (/.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 4) 0)) (cos.f64 th)) (*.f64 a1 a1))) (/.f64 (sqrt.f64 1/2) (/.f64 (pow.f64 a1 4) (*.f64 (cos.f64 th) (*.f64 (pow.f64 a2 6) 0)))))
(+.f64 (fma.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)) (*.f64 (/.f64 (sqrt.f64 1/2) a1) (/.f64 (*.f64 (cos.f64 th) 0) a1))) (*.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 a1 4)) (*.f64 (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 a1 a1) (*.f64 a2 a2)) (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 (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 4) 0)) (cos.f64 th)) (*.f64 a1 a1)))
(fma.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)) (*.f64 (/.f64 (sqrt.f64 1/2) a1) (/.f64 (*.f64 (cos.f64 th) 0) a1)))
(+.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 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (*.f64 (*.f64 a2 a2) (cos.f64 th)))) (/.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 4) 0)) (cos.f64 th)) (*.f64 a1 a1))) (/.f64 (sqrt.f64 1/2) (/.f64 (pow.f64 a1 4) (*.f64 (cos.f64 th) (*.f64 (pow.f64 a2 6) 0)))))
(+.f64 (fma.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)) (*.f64 (/.f64 (sqrt.f64 1/2) a1) (/.f64 (*.f64 (cos.f64 th) 0) a1))) (*.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 a1 4)) (*.f64 (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 a1 a1) (*.f64 a2 a2)) (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 (sqrt.f64 1/2) (*.f64 (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) (*.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 (*.f64 -1/2 (+.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 (*.f64 -1/2 (+.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 (sqrt.f64 1/2) (*.f64 (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 (sqrt.f64 1/2) (*.f64 (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)) (-.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 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)) (pow.f64 (/.f64 1/16 (pow.f64 a1 5)) 2))))) (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)))))
(*.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 (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 a1 a1) (*.f64 a2 a2)) (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)))))
(fma.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a1 a1) (cos.f64 th)) (+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th))) (/.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 4) 0)) (cos.f64 th)) (*.f64 a2 a2))))
(+.f64 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) (/.f64 (*.f64 (sqrt.f64 1/2) 0) (/.f64 (*.f64 a2 a2) (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)))))
(fma.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a1 a1) (cos.f64 th)) (+.f64 (/.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 4) 0)) (cos.f64 th)) (*.f64 a2 a2)) (fma.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th)) (/.f64 (sqrt.f64 1/2) (/.f64 (pow.f64 a2 4) (*.f64 (cos.f64 th) (*.f64 (pow.f64 a1 6) 0)))))))
(+.f64 (+.f64 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) (/.f64 (*.f64 (sqrt.f64 1/2) 0) (/.f64 (*.f64 a2 a2) (cos.f64 th)))) (*.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 a2 4)) (*.f64 (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 (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 a1 a1) (*.f64 a2 a2)) (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)))))
(fma.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a1 a1) (cos.f64 th)) (+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th))) (/.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 4) 0)) (cos.f64 th)) (*.f64 a2 a2))))
(+.f64 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) (/.f64 (*.f64 (sqrt.f64 1/2) 0) (/.f64 (*.f64 a2 a2) (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)))))
(fma.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a1 a1) (cos.f64 th)) (+.f64 (/.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 4) 0)) (cos.f64 th)) (*.f64 a2 a2)) (fma.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th)) (/.f64 (sqrt.f64 1/2) (/.f64 (pow.f64 a2 4) (*.f64 (cos.f64 th) (*.f64 (pow.f64 a1 6) 0)))))))
(+.f64 (+.f64 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) (/.f64 (*.f64 (sqrt.f64 1/2) 0) (/.f64 (*.f64 a2 a2) (cos.f64 th)))) (*.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 a2 4)) (*.f64 (cos.f64 th) 0)))
(*.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 a1 a1) (*.f64 a2 a2)))
(*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1)))
(+.f64 (*.f64 (sqrt.f64 1/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)))) (pow.f64 a1 8))) (+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2))))
(fma.f64 (sqrt.f64 1/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))) (pow.f64 a1 8)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a1 a1) (*.f64 a2 a2))))
(*.f64 (sqrt.f64 1/2) (+.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.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))))
(+.f64 (*.f64 (sqrt.f64 1/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)))) (pow.f64 a1 8))) (+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 12) (+.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/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/256 (/.f64 1 (pow.f64 a2 10))) (*.f64 -1 (+.f64 (pow.f64 (/.f64 1/16 (pow.f64 a2 5)) 2) (+.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 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))))))))))))))
(fma.f64 (sqrt.f64 1/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))) (pow.f64 a1 8)) (fma.f64 (sqrt.f64 1/2) (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a1 a1) (*.f64 (pow.f64 a1 12) (fma.f64 1/2 (/.f64 (-.f64 (/.f64 1/64 (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)))) (*.f64 a2 a2))) (*.f64 a2 a2)) (+.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))) (neg.f64 (+.f64 (pow.f64 (/.f64 1/16 (pow.f64 a2 5)) 2) (fma.f64 1/2 (/.f64 (-.f64 (/.f64 1/64 (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)))) (*.f64 a2 a2))) (*.f64 a2 a2)) (*.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 (sqrt.f64 1/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)))) (pow.f64 a1 8)) (*.f64 (sqrt.f64 1/2) (+.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (pow.f64 a1 12) (fma.f64 1/2 (/.f64 (-.f64 (/.f64 1/64 (pow.f64 a2 8)) (*.f64 (/.f64 -1/2 a2) (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) a2))) (*.f64 a2 a2)) (-.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 (/.f64 1/64 (pow.f64 a2 8)) (*.f64 (/.f64 -1/2 a2) (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) a2))) (*.f64 a2 a2)) (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) (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 a1 a1) (*.f64 a2 a2)))
(*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1)))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4)))) (pow.f64 a1 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2))))
(fma.f64 (sqrt.f64 1/2) (*.f64 a2 a2) (+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 1/2) (/.f64 (*.f64 a1 a1) (*.f64 (pow.f64 a2 4) 0)))))
(+.f64 (*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))) (/.f64 (sqrt.f64 1/2) (/.f64 (*.f64 a1 a1) 0)))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4)))) (pow.f64 a1 2)) (+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/8 (pow.f64 a2 6)) (*.f64 -1/8 (pow.f64 a2 6)))) (pow.f64 a1 4)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)))))
(fma.f64 (sqrt.f64 1/2) (*.f64 a2 a2) (+.f64 (/.f64 (sqrt.f64 1/2) (/.f64 (*.f64 a1 a1) (*.f64 (pow.f64 a2 4) 0))) (+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 1/2) (/.f64 (pow.f64 a1 4) (*.f64 (pow.f64 a2 6) 0))))))
(+.f64 (+.f64 (/.f64 (sqrt.f64 1/2) (/.f64 (*.f64 a1 a1) 0)) (/.f64 (*.f64 (sqrt.f64 1/2) 0) (pow.f64 a1 4))) (*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))))
(*.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 a1 a1) (*.f64 a2 a2)))
(*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1)))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4)))) (pow.f64 a1 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2))))
(fma.f64 (sqrt.f64 1/2) (*.f64 a2 a2) (+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 1/2) (/.f64 (*.f64 a1 a1) (*.f64 (pow.f64 a2 4) 0)))))
(+.f64 (*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))) (/.f64 (sqrt.f64 1/2) (/.f64 (*.f64 a1 a1) 0)))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4)))) (pow.f64 a1 2)) (+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/8 (pow.f64 a2 6)) (*.f64 -1/8 (pow.f64 a2 6)))) (pow.f64 a1 4)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)))))
(fma.f64 (sqrt.f64 1/2) (*.f64 a2 a2) (+.f64 (/.f64 (sqrt.f64 1/2) (/.f64 (*.f64 a1 a1) (*.f64 (pow.f64 a2 4) 0))) (+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 1/2) (/.f64 (pow.f64 a1 4) (*.f64 (pow.f64 a2 6) 0))))))
(+.f64 (+.f64 (/.f64 (sqrt.f64 1/2) (/.f64 (*.f64 a1 a1) 0)) (/.f64 (*.f64 (sqrt.f64 1/2) 0) (pow.f64 a1 4))) (*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))))
(*.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 a1 a1) (*.f64 a2 a2)))
(*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1)))
(+.f64 (*.f64 (sqrt.f64 1/2) (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)))) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 8))) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2))))
(fma.f64 (sqrt.f64 1/2) (*.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))) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 8)) (*.f64 (sqrt.f64 1/2) (*.f64 a1 a1))))
(+.f64 (*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))) (*.f64 (pow.f64 a2 8) (*.f64 (sqrt.f64 1/2) (-.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 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 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 (+.f64 (pow.f64 (/.f64 1/16 (pow.f64 a1 5)) 2) (+.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 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 1/256 (/.f64 1 (pow.f64 a1 10)))))) (pow.f64 a2 12))) (+.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) (pow.f64 a2 8))) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)))))
(fma.f64 (sqrt.f64 1/2) (*.f64 a2 a2) (fma.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 12) (fma.f64 1/2 (/.f64 (-.f64 (/.f64 1/64 (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))) (*.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)) (fma.f64 -1 (+.f64 (pow.f64 (/.f64 1/16 (pow.f64 a1 5)) 2) (fma.f64 1/2 (/.f64 (-.f64 (/.f64 1/64 (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))) (*.f64 a1 a1))) (*.f64 a1 a1)) (/.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)))) (/.f64 1/256 (pow.f64 a1 10)))))) (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 (sqrt.f64 1/2) (pow.f64 a2 8)) (*.f64 (sqrt.f64 1/2) (*.f64 a1 a1)))))
(+.f64 (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)) (-.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 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)) (pow.f64 (/.f64 1/16 (pow.f64 a1 5)) 2))))) (pow.f64 a2 12)) (*.f64 (pow.f64 a2 8) (*.f64 (sqrt.f64 1/2) (-.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) (fma.f64 a2 a2 (*.f64 a1 a1))))
(*.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 a1 a1) (*.f64 a2 a2)))
(*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1)))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4)))) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2))))
(fma.f64 (sqrt.f64 1/2) (*.f64 a2 a2) (+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 a1 a1)) (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 4) 0)) (*.f64 a2 a2))))
(+.f64 (*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))) (*.f64 (/.f64 (sqrt.f64 1/2) (*.f64 a2 a2)) 0))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4)))) (pow.f64 a2 2)) (+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)) (/.f64 (*.f64 (+.f64 (*.f64 -1/8 (pow.f64 a1 6)) (*.f64 1/8 (pow.f64 a1 6))) (sqrt.f64 1/2)) (pow.f64 a2 4)))))
(fma.f64 (sqrt.f64 1/2) (*.f64 a2 a2) (+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 4) 0)) (*.f64 a2 a2)) (fma.f64 (sqrt.f64 1/2) (*.f64 a1 a1) (/.f64 (*.f64 (pow.f64 a1 6) 0) (/.f64 (pow.f64 a2 4) (sqrt.f64 1/2))))))
(+.f64 (+.f64 (*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))) (*.f64 (/.f64 (sqrt.f64 1/2) (*.f64 a2 a2)) 0)) (*.f64 (/.f64 0 (pow.f64 a2 4)) (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 (sqrt.f64 1/2) (pow.f64 a1 2)))
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)))
(*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1)))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4)))) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2))))
(fma.f64 (sqrt.f64 1/2) (*.f64 a2 a2) (+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 a1 a1)) (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 4) 0)) (*.f64 a2 a2))))
(+.f64 (*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))) (*.f64 (/.f64 (sqrt.f64 1/2) (*.f64 a2 a2)) 0))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4)))) (pow.f64 a2 2)) (+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)) (/.f64 (*.f64 (+.f64 (*.f64 -1/8 (pow.f64 a1 6)) (*.f64 1/8 (pow.f64 a1 6))) (sqrt.f64 1/2)) (pow.f64 a2 4)))))
(fma.f64 (sqrt.f64 1/2) (*.f64 a2 a2) (+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 4) 0)) (*.f64 a2 a2)) (fma.f64 (sqrt.f64 1/2) (*.f64 a1 a1) (/.f64 (*.f64 (pow.f64 a1 6) 0) (/.f64 (pow.f64 a2 4) (sqrt.f64 1/2))))))
(+.f64 (+.f64 (*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))) (*.f64 (/.f64 (sqrt.f64 1/2) (*.f64 a2 a2)) 0)) (*.f64 (/.f64 0 (pow.f64 a2 4)) (sqrt.f64 1/2)))
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)
(+.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))
(+.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)))
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 (*.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/2 (/.f64 (*.f64 a2 a2) 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/2 (/.f64 (*.f64 a2 a2) a1) (*.f64 -1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3)))) (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 (*.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 (*.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 -1/16 (/.f64 (pow.f64 a2 6) (pow.f64 a1 5)) (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 (*.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/2 (/.f64 (*.f64 a2 a2) 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/2 (/.f64 (*.f64 a2 a2) a1) (*.f64 -1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3)))) (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)
(+.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))
(+.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)))
(*.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))
(fma.f64 -1/2 (/.f64 a1 (/.f64 a2 a1)) (neg.f64 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)))
(fma.f64 -1/2 (/.f64 a1 (/.f64 a2 a1)) (fma.f64 1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3)) (neg.f64 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)) (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))))

prune212.0ms (3%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New2400240
Fresh066
Picked011
Done000
Total2407247
Error
0b
Counts
247 → 7
Alt Table
StatusErrorProgram
0.8b
(pow.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (pow.f64 (hypot.f64 a1 a2) 2))) 1)
29.7b
(*.f64 a2 (/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)))
0.7b
(*.f64 (cos.f64 th) (*.f64 (hypot.f64 a1 a2) (*.f64 (hypot.f64 a1 a2) (pow.f64 2 -1/2))))
0.8b
(*.f64 (cos.f64 th) (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (pow.f64 2 -1/2)))
0.8b
(/.f64 (/.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (cos.f64 th)) (pow.f64 2 1/4)) (pow.f64 2 1/4))
0.7b
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
0.7b
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
Compiler

Compiled 7208 to 4707 computations (34.7% saved)

localize9.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
0.4b
(*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))
0.5b
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))

series10.0ms (0.1%)

Counts
3 → 62
Calls

24 calls:

TimeVariablePointExpression
1.0ms
th
@inf
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
1.0ms
a2
@inf
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
1.0ms
a2
@0
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
1.0ms
a2
@-inf
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
1.0ms
a1
@inf
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))

rewrite56.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
634×prod-diff_binary64
220×log1p-udef_binary64
130×add-sqr-sqrt_binary64
128×pow1_binary64
126×*-un-lft-identity_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01245
126136
2341936
Stop Event
node limit
Counts
3 → 101
Calls
Call 1
Inputs
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 (pow.f64 (hypot.f64 a2 a1) 2) (sqrt.f64 2)) (cos.f64 th)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (hypot.f64 a2 a1) 2) (/.f64 1 (/.f64 (sqrt.f64 2) (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (hypot.f64 a2 a1) 2) (*.f64 (cos.f64 th) (pow.f64 2 -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 th) (*.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) (cos.f64 th)) (pow.f64 2 -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (pow.f64 (hypot.f64 a2 a1) 2) (sqrt.f64 2)) (cos.f64 th)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (/.f64 (pow.f64 (hypot.f64 a2 a1) 2) (sqrt.f64 2)) (cos.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (/.f64 (pow.f64 (hypot.f64 a2 a1) 2) (sqrt.f64 2)) (cos.f64 th))) (cbrt.f64 (/.f64 (pow.f64 (*.f64 (pow.f64 (hypot.f64 a2 a1) 2) (cos.f64 th)) 2) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (pow.f64 (*.f64 (pow.f64 (hypot.f64 a2 a1) 2) (cos.f64 th)) 2) 2)) (cbrt.f64 (*.f64 (/.f64 (pow.f64 (hypot.f64 a2 a1) 2) (sqrt.f64 2)) (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (pow.f64 (hypot.f64 a2 a1) 2) (cos.f64 th))) 2) (*.f64 (cbrt.f64 (*.f64 (pow.f64 (hypot.f64 a2 a1) 2) (cos.f64 th))) (pow.f64 2 -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (hypot.f64 a2 a1) (sqrt.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)))) (/.f64 (hypot.f64 a2 a1) (sqrt.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (cos.f64 th)) (hypot.f64 a2 a1)) (*.f64 (*.f64 (sqrt.f64 (cos.f64 th)) (hypot.f64 a2 a1)) (pow.f64 2 -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 th) (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) (*.f64 (pow.f64 (hypot.f64 a2 a1) 2) (cos.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (hypot.f64 a2 a1) 2) 1) (/.f64 (cos.f64 th) (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cos.f64 th) 1) (/.f64 (pow.f64 (hypot.f64 a2 a1) 2) (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (hypot.f64 a2 a1) 2) (sqrt.f64 2)) (cos.f64 th))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (pow.f64 (hypot.f64 a2 a1) 2) (cos.f64 th))) 2) 1) (/.f64 (cbrt.f64 (*.f64 (pow.f64 (hypot.f64 a2 a1) 2) (cos.f64 th))) (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (sqrt.f64 (cos.f64 th)) (hypot.f64 a2 a1)) 1) (/.f64 (*.f64 (sqrt.f64 (cos.f64 th)) (hypot.f64 a2 a1)) (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (hypot.f64 a2 a1) 2) (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 (pow.f64 (hypot.f64 a2 a1) 2) (cbrt.f64 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 2)) (/.f64 (*.f64 (pow.f64 (hypot.f64 a2 a1) 2) (cos.f64 th)) (cbrt.f64 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (pow.f64 (hypot.f64 a2 a1) 2) (cos.f64 th))) 2) (cbrt.f64 2)) (cbrt.f64 (*.f64 (/.f64 (pow.f64 (hypot.f64 a2 a1) 2) (sqrt.f64 2)) (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (sqrt.f64 (cos.f64 th)) (hypot.f64 a2 a1)) (cbrt.f64 2)) (/.f64 (*.f64 (sqrt.f64 (cos.f64 th)) (hypot.f64 a2 a1)) (cbrt.f64 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (hypot.f64 a2 a1) 2) (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 (pow.f64 (hypot.f64 a2 a1) 2) (pow.f64 2 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 2 1/4)) (/.f64 (*.f64 (pow.f64 (hypot.f64 a2 a1) 2) (cos.f64 th)) (pow.f64 2 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (pow.f64 (hypot.f64 a2 a1) 2) (cos.f64 th))) 2) (pow.f64 2 1/4)) (/.f64 (cbrt.f64 (*.f64 (pow.f64 (hypot.f64 a2 a1) 2) (cos.f64 th))) (pow.f64 2 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 (pow.f64 (hypot.f64 a2 a1) 2) (sqrt.f64 2)) (cos.f64 th)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 (pow.f64 (hypot.f64 a2 a1) 2) (sqrt.f64 2)) (cos.f64 th)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 (pow.f64 (hypot.f64 a2 a1) 2) (sqrt.f64 2)) (cos.f64 th))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (hypot.f64 a2 a1) (sqrt.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 (sqrt.f64 2) (pow.f64 (hypot.f64 a2 a1) 2)) (cos.f64 th)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 (pow.f64 (hypot.f64 a2 a1) 2) (cos.f64 th)) (neg.f64 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 (pow.f64 (*.f64 (pow.f64 (hypot.f64 a2 a1) 2) (cos.f64 th)) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 (/.f64 (pow.f64 (hypot.f64 a2 a1) 2) (sqrt.f64 2)) (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (/.f64 (pow.f64 (hypot.f64 a2 a1) 2) (sqrt.f64 2)) (cos.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (/.f64 (pow.f64 (hypot.f64 a2 a1) 2) (sqrt.f64 2)) (cos.f64 th)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (*.f64 (pow.f64 (hypot.f64 a2 a1) 2) (cos.f64 th)) 3) (*.f64 2 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (/.f64 (pow.f64 (hypot.f64 a2 a1) 2) (sqrt.f64 2)) (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (/.f64 (pow.f64 (hypot.f64 a2 a1) 2) (sqrt.f64 2)) (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 (pow.f64 (hypot.f64 a2 a1) 2) (sqrt.f64 2)) (cos.f64 th))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (/.f64 (pow.f64 (hypot.f64 a2 a1) 2) (sqrt.f64 2)) (cos.f64 th))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (*.f64 (*.f64 a1 a1) (cos.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (*.f64 (*.f64 a2 a2) (cos.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2)) (*.f64 (cos.f64 th) (*.f64 a1 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (*.f64 (cos.f64 th) (*.f64 a2 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 (hypot.f64 a2 a1) 2) (cos.f64 th)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 a2 6) (pow.f64 a1 6)) (cos.f64 th)) (+.f64 (pow.f64 a2 4) (-.f64 (pow.f64 a1 4) (pow.f64 (*.f64 a2 a1) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 a2 4) (pow.f64 a1 4)) (cos.f64 th)) (-.f64 (*.f64 a2 a2) (*.f64 a1 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 th) (+.f64 (pow.f64 a2 6) (pow.f64 a1 6))) (+.f64 (pow.f64 a2 4) (-.f64 (pow.f64 a1 4) (pow.f64 (*.f64 a2 a1) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 th) (-.f64 (pow.f64 a2 4) (pow.f64 a1 4))) (-.f64 (*.f64 a2 a2) (*.f64 a1 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (hypot.f64 a2 a1) 2) (cos.f64 th)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (pow.f64 (hypot.f64 a2 a1) 2) (cos.f64 th)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (pow.f64 (hypot.f64 a2 a1) 2) (cos.f64 th))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 (cos.f64 th)) (hypot.f64 a2 a1)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (pow.f64 (hypot.f64 a2 a1) 2) (cos.f64 th)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 a2 a1) 2)) (cos.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 (hypot.f64 a2 a1) 2) (cos.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (pow.f64 (hypot.f64 a2 a1) 2) (cos.f64 th)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (pow.f64 (hypot.f64 a2 a1) 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 (pow.f64 (hypot.f64 a2 a1) 2) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (pow.f64 (hypot.f64 a2 a1) 2) (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (pow.f64 (hypot.f64 a2 a1) 2) (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 (hypot.f64 a2 a1) 2) (cos.f64 th))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (pow.f64 (hypot.f64 a2 a1) 2) (cos.f64 th))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 (hypot.f64 a2 a1) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 a2 4) (-.f64 (*.f64 a2 a2) (*.f64 a1 a1))) (/.f64 (pow.f64 a1 4) (-.f64 (*.f64 a2 a2) (*.f64 a1 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (hypot.f64 a2 a1) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (hypot.f64 a2 a1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (hypot.f64 a2 a1) 2)) (pow.f64 (cbrt.f64 (pow.f64 (hypot.f64 a2 a1) 2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (pow.f64 (hypot.f64 a2 a1) 2)) 2) (cbrt.f64 (pow.f64 (hypot.f64 a2 a1) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (hypot.f64 a2 a1) (hypot.f64 a2 a1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 a2 6) (pow.f64 a1 6)) (/.f64 1 (+.f64 (pow.f64 a2 4) (-.f64 (pow.f64 a1 4) (pow.f64 (*.f64 a2 a1) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 a2 4) (pow.f64 a1 4)) (/.f64 1 (-.f64 (*.f64 a2 a2) (*.f64 a1 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 a2 4) (-.f64 (pow.f64 a1 4) (pow.f64 (*.f64 a2 a1) 2))) (+.f64 (pow.f64 a2 6) (pow.f64 a1 6))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (-.f64 (pow.f64 a2 4) (pow.f64 a1 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 a2 6) (pow.f64 a1 6)) (+.f64 (pow.f64 a2 4) (-.f64 (pow.f64 a1 4) (pow.f64 (*.f64 a2 a1) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 a2 6) (pow.f64 a1 6)) (+.f64 (pow.f64 a1 4) (-.f64 (pow.f64 a2 4) (pow.f64 (*.f64 a2 a1) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 a2 4) (pow.f64 a1 4)) (-.f64 (*.f64 a2 a2) (*.f64 a1 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 a2 6) (pow.f64 a1 6))) (neg.f64 (+.f64 (pow.f64 a2 4) (-.f64 (pow.f64 a1 4) (pow.f64 (*.f64 a2 a1) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 a2 4) (pow.f64 a1 4))) (neg.f64 (-.f64 (*.f64 a2 a2) (*.f64 a1 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 a1 4) (pow.f64 a2 4)) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (hypot.f64 a2 a1) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (pow.f64 (hypot.f64 a2 a1) 2) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (pow.f64 (hypot.f64 a2 a1) 2)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (hypot.f64 a2 a1) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (pow.f64 (hypot.f64 a2 a1) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (hypot.f64 a2 a1) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (hypot.f64 a2 a1) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (pow.f64 (hypot.f64 a2 a1) 2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (hypot.f64 a2 a1) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (pow.f64 (hypot.f64 a2 a1) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (hypot.f64 a2 a1) 2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a2 a2 (*.f64 a1 a1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a1 a1 (*.f64 a2 a2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 a2 a2) (*.f64 a1 a1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 a1 a1) (*.f64 a2 a2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 a1 4)) (pow.f64 (cbrt.f64 a1) 2) (*.f64 a2 a2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 a2 4)) (cbrt.f64 (*.f64 a2 a2)) (*.f64 a1 a1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (hypot.f64 a2 a1) 2)))))))

simplify49.0ms (0.7%)

Algorithm
egg-herbie
Rules
690×associate-+r+_binary64
505×unswap-sqr_binary64
262×associate-/l*_binary64
247×*-commutative_binary64
237×fma-def_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0571411
11411279
24361161
316301003
445731003
Stop Event
node limit
Counts
163 → 133
Calls
Call 1
Inputs
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (*.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 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 (pow.f64 a1 2) (cos.f64 th))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(*.f64 (pow.f64 a1 2) (cos.f64 th))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(*.f64 (pow.f64 a1 2) (cos.f64 th))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (pow.f64 a2 2) (+.f64 (pow.f64 a1 2) (*.f64 -1/2 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)))))
(+.f64 (pow.f64 a2 2) (+.f64 (pow.f64 a1 2) (+.f64 (*.f64 -1/2 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2))) (*.f64 1/24 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 4))))))
(+.f64 (pow.f64 a2 2) (+.f64 (pow.f64 a1 2) (+.f64 (*.f64 -1/2 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2))) (+.f64 (*.f64 1/24 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 4))) (*.f64 -1/720 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 6)))))))
(pow.f64 a1 2)
(pow.f64 a2 2)
(pow.f64 a2 2)
(pow.f64 a2 2)
(pow.f64 a1 2)
(pow.f64 a1 2)
Outputs
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (cos.f64 th))
(*.f64 (cos.f64 th) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))
(*.f64 (cos.f64 th) (*.f64 a1 (/.f64 a1 (sqrt.f64 2))))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))))
(+.f64 (*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (cos.f64 th)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
(*.f64 (cos.f64 th) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))))
(+.f64 (*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (cos.f64 th)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
(*.f64 (cos.f64 th) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))))
(+.f64 (*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (cos.f64 th)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
(*.f64 (cos.f64 th) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2))
(*.f64 (cos.f64 th) (*.f64 (/.f64 a2 (sqrt.f64 2)) a2))
(*.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 a1 a1) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))))
(+.f64 (*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (cos.f64 th)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
(*.f64 (cos.f64 th) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))))
(+.f64 (*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (cos.f64 th)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
(*.f64 (cos.f64 th) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))))
(+.f64 (*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (cos.f64 th)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
(*.f64 (cos.f64 th) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2))
(*.f64 (cos.f64 th) (*.f64 (/.f64 a2 (sqrt.f64 2)) a2))
(*.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 a1 a1) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))))
(+.f64 (*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (cos.f64 th)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
(*.f64 (cos.f64 th) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))))
(+.f64 (*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (cos.f64 th)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
(*.f64 (cos.f64 th) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))))
(+.f64 (*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (cos.f64 th)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
(*.f64 (cos.f64 th) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2))
(*.f64 (cos.f64 th) (*.f64 (/.f64 a2 (sqrt.f64 2)) a2))
(*.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 a1 a1) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))))
(+.f64 (*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (cos.f64 th)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
(*.f64 (cos.f64 th) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))))
(+.f64 (*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (cos.f64 th)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
(*.f64 (cos.f64 th) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))))
(+.f64 (*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (cos.f64 th)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
(*.f64 (cos.f64 th) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (cos.f64 th))
(*.f64 (cos.f64 th) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))
(*.f64 (cos.f64 th) (*.f64 a1 (/.f64 a1 (sqrt.f64 2))))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))))
(+.f64 (*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (cos.f64 th)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
(*.f64 (cos.f64 th) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(+.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 a1 a1) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))))
(+.f64 (*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (cos.f64 th)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
(*.f64 (cos.f64 th) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(+.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 a1 a1) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))))
(+.f64 (*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (cos.f64 th)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
(*.f64 (cos.f64 th) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (cos.f64 th))
(*.f64 (cos.f64 th) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))
(*.f64 (cos.f64 th) (*.f64 a1 (/.f64 a1 (sqrt.f64 2))))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))))
(+.f64 (*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (cos.f64 th)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
(*.f64 (cos.f64 th) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(+.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 a1 a1) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))))
(+.f64 (*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (cos.f64 th)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
(*.f64 (cos.f64 th) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(+.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 a1 a1) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))))
(+.f64 (*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (cos.f64 th)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
(*.f64 (cos.f64 th) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(/.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (sqrt.f64 2))
(/.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (sqrt.f64 2))
(/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (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 a1 a1) (*.f64 a2 a2)) (/.f64 (sqrt.f64 2) (*.f64 th th))))))
(+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (fma.f64 -1/2 (*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (*.f64 th th)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))))
(+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (fma.f64 -1/2 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (*.f64 th th))) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))))
(+.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (fma.f64 -1/2 (*.f64 th (/.f64 (*.f64 th (fma.f64 a1 a1 (*.f64 a2 a2))) (sqrt.f64 2))) (*.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 a1 a1) (*.f64 a2 a2)) (/.f64 (sqrt.f64 2) (*.f64 th th))) (*.f64 1/24 (/.f64 (*.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (pow.f64 th 4)) (sqrt.f64 2))))))
(+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (+.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (fma.f64 1/24 (*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (pow.f64 th 4)) (/.f64 (*.f64 (*.f64 -1/2 (*.f64 th th)) (fma.f64 a1 a1 (*.f64 a2 a2))) (sqrt.f64 2)))))
(+.f64 (fma.f64 -1/2 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (*.f64 th th))) (/.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 a2 (sqrt.f64 2)) a2)))
(+.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (+.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (+.f64 (*.f64 1/24 (pow.f64 th 4)) (*.f64 -1/2 (*.f64 th th))))))
(+.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 a1 a1) (*.f64 a2 a2)) (/.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 a1 a1) (*.f64 a2 a2)) (/.f64 (sqrt.f64 2) (*.f64 th th))) (*.f64 1/24 (/.f64 (*.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (pow.f64 th 4)) (sqrt.f64 2)))))))
(+.f64 (+.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (fma.f64 1/24 (*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (pow.f64 th 4)) (/.f64 (*.f64 (*.f64 -1/2 (*.f64 th th)) (fma.f64 a1 a1 (*.f64 a2 a2))) (sqrt.f64 2)))) (fma.f64 -1/720 (*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (pow.f64 th 6)) (/.f64 a2 (/.f64 (sqrt.f64 2) a2))))
(+.f64 (fma.f64 -1/2 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (*.f64 th th))) (fma.f64 1/24 (*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (pow.f64 th 4)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))) (fma.f64 -1/720 (*.f64 (/.f64 (pow.f64 th 6) (sqrt.f64 2)) (fma.f64 a2 a2 (*.f64 a1 a1))) (*.f64 (/.f64 a2 (sqrt.f64 2)) a2)))
(+.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (+.f64 (fma.f64 -1/2 (*.f64 th (/.f64 (*.f64 th (fma.f64 a1 a1 (*.f64 a2 a2))) (sqrt.f64 2))) (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) (*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (+.f64 (*.f64 -1/720 (pow.f64 th 6)) (*.f64 1/24 (pow.f64 th 4))))))
(*.f64 (pow.f64 a1 2) (cos.f64 th))
(*.f64 (*.f64 a1 a1) (cos.f64 th))
(*.f64 a1 (*.f64 a1 (cos.f64 th)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(fma.f64 (cos.f64 th) (*.f64 a2 a2) (*.f64 (*.f64 a1 a1) (cos.f64 th)))
(*.f64 (cos.f64 th) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(fma.f64 (cos.f64 th) (*.f64 a2 a2) (*.f64 (*.f64 a1 a1) (cos.f64 th)))
(*.f64 (cos.f64 th) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(fma.f64 (cos.f64 th) (*.f64 a2 a2) (*.f64 (*.f64 a1 a1) (cos.f64 th)))
(*.f64 (cos.f64 th) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1)))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(*.f64 (cos.f64 th) (*.f64 a2 a2))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(fma.f64 (cos.f64 th) (*.f64 a2 a2) (*.f64 (*.f64 a1 a1) (cos.f64 th)))
(*.f64 (cos.f64 th) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(fma.f64 (cos.f64 th) (*.f64 a2 a2) (*.f64 (*.f64 a1 a1) (cos.f64 th)))
(*.f64 (cos.f64 th) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(fma.f64 (cos.f64 th) (*.f64 a2 a2) (*.f64 (*.f64 a1 a1) (cos.f64 th)))
(*.f64 (cos.f64 th) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1)))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(*.f64 (cos.f64 th) (*.f64 a2 a2))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(fma.f64 (cos.f64 th) (*.f64 a2 a2) (*.f64 (*.f64 a1 a1) (cos.f64 th)))
(*.f64 (cos.f64 th) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(fma.f64 (cos.f64 th) (*.f64 a2 a2) (*.f64 (*.f64 a1 a1) (cos.f64 th)))
(*.f64 (cos.f64 th) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(fma.f64 (cos.f64 th) (*.f64 a2 a2) (*.f64 (*.f64 a1 a1) (cos.f64 th)))
(*.f64 (cos.f64 th) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1)))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(*.f64 (cos.f64 th) (*.f64 a2 a2))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(fma.f64 (cos.f64 th) (*.f64 a2 a2) (*.f64 (*.f64 a1 a1) (cos.f64 th)))
(*.f64 (cos.f64 th) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(fma.f64 (cos.f64 th) (*.f64 a2 a2) (*.f64 (*.f64 a1 a1) (cos.f64 th)))
(*.f64 (cos.f64 th) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(fma.f64 (cos.f64 th) (*.f64 a2 a2) (*.f64 (*.f64 a1 a1) (cos.f64 th)))
(*.f64 (cos.f64 th) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1)))
(*.f64 (pow.f64 a1 2) (cos.f64 th))
(*.f64 (*.f64 a1 a1) (cos.f64 th))
(*.f64 a1 (*.f64 a1 (cos.f64 th)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(fma.f64 (cos.f64 th) (*.f64 a2 a2) (*.f64 (*.f64 a1 a1) (cos.f64 th)))
(*.f64 (cos.f64 th) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(fma.f64 (cos.f64 th) (*.f64 a2 a2) (*.f64 (*.f64 a1 a1) (cos.f64 th)))
(*.f64 (cos.f64 th) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(fma.f64 (cos.f64 th) (*.f64 a2 a2) (*.f64 (*.f64 a1 a1) (cos.f64 th)))
(*.f64 (cos.f64 th) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1)))
(*.f64 (pow.f64 a1 2) (cos.f64 th))
(*.f64 (*.f64 a1 a1) (cos.f64 th))
(*.f64 a1 (*.f64 a1 (cos.f64 th)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(fma.f64 (cos.f64 th) (*.f64 a2 a2) (*.f64 (*.f64 a1 a1) (cos.f64 th)))
(*.f64 (cos.f64 th) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(fma.f64 (cos.f64 th) (*.f64 a2 a2) (*.f64 (*.f64 a1 a1) (cos.f64 th)))
(*.f64 (cos.f64 th) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(fma.f64 (cos.f64 th) (*.f64 a2 a2) (*.f64 (*.f64 a1 a1) (cos.f64 th)))
(*.f64 (cos.f64 th) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1)))
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (*.f64 a1 a1) (*.f64 a2 a2))
(fma.f64 a1 a1 (*.f64 a2 a2))
(fma.f64 a2 a2 (*.f64 a1 a1))
(+.f64 (pow.f64 a2 2) (+.f64 (pow.f64 a1 2) (*.f64 -1/2 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)))))
(+.f64 (*.f64 a2 a2) (+.f64 (*.f64 a1 a1) (*.f64 -1/2 (*.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (*.f64 th th)))))
(fma.f64 a2 a2 (fma.f64 a1 a1 (*.f64 (*.f64 -1/2 (*.f64 th th)) (fma.f64 a1 a1 (*.f64 a2 a2)))))
(*.f64 (+.f64 (*.f64 th (*.f64 th -1/2)) 1) (fma.f64 a2 a2 (*.f64 a1 a1)))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (+.f64 1 (*.f64 -1/2 (*.f64 th th))))
(+.f64 (pow.f64 a2 2) (+.f64 (pow.f64 a1 2) (+.f64 (*.f64 -1/2 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2))) (*.f64 1/24 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 4))))))
(+.f64 (*.f64 a2 a2) (+.f64 (*.f64 a1 a1) (fma.f64 -1/2 (*.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (*.f64 th th)) (*.f64 1/24 (*.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (pow.f64 th 4))))))
(fma.f64 a2 a2 (fma.f64 a1 a1 (fma.f64 -1/2 (*.f64 th (*.f64 th (fma.f64 a1 a1 (*.f64 a2 a2)))) (*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (*.f64 (pow.f64 th 4) 1/24)))))
(fma.f64 a1 a1 (fma.f64 a2 a2 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (+.f64 (*.f64 th (*.f64 th -1/2)) (*.f64 1/24 (pow.f64 th 4))))))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (+.f64 (*.f64 -1/2 (*.f64 th th)) (+.f64 1 (*.f64 1/24 (pow.f64 th 4)))))
(+.f64 (pow.f64 a2 2) (+.f64 (pow.f64 a1 2) (+.f64 (*.f64 -1/2 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2))) (+.f64 (*.f64 1/24 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 4))) (*.f64 -1/720 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 6)))))))
(+.f64 (*.f64 a2 a2) (+.f64 (*.f64 a1 a1) (fma.f64 -1/2 (*.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (*.f64 th th)) (fma.f64 1/24 (*.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (pow.f64 th 4)) (*.f64 (*.f64 -1/720 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2))) (pow.f64 th 6))))))
(fma.f64 a2 a2 (fma.f64 a1 a1 (fma.f64 -1/2 (*.f64 th (*.f64 th (fma.f64 a1 a1 (*.f64 a2 a2)))) (fma.f64 (*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) 1/24) (pow.f64 th 4) (*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (*.f64 (pow.f64 th 6) -1/720))))))
(+.f64 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (+.f64 (*.f64 th (*.f64 th -1/2)) (*.f64 -1/720 (pow.f64 th 6)))) (*.f64 (+.f64 (*.f64 1/24 (pow.f64 th 4)) 1) (fma.f64 a2 a2 (*.f64 a1 a1))))
(fma.f64 a1 a1 (fma.f64 a2 a2 (*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (+.f64 (*.f64 1/24 (pow.f64 th 4)) (+.f64 (*.f64 -1/720 (pow.f64 th 6)) (*.f64 -1/2 (*.f64 th th)))))))
(pow.f64 a1 2)
(*.f64 a1 a1)
(pow.f64 a2 2)
(*.f64 a2 a2)
(pow.f64 a2 2)
(*.f64 a2 a2)
(pow.f64 a2 2)
(*.f64 a2 a2)
(pow.f64 a1 2)
(*.f64 a1 a1)
(pow.f64 a1 2)
(*.f64 a1 a1)

prune95.0ms (1.4%)

Pruning

7 alts after pruning (5 fresh and 2 done)

PrunedKeptTotal
New1312133
Fresh235
Picked011
Done011
Total1337140
Error
0b
Counts
140 → 7
Alt Table
StatusErrorProgram
0.7b
(*.f64 (cos.f64 th) (*.f64 (hypot.f64 a1 a2) (*.f64 (hypot.f64 a1 a2) (pow.f64 2 -1/2))))
0.8b
(*.f64 (cos.f64 th) (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (pow.f64 2 -1/2)))
0.7b
(/.f64 (*.f64 (pow.f64 (hypot.f64 a2 a1) 2) (cos.f64 th)) (sqrt.f64 2))
29.7b
(*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th)))
0.8b
(/.f64 (/.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (cos.f64 th)) (pow.f64 2 1/4)) (pow.f64 2 1/4))
0.7b
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
0.7b
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
Compiler

Compiled 2535 to 1582 computations (37.6% saved)

localize8.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(hypot.f64 a2 a1)
0.0b
(pow.f64 (hypot.f64 a2 a1) 2)
0.4b
(*.f64 (pow.f64 (hypot.f64 a2 a1) 2) (cos.f64 th))
0.5b
(/.f64 (*.f64 (pow.f64 (hypot.f64 a2 a1) 2) (cos.f64 th)) (sqrt.f64 2))

series18.0ms (0.3%)

Counts
4 → 120
Calls

30 calls:

TimeVariablePointExpression
2.0ms
a2
@inf
(pow.f64 (hypot.f64 a2 a1) 2)
2.0ms
a2
@0
(/.f64 (*.f64 (pow.f64 (hypot.f64 a2 a1) 2) (cos.f64 th)) (sqrt.f64 2))
1.0ms
a1
@0
(/.f64 (*.f64 (pow.f64 (hypot.f64 a2 a1) 2) (cos.f64 th)) (sqrt.f64 2))
1.0ms
th
@inf
(/.f64 (*.f64 (pow.f64 (hypot.f64 a2 a1) 2) (cos.f64 th)) (sqrt.f64 2))
1.0ms
a2
@inf
(/.f64 (*.f64 (pow.f64 (hypot.f64 a2 a1) 2) (cos.f64 th)) (sqrt.f64 2))

rewrite61.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
541×log-prod_binary64
195×expm1-udef_binary64
195×log1p-udef_binary64
171×log-pow_binary64
113×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01140
122940
2278540
Stop Event
node limit
Counts
4 → 129
Calls
Call 1
Inputs
(/.f64 (*.f64 (pow.f64 (hypot.f64 a2 a1) 2) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (pow.f64 (hypot.f64 a2 a1) 2) (cos.f64 th))
(pow.f64 (hypot.f64 a2 a1) 2)
(hypot.f64 a2 a1)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (/.f64 (pow.f64 (hypot.f64 a2 a1) 2) (sqrt.f64 2)) (cos.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (*.f64 (/.f64 (pow.f64 (hypot.f64 a2 a1) 2) (sqrt.f64 2)) (cos.f64 th)))) (cbrt.f64 (exp.f64 (*.f64 (/.f64 (pow.f64 (hypot.f64 a2 a1) 2) (sqrt.f64 2)) (cos.f64 th)))))) (log.f64 (cbrt.f64 (exp.f64 (*.f64 (/.f64 (pow.f64 (hypot.f64 a2 a1) 2) (sqrt.f64 2)) (cos.f64 th))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (*.f64 (/.f64 (pow.f64 (hypot.f64 a2 a1) 2) (sqrt.f64 2)) (cos.f64 th))))) (log.f64 (sqrt.f64 (exp.f64 (*.f64 (/.f64 (pow.f64 (hypot.f64 a2 a1) 2) (sqrt.f64 2)) (cos.f64 th))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 (pow.f64 (hypot.f64 a2 a1) 2) (sqrt.f64 2)) (cos.f64 th)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (hypot.f64 a2 a1) 2) (/.f64 1 (/.f64 (sqrt.f64 2) (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (hypot.f64 a2 a1) 2) (*.f64 (cos.f64 th) (pow.f64 2 -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 th) (*.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) (cos.f64 th)) (pow.f64 2 -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (pow.f64 (hypot.f64 a2 a1) 2) (sqrt.f64 2)) (cos.f64 th)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (/.f64 (pow.f64 (hypot.f64 a2 a1) 2) (sqrt.f64 2)) (cos.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (/.f64 (pow.f64 (hypot.f64 a2 a1) 2) (sqrt.f64 2)) (cos.f64 th))) (cbrt.f64 (/.f64 (*.f64 (pow.f64 (cos.f64 th) 2) (pow.f64 (hypot.f64 a2 a1) 4)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 (pow.f64 (cos.f64 th) 2) (pow.f64 (hypot.f64 a2 a1) 4)) 2)) (cbrt.f64 (*.f64 (/.f64 (pow.f64 (hypot.f64 a2 a1) 2) (sqrt.f64 2)) (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (pow.f64 (hypot.f64 a2 a1) 2) (cos.f64 th))) 2) (*.f64 (cbrt.f64 (*.f64 (pow.f64 (hypot.f64 a2 a1) 2) (cos.f64 th))) (pow.f64 2 -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (hypot.f64 a2 a1) (sqrt.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)))) (/.f64 (hypot.f64 a2 a1) (sqrt.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (hypot.f64 a2 a1) (sqrt.f64 (cos.f64 th))) (*.f64 (*.f64 (hypot.f64 a2 a1) (sqrt.f64 (cos.f64 th))) (pow.f64 2 -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (hypot.f64 a2 a1) 2) (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 (pow.f64 (hypot.f64 a2 a1) 2) (cos.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (hypot.f64 a2 a1) 2) 1) (/.f64 (cos.f64 th) (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cos.f64 th) 1) (/.f64 (pow.f64 (hypot.f64 a2 a1) 2) (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (hypot.f64 a2 a1) 2) (sqrt.f64 2)) (cos.f64 th))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (pow.f64 (hypot.f64 a2 a1) 2) (cos.f64 th))) 2) 1) (/.f64 (cbrt.f64 (*.f64 (pow.f64 (hypot.f64 a2 a1) 2) (cos.f64 th))) (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (hypot.f64 a2 a1) (sqrt.f64 (cos.f64 th))) 1) (/.f64 (*.f64 (hypot.f64 a2 a1) (sqrt.f64 (cos.f64 th))) (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (hypot.f64 a2 a1) 2) (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 (pow.f64 (hypot.f64 a2 a1) 2) (cbrt.f64 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 2)) (/.f64 (*.f64 (pow.f64 (hypot.f64 a2 a1) 2) (cos.f64 th)) (cbrt.f64 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (pow.f64 (hypot.f64 a2 a1) 2) (cos.f64 th))) 2) (cbrt.f64 2)) (cbrt.f64 (*.f64 (/.f64 (pow.f64 (hypot.f64 a2 a1) 2) (sqrt.f64 2)) (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (hypot.f64 a2 a1) (sqrt.f64 (cos.f64 th))) (cbrt.f64 2)) (/.f64 (*.f64 (hypot.f64 a2 a1) (sqrt.f64 (cos.f64 th))) (cbrt.f64 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (hypot.f64 a2 a1) 2) (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 (pow.f64 (hypot.f64 a2 a1) 2) (pow.f64 2 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 2 1/4)) (/.f64 (*.f64 (pow.f64 (hypot.f64 a2 a1) 2) (cos.f64 th)) (pow.f64 2 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (pow.f64 (hypot.f64 a2 a1) 2) (cos.f64 th))) 2) (pow.f64 2 1/4)) (/.f64 (cbrt.f64 (*.f64 (pow.f64 (hypot.f64 a2 a1) 2) (cos.f64 th))) (pow.f64 2 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 (pow.f64 (hypot.f64 a2 a1) 2) (sqrt.f64 2)) (cos.f64 th)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 (pow.f64 (hypot.f64 a2 a1) 2) (sqrt.f64 2)) (cos.f64 th)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 (pow.f64 (hypot.f64 a2 a1) 2) (sqrt.f64 2)) (cos.f64 th))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (hypot.f64 a2 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 (pow.f64 (hypot.f64 a2 a1) 2) (cos.f64 th))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 (pow.f64 (hypot.f64 a2 a1) 2) (cos.f64 th)) (neg.f64 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 (*.f64 (pow.f64 (cos.f64 th) 2) (pow.f64 (hypot.f64 a2 a1) 4)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 (/.f64 (pow.f64 (hypot.f64 a2 a1) 2) (sqrt.f64 2)) (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (/.f64 (pow.f64 (hypot.f64 a2 a1) 2) (sqrt.f64 2)) (cos.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (/.f64 (pow.f64 (hypot.f64 a2 a1) 2) (sqrt.f64 2)) (cos.f64 th)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (*.f64 (pow.f64 (hypot.f64 a2 a1) 2) (cos.f64 th)) 3) (*.f64 2 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (/.f64 (pow.f64 (hypot.f64 a2 a1) 2) (sqrt.f64 2)) (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (/.f64 (pow.f64 (hypot.f64 a2 a1) 2) (sqrt.f64 2)) (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 (pow.f64 (hypot.f64 a2 a1) 2) (sqrt.f64 2)) (cos.f64 th))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (/.f64 (pow.f64 (hypot.f64 a2 a1) 2) (sqrt.f64 2)) (cos.f64 th))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (pow.f64 (hypot.f64 a2 a1) 2) (cos.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 th)) (pow.f64 (hypot.f64 a2 a1) 2))) (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 th)) (pow.f64 (hypot.f64 a2 a1) 2))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 th)) (pow.f64 (hypot.f64 a2 a1) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 th)) (pow.f64 (hypot.f64 a2 a1) 2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 th)) (pow.f64 (hypot.f64 a2 a1) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 (hypot.f64 a2 a1) 2) (cos.f64 th)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (hypot.f64 a2 a1) 2) (cos.f64 th)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (pow.f64 (hypot.f64 a2 a1) 2) (cos.f64 th)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (pow.f64 (hypot.f64 a2 a1) 2) (cos.f64 th))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (hypot.f64 a2 a1) (sqrt.f64 (cos.f64 th))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (pow.f64 (cos.f64 th) 2) (pow.f64 (hypot.f64 a2 a1) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (cos.f64 th)) (pow.f64 (hypot.f64 a2 a1) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 (hypot.f64 a2 a1) 2) (cos.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (pow.f64 (hypot.f64 a2 a1) 2) (cos.f64 th)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (pow.f64 (hypot.f64 a2 a1) 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 (pow.f64 (hypot.f64 a2 a1) 2) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (pow.f64 (hypot.f64 a2 a1) 2) (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (pow.f64 (hypot.f64 a2 a1) 2) (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 (hypot.f64 a2 a1) 2) (cos.f64 th))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (pow.f64 (hypot.f64 a2 a1) 2) (cos.f64 th))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 a2 a2) (*.f64 a1 a1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 a1 a1) (*.f64 a2 a2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (hypot.f64 a2 a1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (pow.f64 (hypot.f64 a2 a1) 2))) (cbrt.f64 (exp.f64 (pow.f64 (hypot.f64 a2 a1) 2))))) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (hypot.f64 a2 a1) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (hypot.f64 a2 a1) 2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (hypot.f64 a2 a1) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 (hypot.f64 a2 a1) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (hypot.f64 a2 a1) (hypot.f64 a2 a1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (hypot.f64 a2 a1) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (hypot.f64 a2 a1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (hypot.f64 a2 a1)) 2) (cbrt.f64 (pow.f64 (hypot.f64 a2 a1) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (hypot.f64 a2 a1)) 2) (*.f64 (cbrt.f64 (hypot.f64 a2 a1)) (hypot.f64 a2 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (hypot.f64 a2 a1) 4)) (pow.f64 (cbrt.f64 (hypot.f64 a2 a1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (hypot.f64 a2 a1)) (*.f64 (sqrt.f64 (hypot.f64 a2 a1)) (hypot.f64 a2 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (hypot.f64 a2 a1) (sqrt.f64 (hypot.f64 a2 a1))) (sqrt.f64 (hypot.f64 a2 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (hypot.f64 a2 a1) (pow.f64 (cbrt.f64 (hypot.f64 a2 a1)) 2)) (cbrt.f64 (hypot.f64 a2 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 a2 a2) 3) (pow.f64 (*.f64 a1 a1) 3)) (fma.f64 (*.f64 a2 a2) (*.f64 a2 a2) (fma.f64 (*.f64 a1 a1) (*.f64 a1 a1) (neg.f64 (*.f64 (*.f64 a2 a2) (*.f64 a1 a1))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 a2 a2) (*.f64 a2 a2)) (*.f64 (*.f64 a1 a1) (*.f64 a1 a1))) (-.f64 (*.f64 a2 a2) (*.f64 a1 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (hypot.f64 a2 a1) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (hypot.f64 a2 a1) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (hypot.f64 a2 a1) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 a2 a2)) (exp.f64 (*.f64 a1 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 a1 a1)) (exp.f64 (*.f64 a2 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (pow.f64 (hypot.f64 a2 a1) 2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (hypot.f64 a2 a1) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 2 (log.f64 (hypot.f64 a2 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (hypot.f64 a2 a1))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a2 a2 (*.f64 a1 a1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a1 a1 (*.f64 a2 a2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 a2 a2) (*.f64 a1 a1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 a1 a1) (*.f64 a2 a2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 a2 a2)) (*.f64 (cbrt.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 (sqrt.f64 a2) (*.f64 (sqrt.f64 a2) a2) (*.f64 a1 a1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 a1) (*.f64 (sqrt.f64 a1) a1) (*.f64 a2 a2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a1 (sqrt.f64 a1)) (sqrt.f64 a1) (*.f64 a2 a2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (*.f64 a2 a2)) (cbrt.f64 (*.f64 a2 a2))) (cbrt.f64 (*.f64 a2 a2)) (*.f64 a1 a1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a2 (sqrt.f64 a2)) (sqrt.f64 a2) (*.f64 a1 a1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (pow.f64 (cbrt.f64 a1) 2) (pow.f64 (cbrt.f64 a1) 2)) (pow.f64 (cbrt.f64 a1) 2) (*.f64 a2 a2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a2 (cbrt.f64 (*.f64 a2 a2))) (cbrt.f64 a2) (*.f64 a1 a1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a1 (pow.f64 (cbrt.f64 a1) 2)) (cbrt.f64 a1) (*.f64 a2 a2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (hypot.f64 a2 a1) 2)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (hypot.f64 a2 a1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (hypot.f64 a2 a1))) (cbrt.f64 (exp.f64 (hypot.f64 a2 a1))))) (log.f64 (cbrt.f64 (exp.f64 (hypot.f64 a2 a1)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (hypot.f64 a2 a1)))) (log.f64 (sqrt.f64 (exp.f64 (hypot.f64 a2 a1)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (hypot.f64 a2 a1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (hypot.f64 a2 a1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (hypot.f64 a2 a1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (hypot.f64 a2 a1)) 2) (cbrt.f64 (hypot.f64 a2 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (hypot.f64 a2 a1)) (pow.f64 (cbrt.f64 (hypot.f64 a2 a1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (hypot.f64 a2 a1)) (sqrt.f64 (hypot.f64 a2 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (hypot.f64 a2 a1) 4))) (sqrt.f64 (pow.f64 (cbrt.f64 (hypot.f64 a2 a1)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (hypot.f64 a2 a1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (hypot.f64 a2 a1) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (hypot.f64 a2 a1) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (hypot.f64 a2 a1)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (hypot.f64 a2 a1)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (hypot.f64 a2 a1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (hypot.f64 a2 a1))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (hypot.f64 a2 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (hypot.f64 a2 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (hypot.f64 a2 a1) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (hypot.f64 a2 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (hypot.f64 a2 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (hypot.f64 a2 a1)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (hypot.f64 a2 a1)))))))

simplify94.0ms (1.3%)

Algorithm
egg-herbie
Rules
824×times-frac_binary64
362×fma-def_binary64
239×associate-+r+_binary64
209×+-commutative_binary64
205×associate-+l+_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03144186
19803808
233963584
Stop Event
node limit
Counts
249 → 232
Calls
Call 1
Inputs
(/.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) (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 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 (pow.f64 a1 2) (cos.f64 th))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(+.f64 (*.f64 (cos.f64 th) (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)))) (*.f64 (pow.f64 a2 8) (cos.f64 th))) (*.f64 (pow.f64 a1 2) (cos.f64 th))))
(+.f64 (*.f64 (cos.f64 th) (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)))) (*.f64 (pow.f64 a2 8) (cos.f64 th))) (+.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (*.f64 (pow.f64 a2 12) (*.f64 (cos.f64 th) (+.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 (+.f64 (pow.f64 (/.f64 1/16 (pow.f64 a1 5)) 2) (+.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 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 1/256 (/.f64 1 (pow.f64 a1 10)))))))))))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (+.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (/.f64 (*.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 (cos.f64 th) (pow.f64 a2 2)) (+.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (+.f64 (/.f64 (*.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 (+.f64 (*.f64 -1/8 (pow.f64 a1 6)) (*.f64 1/8 (pow.f64 a1 6))) (cos.f64 th)) (pow.f64 a2 4)))))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (+.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (/.f64 (*.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 (cos.f64 th) (pow.f64 a2 2)) (+.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (+.f64 (/.f64 (*.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 (+.f64 (*.f64 -1/8 (pow.f64 a1 6)) (*.f64 1/8 (pow.f64 a1 6))) (cos.f64 th)) (pow.f64 a2 4)))))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(+.f64 (*.f64 (cos.f64 th) (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) (cos.f64 th))) (*.f64 (pow.f64 a1 2) (cos.f64 th))))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (+.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/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/256 (/.f64 1 (pow.f64 a2 10))) (*.f64 -1 (+.f64 (pow.f64 (/.f64 1/16 (pow.f64 a2 5)) 2) (+.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 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))))))))) (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 (pow.f64 a1 8) (cos.f64 th))) (*.f64 (pow.f64 a1 2) (cos.f64 th)))))
(*.f64 (pow.f64 a1 2) (cos.f64 th))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (cos.f64 th)) (pow.f64 a1 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th))))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (+.f64 (/.f64 (*.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 (pow.f64 a1 2) (cos.f64 th)) (/.f64 (*.f64 (+.f64 (*.f64 1/8 (pow.f64 a2 6)) (*.f64 -1/8 (pow.f64 a2 6))) (cos.f64 th)) (pow.f64 a1 4)))))
(*.f64 (pow.f64 a1 2) (cos.f64 th))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (cos.f64 th)) (pow.f64 a1 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th))))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (+.f64 (/.f64 (*.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 (pow.f64 a1 2) (cos.f64 th)) (/.f64 (*.f64 (+.f64 (*.f64 1/8 (pow.f64 a2 6)) (*.f64 -1/8 (pow.f64 a2 6))) (cos.f64 th)) (pow.f64 a1 4)))))
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (pow.f64 a2 2) (+.f64 (pow.f64 a1 2) (*.f64 -1/2 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)))))
(+.f64 (pow.f64 a2 2) (+.f64 (pow.f64 a1 2) (+.f64 (*.f64 -1/2 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2))) (*.f64 1/24 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 4))))))
(+.f64 (pow.f64 a2 2) (+.f64 (pow.f64 a1 2) (+.f64 (*.f64 -1/2 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2))) (+.f64 (*.f64 1/24 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 4))) (*.f64 -1/720 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 6)))))))
(*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))
(*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))
(*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))
(*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))
(*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))
(*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))
(*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))
(*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))
(pow.f64 a1 2)
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (pow.f64 a2 2) (+.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))))))))
(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))))))))
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))))
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)))))
Outputs
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))) (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)))
(+.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 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) (+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (/.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 (sqrt.f64 2) (*.f64 a1 a1))) (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (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 (*.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 (/.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 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))) (+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (/.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 (-.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 (sqrt.f64 2) (*.f64 a1 a1))) (+.f64 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)) (/.f64 (fma.f64 1/2 (-.f64 (/.f64 (/.f64 1/64 (pow.f64 a1 8)) (*.f64 a1 a1)) (/.f64 (*.f64 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) -1/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 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) -1/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 (/.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 (sqrt.f64 2) (*.f64 a1 a1))) (+.f64 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)) (/.f64 (fma.f64 1/2 (+.f64 (/.f64 (/.f64 1/64 (pow.f64 a1 8)) (*.f64 a1 a1)) (/.f64 (*.f64 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) 1/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 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) 1/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 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
(+.f64 (/.f64 (*.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 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))) (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)))
(+.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 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))) (*.f64 (/.f64 (*.f64 (pow.f64 a1 4) 0) (sqrt.f64 2)) (/.f64 (cos.f64 th) (*.f64 a2 a2))))
(+.f64 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)) (fma.f64 (/.f64 0 (sqrt.f64 2)) (/.f64 (cos.f64 th) (*.f64 a2 a2)) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1)))))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))) (+.f64 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)) 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 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))) (*.f64 (/.f64 (*.f64 (pow.f64 a1 4) 0) (sqrt.f64 2)) (/.f64 (cos.f64 th) (*.f64 a2 a2))))
(+.f64 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)) (fma.f64 (/.f64 0 (sqrt.f64 2)) (/.f64 (cos.f64 th) (*.f64 a2 a2)) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1)))))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))) (+.f64 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)) 0))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
(+.f64 (/.f64 (*.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 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))) (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)))
(+.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 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))) (*.f64 (/.f64 (*.f64 (pow.f64 a1 4) 0) (sqrt.f64 2)) (/.f64 (cos.f64 th) (*.f64 a2 a2))))
(+.f64 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)) (fma.f64 (/.f64 0 (sqrt.f64 2)) (/.f64 (cos.f64 th) (*.f64 a2 a2)) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1)))))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))) (+.f64 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)) 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 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))) (*.f64 (/.f64 (*.f64 (pow.f64 a1 4) 0) (sqrt.f64 2)) (/.f64 (cos.f64 th) (*.f64 a2 a2))))
(+.f64 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)) (fma.f64 (/.f64 0 (sqrt.f64 2)) (/.f64 (cos.f64 th) (*.f64 a2 a2)) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1)))))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))) (+.f64 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)) 0))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
(+.f64 (/.f64 (*.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 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))) (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)))
(+.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 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (+.f64 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) (/.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 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))) (+.f64 (*.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)))) (sqrt.f64 2)) (*.f64 (cos.f64 th) (pow.f64 a1 8))) (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))) (+.f64 (*.f64 (/.f64 (+.f64 (-.f64 (/.f64 -1/16 (pow.f64 a2 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2)) (/.f64 5/64 (pow.f64 a2 6))) (sqrt.f64 2)) (*.f64 (cos.f64 th) (pow.f64 a1 8))) (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))))
(+.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 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (+.f64 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) (+.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 (*.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)))))))))))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))) (+.f64 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)) (+.f64 (*.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)))) (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 -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 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))) (+.f64 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)) (+.f64 (*.f64 (/.f64 (+.f64 (-.f64 (/.f64 -1/16 (pow.f64 a2 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2)) (/.f64 5/64 (pow.f64 a2 6))) (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 -1/2 (-.f64 (/.f64 -1/16 (pow.f64 a2 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 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 -1/2 (-.f64 (/.f64 -1/16 (pow.f64 a2 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 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 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1)))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))) (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)))
(+.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 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))) (*.f64 (/.f64 (*.f64 (pow.f64 a1 4) 0) (sqrt.f64 2)) (/.f64 (cos.f64 th) (*.f64 a2 a2))))
(+.f64 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)) (fma.f64 (/.f64 0 (sqrt.f64 2)) (/.f64 (cos.f64 th) (*.f64 a2 a2)) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1)))))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))) (+.f64 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)) 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 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))) (*.f64 (/.f64 (*.f64 (pow.f64 a1 4) 0) (sqrt.f64 2)) (/.f64 (cos.f64 th) (*.f64 a2 a2))))
(+.f64 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)) (fma.f64 (/.f64 0 (sqrt.f64 2)) (/.f64 (cos.f64 th) (*.f64 a2 a2)) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1)))))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))) (+.f64 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)) 0))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1)))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))) (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)))
(+.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 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))) (*.f64 (/.f64 (*.f64 (pow.f64 a1 4) 0) (sqrt.f64 2)) (/.f64 (cos.f64 th) (*.f64 a2 a2))))
(+.f64 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)) (fma.f64 (/.f64 0 (sqrt.f64 2)) (/.f64 (cos.f64 th) (*.f64 a2 a2)) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1)))))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))) (+.f64 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)) 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 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))) (*.f64 (/.f64 (*.f64 (pow.f64 a1 4) 0) (sqrt.f64 2)) (/.f64 (cos.f64 th) (*.f64 a2 a2))))
(+.f64 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)) (fma.f64 (/.f64 0 (sqrt.f64 2)) (/.f64 (cos.f64 th) (*.f64 a2 a2)) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1)))))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))) (+.f64 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)) 0))
(/.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (sqrt.f64 2))
(/.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (sqrt.f64 2))
(/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (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 a1 a1) (*.f64 a2 a2)) (/.f64 (sqrt.f64 2) (*.f64 th th))))))
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (fma.f64 -1/2 (*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (*.f64 th th)) (/.f64 (*.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 (*.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 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) (fma.f64 -1/2 (/.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (/.f64 (sqrt.f64 2) (*.f64 th th))) (*.f64 1/24 (/.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (/.f64 (sqrt.f64 2) (pow.f64 th 4))))))
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (fma.f64 -1/2 (*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (*.f64 th th)) (/.f64 (*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) 1/24) (/.f64 (sqrt.f64 2) (pow.f64 th 4))))))
(+.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 a1 a1) (*.f64 a2 a2)) (/.f64 (sqrt.f64 2) (pow.f64 th 6))) (+.f64 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) (fma.f64 -1/2 (/.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (/.f64 (sqrt.f64 2) (*.f64 th th))) (*.f64 1/24 (/.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (/.f64 (sqrt.f64 2) (pow.f64 th 4)))))))
(+.f64 (+.f64 (fma.f64 -1/720 (*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (pow.f64 th 6)) (/.f64 (*.f64 a2 a2) (sqrt.f64 2))) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) (fma.f64 -1/2 (*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (*.f64 th th)) (/.f64 (*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) 1/24) (/.f64 (sqrt.f64 2) (pow.f64 th 4)))))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (cos.f64 th))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (cos.f64 th))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (cos.f64 th))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (cos.f64 th))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (cos.f64 th))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (cos.f64 th))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (cos.f64 th))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (pow.f64 a1 2) (cos.f64 th))
(*.f64 (*.f64 a1 a1) (cos.f64 th))
(*.f64 a1 (*.f64 a1 (cos.f64 th)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(fma.f64 (cos.f64 th) (*.f64 a2 a2) (*.f64 (*.f64 a1 a1) (cos.f64 th)))
(*.f64 (cos.f64 th) (fma.f64 a1 a1 (*.f64 a2 a2)))
(+.f64 (*.f64 (cos.f64 th) (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)))) (*.f64 (pow.f64 a2 8) (cos.f64 th))) (*.f64 (pow.f64 a1 2) (cos.f64 th))))
(fma.f64 (cos.f64 th) (*.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))) (*.f64 (cos.f64 th) (pow.f64 a2 8)) (*.f64 (*.f64 a1 a1) (cos.f64 th))))
(fma.f64 (cos.f64 th) (*.f64 a2 a2) (*.f64 (cos.f64 th) (fma.f64 a1 a1 (*.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))) (pow.f64 a2 8)))))
(+.f64 (*.f64 (cos.f64 th) (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)))) (*.f64 (pow.f64 a2 8) (cos.f64 th))) (+.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (*.f64 (pow.f64 a2 12) (*.f64 (cos.f64 th) (+.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 (+.f64 (pow.f64 (/.f64 1/16 (pow.f64 a1 5)) 2) (+.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 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 1/256 (/.f64 1 (pow.f64 a1 10)))))))))))
(fma.f64 (cos.f64 th) (*.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))) (*.f64 (cos.f64 th) (pow.f64 a2 8)) (fma.f64 (*.f64 a1 a1) (cos.f64 th) (*.f64 (*.f64 (cos.f64 th) (pow.f64 a2 12)) (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)) (fma.f64 -1 (+.f64 (pow.f64 (/.f64 1/16 (pow.f64 a1 5)) 2) (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 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 (fma.f64 (cos.f64 th) (*.f64 a2 a2) (*.f64 (cos.f64 th) (fma.f64 a1 a1 (*.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))) (pow.f64 a2 8))))) (*.f64 (fma.f64 1/2 (-.f64 (/.f64 (/.f64 1/64 (pow.f64 a1 8)) (*.f64 a1 a1)) (/.f64 (*.f64 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) -1/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 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) -1/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))))
(+.f64 (fma.f64 (cos.f64 th) (*.f64 a2 a2) (*.f64 (cos.f64 th) (fma.f64 a1 a1 (*.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))) (pow.f64 a2 8))))) (*.f64 (fma.f64 1/2 (+.f64 (/.f64 (/.f64 1/64 (pow.f64 a1 8)) (*.f64 a1 a1)) (/.f64 (*.f64 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) 1/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 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) 1/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))))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(*.f64 (cos.f64 th) (*.f64 a2 a2))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(fma.f64 (cos.f64 th) (*.f64 a2 a2) (*.f64 (*.f64 a1 a1) (cos.f64 th)))
(*.f64 (cos.f64 th) (fma.f64 a1 a1 (*.f64 a2 a2)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (+.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (/.f64 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4))) (cos.f64 th)) (pow.f64 a2 2))))
(fma.f64 (cos.f64 th) (*.f64 a2 a2) (fma.f64 (*.f64 a1 a1) (cos.f64 th) (/.f64 (*.f64 (pow.f64 a1 4) 0) (/.f64 (*.f64 a2 a2) (cos.f64 th)))))
(+.f64 (*.f64 (/.f64 (cos.f64 th) a2) (/.f64 0 a2)) (*.f64 (cos.f64 th) (fma.f64 a1 a1 (*.f64 a2 a2))))
(+.f64 (*.f64 (cos.f64 th) (fma.f64 a1 a1 (*.f64 a2 a2))) 0)
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (+.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (+.f64 (/.f64 (*.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 (+.f64 (*.f64 -1/8 (pow.f64 a1 6)) (*.f64 1/8 (pow.f64 a1 6))) (cos.f64 th)) (pow.f64 a2 4)))))
(fma.f64 (cos.f64 th) (*.f64 a2 a2) (fma.f64 (*.f64 a1 a1) (cos.f64 th) (/.f64 (*.f64 (pow.f64 a1 4) 0) (/.f64 (*.f64 a2 a2) (cos.f64 th)))))
(+.f64 (*.f64 (/.f64 (cos.f64 th) a2) (/.f64 0 a2)) (*.f64 (cos.f64 th) (fma.f64 a1 a1 (*.f64 a2 a2))))
(+.f64 (*.f64 (cos.f64 th) (fma.f64 a1 a1 (*.f64 a2 a2))) 0)
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(*.f64 (cos.f64 th) (*.f64 a2 a2))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(fma.f64 (cos.f64 th) (*.f64 a2 a2) (*.f64 (*.f64 a1 a1) (cos.f64 th)))
(*.f64 (cos.f64 th) (fma.f64 a1 a1 (*.f64 a2 a2)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (+.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (/.f64 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4))) (cos.f64 th)) (pow.f64 a2 2))))
(fma.f64 (cos.f64 th) (*.f64 a2 a2) (fma.f64 (*.f64 a1 a1) (cos.f64 th) (/.f64 (*.f64 (pow.f64 a1 4) 0) (/.f64 (*.f64 a2 a2) (cos.f64 th)))))
(+.f64 (*.f64 (/.f64 (cos.f64 th) a2) (/.f64 0 a2)) (*.f64 (cos.f64 th) (fma.f64 a1 a1 (*.f64 a2 a2))))
(+.f64 (*.f64 (cos.f64 th) (fma.f64 a1 a1 (*.f64 a2 a2))) 0)
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (+.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (+.f64 (/.f64 (*.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 (+.f64 (*.f64 -1/8 (pow.f64 a1 6)) (*.f64 1/8 (pow.f64 a1 6))) (cos.f64 th)) (pow.f64 a2 4)))))
(fma.f64 (cos.f64 th) (*.f64 a2 a2) (fma.f64 (*.f64 a1 a1) (cos.f64 th) (/.f64 (*.f64 (pow.f64 a1 4) 0) (/.f64 (*.f64 a2 a2) (cos.f64 th)))))
(+.f64 (*.f64 (/.f64 (cos.f64 th) a2) (/.f64 0 a2)) (*.f64 (cos.f64 th) (fma.f64 a1 a1 (*.f64 a2 a2))))
(+.f64 (*.f64 (cos.f64 th) (fma.f64 a1 a1 (*.f64 a2 a2))) 0)
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(*.f64 (cos.f64 th) (*.f64 a2 a2))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(fma.f64 (cos.f64 th) (*.f64 a2 a2) (*.f64 (*.f64 a1 a1) (cos.f64 th)))
(*.f64 (cos.f64 th) (fma.f64 a1 a1 (*.f64 a2 a2)))
(+.f64 (*.f64 (cos.f64 th) (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) (cos.f64 th))) (*.f64 (pow.f64 a1 2) (cos.f64 th))))
(fma.f64 (cos.f64 th) (*.f64 a2 a2) (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 (cos.f64 th) (pow.f64 a1 8)) (*.f64 (*.f64 a1 a1) (cos.f64 th))))
(+.f64 (*.f64 a1 (*.f64 a1 (cos.f64 th))) (*.f64 (cos.f64 th) (fma.f64 (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 a2 a2))))
(+.f64 (*.f64 a1 (*.f64 a1 (cos.f64 th))) (*.f64 (cos.f64 th) (fma.f64 (pow.f64 a1 8) (+.f64 (-.f64 (/.f64 -1/16 (pow.f64 a2 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2)) (/.f64 5/64 (pow.f64 a2 6))) (*.f64 a2 a2))))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (+.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/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/256 (/.f64 1 (pow.f64 a2 10))) (*.f64 -1 (+.f64 (pow.f64 (/.f64 1/16 (pow.f64 a2 5)) 2) (+.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 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))))))))) (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 (pow.f64 a1 8) (cos.f64 th))) (*.f64 (pow.f64 a1 2) (cos.f64 th)))))
(fma.f64 (cos.f64 th) (*.f64 a2 a2) (fma.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)) (+.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))) (neg.f64 (+.f64 (pow.f64 (/.f64 1/16 (pow.f64 a2 5)) 2) (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 (*.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 (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 (cos.f64 th) (pow.f64 a1 8)) (*.f64 (*.f64 a1 a1) (cos.f64 th)))))
(+.f64 (*.f64 (cos.f64 th) (+.f64 (*.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 (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 (cos.f64 th) (fma.f64 a1 a1 (*.f64 a2 a2))))
(+.f64 (*.f64 (cos.f64 th) (+.f64 (*.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 (/.f64 -1/16 (pow.f64 a2 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 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 -1/2 (-.f64 (/.f64 -1/16 (pow.f64 a2 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 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 (pow.f64 a1 8) (+.f64 (-.f64 (/.f64 -1/16 (pow.f64 a2 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2)) (/.f64 5/64 (pow.f64 a2 6)))))) (*.f64 (cos.f64 th) (fma.f64 a1 a1 (*.f64 a2 a2))))
(*.f64 (pow.f64 a1 2) (cos.f64 th))
(*.f64 (*.f64 a1 a1) (cos.f64 th))
(*.f64 a1 (*.f64 a1 (cos.f64 th)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(fma.f64 (cos.f64 th) (*.f64 a2 a2) (*.f64 (*.f64 a1 a1) (cos.f64 th)))
(*.f64 (cos.f64 th) (fma.f64 a1 a1 (*.f64 a2 a2)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (cos.f64 th)) (pow.f64 a1 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th))))
(fma.f64 (cos.f64 th) (*.f64 a2 a2) (fma.f64 (*.f64 a1 a1) (cos.f64 th) (/.f64 (*.f64 (pow.f64 a1 4) 0) (/.f64 (*.f64 a2 a2) (cos.f64 th)))))
(+.f64 (*.f64 (/.f64 (cos.f64 th) a2) (/.f64 0 a2)) (*.f64 (cos.f64 th) (fma.f64 a1 a1 (*.f64 a2 a2))))
(+.f64 (*.f64 (cos.f64 th) (fma.f64 a1 a1 (*.f64 a2 a2))) 0)
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (+.f64 (/.f64 (*.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 (pow.f64 a1 2) (cos.f64 th)) (/.f64 (*.f64 (+.f64 (*.f64 1/8 (pow.f64 a2 6)) (*.f64 -1/8 (pow.f64 a2 6))) (cos.f64 th)) (pow.f64 a1 4)))))
(fma.f64 (cos.f64 th) (*.f64 a2 a2) (fma.f64 (*.f64 a1 a1) (cos.f64 th) (/.f64 (*.f64 (pow.f64 a1 4) 0) (/.f64 (*.f64 a2 a2) (cos.f64 th)))))
(+.f64 (*.f64 (/.f64 (cos.f64 th) a2) (/.f64 0 a2)) (*.f64 (cos.f64 th) (fma.f64 a1 a1 (*.f64 a2 a2))))
(+.f64 (*.f64 (cos.f64 th) (fma.f64 a1 a1 (*.f64 a2 a2))) 0)
(*.f64 (pow.f64 a1 2) (cos.f64 th))
(*.f64 (*.f64 a1 a1) (cos.f64 th))
(*.f64 a1 (*.f64 a1 (cos.f64 th)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(fma.f64 (cos.f64 th) (*.f64 a2 a2) (*.f64 (*.f64 a1 a1) (cos.f64 th)))
(*.f64 (cos.f64 th) (fma.f64 a1 a1 (*.f64 a2 a2)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (cos.f64 th)) (pow.f64 a1 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th))))
(fma.f64 (cos.f64 th) (*.f64 a2 a2) (fma.f64 (*.f64 a1 a1) (cos.f64 th) (/.f64 (*.f64 (pow.f64 a1 4) 0) (/.f64 (*.f64 a2 a2) (cos.f64 th)))))
(+.f64 (*.f64 (/.f64 (cos.f64 th) a2) (/.f64 0 a2)) (*.f64 (cos.f64 th) (fma.f64 a1 a1 (*.f64 a2 a2))))
(+.f64 (*.f64 (cos.f64 th) (fma.f64 a1 a1 (*.f64 a2 a2))) 0)
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (+.f64 (/.f64 (*.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 (pow.f64 a1 2) (cos.f64 th)) (/.f64 (*.f64 (+.f64 (*.f64 1/8 (pow.f64 a2 6)) (*.f64 -1/8 (pow.f64 a2 6))) (cos.f64 th)) (pow.f64 a1 4)))))
(fma.f64 (cos.f64 th) (*.f64 a2 a2) (fma.f64 (*.f64 a1 a1) (cos.f64 th) (/.f64 (*.f64 (pow.f64 a1 4) 0) (/.f64 (*.f64 a2 a2) (cos.f64 th)))))
(+.f64 (*.f64 (/.f64 (cos.f64 th) a2) (/.f64 0 a2)) (*.f64 (cos.f64 th) (fma.f64 a1 a1 (*.f64 a2 a2))))
(+.f64 (*.f64 (cos.f64 th) (fma.f64 a1 a1 (*.f64 a2 a2))) 0)
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (*.f64 a1 a1) (*.f64 a2 a2))
(fma.f64 a1 a1 (*.f64 a2 a2))
(+.f64 (pow.f64 a2 2) (+.f64 (pow.f64 a1 2) (*.f64 -1/2 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)))))
(+.f64 (*.f64 a2 a2) (+.f64 (*.f64 a1 a1) (*.f64 -1/2 (*.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (*.f64 th th)))))
(fma.f64 a2 a2 (fma.f64 a1 a1 (*.f64 -1/2 (*.f64 th (*.f64 th (fma.f64 a1 a1 (*.f64 a2 a2)))))))
(+.f64 (pow.f64 a2 2) (+.f64 (pow.f64 a1 2) (+.f64 (*.f64 -1/2 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2))) (*.f64 1/24 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 4))))))
(+.f64 (*.f64 a2 a2) (+.f64 (*.f64 a1 a1) (fma.f64 -1/2 (*.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (*.f64 th th)) (*.f64 1/24 (*.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (pow.f64 th 4))))))
(fma.f64 a2 a2 (fma.f64 a1 a1 (fma.f64 -1/2 (*.f64 th (*.f64 th (fma.f64 a1 a1 (*.f64 a2 a2)))) (*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (*.f64 (pow.f64 th 4) 1/24)))))
(+.f64 (pow.f64 a2 2) (+.f64 (pow.f64 a1 2) (+.f64 (*.f64 -1/2 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2))) (+.f64 (*.f64 1/24 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 4))) (*.f64 -1/720 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 6)))))))
(+.f64 (*.f64 a2 a2) (+.f64 (*.f64 a1 a1) (fma.f64 -1/2 (*.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (*.f64 th th)) (fma.f64 1/24 (*.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (pow.f64 th 4)) (*.f64 -1/720 (*.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (pow.f64 th 6)))))))
(fma.f64 a2 a2 (fma.f64 a1 a1 (fma.f64 -1/2 (*.f64 th (*.f64 th (fma.f64 a1 a1 (*.f64 a2 a2)))) (fma.f64 (*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) 1/24) (pow.f64 th 4) (*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (*.f64 (pow.f64 th 6) -1/720))))))
(*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))
(fma.f64 (cos.f64 th) (*.f64 a2 a2) (*.f64 (*.f64 a1 a1) (cos.f64 th)))
(*.f64 (cos.f64 th) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))
(fma.f64 (cos.f64 th) (*.f64 a2 a2) (*.f64 (*.f64 a1 a1) (cos.f64 th)))
(*.f64 (cos.f64 th) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))
(fma.f64 (cos.f64 th) (*.f64 a2 a2) (*.f64 (*.f64 a1 a1) (cos.f64 th)))
(*.f64 (cos.f64 th) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))
(fma.f64 (cos.f64 th) (*.f64 a2 a2) (*.f64 (*.f64 a1 a1) (cos.f64 th)))
(*.f64 (cos.f64 th) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))
(fma.f64 (cos.f64 th) (*.f64 a2 a2) (*.f64 (*.f64 a1 a1) (cos.f64 th)))
(*.f64 (cos.f64 th) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))
(fma.f64 (cos.f64 th) (*.f64 a2 a2) (*.f64 (*.f64 a1 a1) (cos.f64 th)))
(*.f64 (cos.f64 th) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))
(fma.f64 (cos.f64 th) (*.f64 a2 a2) (*.f64 (*.f64 a1 a1) (cos.f64 th)))
(*.f64 (cos.f64 th) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))
(fma.f64 (cos.f64 th) (*.f64 a2 a2) (*.f64 (*.f64 a1 a1) (cos.f64 th)))
(*.f64 (cos.f64 th) (fma.f64 a1 a1 (*.f64 a2 a2)))
(pow.f64 a1 2)
(*.f64 a1 a1)
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (*.f64 a1 a1) (*.f64 a2 a2))
(fma.f64 a1 a1 (*.f64 a2 a2))
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (*.f64 a1 a1) (*.f64 a2 a2))
(fma.f64 a1 a1 (*.f64 a2 a2))
(+.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 (-.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 8))))
(pow.f64 a2 2)
(*.f64 a2 a2)
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (*.f64 a1 a1) (*.f64 a2 a2))
(fma.f64 a1 a1 (*.f64 a2 a2))
(+.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 a1 a1) (*.f64 a2 a2))))
(+.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (*.f64 (/.f64 (pow.f64 a1 4) (*.f64 a2 a2)) 0))
(+.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) 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 (*.f64 a1 a1) (*.f64 a2 a2)) (*.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 a1 6) (pow.f64 a2 4))))))))
(pow.f64 a2 2)
(*.f64 a2 a2)
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (*.f64 a1 a1) (*.f64 a2 a2))
(fma.f64 a1 a1 (*.f64 a2 a2))
(+.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 a1 a1) (*.f64 a2 a2))))
(+.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (*.f64 (/.f64 (pow.f64 a1 4) (*.f64 a2 a2)) 0))
(+.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) 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 (*.f64 a1 a1) (*.f64 a2 a2)) (*.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 a1 6) (pow.f64 a2 4))))))))
(pow.f64 a2 2)
(*.f64 a2 a2)
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (*.f64 a1 a1) (*.f64 a2 a2))
(fma.f64 a1 a1 (*.f64 a2 a2))
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (*.f64 a1 a1) (*.f64 a2 a2))
(fma.f64 a1 a1 (*.f64 a2 a2))
(+.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 a1 a1) (*.f64 a2 a2)))
(fma.f64 (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)))) (fma.f64 a1 a1 (*.f64 a2 a2)))
(fma.f64 (pow.f64 a1 8) (+.f64 (-.f64 (/.f64 -1/16 (pow.f64 a2 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2)) (/.f64 5/64 (pow.f64 a2 6))) (fma.f64 a1 a1 (*.f64 a2 a2)))
(pow.f64 a1 2)
(*.f64 a1 a1)
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (*.f64 a1 a1) (*.f64 a2 a2))
(fma.f64 a1 a1 (*.f64 a2 a2))
(+.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 1/4 (/.f64 (*.f64 a1 a1) (pow.f64 a2 4))))))
(+.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))))))))
(pow.f64 a1 2)
(*.f64 a1 a1)
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (*.f64 a1 a1) (*.f64 a2 a2))
(fma.f64 a1 a1 (*.f64 a2 a2))
(+.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 1/4 (/.f64 (*.f64 a1 a1) (pow.f64 a2 4))))))
(+.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))))))))
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)
(+.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 (*.f64 (*.f64 a2 a2) 1/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)))))
(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 (*.f64 (*.f64 a2 a2) 1/2) 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)
(+.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))
(+.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)))
(*.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))
(fma.f64 -1/2 (/.f64 a1 (/.f64 a2 a1)) (neg.f64 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 (*.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 -1/16 (/.f64 (pow.f64 a2 5) (pow.f64 a1 6)))) a2))
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)
(+.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))
(+.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)))
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)
(+.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 (*.f64 (*.f64 a2 a2) 1/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)))))
(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 (*.f64 (*.f64 a2 a2) 1/2) 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 a1 (*.f64 a2 a2))) 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 (*.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)

prune191.0ms (2.7%)

Pruning

7 alts after pruning (4 fresh and 3 done)

PrunedKeptTotal
New2320232
Fresh044
Picked011
Done022
Total2327239
Error
0b
Counts
239 → 7
Alt Table
StatusErrorProgram
0.7b
(*.f64 (cos.f64 th) (*.f64 (hypot.f64 a1 a2) (*.f64 (hypot.f64 a1 a2) (pow.f64 2 -1/2))))
0.8b
(*.f64 (cos.f64 th) (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (pow.f64 2 -1/2)))
0.7b
(/.f64 (*.f64 (pow.f64 (hypot.f64 a2 a1) 2) (cos.f64 th)) (sqrt.f64 2))
29.7b
(*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th)))
0.8b
(/.f64 (/.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (cos.f64 th)) (pow.f64 2 1/4)) (pow.f64 2 1/4))
0.7b
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
0.7b
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
Compiler

Compiled 6419 to 4286 computations (33.2% saved)

regimes376.0ms (5.4%)

Accuracy

Total 0.4b remaining (90.7%)

Threshold costs 0.4b (90.7%)

Counts
78 → 1
Compiler

Compiled 1008 to 586 computations (41.9% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01325
11525
Stop Event
saturated
Calls
Call 1
Inputs
(*.f64 (cos.f64 th) (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))))
Outputs
(*.f64 (cos.f64 th) (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))))

end119.0ms (1.7%)

Stop Event
fuel
Remove

(sort a1 a2)

Compiler

Compiled 184 to 146 computations (20.7% saved)

Profiling

Loading profile data...