Details

Time bar (total: 7.8s)

analyze1.1s (13.9%)

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.3s (55.5%)

Results
1.3s1910×body1024valid
1.0s1523×body1024invalid
867.0ms4945×body128valid
404.0ms915×body512valid
355.0ms817×body512invalid
147.0ms481×body256valid
123.0ms414×body256invalid
104.0ms626×body128invalid
5.0msbody2048valid
Compiler

Compiled 46 to 32 computations (30.4% saved)

preprocess30.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)

simplify8.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)))

prune5.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.3b
Counts
3 → 2
Alt Table
StatusErrorProgram
0.4b
(*.f64 (cos.f64 th) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)))
0.4b
(+.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 3 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 a1 a1 (*.f64 a2 a2))
0.2b
(*.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))

series19.0ms (0.2%)

Counts
3 → 84
Calls

21 calls:

TimeVariablePointExpression
3.0ms
a1
@0
(*.f64 (cos.f64 th) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)))
2.0ms
th
@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)))
1.0ms
a1
@0
(/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2))
1.0ms
th
@inf
(*.f64 (cos.f64 th) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)))

rewrite47.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
01139
122436
2272936
Stop Event
node limit
Counts
3 → 94
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)))
(fma.f64 a1 a1 (*.f64 a2 a2))
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)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 a2 a2) (*.f64 a1 a1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 a1 a1) (*.f64 a2 a2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (hypot.f64 a1 a2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 a1 a1) 1) (*.f64 a2 a2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (pow.f64 (hypot.f64 a1 a2) 2))) (cbrt.f64 (exp.f64 (pow.f64 (hypot.f64 a1 a2) 2))))) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (hypot.f64 a1 a2) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (hypot.f64 a1 a2) 2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (hypot.f64 a1 a2) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 (hypot.f64 a1 a2) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (hypot.f64 a1 a2) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (hypot.f64 a1 a2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (hypot.f64 a1 a2) 2)) (pow.f64 (cbrt.f64 (pow.f64 (hypot.f64 a1 a2) 2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (pow.f64 (hypot.f64 a1 a2) 2)) 2) (cbrt.f64 (pow.f64 (hypot.f64 a1 a2) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (hypot.f64 a1 a2) (hypot.f64 a1 a2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 a1 a1) 3) (pow.f64 (*.f64 a2 a2) 3)) (fma.f64 (*.f64 a1 a1) (*.f64 a1 a1) (-.f64 (pow.f64 a2 4) (*.f64 (*.f64 a1 a1) (*.f64 a2 a2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 a1 a1) (*.f64 a1 a1)) (pow.f64 a2 4)) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (hypot.f64 a1 a2) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (pow.f64 (hypot.f64 a1 a2) 2) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (pow.f64 (hypot.f64 a1 a2) 2)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (hypot.f64 a1 a2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (pow.f64 (hypot.f64 a1 a2) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (hypot.f64 a1 a2) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (hypot.f64 a1 a2) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 a2) a2) (exp.f64 (*.f64 a1 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 a2 a2))) (exp.f64 (*.f64 a1 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 a1 a1)) (+.f64 1 (expm1.f64 (*.f64 a2 a2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (pow.f64 (hypot.f64 a1 a2) 2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (hypot.f64 a1 a2) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 2 (log.f64 (hypot.f64 a1 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (hypot.f64 a1 a2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (hypot.f64 a1 a2) 2)))))))

simplify42.0ms (0.5%)

Algorithm
egg-herbie
Rules
488×associate-/r/_binary64
338×unswap-sqr_binary64
331×fma-neg_binary64
276×sub-neg_binary64
206×associate-/l/_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0691517
12011427
26041383
327571341
Stop Event
node limit
Counts
178 → 122
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 a1 2) (pow.f64 a2 2)) (sqrt.f64 2))
(-.f64 (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (*.f64 1/2 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 2)) (sqrt.f64 2)))))
(-.f64 (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 4)) (sqrt.f64 2))) (+.f64 (/.f64 (pow.f64 a1 2) (sqrt.f64 2)) (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 4)) (sqrt.f64 2)))))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (*.f64 1/2 (/.f64 (*.f64 (pow.f64 th 2) (pow.f64 a2 2)) (sqrt.f64 2)))))
(-.f64 (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 4)) (sqrt.f64 2))) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 th 4) (pow.f64 a2 2)) (sqrt.f64 2))) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (+.f64 (*.f64 1/720 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 6)) (sqrt.f64 2))) (+.f64 (*.f64 1/720 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 6)) (sqrt.f64 2))) (*.f64 1/2 (/.f64 (*.f64 (pow.f64 th 2) (pow.f64 a2 2)) (sqrt.f64 2)))))))
(/.f64 (*.f64 (+.f64 (pow.f64 a1 2) (pow.f64 a2 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 (pow.f64 a1 2) (pow.f64 a2 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 (pow.f64 a1 2) (pow.f64 a2 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 (pow.f64 a1 2) (pow.f64 a2 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (+.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (+.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (+.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (+.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(pow.f64 a2 2)
(+.f64 (pow.f64 a1 2) (pow.f64 a2 2))
(+.f64 (pow.f64 a1 2) (pow.f64 a2 2))
(+.f64 (pow.f64 a1 2) (pow.f64 a2 2))
(pow.f64 a1 2)
(+.f64 (pow.f64 a1 2) (pow.f64 a2 2))
(+.f64 (pow.f64 a1 2) (pow.f64 a2 2))
(+.f64 (pow.f64 a1 2) (pow.f64 a2 2))
(pow.f64 a1 2)
(+.f64 (pow.f64 a1 2) (pow.f64 a2 2))
(+.f64 (pow.f64 a1 2) (pow.f64 a2 2))
(+.f64 (pow.f64 a1 2) (pow.f64 a2 2))
(pow.f64 a1 2)
(+.f64 (pow.f64 a1 2) (pow.f64 a2 2))
(+.f64 (pow.f64 a1 2) (pow.f64 a2 2))
(+.f64 (pow.f64 a1 2) (pow.f64 a2 2))
(pow.f64 a2 2)
(+.f64 (pow.f64 a1 2) (pow.f64 a2 2))
(+.f64 (pow.f64 a1 2) (pow.f64 a2 2))
(+.f64 (pow.f64 a1 2) (pow.f64 a2 2))
(pow.f64 a2 2)
(+.f64 (pow.f64 a1 2) (pow.f64 a2 2))
(+.f64 (pow.f64 a1 2) (pow.f64 a2 2))
(+.f64 (pow.f64 a1 2) (pow.f64 a2 2))
Outputs
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (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 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))
(+.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 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))
(+.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 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(/.f64 (*.f64 a1 a1) (sqrt.f64 2))
(*.f64 (/.f64 a1 (sqrt.f64 2)) a1)
(+.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 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))
(+.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 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))
(+.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 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(/.f64 (*.f64 a1 a1) (sqrt.f64 2))
(*.f64 (/.f64 a1 (sqrt.f64 2)) a1)
(+.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 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))
(+.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 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))
(+.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 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(/.f64 (*.f64 a1 a1) (sqrt.f64 2))
(*.f64 (/.f64 a1 (sqrt.f64 2)) a1)
(+.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 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))
(+.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 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))
(+.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 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (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 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))
(+.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 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))
(+.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 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (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 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))
(+.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 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))
(+.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 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))
(/.f64 (+.f64 (pow.f64 a1 2) (pow.f64 a2 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 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (*.f64 1/2 (/.f64 (*.f64 (pow.f64 a2 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 (sqrt.f64 2) (*.f64 th th))) (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (*.f64 th th)))))))
(+.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (-.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 1/2 (+.f64 (*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (*.f64 th th)) (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 th th))))))
(fma.f64 -1/2 (*.f64 (*.f64 th th) (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))) (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1)))
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (*.f64 (*.f64 (*.f64 (/.f64 th (sqrt.f64 2)) th) (fma.f64 a1 a1 (*.f64 a2 a2))) -1/2)))
(-.f64 (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 4)) (sqrt.f64 2))) (+.f64 (/.f64 (pow.f64 a1 2) (sqrt.f64 2)) (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 4)) (sqrt.f64 2)))))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (*.f64 1/2 (/.f64 (*.f64 (pow.f64 th 2) (pow.f64 a2 2)) (sqrt.f64 2)))))
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (-.f64 (fma.f64 1/24 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (pow.f64 th 4))) (fma.f64 1/24 (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (pow.f64 th 4))) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))) (*.f64 1/2 (+.f64 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (*.f64 th th))) (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (*.f64 th th)))))))
(+.f64 (fma.f64 1/24 (*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (pow.f64 th 4)) (fma.f64 1/24 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (pow.f64 th 4)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))) (-.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 1/2 (+.f64 (*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (*.f64 th th)) (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 th th))))))
(fma.f64 -1/2 (*.f64 (*.f64 th th) (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))) (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (fma.f64 1/24 (*.f64 (pow.f64 th 4) (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))))
(+.f64 (fma.f64 1/24 (*.f64 (/.f64 (pow.f64 th 4) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2))) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1)) (fma.f64 (/.f64 a2 (sqrt.f64 2)) a2 (*.f64 (*.f64 (*.f64 (/.f64 th (sqrt.f64 2)) th) (fma.f64 a1 a1 (*.f64 a2 a2))) -1/2)))
(-.f64 (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 4)) (sqrt.f64 2))) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 th 4) (pow.f64 a2 2)) (sqrt.f64 2))) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (+.f64 (*.f64 1/720 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 6)) (sqrt.f64 2))) (+.f64 (*.f64 1/720 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 6)) (sqrt.f64 2))) (*.f64 1/2 (/.f64 (*.f64 (pow.f64 th 2) (pow.f64 a2 2)) (sqrt.f64 2)))))))
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (-.f64 (fma.f64 1/24 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (pow.f64 th 4))) (fma.f64 1/24 (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (pow.f64 th 4))) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))) (fma.f64 1/2 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (*.f64 th th))) (fma.f64 1/720 (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (pow.f64 th 6))) (fma.f64 1/720 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (pow.f64 th 6))) (*.f64 1/2 (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (*.f64 th th)))))))))
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (-.f64 (fma.f64 1/24 (*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (pow.f64 th 4)) (fma.f64 1/24 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (pow.f64 th 4)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))) (+.f64 (*.f64 1/720 (+.f64 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (pow.f64 th 6)) (*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (pow.f64 th 6)))) (*.f64 1/2 (+.f64 (*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (*.f64 th th)) (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 th th)))))))
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (-.f64 (fma.f64 1/24 (*.f64 (pow.f64 th 4) (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1)) (fma.f64 1/720 (*.f64 (pow.f64 th 6) (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))) (*.f64 1/2 (*.f64 (*.f64 th th) (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1)))))))
(+.f64 (fma.f64 1/24 (*.f64 (/.f64 (pow.f64 th 4) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2))) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1)) (+.f64 (fma.f64 (/.f64 a2 (sqrt.f64 2)) a2 (*.f64 (*.f64 (/.f64 (pow.f64 th 6) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2))) -1/720)) (*.f64 (*.f64 (*.f64 (/.f64 th (sqrt.f64 2)) th) (fma.f64 a1 a1 (*.f64 a2 a2))) -1/2)))
(/.f64 (*.f64 (+.f64 (pow.f64 a1 2) (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 (/.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) (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 (/.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) (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 (/.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) (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 (/.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 (cos.f64 th) (+.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (sqrt.f64 2))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.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 (cos.f64 th) (+.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (sqrt.f64 2))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.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 (cos.f64 th) (+.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (sqrt.f64 2))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.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 (cos.f64 th) (+.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (sqrt.f64 2))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.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 (cos.f64 th) (pow.f64 a2 2)) (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 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.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 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.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 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.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 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1)))
(/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (cos.f64 th))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.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 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.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 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.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 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1)))
(/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (cos.f64 th))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.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 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.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 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.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 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1)))
(/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (cos.f64 th))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.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 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.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 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.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 (cos.f64 th) (pow.f64 a2 2)) (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 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.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 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.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 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.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 (cos.f64 th) (pow.f64 a2 2)) (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 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.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 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.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 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.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)))
(pow.f64 a2 2)
(*.f64 a2 a2)
(+.f64 (pow.f64 a1 2) (pow.f64 a2 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a1 a1 (*.f64 a2 a2))
(+.f64 (pow.f64 a1 2) (pow.f64 a2 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a1 a1 (*.f64 a2 a2))
(+.f64 (pow.f64 a1 2) (pow.f64 a2 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a1 a1 (*.f64 a2 a2))
(pow.f64 a1 2)
(*.f64 a1 a1)
(+.f64 (pow.f64 a1 2) (pow.f64 a2 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a1 a1 (*.f64 a2 a2))
(+.f64 (pow.f64 a1 2) (pow.f64 a2 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a1 a1 (*.f64 a2 a2))
(+.f64 (pow.f64 a1 2) (pow.f64 a2 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a1 a1 (*.f64 a2 a2))
(pow.f64 a1 2)
(*.f64 a1 a1)
(+.f64 (pow.f64 a1 2) (pow.f64 a2 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a1 a1 (*.f64 a2 a2))
(+.f64 (pow.f64 a1 2) (pow.f64 a2 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a1 a1 (*.f64 a2 a2))
(+.f64 (pow.f64 a1 2) (pow.f64 a2 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a1 a1 (*.f64 a2 a2))
(pow.f64 a1 2)
(*.f64 a1 a1)
(+.f64 (pow.f64 a1 2) (pow.f64 a2 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a1 a1 (*.f64 a2 a2))
(+.f64 (pow.f64 a1 2) (pow.f64 a2 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a1 a1 (*.f64 a2 a2))
(+.f64 (pow.f64 a1 2) (pow.f64 a2 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a1 a1 (*.f64 a2 a2))
(pow.f64 a2 2)
(*.f64 a2 a2)
(+.f64 (pow.f64 a1 2) (pow.f64 a2 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a1 a1 (*.f64 a2 a2))
(+.f64 (pow.f64 a1 2) (pow.f64 a2 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a1 a1 (*.f64 a2 a2))
(+.f64 (pow.f64 a1 2) (pow.f64 a2 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a1 a1 (*.f64 a2 a2))
(pow.f64 a2 2)
(*.f64 a2 a2)
(+.f64 (pow.f64 a1 2) (pow.f64 a2 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a1 a1 (*.f64 a2 a2))
(+.f64 (pow.f64 a1 2) (pow.f64 a2 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a1 a1 (*.f64 a2 a2))
(+.f64 (pow.f64 a1 2) (pow.f64 a2 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a1 a1 (*.f64 a2 a2))

prune114.0ms (1.5%)

Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New1166122
Fresh101
Picked101
Done000
Total1186124
Error
0b
Counts
124 → 6
Alt Table
StatusErrorProgram
0.5b
(/.f64 (/.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (cos.f64 th)) (pow.f64 2 1/4)) (pow.f64 2 1/4))
0.4b
(*.f64 (cos.f64 th) (*.f64 (neg.f64 (pow.f64 (hypot.f64 a1 a2) 2)) (/.f64 1 (neg.f64 (sqrt.f64 2)))))
0.4b
(/.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (cos.f64 th)) (sqrt.f64 2))
0.5b
(*.f64 (cos.f64 th) (*.f64 (hypot.f64 a1 a2) (*.f64 (hypot.f64 a1 a2) (pow.f64 2 -1/2))))
15.7b
(pow.f64 (*.f64 (/.f64 (hypot.f64 a1 a2) (pow.f64 2 1/4)) (sqrt.f64 (cos.f64 th))) 2)
0.5b
(*.f64 (cos.f64 th) (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (pow.f64 2 -1/2)))
Compiler

Compiled 2291 to 1473 computations (35.7% saved)

localize8.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series30.0ms (0.4%)

Counts
4 → 120
Calls

30 calls:

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

rewrite53.0ms (0.7%)

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 a1 a2) 2) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (cos.f64 th))
(hypot.f64 a1 a2)
(pow.f64 (hypot.f64 a1 a2) 2)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (/.f64 (pow.f64 (hypot.f64 a1 a2) 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 a1 a2) 2) (sqrt.f64 2)) (cos.f64 th)))) (cbrt.f64 (exp.f64 (*.f64 (/.f64 (pow.f64 (hypot.f64 a1 a2) 2) (sqrt.f64 2)) (cos.f64 th)))))) (log.f64 (cbrt.f64 (exp.f64 (*.f64 (/.f64 (pow.f64 (hypot.f64 a1 a2) 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 a1 a2) 2) (sqrt.f64 2)) (cos.f64 th))))) (log.f64 (sqrt.f64 (exp.f64 (*.f64 (/.f64 (pow.f64 (hypot.f64 a1 a2) 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 a1 a2) 2) (sqrt.f64 2)) (cos.f64 th)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (hypot.f64 a1 a2) 2) (/.f64 1 (/.f64 (sqrt.f64 2) (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (hypot.f64 a1 a2) 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 a1 a2) 2) (pow.f64 2 -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (cos.f64 th)) (pow.f64 2 -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (pow.f64 (hypot.f64 a1 a2) 2) (sqrt.f64 2)) (cos.f64 th)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (/.f64 (pow.f64 (hypot.f64 a1 a2) 2) (sqrt.f64 2)) (cos.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (/.f64 (pow.f64 (hypot.f64 a1 a2) 2) (sqrt.f64 2)) (cos.f64 th))) (cbrt.f64 (/.f64 (*.f64 (pow.f64 (cos.f64 th) 2) (pow.f64 (hypot.f64 a1 a2) 4)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 (pow.f64 (cos.f64 th) 2) (pow.f64 (hypot.f64 a1 a2) 4)) 2)) (cbrt.f64 (*.f64 (/.f64 (pow.f64 (hypot.f64 a1 a2) 2) (sqrt.f64 2)) (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (cos.f64 th))) 2) (*.f64 (cbrt.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (cos.f64 th))) (pow.f64 2 -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (hypot.f64 a1 a2) (sqrt.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)))) (/.f64 (hypot.f64 a1 a2) (sqrt.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (hypot.f64 a1 a2) (sqrt.f64 (cos.f64 th))) (*.f64 (*.f64 (hypot.f64 a1 a2) (sqrt.f64 (cos.f64 th))) (pow.f64 2 -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 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 a1 a2) 2) (cos.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (hypot.f64 a1 a2) 2) 1) (/.f64 (cos.f64 th) (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cos.f64 th) 1) (/.f64 (pow.f64 (hypot.f64 a1 a2) 2) (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (hypot.f64 a1 a2) 2) (sqrt.f64 2)) (cos.f64 th))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (cos.f64 th))) 2) 1) (/.f64 (cbrt.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (cos.f64 th))) (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (hypot.f64 a1 a2) (sqrt.f64 (cos.f64 th))) 1) (/.f64 (*.f64 (hypot.f64 a1 a2) (sqrt.f64 (cos.f64 th))) (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (hypot.f64 a1 a2) 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 a1 a2) 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 a1 a2) 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 a1 a2) 2) (cos.f64 th))) 2) (cbrt.f64 2)) (cbrt.f64 (*.f64 (/.f64 (pow.f64 (hypot.f64 a1 a2) 2) (sqrt.f64 2)) (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (hypot.f64 a1 a2) (sqrt.f64 (cos.f64 th))) (cbrt.f64 2)) (/.f64 (*.f64 (hypot.f64 a1 a2) (sqrt.f64 (cos.f64 th))) (cbrt.f64 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (hypot.f64 a1 a2) 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 a1 a2) 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 a1 a2) 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 a1 a2) 2) (cos.f64 th))) 2) (pow.f64 2 1/4)) (/.f64 (cbrt.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (cos.f64 th))) (pow.f64 2 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 (pow.f64 (hypot.f64 a1 a2) 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 a1 a2) 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 a1 a2) 2) (sqrt.f64 2)) (cos.f64 th))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (hypot.f64 a1 a2) (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 a1 a2) 2) (cos.f64 th))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 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 a1 a2) 4)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 (/.f64 (pow.f64 (hypot.f64 a1 a2) 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 a1 a2) 2) (sqrt.f64 2)) (cos.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (/.f64 (pow.f64 (hypot.f64 a1 a2) 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 a1 a2) 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 a1 a2) 2) (sqrt.f64 2)) (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (/.f64 (pow.f64 (hypot.f64 a1 a2) 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 a1 a2) 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 a1 a2) 2) (sqrt.f64 2)) (cos.f64 th))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (pow.f64 (hypot.f64 a1 a2) 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 a1 a2) 2))) (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 th)) (pow.f64 (hypot.f64 a1 a2) 2))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 th)) (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)) (pow.f64 (hypot.f64 a1 a2) 2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 th)) (pow.f64 (hypot.f64 a1 a2) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (cos.f64 th)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (cos.f64 th)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (cos.f64 th)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (cos.f64 th))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (hypot.f64 a1 a2) (sqrt.f64 (cos.f64 th))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (pow.f64 (cos.f64 th) 2) (pow.f64 (hypot.f64 a1 a2) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (cos.f64 th)) (pow.f64 (hypot.f64 a1 a2) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (cos.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (cos.f64 th)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (pow.f64 (hypot.f64 a1 a2) 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 a1 a2) 2) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (cos.f64 th))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (cos.f64 th))))))))
((#(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 (pow.f64 (cbrt.f64 (hypot.f64 a1 a2)) 2) (cbrt.f64 (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 (sqrt.f64 (hypot.f64 a1 a2)) (sqrt.f64 (hypot.f64 a1 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (hypot.f64 a1 a2) 4))) (sqrt.f64 (pow.f64 (cbrt.f64 (hypot.f64 a1 a2)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (hypot.f64 a1 a2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (hypot.f64 a1 a2) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (hypot.f64 a1 a2) 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 fabs.f64 (hypot.f64 a1 a2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (hypot.f64 a1 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (hypot.f64 a1 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (hypot.f64 a1 a2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x 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)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 a1 a1) (*.f64 a2 a2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 a2 a2) (*.f64 a1 a1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (hypot.f64 a1 a2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (pow.f64 (hypot.f64 a1 a2) 2))) (cbrt.f64 (exp.f64 (pow.f64 (hypot.f64 a1 a2) 2))))) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (hypot.f64 a1 a2) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (hypot.f64 a1 a2) 2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (hypot.f64 a1 a2) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 (hypot.f64 a1 a2) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (hypot.f64 a1 a2) (hypot.f64 a1 a2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (hypot.f64 a1 a2) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (hypot.f64 a1 a2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (hypot.f64 a1 a2)) 2) (cbrt.f64 (pow.f64 (hypot.f64 a1 a2) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (hypot.f64 a1 a2)) 2) (*.f64 (cbrt.f64 (hypot.f64 a1 a2)) (hypot.f64 a1 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (hypot.f64 a1 a2) 4)) (pow.f64 (cbrt.f64 (hypot.f64 a1 a2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (hypot.f64 a1 a2)) (*.f64 (sqrt.f64 (hypot.f64 a1 a2)) (hypot.f64 a1 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (hypot.f64 a1 a2) (sqrt.f64 (hypot.f64 a1 a2))) (sqrt.f64 (hypot.f64 a1 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (hypot.f64 a1 a2) (pow.f64 (cbrt.f64 (hypot.f64 a1 a2)) 2)) (cbrt.f64 (hypot.f64 a1 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 a1 a1) 3) (pow.f64 (*.f64 a2 a2) 3)) (fma.f64 (*.f64 a1 a1) (*.f64 a1 a1) (fma.f64 (*.f64 a2 a2) (*.f64 a2 a2) (neg.f64 (*.f64 (*.f64 a1 a1) (*.f64 a2 a2))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 a1 a1) (*.f64 a1 a1)) (*.f64 (*.f64 a2 a2) (*.f64 a2 a2))) (-.f64 (*.f64 a1 a1) (*.f64 a2 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (hypot.f64 a1 a2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (hypot.f64 a1 a2) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (hypot.f64 a1 a2) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 a1 a1)) (exp.f64 (*.f64 a2 a2))))))) (#(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 cbrt.f64 (pow.f64 (pow.f64 (hypot.f64 a1 a2) 2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a1 a1 (*.f64 a2 a2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a2 a2 (*.f64 a1 a1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 a1 a1) (*.f64 a2 a2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 a2 a2) (*.f64 a1 a1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 a1 a1)) (*.f64 (cbrt.f64 a1) a1) (*.f64 a2 a2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 a2) 2) (*.f64 (cbrt.f64 a2) a2) (*.f64 a1 a1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 a1) (*.f64 (sqrt.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 (*.f64 a2 (sqrt.f64 a2)) (sqrt.f64 a2) (*.f64 a1 a1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (*.f64 a1 a1)) (cbrt.f64 (*.f64 a1 a1))) (cbrt.f64 (*.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 (pow.f64 (cbrt.f64 a2) 2) (pow.f64 (cbrt.f64 a2) 2)) (pow.f64 (cbrt.f64 a2) 2) (*.f64 a1 a1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a1 (cbrt.f64 (*.f64 a1 a1))) (cbrt.f64 a1) (*.f64 a2 a2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a2 (pow.f64 (cbrt.f64 a2) 2)) (cbrt.f64 a2) (*.f64 a1 a1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (hypot.f64 a1 a2) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 2 (log.f64 (hypot.f64 a1 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (hypot.f64 a1 a2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (hypot.f64 a1 a2) 2)))))))

simplify52.0ms (0.7%)

Algorithm
egg-herbie
Rules
497×fma-def_binary64
370×cancel-sign-sub-inv_binary64
355×associate-*r*_binary64
330×associate-/l*_binary64
306×associate-*l*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01252494
14052348
214111951
Stop Event
node limit
Counts
249 → 193
Calls
Call 1
Inputs
(/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(/.f64 (+.f64 (pow.f64 a1 2) (pow.f64 a2 2)) (sqrt.f64 2))
(-.f64 (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (*.f64 1/2 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 2)) (sqrt.f64 2)))))
(-.f64 (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 4)) (sqrt.f64 2))) (+.f64 (/.f64 (pow.f64 a1 2) (sqrt.f64 2)) (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 4)) (sqrt.f64 2)))))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (*.f64 1/2 (/.f64 (*.f64 (pow.f64 th 2) (pow.f64 a2 2)) (sqrt.f64 2)))))
(-.f64 (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 4)) (sqrt.f64 2))) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 th 4) (pow.f64 a2 2)) (sqrt.f64 2))) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (+.f64 (*.f64 1/720 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 6)) (sqrt.f64 2))) (+.f64 (*.f64 1/720 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 6)) (sqrt.f64 2))) (*.f64 1/2 (/.f64 (*.f64 (pow.f64 th 2) (pow.f64 a2 2)) (sqrt.f64 2)))))))
(/.f64 (*.f64 (cos.f64 th) (+.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (+.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (+.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (+.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (+.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (+.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (+.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (+.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (sqrt.f64 2))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (*.f64 (cos.f64 th) (pow.f64 a2 2)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (*.f64 (cos.f64 th) (pow.f64 a2 2)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (*.f64 (cos.f64 th) (pow.f64 a2 2)))
(*.f64 (cos.f64 th) (pow.f64 a1 2))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (*.f64 (cos.f64 th) (pow.f64 a2 2)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (*.f64 (cos.f64 th) (pow.f64 a2 2)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (*.f64 (cos.f64 th) (pow.f64 a2 2)))
(*.f64 (cos.f64 th) (pow.f64 a1 2))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (*.f64 (cos.f64 th) (pow.f64 a2 2)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (*.f64 (cos.f64 th) (pow.f64 a2 2)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (*.f64 (cos.f64 th) (pow.f64 a2 2)))
(*.f64 (cos.f64 th) (pow.f64 a1 2))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (*.f64 (cos.f64 th) (pow.f64 a2 2)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (*.f64 (cos.f64 th) (pow.f64 a2 2)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (*.f64 (cos.f64 th) (pow.f64 a2 2)))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (*.f64 (cos.f64 th) (pow.f64 a2 2)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (*.f64 (cos.f64 th) (pow.f64 a2 2)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (*.f64 (cos.f64 th) (pow.f64 a2 2)))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (*.f64 (cos.f64 th) (pow.f64 a2 2)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (*.f64 (cos.f64 th) (pow.f64 a2 2)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (*.f64 (cos.f64 th) (pow.f64 a2 2)))
(+.f64 (pow.f64 a1 2) (pow.f64 a2 2))
(-.f64 (+.f64 (pow.f64 a1 2) (pow.f64 a2 2)) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a2 2) (pow.f64 th 2))) (*.f64 1/2 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)))))
(-.f64 (+.f64 (pow.f64 a1 2) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 a1 2) (pow.f64 th 4))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 th 4) (pow.f64 a2 2))) (pow.f64 a2 2)))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a2 2) (pow.f64 th 2))) (*.f64 1/2 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)))))
(-.f64 (+.f64 (pow.f64 a1 2) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 a1 2) (pow.f64 th 4))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 th 4) (pow.f64 a2 2))) (pow.f64 a2 2)))) (+.f64 (*.f64 1/720 (*.f64 (pow.f64 a2 2) (pow.f64 th 6))) (+.f64 (*.f64 1/720 (*.f64 (pow.f64 a1 2) (pow.f64 th 6))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a2 2) (pow.f64 th 2))) (*.f64 1/2 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)))))))
(*.f64 (+.f64 (pow.f64 a1 2) (pow.f64 a2 2)) (cos.f64 th))
(*.f64 (+.f64 (pow.f64 a1 2) (pow.f64 a2 2)) (cos.f64 th))
(*.f64 (+.f64 (pow.f64 a1 2) (pow.f64 a2 2)) (cos.f64 th))
(*.f64 (+.f64 (pow.f64 a1 2) (pow.f64 a2 2)) (cos.f64 th))
(*.f64 (cos.f64 th) (+.f64 (pow.f64 a1 2) (pow.f64 a2 2)))
(*.f64 (cos.f64 th) (+.f64 (pow.f64 a1 2) (pow.f64 a2 2)))
(*.f64 (cos.f64 th) (+.f64 (pow.f64 a1 2) (pow.f64 a2 2)))
(*.f64 (cos.f64 th) (+.f64 (pow.f64 a1 2) (pow.f64 a2 2)))
a2
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 a1 2) a2)) a2)
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 a1 2) a2)) a2) (*.f64 1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3))))
(-.f64 (+.f64 (*.f64 1/16 (/.f64 (pow.f64 a1 6) (pow.f64 a2 5))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 a1 2) a2)) a2)) (*.f64 1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3))))
a1
(+.f64 a1 (*.f64 1/2 (/.f64 (pow.f64 a2 2) a1)))
(-.f64 (+.f64 a1 (*.f64 1/2 (/.f64 (pow.f64 a2 2) a1))) (*.f64 1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3))))
(-.f64 (+.f64 (*.f64 1/16 (/.f64 (pow.f64 a2 6) (pow.f64 a1 5))) (+.f64 a1 (*.f64 1/2 (/.f64 (pow.f64 a2 2) a1)))) (*.f64 1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3))))
(*.f64 -1 a1)
(neg.f64 (+.f64 a1 (*.f64 1/2 (/.f64 (pow.f64 a2 2) a1))))
(-.f64 (*.f64 1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3))) (+.f64 a1 (*.f64 1/2 (/.f64 (pow.f64 a2 2) a1))))
(-.f64 (*.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 1/2 (/.f64 (pow.f64 a2 2) a1)))))
a1
(+.f64 a1 (*.f64 1/2 (/.f64 (pow.f64 a2 2) a1)))
(-.f64 (+.f64 a1 (*.f64 1/2 (/.f64 (pow.f64 a2 2) a1))) (*.f64 1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3))))
(-.f64 (+.f64 (*.f64 1/16 (/.f64 (pow.f64 a2 6) (pow.f64 a1 5))) (+.f64 a1 (*.f64 1/2 (/.f64 (pow.f64 a2 2) a1)))) (*.f64 1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3))))
a2
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 a1 2) a2)) a2)
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 a1 2) a2)) a2) (*.f64 1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3))))
(-.f64 (+.f64 (*.f64 1/16 (/.f64 (pow.f64 a1 6) (pow.f64 a2 5))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 a1 2) a2)) a2)) (*.f64 1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3))))
(*.f64 -1 a2)
(neg.f64 (+.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/16 (/.f64 (pow.f64 a1 6) (pow.f64 a2 5))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 a1 2) a2)) a2)))
(pow.f64 a2 2)
(+.f64 (pow.f64 a1 2) (pow.f64 a2 2))
(+.f64 (pow.f64 a1 2) (pow.f64 a2 2))
(+.f64 (pow.f64 a1 2) (pow.f64 a2 2))
(pow.f64 a1 2)
(+.f64 (pow.f64 a1 2) (pow.f64 a2 2))
(+.f64 (pow.f64 a1 2) (pow.f64 a2 2))
(+.f64 (pow.f64 a1 2) (pow.f64 a2 2))
(pow.f64 a1 2)
(+.f64 (pow.f64 a1 2) (pow.f64 a2 2))
(+.f64 (pow.f64 a1 2) (pow.f64 a2 2))
(+.f64 (pow.f64 a1 2) (pow.f64 a2 2))
(pow.f64 a1 2)
(+.f64 (pow.f64 a1 2) (pow.f64 a2 2))
(+.f64 (pow.f64 a1 2) (pow.f64 a2 2))
(+.f64 (pow.f64 a1 2) (pow.f64 a2 2))
(pow.f64 a2 2)
(+.f64 (pow.f64 a1 2) (pow.f64 a2 2))
(+.f64 (pow.f64 a1 2) (pow.f64 a2 2))
(+.f64 (pow.f64 a1 2) (pow.f64 a2 2))
(pow.f64 a2 2)
(+.f64 (pow.f64 a1 2) (pow.f64 a2 2))
(+.f64 (pow.f64 a1 2) (pow.f64 a2 2))
(+.f64 (pow.f64 a1 2) (pow.f64 a2 2))
Outputs
(/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2))
(*.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (cos.f64 th))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))))
(+.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)) (fma.f64 a2 a2 (*.f64 a1 a1)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))))
(+.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)) (fma.f64 a2 a2 (*.f64 a1 a1)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))))
(+.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)) (fma.f64 a2 a2 (*.f64 a1 a1)))
(/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1)))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1))
(*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (cos.f64 th))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))))
(+.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)) (fma.f64 a2 a2 (*.f64 a1 a1)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))))
(+.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)) (fma.f64 a2 a2 (*.f64 a1 a1)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))))
(+.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)) (fma.f64 a2 a2 (*.f64 a1 a1)))
(/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1)))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1))
(*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (cos.f64 th))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))))
(+.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)) (fma.f64 a2 a2 (*.f64 a1 a1)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))))
(+.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)) (fma.f64 a2 a2 (*.f64 a1 a1)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))))
(+.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)) (fma.f64 a2 a2 (*.f64 a1 a1)))
(/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1)))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1))
(*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (cos.f64 th))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))))
(+.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)) (fma.f64 a2 a2 (*.f64 a1 a1)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))))
(+.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)) (fma.f64 a2 a2 (*.f64 a1 a1)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))))
(+.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)) (fma.f64 a2 a2 (*.f64 a1 a1)))
(/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2))
(*.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (cos.f64 th))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))))
(+.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)) (fma.f64 a2 a2 (*.f64 a1 a1)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))))
(+.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)) (fma.f64 a2 a2 (*.f64 a1 a1)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))))
(+.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)) (fma.f64 a2 a2 (*.f64 a1 a1)))
(/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2))
(*.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (cos.f64 th))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))))
(+.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)) (fma.f64 a2 a2 (*.f64 a1 a1)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))))
(+.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)) (fma.f64 a2 a2 (*.f64 a1 a1)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))))
(+.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)) (fma.f64 a2 a2 (*.f64 a1 a1)))
(/.f64 (+.f64 (pow.f64 a1 2) (pow.f64 a2 2)) (sqrt.f64 2))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (sqrt.f64 2))
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2))
(-.f64 (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (*.f64 1/2 (/.f64 (*.f64 (pow.f64 a2 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 (*.f64 a1 a1) (*.f64 th th)) (sqrt.f64 2)) (/.f64 (*.f64 (*.f64 a2 a2) (*.f64 th th)) (sqrt.f64 2)))))
(+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (-.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (*.f64 1/2 (+.f64 (*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (*.f64 th th)) (*.f64 (/.f64 (*.f64 th th) (sqrt.f64 2)) (*.f64 a2 a2))))))
(fma.f64 -1/2 (*.f64 (*.f64 th th) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))))
(-.f64 (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 4)) (sqrt.f64 2))) (+.f64 (/.f64 (pow.f64 a1 2) (sqrt.f64 2)) (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 4)) (sqrt.f64 2)))))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (*.f64 1/2 (/.f64 (*.f64 (pow.f64 th 2) (pow.f64 a2 2)) (sqrt.f64 2)))))
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (-.f64 (fma.f64 1/24 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (pow.f64 th 4))) (fma.f64 1/24 (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (pow.f64 th 4))) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))) (*.f64 1/2 (+.f64 (/.f64 (*.f64 (*.f64 a1 a1) (*.f64 th th)) (sqrt.f64 2)) (/.f64 (*.f64 (*.f64 a2 a2) (*.f64 th th)) (sqrt.f64 2))))))
(+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (-.f64 (fma.f64 1/24 (*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (pow.f64 th 4)) (fma.f64 1/24 (*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (pow.f64 th 4)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))) (*.f64 1/2 (+.f64 (*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (*.f64 th th)) (*.f64 (/.f64 (*.f64 th th) (sqrt.f64 2)) (*.f64 a2 a2))))))
(fma.f64 -1/2 (*.f64 (*.f64 th th) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))) (fma.f64 1/24 (*.f64 (pow.f64 th 4) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))))
(-.f64 (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 4)) (sqrt.f64 2))) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 th 4) (pow.f64 a2 2)) (sqrt.f64 2))) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (+.f64 (*.f64 1/720 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 6)) (sqrt.f64 2))) (+.f64 (*.f64 1/720 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 6)) (sqrt.f64 2))) (*.f64 1/2 (/.f64 (*.f64 (pow.f64 th 2) (pow.f64 a2 2)) (sqrt.f64 2)))))))
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (-.f64 (fma.f64 1/24 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (pow.f64 th 4))) (fma.f64 1/24 (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (pow.f64 th 4))) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))) (fma.f64 1/2 (/.f64 (*.f64 (*.f64 a1 a1) (*.f64 th th)) (sqrt.f64 2)) (fma.f64 1/720 (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (pow.f64 th 6))) (fma.f64 1/720 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (pow.f64 th 6))) (*.f64 1/2 (/.f64 (*.f64 (*.f64 a2 a2) (*.f64 th th)) (sqrt.f64 2))))))))
(+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (-.f64 (fma.f64 1/24 (*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (pow.f64 th 4)) (fma.f64 1/24 (*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (pow.f64 th 4)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))) (+.f64 (*.f64 1/720 (+.f64 (/.f64 (*.f64 (*.f64 a2 a2) (pow.f64 th 6)) (sqrt.f64 2)) (*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (pow.f64 th 6)))) (*.f64 1/2 (+.f64 (*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (*.f64 th th)) (*.f64 (/.f64 (*.f64 th th) (sqrt.f64 2)) (*.f64 a2 a2)))))))
(-.f64 (fma.f64 1/24 (*.f64 (pow.f64 th 4) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))) (fma.f64 1/720 (*.f64 (pow.f64 th 6) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))) (*.f64 1/2 (*.f64 (*.f64 th th) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))))))
(/.f64 (*.f64 (cos.f64 th) (+.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (sqrt.f64 2))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))))
(+.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)) (fma.f64 a2 a2 (*.f64 a1 a1)))
(/.f64 (*.f64 (cos.f64 th) (+.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (sqrt.f64 2))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))))
(+.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)) (fma.f64 a2 a2 (*.f64 a1 a1)))
(/.f64 (*.f64 (cos.f64 th) (+.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (sqrt.f64 2))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))))
(+.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)) (fma.f64 a2 a2 (*.f64 a1 a1)))
(/.f64 (*.f64 (cos.f64 th) (+.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (sqrt.f64 2))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))))
(+.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)) (fma.f64 a2 a2 (*.f64 a1 a1)))
(/.f64 (*.f64 (cos.f64 th) (+.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (sqrt.f64 2))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))))
(+.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)) (fma.f64 a2 a2 (*.f64 a1 a1)))
(/.f64 (*.f64 (cos.f64 th) (+.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (sqrt.f64 2))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))))
(+.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)) (fma.f64 a2 a2 (*.f64 a1 a1)))
(/.f64 (*.f64 (cos.f64 th) (+.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (sqrt.f64 2))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))))
(+.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)) (fma.f64 a2 a2 (*.f64 a1 a1)))
(/.f64 (*.f64 (cos.f64 th) (+.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (sqrt.f64 2))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))))
(+.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)) (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 a1 2)) (*.f64 (cos.f64 th) (pow.f64 a2 2)))
(*.f64 (cos.f64 th) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (*.f64 (cos.f64 th) (pow.f64 a2 2)))
(*.f64 (cos.f64 th) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (*.f64 (cos.f64 th) (pow.f64 a2 2)))
(*.f64 (cos.f64 th) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1)))
(*.f64 (cos.f64 th) (pow.f64 a1 2))
(*.f64 (cos.f64 th) (*.f64 a1 a1))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (*.f64 (cos.f64 th) (pow.f64 a2 2)))
(*.f64 (cos.f64 th) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (*.f64 (cos.f64 th) (pow.f64 a2 2)))
(*.f64 (cos.f64 th) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (*.f64 (cos.f64 th) (pow.f64 a2 2)))
(*.f64 (cos.f64 th) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1)))
(*.f64 (cos.f64 th) (pow.f64 a1 2))
(*.f64 (cos.f64 th) (*.f64 a1 a1))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (*.f64 (cos.f64 th) (pow.f64 a2 2)))
(*.f64 (cos.f64 th) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (*.f64 (cos.f64 th) (pow.f64 a2 2)))
(*.f64 (cos.f64 th) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (*.f64 (cos.f64 th) (pow.f64 a2 2)))
(*.f64 (cos.f64 th) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1)))
(*.f64 (cos.f64 th) (pow.f64 a1 2))
(*.f64 (cos.f64 th) (*.f64 a1 a1))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (*.f64 (cos.f64 th) (pow.f64 a2 2)))
(*.f64 (cos.f64 th) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (*.f64 (cos.f64 th) (pow.f64 a2 2)))
(*.f64 (cos.f64 th) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (*.f64 (cos.f64 th) (pow.f64 a2 2)))
(*.f64 (cos.f64 th) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(*.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 a1 2)) (*.f64 (cos.f64 th) (pow.f64 a2 2)))
(*.f64 (cos.f64 th) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (*.f64 (cos.f64 th) (pow.f64 a2 2)))
(*.f64 (cos.f64 th) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (*.f64 (cos.f64 th) (pow.f64 a2 2)))
(*.f64 (cos.f64 th) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(*.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 a1 2)) (*.f64 (cos.f64 th) (pow.f64 a2 2)))
(*.f64 (cos.f64 th) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (*.f64 (cos.f64 th) (pow.f64 a2 2)))
(*.f64 (cos.f64 th) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (*.f64 (cos.f64 th) (pow.f64 a2 2)))
(*.f64 (cos.f64 th) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1)))
(+.f64 (pow.f64 a1 2) (pow.f64 a2 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a2 a2 (*.f64 a1 a1))
(-.f64 (+.f64 (pow.f64 a1 2) (pow.f64 a2 2)) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a2 2) (pow.f64 th 2))) (*.f64 1/2 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)))))
(+.f64 (*.f64 a1 a1) (-.f64 (*.f64 a2 a2) (*.f64 1/2 (+.f64 (*.f64 (*.f64 a2 a2) (*.f64 th th)) (*.f64 (*.f64 a1 a1) (*.f64 th th))))))
(fma.f64 a1 a1 (fma.f64 a2 a2 (*.f64 -1/2 (*.f64 (*.f64 th th) (fma.f64 a2 a2 (*.f64 a1 a1))))))
(fma.f64 a2 a2 (fma.f64 a1 a1 (*.f64 (*.f64 -1/2 (*.f64 th th)) (fma.f64 a2 a2 (*.f64 a1 a1)))))
(-.f64 (+.f64 (pow.f64 a1 2) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 a1 2) (pow.f64 th 4))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 th 4) (pow.f64 a2 2))) (pow.f64 a2 2)))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a2 2) (pow.f64 th 2))) (*.f64 1/2 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)))))
(+.f64 (*.f64 a1 a1) (-.f64 (fma.f64 1/24 (*.f64 (*.f64 a1 a1) (pow.f64 th 4)) (fma.f64 1/24 (*.f64 (*.f64 a2 a2) (pow.f64 th 4)) (*.f64 a2 a2))) (*.f64 1/2 (+.f64 (*.f64 (*.f64 a2 a2) (*.f64 th th)) (*.f64 (*.f64 a1 a1) (*.f64 th th))))))
(fma.f64 a1 a1 (+.f64 (fma.f64 1/24 (*.f64 a1 (*.f64 a1 (pow.f64 th 4))) (*.f64 (+.f64 (*.f64 1/24 (pow.f64 th 4)) 1) (*.f64 a2 a2))) (*.f64 -1/2 (*.f64 (*.f64 th th) (fma.f64 a2 a2 (*.f64 a1 a1))))))
(fma.f64 a1 a1 (fma.f64 1/24 (*.f64 (pow.f64 th 4) (fma.f64 a2 a2 (*.f64 a1 a1))) (fma.f64 a2 a2 (*.f64 (*.f64 -1/2 (*.f64 th th)) (fma.f64 a2 a2 (*.f64 a1 a1))))))
(-.f64 (+.f64 (pow.f64 a1 2) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 a1 2) (pow.f64 th 4))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 th 4) (pow.f64 a2 2))) (pow.f64 a2 2)))) (+.f64 (*.f64 1/720 (*.f64 (pow.f64 a2 2) (pow.f64 th 6))) (+.f64 (*.f64 1/720 (*.f64 (pow.f64 a1 2) (pow.f64 th 6))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a2 2) (pow.f64 th 2))) (*.f64 1/2 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)))))))
(-.f64 (+.f64 (*.f64 a1 a1) (fma.f64 1/24 (*.f64 (*.f64 a1 a1) (pow.f64 th 4)) (fma.f64 1/24 (*.f64 (*.f64 a2 a2) (pow.f64 th 4)) (*.f64 a2 a2)))) (fma.f64 1/720 (*.f64 (*.f64 a2 a2) (pow.f64 th 6)) (fma.f64 1/720 (*.f64 (*.f64 a1 a1) (pow.f64 th 6)) (*.f64 1/2 (+.f64 (*.f64 (*.f64 a2 a2) (*.f64 th th)) (*.f64 (*.f64 a1 a1) (*.f64 th th)))))))
(-.f64 (fma.f64 a1 a1 (fma.f64 1/24 (*.f64 a1 (*.f64 a1 (pow.f64 th 4))) (*.f64 (+.f64 (*.f64 1/24 (pow.f64 th 4)) 1) (*.f64 a2 a2)))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 th th) (fma.f64 a2 a2 (*.f64 a1 a1)))) (*.f64 (pow.f64 th 6) (+.f64 (*.f64 (*.f64 a2 a2) 1/720) (*.f64 (*.f64 a1 a1) 1/720)))))
(fma.f64 a1 a1 (-.f64 (fma.f64 a2 a2 (*.f64 (*.f64 1/24 (pow.f64 th 4)) (fma.f64 a2 a2 (*.f64 a1 a1)))) (fma.f64 (pow.f64 th 6) (*.f64 1/720 (fma.f64 a2 a2 (*.f64 a1 a1))) (*.f64 (*.f64 (*.f64 th th) 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))))))
(*.f64 (+.f64 (pow.f64 a1 2) (pow.f64 a2 2)) (cos.f64 th))
(*.f64 (cos.f64 th) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1)))
(*.f64 (+.f64 (pow.f64 a1 2) (pow.f64 a2 2)) (cos.f64 th))
(*.f64 (cos.f64 th) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1)))
(*.f64 (+.f64 (pow.f64 a1 2) (pow.f64 a2 2)) (cos.f64 th))
(*.f64 (cos.f64 th) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1)))
(*.f64 (+.f64 (pow.f64 a1 2) (pow.f64 a2 2)) (cos.f64 th))
(*.f64 (cos.f64 th) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1)))
(*.f64 (cos.f64 th) (+.f64 (pow.f64 a1 2) (pow.f64 a2 2)))
(*.f64 (cos.f64 th) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1)))
(*.f64 (cos.f64 th) (+.f64 (pow.f64 a1 2) (pow.f64 a2 2)))
(*.f64 (cos.f64 th) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1)))
(*.f64 (cos.f64 th) (+.f64 (pow.f64 a1 2) (pow.f64 a2 2)))
(*.f64 (cos.f64 th) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1)))
(*.f64 (cos.f64 th) (+.f64 (pow.f64 a1 2) (pow.f64 a2 2)))
(*.f64 (cos.f64 th) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1)))
a2
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 a1 2) a2)) a2)
(fma.f64 1/2 (/.f64 (*.f64 a1 a1) a2) a2)
(fma.f64 1/2 (/.f64 a1 (/.f64 a2 a1)) a2)
(fma.f64 1/2 (*.f64 (/.f64 a1 a2) a1) a2)
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 a1 2) a2)) a2) (*.f64 1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3))))
(+.f64 (fma.f64 1/2 (/.f64 (*.f64 a1 a1) a2) a2) (*.f64 -1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3))))
(+.f64 (fma.f64 1/2 (/.f64 a1 (/.f64 a2 a1)) a2) (/.f64 (*.f64 -1/8 (pow.f64 a1 4)) (pow.f64 a2 3)))
(fma.f64 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3)) -1/8 (fma.f64 1/2 (*.f64 (/.f64 a1 a2) a1) a2))
(-.f64 (+.f64 (*.f64 1/16 (/.f64 (pow.f64 a1 6) (pow.f64 a2 5))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 a1 2) a2)) a2)) (*.f64 1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3))))
(+.f64 (fma.f64 1/16 (/.f64 (pow.f64 a1 6) (pow.f64 a2 5)) (fma.f64 1/2 (/.f64 (*.f64 a1 a1) a2) a2)) (*.f64 -1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3))))
(+.f64 (fma.f64 1/16 (/.f64 (pow.f64 a1 6) (pow.f64 a2 5)) (fma.f64 1/2 (/.f64 a1 (/.f64 a2 a1)) a2)) (/.f64 (*.f64 -1/8 (pow.f64 a1 4)) (pow.f64 a2 3)))
(fma.f64 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3)) -1/8 (fma.f64 1/16 (/.f64 (pow.f64 a1 6) (pow.f64 a2 5)) (fma.f64 1/2 (*.f64 (/.f64 a1 a2) a1) a2)))
a1
(+.f64 a1 (*.f64 1/2 (/.f64 (pow.f64 a2 2) a1)))
(+.f64 a1 (*.f64 1/2 (/.f64 (*.f64 a2 a2) a1)))
(fma.f64 1/2 (/.f64 a2 (/.f64 a1 a2)) a1)
(fma.f64 1/2 (*.f64 (/.f64 a2 a1) a2) a1)
(-.f64 (+.f64 a1 (*.f64 1/2 (/.f64 (pow.f64 a2 2) a1))) (*.f64 1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3))))
(+.f64 a1 (-.f64 (*.f64 1/2 (/.f64 (*.f64 a2 a2) a1)) (/.f64 (*.f64 1/8 (pow.f64 a2 4)) (pow.f64 a1 3))))
(+.f64 a1 (fma.f64 1/2 (/.f64 a2 (/.f64 a1 a2)) (*.f64 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3)) -1/8)))
(fma.f64 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3)) -1/8 (fma.f64 1/2 (*.f64 (/.f64 a2 a1) a2) a1))
(-.f64 (+.f64 (*.f64 1/16 (/.f64 (pow.f64 a2 6) (pow.f64 a1 5))) (+.f64 a1 (*.f64 1/2 (/.f64 (pow.f64 a2 2) a1)))) (*.f64 1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3))))
(+.f64 (fma.f64 1/16 (/.f64 (pow.f64 a2 6) (pow.f64 a1 5)) (+.f64 a1 (*.f64 1/2 (/.f64 (*.f64 a2 a2) a1)))) (*.f64 -1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3))))
(+.f64 (fma.f64 1/16 (/.f64 (pow.f64 a2 6) (pow.f64 a1 5)) (fma.f64 1/2 (/.f64 a2 (/.f64 a1 a2)) a1)) (*.f64 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3)) -1/8))
(fma.f64 1/16 (/.f64 (pow.f64 a2 6) (pow.f64 a1 5)) (fma.f64 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3)) -1/8 (fma.f64 1/2 (*.f64 (/.f64 a2 a1) a2) a1)))
(*.f64 -1 a1)
(neg.f64 a1)
(neg.f64 (+.f64 a1 (*.f64 1/2 (/.f64 (pow.f64 a2 2) a1))))
(neg.f64 (+.f64 a1 (*.f64 1/2 (/.f64 (*.f64 a2 a2) a1))))
(neg.f64 (fma.f64 1/2 (/.f64 a2 (/.f64 a1 a2)) a1))
(-.f64 (/.f64 -1/2 (/.f64 (/.f64 a1 a2) a2)) a1)
(-.f64 (*.f64 1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3))) (+.f64 a1 (*.f64 1/2 (/.f64 (pow.f64 a2 2) a1))))
(-.f64 (-.f64 (/.f64 (*.f64 1/8 (pow.f64 a2 4)) (pow.f64 a1 3)) a1) (*.f64 1/2 (/.f64 (*.f64 a2 a2) a1)))
(-.f64 (*.f64 1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3))) (fma.f64 1/2 (/.f64 a2 (/.f64 a1 a2)) a1))
(-.f64 (*.f64 1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3))) (fma.f64 1/2 (*.f64 (/.f64 a2 a1) a2) a1))
(-.f64 (*.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 1/2 (/.f64 (pow.f64 a2 2) a1)))))
(-.f64 (/.f64 (*.f64 1/8 (pow.f64 a2 4)) (pow.f64 a1 3)) (fma.f64 1/16 (/.f64 (pow.f64 a2 6) (pow.f64 a1 5)) (+.f64 a1 (*.f64 1/2 (/.f64 (*.f64 a2 a2) a1)))))
(-.f64 (*.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)) (fma.f64 1/2 (/.f64 a2 (/.f64 a1 a2)) a1)))
(-.f64 (*.f64 1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3))) (fma.f64 1/2 (*.f64 (/.f64 a2 a1) a2) (fma.f64 1/16 (/.f64 (pow.f64 a2 6) (pow.f64 a1 5)) a1)))
a1
(+.f64 a1 (*.f64 1/2 (/.f64 (pow.f64 a2 2) a1)))
(+.f64 a1 (*.f64 1/2 (/.f64 (*.f64 a2 a2) a1)))
(fma.f64 1/2 (/.f64 a2 (/.f64 a1 a2)) a1)
(fma.f64 1/2 (*.f64 (/.f64 a2 a1) a2) a1)
(-.f64 (+.f64 a1 (*.f64 1/2 (/.f64 (pow.f64 a2 2) a1))) (*.f64 1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3))))
(+.f64 a1 (-.f64 (*.f64 1/2 (/.f64 (*.f64 a2 a2) a1)) (/.f64 (*.f64 1/8 (pow.f64 a2 4)) (pow.f64 a1 3))))
(+.f64 a1 (fma.f64 1/2 (/.f64 a2 (/.f64 a1 a2)) (*.f64 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3)) -1/8)))
(fma.f64 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3)) -1/8 (fma.f64 1/2 (*.f64 (/.f64 a2 a1) a2) a1))
(-.f64 (+.f64 (*.f64 1/16 (/.f64 (pow.f64 a2 6) (pow.f64 a1 5))) (+.f64 a1 (*.f64 1/2 (/.f64 (pow.f64 a2 2) a1)))) (*.f64 1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3))))
(+.f64 (fma.f64 1/16 (/.f64 (pow.f64 a2 6) (pow.f64 a1 5)) (+.f64 a1 (*.f64 1/2 (/.f64 (*.f64 a2 a2) a1)))) (*.f64 -1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3))))
(+.f64 (fma.f64 1/16 (/.f64 (pow.f64 a2 6) (pow.f64 a1 5)) (fma.f64 1/2 (/.f64 a2 (/.f64 a1 a2)) a1)) (*.f64 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3)) -1/8))
(fma.f64 1/16 (/.f64 (pow.f64 a2 6) (pow.f64 a1 5)) (fma.f64 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3)) -1/8 (fma.f64 1/2 (*.f64 (/.f64 a2 a1) a2) a1)))
a2
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 a1 2) a2)) a2)
(fma.f64 1/2 (/.f64 (*.f64 a1 a1) a2) a2)
(fma.f64 1/2 (/.f64 a1 (/.f64 a2 a1)) a2)
(fma.f64 1/2 (*.f64 (/.f64 a1 a2) a1) a2)
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 a1 2) a2)) a2) (*.f64 1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3))))
(+.f64 (fma.f64 1/2 (/.f64 (*.f64 a1 a1) a2) a2) (*.f64 -1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3))))
(+.f64 (fma.f64 1/2 (/.f64 a1 (/.f64 a2 a1)) a2) (/.f64 (*.f64 -1/8 (pow.f64 a1 4)) (pow.f64 a2 3)))
(fma.f64 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3)) -1/8 (fma.f64 1/2 (*.f64 (/.f64 a1 a2) a1) a2))
(-.f64 (+.f64 (*.f64 1/16 (/.f64 (pow.f64 a1 6) (pow.f64 a2 5))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 a1 2) a2)) a2)) (*.f64 1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3))))
(+.f64 (fma.f64 1/16 (/.f64 (pow.f64 a1 6) (pow.f64 a2 5)) (fma.f64 1/2 (/.f64 (*.f64 a1 a1) a2) a2)) (*.f64 -1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3))))
(+.f64 (fma.f64 1/16 (/.f64 (pow.f64 a1 6) (pow.f64 a2 5)) (fma.f64 1/2 (/.f64 a1 (/.f64 a2 a1)) a2)) (/.f64 (*.f64 -1/8 (pow.f64 a1 4)) (pow.f64 a2 3)))
(fma.f64 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3)) -1/8 (fma.f64 1/16 (/.f64 (pow.f64 a1 6) (pow.f64 a2 5)) (fma.f64 1/2 (*.f64 (/.f64 a1 a2) a1) a2)))
(*.f64 -1 a2)
(neg.f64 a2)
(neg.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 a1 2) a2)) a2))
(neg.f64 (fma.f64 1/2 (/.f64 (*.f64 a1 a1) a2) a2))
(neg.f64 (fma.f64 1/2 (/.f64 a1 (/.f64 a2 a1)) a2))
(-.f64 (/.f64 -1/2 (/.f64 a2 (*.f64 a1 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)) (neg.f64 (fma.f64 1/2 (/.f64 (*.f64 a1 a1) a2) a2)))
(-.f64 (/.f64 1/8 (/.f64 (pow.f64 a2 3) (pow.f64 a1 4))) (fma.f64 1/2 (/.f64 a1 (/.f64 a2 a1)) a2))
(fma.f64 1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3)) (-.f64 (/.f64 -1/2 (/.f64 a2 (*.f64 a1 a1))) 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 (*.f64 1/2 (/.f64 (pow.f64 a1 2) a2)) a2)))
(-.f64 (*.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)) (fma.f64 1/2 (/.f64 (*.f64 a1 a1) a2) a2)))
(-.f64 (/.f64 1/8 (/.f64 (pow.f64 a2 3) (pow.f64 a1 4))) (fma.f64 1/16 (/.f64 (pow.f64 a1 6) (pow.f64 a2 5)) (fma.f64 1/2 (/.f64 a1 (/.f64 a2 a1)) a2)))
(-.f64 (*.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)) (fma.f64 1/2 (*.f64 (/.f64 a1 a2) a1) a2)))
(pow.f64 a2 2)
(*.f64 a2 a2)
(+.f64 (pow.f64 a1 2) (pow.f64 a2 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a2 a2 (*.f64 a1 a1))
(+.f64 (pow.f64 a1 2) (pow.f64 a2 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a2 a2 (*.f64 a1 a1))
(+.f64 (pow.f64 a1 2) (pow.f64 a2 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a2 a2 (*.f64 a1 a1))
(pow.f64 a1 2)
(*.f64 a1 a1)
(+.f64 (pow.f64 a1 2) (pow.f64 a2 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a2 a2 (*.f64 a1 a1))
(+.f64 (pow.f64 a1 2) (pow.f64 a2 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a2 a2 (*.f64 a1 a1))
(+.f64 (pow.f64 a1 2) (pow.f64 a2 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a2 a2 (*.f64 a1 a1))
(pow.f64 a1 2)
(*.f64 a1 a1)
(+.f64 (pow.f64 a1 2) (pow.f64 a2 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a2 a2 (*.f64 a1 a1))
(+.f64 (pow.f64 a1 2) (pow.f64 a2 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a2 a2 (*.f64 a1 a1))
(+.f64 (pow.f64 a1 2) (pow.f64 a2 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a2 a2 (*.f64 a1 a1))
(pow.f64 a1 2)
(*.f64 a1 a1)
(+.f64 (pow.f64 a1 2) (pow.f64 a2 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a2 a2 (*.f64 a1 a1))
(+.f64 (pow.f64 a1 2) (pow.f64 a2 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a2 a2 (*.f64 a1 a1))
(+.f64 (pow.f64 a1 2) (pow.f64 a2 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a2 a2 (*.f64 a1 a1))
(pow.f64 a2 2)
(*.f64 a2 a2)
(+.f64 (pow.f64 a1 2) (pow.f64 a2 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a2 a2 (*.f64 a1 a1))
(+.f64 (pow.f64 a1 2) (pow.f64 a2 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a2 a2 (*.f64 a1 a1))
(+.f64 (pow.f64 a1 2) (pow.f64 a2 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a2 a2 (*.f64 a1 a1))
(pow.f64 a2 2)
(*.f64 a2 a2)
(+.f64 (pow.f64 a1 2) (pow.f64 a2 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a2 a2 (*.f64 a1 a1))
(+.f64 (pow.f64 a1 2) (pow.f64 a2 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a2 a2 (*.f64 a1 a1))
(+.f64 (pow.f64 a1 2) (pow.f64 a2 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a2 a2 (*.f64 a1 a1))

prune143.0ms (1.8%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New1921193
Fresh145
Picked011
Done000
Total1936199
Error
0b
Counts
199 → 6
Alt Table
StatusErrorProgram
0.4b
(/.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (cos.f64 th)) (sqrt.f64 2))
0.5b
(*.f64 (cos.f64 th) (*.f64 (hypot.f64 a1 a2) (*.f64 (hypot.f64 a1 a2) (pow.f64 2 -1/2))))
0.5b
(*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (*.f64 (cos.f64 th) (pow.f64 2 -1/2)))
15.7b
(pow.f64 (*.f64 (/.f64 (hypot.f64 a1 a2) (pow.f64 2 1/4)) (sqrt.f64 (cos.f64 th))) 2)
0.4b
(*.f64 (cos.f64 th) (*.f64 (neg.f64 (pow.f64 (hypot.f64 a1 a2) 2)) (/.f64 1 (neg.f64 (sqrt.f64 2)))))
0.5b
(*.f64 (cos.f64 th) (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (pow.f64 2 -1/2)))
Compiler

Compiled 3852 to 2387 computations (38% saved)

localize11.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(hypot.f64 a1 a2)
0.2b
(*.f64 (cos.f64 th) (*.f64 (neg.f64 (pow.f64 (hypot.f64 a1 a2) 2)) (/.f64 1 (neg.f64 (sqrt.f64 2)))))
0.4b
(*.f64 (neg.f64 (pow.f64 (hypot.f64 a1 a2) 2)) (/.f64 1 (neg.f64 (sqrt.f64 2))))
1.0b
(/.f64 1 (neg.f64 (sqrt.f64 2)))

series6.0ms (0.1%)

Counts
3 → 60
Calls

15 calls:

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

rewrite106.0ms (1.3%)

Algorithm
egg-rewrite-iter-limit
egg-rewrite
batch-egg-rewrite
Rules
148×add-sqr-sqrt_binary64
148×add-sqr-sqrt_binary64
144×pow1_binary64
144×pow1_binary64
142×*-un-lft-identity_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01545
130945
2433245
068
11218
214468
068
01216
124916
2340216
01216
01521
130921
2433721
01521
Stop Event
iter limit
unsound
iter limit
unsound
iter limit
unsound
unsound
Counts
3 → 25
Calls
Call 1
Inputs
(/.f64 1 (neg.f64 (sqrt.f64 2)))
(*.f64 (neg.f64 (pow.f64 (hypot.f64 a1 a2) 2)) (/.f64 1 (neg.f64 (sqrt.f64 2))))
(*.f64 (cos.f64 th) (*.f64 (neg.f64 (pow.f64 (hypot.f64 a1 a2) 2)) (/.f64 1 (neg.f64 (sqrt.f64 2)))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 1 (neg.f64 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (/.f64 1 (neg.f64 (sqrt.f64 2)))) (cbrt.f64 (/.f64 1 (neg.f64 (sqrt.f64 2))))) (cbrt.f64 (/.f64 1 (neg.f64 (sqrt.f64 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 1 (neg.f64 (sqrt.f64 2)))) (sqrt.f64 (/.f64 1 (neg.f64 (sqrt.f64 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (neg.f64 (sqrt.f64 2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (neg.f64 (sqrt.f64 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 1 (neg.f64 (sqrt.f64 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (*.f64 (/.f64 1 (neg.f64 (sqrt.f64 2))) (/.f64 1 (neg.f64 (sqrt.f64 2)))) (/.f64 1 (neg.f64 (sqrt.f64 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 1 (neg.f64 (sqrt.f64 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 1 (neg.f64 (sqrt.f64 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 1 (neg.f64 (sqrt.f64 2)))))))))
((#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (pow.f64 (hypot.f64 a1 a2) 2)) (neg.f64 (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (pow.f64 (hypot.f64 a1 a2) 2)) 1) (neg.f64 (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (neg.f64 (pow.f64 (hypot.f64 a1 a2) 2)) (neg.f64 (sqrt.f64 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (/.f64 1 (neg.f64 (sqrt.f64 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (neg.f64 (pow.f64 (hypot.f64 a1 a2) 2)) (neg.f64 (sqrt.f64 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (*.f64 (/.f64 (neg.f64 (pow.f64 (hypot.f64 a1 a2) 2)) (neg.f64 (sqrt.f64 2))) (/.f64 (neg.f64 (pow.f64 (hypot.f64 a1 a2) 2)) (neg.f64 (sqrt.f64 2)))) (/.f64 (neg.f64 (pow.f64 (hypot.f64 a1 a2) 2)) (neg.f64 (sqrt.f64 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (neg.f64 (pow.f64 (hypot.f64 a1 a2) 2)) (neg.f64 (sqrt.f64 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (neg.f64 (pow.f64 (hypot.f64 a1 a2) 2)) (neg.f64 (sqrt.f64 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (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 (neg.f64 (pow.f64 (hypot.f64 a1 a2) 2)) (neg.f64 (sqrt.f64 2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 (cos.f64 th) (/.f64 (neg.f64 (pow.f64 (hypot.f64 a1 a2) 2)) (neg.f64 (sqrt.f64 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (*.f64 (*.f64 (cos.f64 th) (/.f64 (neg.f64 (pow.f64 (hypot.f64 a1 a2) 2)) (neg.f64 (sqrt.f64 2)))) (*.f64 (cos.f64 th) (/.f64 (neg.f64 (pow.f64 (hypot.f64 a1 a2) 2)) (neg.f64 (sqrt.f64 2))))) (*.f64 (cos.f64 th) (/.f64 (neg.f64 (pow.f64 (hypot.f64 a1 a2) 2)) (neg.f64 (sqrt.f64 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (cos.f64 th) (/.f64 (neg.f64 (pow.f64 (hypot.f64 a1 a2) 2)) (neg.f64 (sqrt.f64 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (cos.f64 th) (/.f64 (neg.f64 (pow.f64 (hypot.f64 a1 a2) 2)) (neg.f64 (sqrt.f64 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (cos.f64 th) (/.f64 (neg.f64 (pow.f64 (hypot.f64 a1 a2) 2)) (neg.f64 (sqrt.f64 2))))))))))

simplify40.0ms (0.5%)

Algorithm
egg-herbie
Rules
489×associate-/r/_binary64
338×unswap-sqr_binary64
331×fma-neg_binary64
276×sub-neg_binary64
206×associate-/l/_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0671313
11981259
26021215
327601173
Stop Event
node limit
Counts
85 → 46
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 a1 2) (pow.f64 a2 2)) (sqrt.f64 2))
(-.f64 (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (*.f64 1/2 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 2)) (sqrt.f64 2)))))
(-.f64 (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 4)) (sqrt.f64 2))) (+.f64 (/.f64 (pow.f64 a1 2) (sqrt.f64 2)) (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 4)) (sqrt.f64 2)))))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (*.f64 1/2 (/.f64 (*.f64 (pow.f64 th 2) (pow.f64 a2 2)) (sqrt.f64 2)))))
(-.f64 (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 4)) (sqrt.f64 2))) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 th 4) (pow.f64 a2 2)) (sqrt.f64 2))) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (+.f64 (*.f64 1/720 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 6)) (sqrt.f64 2))) (+.f64 (*.f64 1/720 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 6)) (sqrt.f64 2))) (*.f64 1/2 (/.f64 (*.f64 (pow.f64 th 2) (pow.f64 a2 2)) (sqrt.f64 2)))))))
(/.f64 (*.f64 (cos.f64 th) (+.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (+.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (+.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (+.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (+.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (+.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (+.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (+.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
Outputs
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(/.f64 a2 (/.f64 (sqrt.f64 2) a2))
(*.f64 (/.f64 a2 (sqrt.f64 2)) a2)
(+.f64 (/.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)))
(+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))
(+.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)))
(+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))
(+.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)))
(+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(/.f64 (*.f64 a1 a1) (sqrt.f64 2))
(/.f64 a1 (/.f64 (sqrt.f64 2) a1))
(+.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)))
(+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))
(+.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)))
(+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))
(+.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)))
(+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(/.f64 (*.f64 a1 a1) (sqrt.f64 2))
(/.f64 a1 (/.f64 (sqrt.f64 2) a1))
(+.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)))
(+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))
(+.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)))
(+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))
(+.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)))
(+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(/.f64 (*.f64 a1 a1) (sqrt.f64 2))
(/.f64 a1 (/.f64 (sqrt.f64 2) a1))
(+.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)))
(+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))
(+.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)))
(+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))
(+.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)))
(+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(/.f64 a2 (/.f64 (sqrt.f64 2) a2))
(*.f64 (/.f64 a2 (sqrt.f64 2)) a2)
(+.f64 (/.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)))
(+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))
(+.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)))
(+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))
(+.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)))
(+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(/.f64 a2 (/.f64 (sqrt.f64 2) a2))
(*.f64 (/.f64 a2 (sqrt.f64 2)) a2)
(+.f64 (/.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)))
(+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))
(+.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)))
(+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))
(+.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)))
(+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))
(/.f64 (+.f64 (pow.f64 a1 2) (pow.f64 a2 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 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (*.f64 1/2 (/.f64 (*.f64 (pow.f64 a2 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 (sqrt.f64 2) (*.f64 th th))) (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (*.f64 th th)))))))
(+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (+.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (*.f64 -1/2 (+.f64 (*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (*.f64 th th)) (*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (*.f64 th th))))))
(fma.f64 -1/2 (*.f64 (*.f64 th th) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))))
(fma.f64 -1/2 (*.f64 (/.f64 (*.f64 th th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2))) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))))
(-.f64 (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 4)) (sqrt.f64 2))) (+.f64 (/.f64 (pow.f64 a1 2) (sqrt.f64 2)) (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 4)) (sqrt.f64 2)))))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (*.f64 1/2 (/.f64 (*.f64 (pow.f64 th 2) (pow.f64 a2 2)) (sqrt.f64 2)))))
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (-.f64 (fma.f64 1/24 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (pow.f64 th 4))) (fma.f64 1/24 (/.f64 (pow.f64 th 4) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))) (*.f64 1/2 (+.f64 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (*.f64 th th))) (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (*.f64 th th)))))))
(+.f64 (fma.f64 1/24 (*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (pow.f64 th 4)) (fma.f64 1/24 (*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (pow.f64 th 4)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))) (+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (*.f64 -1/2 (+.f64 (*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (*.f64 th th)) (*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (*.f64 th th))))))
(fma.f64 -1/2 (*.f64 (*.f64 th th) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (fma.f64 1/24 (*.f64 (pow.f64 th 4) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))))
(+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (fma.f64 1/24 (*.f64 (/.f64 (pow.f64 th 4) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2))) (fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (*.f64 (*.f64 (/.f64 (*.f64 th th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2))) -1/2))))
(-.f64 (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 4)) (sqrt.f64 2))) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 th 4) (pow.f64 a2 2)) (sqrt.f64 2))) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (+.f64 (*.f64 1/720 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 6)) (sqrt.f64 2))) (+.f64 (*.f64 1/720 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 6)) (sqrt.f64 2))) (*.f64 1/2 (/.f64 (*.f64 (pow.f64 th 2) (pow.f64 a2 2)) (sqrt.f64 2)))))))
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (-.f64 (fma.f64 1/24 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (pow.f64 th 4))) (fma.f64 1/24 (/.f64 (pow.f64 th 4) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))) (fma.f64 1/2 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (*.f64 th th))) (fma.f64 1/720 (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (pow.f64 th 6))) (fma.f64 1/720 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (pow.f64 th 6))) (*.f64 1/2 (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (*.f64 th th)))))))))
(+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (-.f64 (fma.f64 1/24 (*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (pow.f64 th 4)) (fma.f64 1/24 (*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (pow.f64 th 4)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))) (fma.f64 1/2 (*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (*.f64 th th)) (fma.f64 1/720 (*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (pow.f64 th 6)) (fma.f64 1/2 (*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (*.f64 th th)) (*.f64 1/720 (*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (pow.f64 th 6))))))))
(+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (-.f64 (fma.f64 1/24 (*.f64 (pow.f64 th 4) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))) (fma.f64 1/720 (*.f64 (pow.f64 th 6) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))) (*.f64 1/2 (*.f64 (*.f64 th th) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))))))))
(+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (+.f64 (fma.f64 1/24 (*.f64 (/.f64 (pow.f64 th 4) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2))) (fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (*.f64 (*.f64 (/.f64 (*.f64 th th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2))) -1/2))) (*.f64 (*.f64 (/.f64 (pow.f64 th 6) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2))) -1/720)))
(/.f64 (*.f64 (cos.f64 th) (+.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (sqrt.f64 2))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (cos.f64 th) (+.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (sqrt.f64 2))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (cos.f64 th) (+.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (sqrt.f64 2))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (cos.f64 th) (+.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (sqrt.f64 2))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (cos.f64 th) (+.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (sqrt.f64 2))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (cos.f64 th) (+.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (sqrt.f64 2))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (cos.f64 th) (+.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (sqrt.f64 2))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (cos.f64 th) (+.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (sqrt.f64 2))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1)))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1))
(*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1)))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1))
(*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1)))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1))
(*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 2)) (sqrt.f64 2)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))

prune77.0ms (1%)

Pruning

6 alts after pruning (4 fresh and 2 done)

PrunedKeptTotal
New1000100
Fresh044
Picked011
Done011
Total1006106
Error
0b
Counts
106 → 6
Alt Table
StatusErrorProgram
0.4b
(/.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (cos.f64 th)) (sqrt.f64 2))
0.5b
(*.f64 (cos.f64 th) (*.f64 (hypot.f64 a1 a2) (*.f64 (hypot.f64 a1 a2) (pow.f64 2 -1/2))))
0.5b
(*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (*.f64 (cos.f64 th) (pow.f64 2 -1/2)))
15.7b
(pow.f64 (*.f64 (/.f64 (hypot.f64 a1 a2) (pow.f64 2 1/4)) (sqrt.f64 (cos.f64 th))) 2)
0.4b
(*.f64 (cos.f64 th) (*.f64 (neg.f64 (pow.f64 (hypot.f64 a1 a2) 2)) (/.f64 1 (neg.f64 (sqrt.f64 2)))))
0.5b
(*.f64 (cos.f64 th) (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (pow.f64 2 -1/2)))
Compiler

Compiled 2403 to 1700 computations (29.3% saved)

localize11.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series14.0ms (0.2%)

Counts
3 → 84
Calls

21 calls:

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

rewrite49.0ms (0.6%)

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

simplify44.0ms (0.6%)

Algorithm
egg-herbie
Rules
672×fma-def_binary64
605×associate-*l*_binary64
419×cancel-sign-sub-inv_binary64
302×times-frac_binary64
228×associate-/l*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01181983
13891812
214081780
Stop Event
node limit
Counts
138 → 107
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 (*.f64 (sqrt.f64 1/2) a2) (*.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 (*.f64 1/16 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 6)) (pow.f64 a2 5))) (+.f64 (*.f64 (sqrt.f64 1/2) a2) (*.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 (sqrt.f64 1/2) a1)
(+.f64 (*.f64 (sqrt.f64 1/2) a1) (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) a1)))
(-.f64 (+.f64 (*.f64 (sqrt.f64 1/2) a1) (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) a1))) (*.f64 1/8 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 4)) (pow.f64 a1 3))))
(-.f64 (+.f64 (*.f64 1/16 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 6)) (pow.f64 a1 5))) (+.f64 (*.f64 (sqrt.f64 1/2) a1) (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) a1)))) (*.f64 1/8 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 4)) (pow.f64 a1 3))))
(*.f64 -1 (*.f64 (sqrt.f64 1/2) a1))
(neg.f64 (+.f64 (*.f64 (sqrt.f64 1/2) a1) (*.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/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 1/16 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 6)) (pow.f64 a1 5))) (+.f64 (*.f64 (sqrt.f64 1/2) a1) (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) a1)))))
(*.f64 (sqrt.f64 1/2) a1)
(+.f64 (*.f64 (sqrt.f64 1/2) a1) (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) a1)))
(-.f64 (+.f64 (*.f64 (sqrt.f64 1/2) a1) (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) a1))) (*.f64 1/8 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 4)) (pow.f64 a1 3))))
(-.f64 (+.f64 (*.f64 1/16 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 6)) (pow.f64 a1 5))) (+.f64 (*.f64 (sqrt.f64 1/2) a1) (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) a1)))) (*.f64 1/8 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 4)) (pow.f64 a1 3))))
(*.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 (*.f64 (sqrt.f64 1/2) a2) (*.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 (*.f64 1/16 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 6)) (pow.f64 a2 5))) (+.f64 (*.f64 (sqrt.f64 1/2) a2) (*.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 -1 (*.f64 (sqrt.f64 1/2) a2))
(neg.f64 (+.f64 (*.f64 (sqrt.f64 1/2) a2) (*.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 (*.f64 (sqrt.f64 1/2) a2) (*.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 (*.f64 1/16 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 6)) (pow.f64 a2 5))) (+.f64 (*.f64 (sqrt.f64 1/2) a2) (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)) a2)))))
(*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))
(+.f64 (*.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 a1 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)) (*.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 a1 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)))
(+.f64 (*.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 a1 2)) (*.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 a1 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)))
(+.f64 (*.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 a1 2)) (*.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 a1 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)))
(+.f64 (*.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 a1 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)))
(*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)))
(+.f64 (*.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 a1 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)))
(*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)))
(+.f64 (*.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 a1 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)))
(*.f64 (+.f64 (pow.f64 a1 2) (pow.f64 a2 2)) (sqrt.f64 1/2))
(-.f64 (+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (pow.f64 th 2)))) (*.f64 1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (pow.f64 th 2))))))
(-.f64 (+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)) (+.f64 (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (pow.f64 th 4)))) (+.f64 (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (pow.f64 th 4)))) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))))) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (pow.f64 th 2)))) (*.f64 1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 th 2) (pow.f64 a2 2))))))
(-.f64 (+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)) (+.f64 (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (pow.f64 th 4)))) (+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 th 4) (pow.f64 a2 2))))))) (+.f64 (*.f64 1/720 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (pow.f64 th 6)))) (+.f64 (*.f64 1/720 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (pow.f64 th 6)))) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (pow.f64 th 2)))) (*.f64 1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 th 2) (pow.f64 a2 2))))))))
(*.f64 (+.f64 (pow.f64 a1 2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (+.f64 (pow.f64 a1 2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (+.f64 (pow.f64 a1 2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (+.f64 (pow.f64 a1 2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (cos.f64 th) (*.f64 (+.f64 (pow.f64 a1 2) (pow.f64 a2 2)) (sqrt.f64 1/2)))
(*.f64 (cos.f64 th) (*.f64 (+.f64 (pow.f64 a1 2) (pow.f64 a2 2)) (sqrt.f64 1/2)))
(*.f64 (cos.f64 th) (*.f64 (+.f64 (pow.f64 a1 2) (pow.f64 a2 2)) (sqrt.f64 1/2)))
(*.f64 (cos.f64 th) (*.f64 (+.f64 (pow.f64 a1 2) (pow.f64 a2 2)) (sqrt.f64 1/2)))
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)))
(+.f64 (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2))) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a2 2))))
(+.f64 (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2))) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a2 2))))
(+.f64 (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2))) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a2 2))))
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a1 2))) (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a1 2))) (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a1 2))) (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))))
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a1 2))) (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a1 2))) (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a1 2))) (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))))
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a1 2))) (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a1 2))) (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a1 2))) (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))))
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)))
(+.f64 (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2))) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a2 2))))
(+.f64 (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2))) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a2 2))))
(+.f64 (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2))) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a2 2))))
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a1 2))) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a2 2))))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a1 2))) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a2 2))))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a1 2))) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a2 2))))
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 (*.f64 (sqrt.f64 1/2) a2) (*.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 (fma.f64 (sqrt.f64 1/2) a2 (*.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 (/.f64 (sqrt.f64 1/2) (/.f64 (pow.f64 a2 3) (pow.f64 a1 4))) -1/8)))
(fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 1/2) a2) (*.f64 a1 a1)) (fma.f64 (sqrt.f64 1/2) a2 (*.f64 (*.f64 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3)) (sqrt.f64 1/2)) -1/8)))
(-.f64 (+.f64 (*.f64 1/16 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 6)) (pow.f64 a2 5))) (+.f64 (*.f64 (sqrt.f64 1/2) a2) (*.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 (fma.f64 1/16 (/.f64 (sqrt.f64 1/2) (/.f64 (pow.f64 a2 5) (pow.f64 a1 6))) (fma.f64 (sqrt.f64 1/2) a2 (*.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 1/16 (/.f64 (pow.f64 a1 6) (/.f64 (pow.f64 a2 5) (sqrt.f64 1/2))) (fma.f64 (sqrt.f64 1/2) a2 (fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 1/2) a2) (*.f64 a1 a1)) (*.f64 (/.f64 (sqrt.f64 1/2) (/.f64 (pow.f64 a2 3) (pow.f64 a1 4))) -1/8))))
(fma.f64 1/16 (*.f64 (/.f64 (pow.f64 a1 6) (pow.f64 a2 5)) (sqrt.f64 1/2)) (fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 1/2) a2) (*.f64 a1 a1)) (fma.f64 (sqrt.f64 1/2) a2 (*.f64 (*.f64 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3)) (sqrt.f64 1/2)) -1/8))))
(*.f64 (sqrt.f64 1/2) a1)
(+.f64 (*.f64 (sqrt.f64 1/2) a1) (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) a1)))
(fma.f64 (sqrt.f64 1/2) a1 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) (/.f64 a1 (*.f64 a2 a2)))))
(fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 1/2) a1) (*.f64 a2 a2)) (*.f64 (sqrt.f64 1/2) a1))
(-.f64 (+.f64 (*.f64 (sqrt.f64 1/2) a1) (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) a1))) (*.f64 1/8 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 4)) (pow.f64 a1 3))))
(+.f64 (fma.f64 (sqrt.f64 1/2) a1 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) (/.f64 a1 (*.f64 a2 a2))))) (*.f64 -1/8 (/.f64 (sqrt.f64 1/2) (/.f64 (pow.f64 a1 3) (pow.f64 a2 4)))))
(fma.f64 (sqrt.f64 1/2) a1 (fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 1/2) a1) (*.f64 a2 a2)) (/.f64 (*.f64 -1/8 (sqrt.f64 1/2)) (/.f64 (pow.f64 a1 3) (pow.f64 a2 4)))))
(fma.f64 (sqrt.f64 1/2) a1 (fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 1/2) a1) (*.f64 a2 a2)) (*.f64 (/.f64 (*.f64 -1/8 (sqrt.f64 1/2)) (pow.f64 a1 3)) (pow.f64 a2 4))))
(-.f64 (+.f64 (*.f64 1/16 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 6)) (pow.f64 a1 5))) (+.f64 (*.f64 (sqrt.f64 1/2) a1) (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) a1)))) (*.f64 1/8 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 4)) (pow.f64 a1 3))))
(+.f64 (fma.f64 1/16 (/.f64 (sqrt.f64 1/2) (/.f64 (pow.f64 a1 5) (pow.f64 a2 6))) (fma.f64 (sqrt.f64 1/2) a1 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) (/.f64 a1 (*.f64 a2 a2)))))) (*.f64 -1/8 (/.f64 (sqrt.f64 1/2) (/.f64 (pow.f64 a1 3) (pow.f64 a2 4)))))
(fma.f64 1/16 (*.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 a1 5)) (pow.f64 a2 6)) (fma.f64 (sqrt.f64 1/2) a1 (fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 1/2) a1) (*.f64 a2 a2)) (/.f64 (*.f64 -1/8 (sqrt.f64 1/2)) (/.f64 (pow.f64 a1 3) (pow.f64 a2 4))))))
(fma.f64 (*.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 a1 3)) (pow.f64 a2 4)) -1/8 (fma.f64 (sqrt.f64 1/2) a1 (fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 1/2) a1) (*.f64 a2 a2)) (*.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 a1 5)) (*.f64 (pow.f64 a2 6) 1/16)))))
(*.f64 -1 (*.f64 (sqrt.f64 1/2) a1))
(neg.f64 (*.f64 (sqrt.f64 1/2) a1))
(*.f64 (sqrt.f64 1/2) (neg.f64 a1))
(*.f64 a1 (neg.f64 (sqrt.f64 1/2)))
(neg.f64 (+.f64 (*.f64 (sqrt.f64 1/2) a1) (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) a1))))
(neg.f64 (fma.f64 (sqrt.f64 1/2) a1 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) (/.f64 a1 (*.f64 a2 a2))))))
(neg.f64 (fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 1/2) a1) (*.f64 a2 a2)) (*.f64 (sqrt.f64 1/2) a1)))
(-.f64 (*.f64 (/.f64 (sqrt.f64 1/2) a1) (*.f64 (*.f64 a2 a2) -1/2)) (*.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 (sqrt.f64 1/2) a1) (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) a1))))
(-.f64 (*.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/2 (/.f64 (sqrt.f64 1/2) (/.f64 a1 (*.f64 a2 a2))))))
(-.f64 (/.f64 (*.f64 (*.f64 1/8 (sqrt.f64 1/2)) (pow.f64 a2 4)) (pow.f64 a1 3)) (fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 1/2) a1) (*.f64 a2 a2)) (*.f64 (sqrt.f64 1/2) a1)))
(-.f64 (/.f64 1/8 (/.f64 (/.f64 (pow.f64 a1 3) (pow.f64 a2 4)) (sqrt.f64 1/2))) (fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 1/2) a1) (*.f64 a2 a2)) (*.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/16 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 6)) (pow.f64 a1 5))) (+.f64 (*.f64 (sqrt.f64 1/2) a1) (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) a1)))))
(-.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (/.f64 (pow.f64 a1 3) (pow.f64 a2 4)))) (fma.f64 1/16 (/.f64 (sqrt.f64 1/2) (/.f64 (pow.f64 a1 5) (pow.f64 a2 6))) (fma.f64 (sqrt.f64 1/2) a1 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) (/.f64 a1 (*.f64 a2 a2)))))))
(-.f64 (/.f64 (*.f64 (*.f64 1/8 (sqrt.f64 1/2)) (pow.f64 a2 4)) (pow.f64 a1 3)) (fma.f64 1/16 (*.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 a1 5)) (pow.f64 a2 6)) (fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 1/2) a1) (*.f64 a2 a2)) (*.f64 (sqrt.f64 1/2) a1))))
(-.f64 (/.f64 1/8 (/.f64 (/.f64 (pow.f64 a1 3) (pow.f64 a2 4)) (sqrt.f64 1/2))) (fma.f64 (sqrt.f64 1/2) a1 (fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 1/2) a1) (*.f64 a2 a2)) (*.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 a1 5)) (*.f64 (pow.f64 a2 6) 1/16)))))
(*.f64 (sqrt.f64 1/2) a1)
(+.f64 (*.f64 (sqrt.f64 1/2) a1) (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) a1)))
(fma.f64 (sqrt.f64 1/2) a1 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) (/.f64 a1 (*.f64 a2 a2)))))
(fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 1/2) a1) (*.f64 a2 a2)) (*.f64 (sqrt.f64 1/2) a1))
(-.f64 (+.f64 (*.f64 (sqrt.f64 1/2) a1) (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) a1))) (*.f64 1/8 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 4)) (pow.f64 a1 3))))
(+.f64 (fma.f64 (sqrt.f64 1/2) a1 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) (/.f64 a1 (*.f64 a2 a2))))) (*.f64 -1/8 (/.f64 (sqrt.f64 1/2) (/.f64 (pow.f64 a1 3) (pow.f64 a2 4)))))
(fma.f64 (sqrt.f64 1/2) a1 (fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 1/2) a1) (*.f64 a2 a2)) (/.f64 (*.f64 -1/8 (sqrt.f64 1/2)) (/.f64 (pow.f64 a1 3) (pow.f64 a2 4)))))
(fma.f64 (sqrt.f64 1/2) a1 (fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 1/2) a1) (*.f64 a2 a2)) (*.f64 (/.f64 (*.f64 -1/8 (sqrt.f64 1/2)) (pow.f64 a1 3)) (pow.f64 a2 4))))
(-.f64 (+.f64 (*.f64 1/16 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 6)) (pow.f64 a1 5))) (+.f64 (*.f64 (sqrt.f64 1/2) a1) (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) a1)))) (*.f64 1/8 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 4)) (pow.f64 a1 3))))
(+.f64 (fma.f64 1/16 (/.f64 (sqrt.f64 1/2) (/.f64 (pow.f64 a1 5) (pow.f64 a2 6))) (fma.f64 (sqrt.f64 1/2) a1 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) (/.f64 a1 (*.f64 a2 a2)))))) (*.f64 -1/8 (/.f64 (sqrt.f64 1/2) (/.f64 (pow.f64 a1 3) (pow.f64 a2 4)))))
(fma.f64 1/16 (*.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 a1 5)) (pow.f64 a2 6)) (fma.f64 (sqrt.f64 1/2) a1 (fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 1/2) a1) (*.f64 a2 a2)) (/.f64 (*.f64 -1/8 (sqrt.f64 1/2)) (/.f64 (pow.f64 a1 3) (pow.f64 a2 4))))))
(fma.f64 (*.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 a1 3)) (pow.f64 a2 4)) -1/8 (fma.f64 (sqrt.f64 1/2) a1 (fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 1/2) a1) (*.f64 a2 a2)) (*.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 a1 5)) (*.f64 (pow.f64 a2 6) 1/16)))))
(*.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 (*.f64 (sqrt.f64 1/2) a2) (*.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 (fma.f64 (sqrt.f64 1/2) a2 (*.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 (/.f64 (sqrt.f64 1/2) (/.f64 (pow.f64 a2 3) (pow.f64 a1 4))) -1/8)))
(fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 1/2) a2) (*.f64 a1 a1)) (fma.f64 (sqrt.f64 1/2) a2 (*.f64 (*.f64 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3)) (sqrt.f64 1/2)) -1/8)))
(-.f64 (+.f64 (*.f64 1/16 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 6)) (pow.f64 a2 5))) (+.f64 (*.f64 (sqrt.f64 1/2) a2) (*.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 (fma.f64 1/16 (/.f64 (sqrt.f64 1/2) (/.f64 (pow.f64 a2 5) (pow.f64 a1 6))) (fma.f64 (sqrt.f64 1/2) a2 (*.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 1/16 (/.f64 (pow.f64 a1 6) (/.f64 (pow.f64 a2 5) (sqrt.f64 1/2))) (fma.f64 (sqrt.f64 1/2) a2 (fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 1/2) a2) (*.f64 a1 a1)) (*.f64 (/.f64 (sqrt.f64 1/2) (/.f64 (pow.f64 a2 3) (pow.f64 a1 4))) -1/8))))
(fma.f64 1/16 (*.f64 (/.f64 (pow.f64 a1 6) (pow.f64 a2 5)) (sqrt.f64 1/2)) (fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 1/2) a2) (*.f64 a1 a1)) (fma.f64 (sqrt.f64 1/2) a2 (*.f64 (*.f64 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3)) (sqrt.f64 1/2)) -1/8))))
(*.f64 -1 (*.f64 (sqrt.f64 1/2) a2))
(neg.f64 (*.f64 (sqrt.f64 1/2) a2))
(*.f64 (sqrt.f64 1/2) (neg.f64 a2))
(neg.f64 (+.f64 (*.f64 (sqrt.f64 1/2) a2) (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)) a2))))
(neg.f64 (fma.f64 (sqrt.f64 1/2) a2 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) (/.f64 a2 (*.f64 a1 a1))))))
(neg.f64 (fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 1/2) a2) (*.f64 a1 a1)) (*.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/8 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 4)) (pow.f64 a2 3))) (+.f64 (*.f64 (sqrt.f64 1/2) a2) (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)) a2))))
(-.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (/.f64 (pow.f64 a2 3) (pow.f64 a1 4)))) (fma.f64 (sqrt.f64 1/2) a2 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) (/.f64 a2 (*.f64 a1 a1))))))
(-.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (/.f64 (pow.f64 a2 3) (pow.f64 a1 4)))) (fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 1/2) a2) (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) a2)))
(-.f64 (*.f64 1/8 (*.f64 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3)) (sqrt.f64 1/2))) (fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 1/2) a2) (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) a2)))
(-.f64 (*.f64 1/8 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 4)) (pow.f64 a2 3))) (+.f64 (*.f64 1/16 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 6)) (pow.f64 a2 5))) (+.f64 (*.f64 (sqrt.f64 1/2) a2) (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)) a2)))))
(-.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (/.f64 (pow.f64 a2 3) (pow.f64 a1 4)))) (fma.f64 1/16 (/.f64 (sqrt.f64 1/2) (/.f64 (pow.f64 a2 5) (pow.f64 a1 6))) (fma.f64 (sqrt.f64 1/2) a2 (*.f64 1/2 (/.f64 (sqrt.f64 1/2) (/.f64 a2 (*.f64 a1 a1)))))))
(-.f64 (*.f64 1/8 (/.f64 (sqrt.f64 1/2) (/.f64 (pow.f64 a2 3) (pow.f64 a1 4)))) (fma.f64 1/16 (/.f64 (pow.f64 a1 6) (/.f64 (pow.f64 a2 5) (sqrt.f64 1/2))) (fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 1/2) a2) (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) a2))))
(-.f64 (*.f64 1/8 (*.f64 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3)) (sqrt.f64 1/2))) (fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 1/2) a2) (*.f64 a1 a1)) (fma.f64 (sqrt.f64 1/2) a2 (*.f64 1/16 (*.f64 (/.f64 (pow.f64 a1 6) (pow.f64 a2 5)) (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 a1 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 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 a1 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 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 a1 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 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 (sqrt.f64 1/2) (pow.f64 a1 2))
(*.f64 (sqrt.f64 1/2) (*.f64 a1 a1))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 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 a1 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 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 a1 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 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 (sqrt.f64 1/2) (pow.f64 a1 2))
(*.f64 (sqrt.f64 1/2) (*.f64 a1 a1))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 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 a1 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 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 a1 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 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 (sqrt.f64 1/2) (pow.f64 a1 2))
(*.f64 (sqrt.f64 1/2) (*.f64 a1 a1))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 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 a1 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 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 a1 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 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 (sqrt.f64 1/2) (pow.f64 a2 2))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 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 a1 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 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 a1 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 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 (sqrt.f64 1/2) (pow.f64 a2 2))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 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 a1 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 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 a1 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 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 (pow.f64 a1 2) (pow.f64 a2 2)) (sqrt.f64 1/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 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (pow.f64 th 2)))) (*.f64 1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (pow.f64 th 2))))))
(-.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a1 a1) (*.f64 a2 a2))) (*.f64 1/2 (+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a1 a1) (*.f64 th th))) (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 th th)) (*.f64 a2 a2)))))
(fma.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 -1/2 (*.f64 (*.f64 th th) (*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))))))
(fma.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 th th) (fma.f64 a2 a2 (*.f64 a1 a1)))) (*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))))
(-.f64 (+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)) (+.f64 (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (pow.f64 th 4)))) (+.f64 (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (pow.f64 th 4)))) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))))) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (pow.f64 th 2)))) (*.f64 1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 th 2) (pow.f64 a2 2))))))
(-.f64 (fma.f64 (sqrt.f64 1/2) (*.f64 a1 a1) (fma.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a1 a1) (pow.f64 th 4))) (fma.f64 (sqrt.f64 1/2) (*.f64 a2 a2) (*.f64 1/24 (*.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 th 4)) (*.f64 a2 a2)))))) (*.f64 1/2 (+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a1 a1) (*.f64 th th))) (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 th th)) (*.f64 a2 a2)))))
(+.f64 (+.f64 (*.f64 (*.f64 (sqrt.f64 1/2) 1/24) (+.f64 (*.f64 a2 (*.f64 a2 (pow.f64 th 4))) (*.f64 (*.f64 a1 a1) (pow.f64 th 4)))) (*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1)))) (*.f64 -1/2 (*.f64 (*.f64 th th) (*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))))))
(fma.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 th th) (fma.f64 a2 a2 (*.f64 a1 a1)))) (fma.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 th 4) (fma.f64 a2 a2 (*.f64 a1 a1)))) (*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1)))))
(-.f64 (+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)) (+.f64 (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (pow.f64 th 4)))) (+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 th 4) (pow.f64 a2 2))))))) (+.f64 (*.f64 1/720 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (pow.f64 th 6)))) (+.f64 (*.f64 1/720 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (pow.f64 th 6)))) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (pow.f64 th 2)))) (*.f64 1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 th 2) (pow.f64 a2 2))))))))
(-.f64 (fma.f64 (sqrt.f64 1/2) (*.f64 a1 a1) (fma.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a1 a1) (pow.f64 th 4))) (fma.f64 (sqrt.f64 1/2) (*.f64 a2 a2) (*.f64 1/24 (*.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 th 4)) (*.f64 a2 a2)))))) (fma.f64 1/720 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (pow.f64 th 6))) (fma.f64 1/720 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a1 a1) (pow.f64 th 6))) (*.f64 1/2 (+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a1 a1) (*.f64 th th))) (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 th th)) (*.f64 a2 a2)))))))
(-.f64 (-.f64 (+.f64 (*.f64 (*.f64 (sqrt.f64 1/2) 1/24) (+.f64 (*.f64 a2 (*.f64 a2 (pow.f64 th 4))) (*.f64 (*.f64 a1 a1) (pow.f64 th 4)))) (*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1)))) (*.f64 (*.f64 (sqrt.f64 1/2) 1/720) (+.f64 (*.f64 a2 (*.f64 a2 (pow.f64 th 6))) (*.f64 (*.f64 a1 a1) (pow.f64 th 6))))) (*.f64 1/2 (*.f64 (*.f64 th th) (*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))))))
(-.f64 (fma.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 th 4) (fma.f64 a2 a2 (*.f64 a1 a1)))) (*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1)))) (fma.f64 1/720 (*.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 th 6)) (fma.f64 a2 a2 (*.f64 a1 a1))) (*.f64 (*.f64 1/2 (*.f64 (sqrt.f64 1/2) (*.f64 th th))) (fma.f64 a2 a2 (*.f64 a1 a1)))))
(*.f64 (+.f64 (pow.f64 a1 2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (*.f64 (sqrt.f64 1/2) (+.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 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (+.f64 (pow.f64 a1 2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (*.f64 (sqrt.f64 1/2) (+.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 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (+.f64 (pow.f64 a1 2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (*.f64 (sqrt.f64 1/2) (+.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 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (+.f64 (pow.f64 a1 2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (*.f64 (sqrt.f64 1/2) (+.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 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (cos.f64 th) (*.f64 (+.f64 (pow.f64 a1 2) (pow.f64 a2 2)) (sqrt.f64 1/2)))
(*.f64 (*.f64 (sqrt.f64 1/2) (+.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 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (cos.f64 th) (*.f64 (+.f64 (pow.f64 a1 2) (pow.f64 a2 2)) (sqrt.f64 1/2)))
(*.f64 (*.f64 (sqrt.f64 1/2) (+.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 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (cos.f64 th) (*.f64 (+.f64 (pow.f64 a1 2) (pow.f64 a2 2)) (sqrt.f64 1/2)))
(*.f64 (*.f64 (sqrt.f64 1/2) (+.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 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (cos.f64 th) (*.f64 (+.f64 (pow.f64 a1 2) (pow.f64 a2 2)) (sqrt.f64 1/2)))
(*.f64 (*.f64 (sqrt.f64 1/2) (+.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 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)))
(*.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (*.f64 a2 a2))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))
(+.f64 (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2))) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a2 2))))
(*.f64 (*.f64 (sqrt.f64 1/2) (+.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 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(+.f64 (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2))) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a2 2))))
(*.f64 (*.f64 (sqrt.f64 1/2) (+.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 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(+.f64 (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2))) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a2 2))))
(*.f64 (*.f64 (sqrt.f64 1/2) (+.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 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)))
(*.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 (cos.f64 th) (pow.f64 a1 2))) (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))))
(*.f64 (*.f64 (sqrt.f64 1/2) (+.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 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a1 2))) (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))))
(*.f64 (*.f64 (sqrt.f64 1/2) (+.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 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a1 2))) (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))))
(*.f64 (*.f64 (sqrt.f64 1/2) (+.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 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)))
(*.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 (cos.f64 th) (pow.f64 a1 2))) (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))))
(*.f64 (*.f64 (sqrt.f64 1/2) (+.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 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a1 2))) (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))))
(*.f64 (*.f64 (sqrt.f64 1/2) (+.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 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a1 2))) (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))))
(*.f64 (*.f64 (sqrt.f64 1/2) (+.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 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)))
(*.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 (cos.f64 th) (pow.f64 a1 2))) (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))))
(*.f64 (*.f64 (sqrt.f64 1/2) (+.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 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a1 2))) (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))))
(*.f64 (*.f64 (sqrt.f64 1/2) (+.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 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a1 2))) (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))))
(*.f64 (*.f64 (sqrt.f64 1/2) (+.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 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)))
(*.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (*.f64 a2 a2))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))
(+.f64 (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2))) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a2 2))))
(*.f64 (*.f64 (sqrt.f64 1/2) (+.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 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(+.f64 (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2))) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a2 2))))
(*.f64 (*.f64 (sqrt.f64 1/2) (+.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 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(+.f64 (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2))) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a2 2))))
(*.f64 (*.f64 (sqrt.f64 1/2) (+.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 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)))
(*.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (*.f64 a2 a2))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a1 2))) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a2 2))))
(*.f64 (*.f64 (sqrt.f64 1/2) (+.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 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a1 2))) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a2 2))))
(*.f64 (*.f64 (sqrt.f64 1/2) (+.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 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a1 2))) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a2 2))))
(*.f64 (*.f64 (sqrt.f64 1/2) (+.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 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))

prune156.0ms (2%)

Pruning

6 alts after pruning (3 fresh and 3 done)

PrunedKeptTotal
New2150215
Fresh033
Picked011
Done022
Total2156221
Error
0b
Counts
221 → 6
Alt Table
StatusErrorProgram
0.4b
(/.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (cos.f64 th)) (sqrt.f64 2))
0.5b
(*.f64 (cos.f64 th) (*.f64 (hypot.f64 a1 a2) (*.f64 (hypot.f64 a1 a2) (pow.f64 2 -1/2))))
0.5b
(*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (*.f64 (cos.f64 th) (pow.f64 2 -1/2)))
15.7b
(pow.f64 (*.f64 (/.f64 (hypot.f64 a1 a2) (pow.f64 2 1/4)) (sqrt.f64 (cos.f64 th))) 2)
0.4b
(*.f64 (cos.f64 th) (*.f64 (neg.f64 (pow.f64 (hypot.f64 a1 a2) 2)) (/.f64 1 (neg.f64 (sqrt.f64 2)))))
0.5b
(*.f64 (cos.f64 th) (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (pow.f64 2 -1/2)))
Compiler

Compiled 4872 to 2907 computations (40.3% saved)

regimes1.2s (15.5%)

Accuracy

Total 0.5b remaining (92.7%)

Threshold costs 0.5b (92.7%)

Counts
120 → 1
Compiler

Compiled 1572 to 931 computations (40.8% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01117
11217
Stop Event
saturated
Calls
Call 1
Inputs
(/.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (cos.f64 th)) (sqrt.f64 2))
Outputs
(/.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (cos.f64 th)) (sqrt.f64 2))

end102.0ms (1.3%)

Stop Event
fuel
Remove

(sort a1 a2)

Compiler

Compiled 151 to 118 computations (21.9% saved)

Profiling

Loading profile data...