Details

Time bar (total: 7.1s)

analyze1.1s (15.4%)

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 (60.4%)

Results
1.2s1893×body1024valid
1.0s1641×body1024invalid
872.0ms4954×body128valid
422.0ms920×body512valid
372.0ms793×body512invalid
155.0ms486×body256valid
118.0ms369×body256invalid
114.0ms661×body128invalid
3.0msbody2048valid
1.0msbody2048invalid

preprocess22.0ms (0.3%)

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)

simplify12.0ms (0.2%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
01320
12718
25818
38818
411518
513518
615218
717018
817218
Stop Event
saturated
Counts
1 → 2
Calls
Call 1
Inputs
(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
Outputs
(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 (cos.f64 th) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)))

prune4.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.6b
Counts
3 → 2
Alt Table
StatusErrorProgram
0.7b
(*.f64 (cos.f64 th) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)))
0.8b
(+.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.6b
(/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2))

series17.0ms (0.2%)

Counts
3 → 84
Calls

21 calls:

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

rewrite51.0ms (0.7%)

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 expm1.f64 (log1p.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 log1p.f64 (expm1.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 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 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 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 +.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 expm1.f64 (log1p.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 log1p.f64 (expm1.f64 (pow.f64 (hypot.f64 a1 a2) 2)))))))

simplify54.0ms (0.8%)

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

Useful iterations: 3 (0.0ms)

IterNodesCost
0471447
11071343
22861339
310231271
438161271
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 a2 2) (pow.f64 a1 2)) (sqrt.f64 2))
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (/.f64 (pow.f64 a1 2) (sqrt.f64 2)) (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)) (sqrt.f64 2)))))
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (/.f64 (pow.f64 a1 2) (sqrt.f64 2)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)) (sqrt.f64 2))) (*.f64 1/24 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 4)) (sqrt.f64 2))))))
(+.f64 (*.f64 -1/720 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 6)) (sqrt.f64 2))) (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (/.f64 (pow.f64 a1 2) (sqrt.f64 2)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)) (sqrt.f64 2))) (*.f64 1/24 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 4)) (sqrt.f64 2)))))))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(pow.f64 a2 2)
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(pow.f64 a1 2)
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(pow.f64 a1 2)
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(pow.f64 a1 2)
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(pow.f64 a2 2)
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(pow.f64 a2 2)
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
Outputs
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(/.f64 a2 (/.f64 (sqrt.f64 2) a2))
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))
(+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))
(fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)))
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))
(+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))
(fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)))
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))
(+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))
(fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(/.f64 (*.f64 a1 a1) (sqrt.f64 2))
(/.f64 a1 (/.f64 (sqrt.f64 2) a1))
(*.f64 a1 (/.f64 a1 (sqrt.f64 2)))
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))
(+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))
(fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)))
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))
(+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))
(fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)))
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))
(+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))
(fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(/.f64 (*.f64 a1 a1) (sqrt.f64 2))
(/.f64 a1 (/.f64 (sqrt.f64 2) a1))
(*.f64 a1 (/.f64 a1 (sqrt.f64 2)))
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))
(+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))
(fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)))
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))
(+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))
(fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)))
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))
(+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))
(fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(/.f64 (*.f64 a1 a1) (sqrt.f64 2))
(/.f64 a1 (/.f64 (sqrt.f64 2) a1))
(*.f64 a1 (/.f64 a1 (sqrt.f64 2)))
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))
(+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))
(fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)))
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))
(+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))
(fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)))
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))
(+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))
(fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(/.f64 a2 (/.f64 (sqrt.f64 2) a2))
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))
(+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))
(fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)))
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))
(+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))
(fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)))
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))
(+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))
(fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(/.f64 a2 (/.f64 (sqrt.f64 2) a2))
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))
(+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))
(fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)))
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))
(+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))
(fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)))
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))
(+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))
(fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)))
(/.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (sqrt.f64 2))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (sqrt.f64 2))
(/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2))
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (/.f64 (pow.f64 a1 2) (sqrt.f64 2)) (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)) (sqrt.f64 2)))))
(+.f64 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) (*.f64 -1/2 (/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (*.f64 th th)))))
(+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (fma.f64 -1/2 (/.f64 (*.f64 th th) (/.f64 (sqrt.f64 2) (fma.f64 a1 a1 (*.f64 a2 a2)))) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))))
(fma.f64 -1/2 (*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (*.f64 th th)) (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))))
(fma.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (*.f64 -1/2 (*.f64 th th)) (fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (/.f64 a2 (/.f64 (sqrt.f64 2) a2))))
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (/.f64 (pow.f64 a1 2) (sqrt.f64 2)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)) (sqrt.f64 2))) (*.f64 1/24 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 4)) (sqrt.f64 2))))))
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (fma.f64 -1/2 (/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (*.f64 th th))) (*.f64 1/24 (/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (pow.f64 th 4)))))))
(+.f64 (+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))) (fma.f64 -1/2 (/.f64 (*.f64 th th) (/.f64 (sqrt.f64 2) (fma.f64 a1 a1 (*.f64 a2 a2)))) (*.f64 1/24 (/.f64 (pow.f64 th 4) (/.f64 (sqrt.f64 2) (fma.f64 a1 a1 (*.f64 a2 a2)))))))
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (fma.f64 -1/2 (*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (*.f64 th th)) (fma.f64 1/24 (*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (pow.f64 th 4)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))))
(fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (fma.f64 (/.f64 a2 (sqrt.f64 2)) a2 (*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (+.f64 (*.f64 1/24 (pow.f64 th 4)) (*.f64 -1/2 (*.f64 th th))))))
(+.f64 (*.f64 -1/720 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 6)) (sqrt.f64 2))) (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (/.f64 (pow.f64 a1 2) (sqrt.f64 2)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)) (sqrt.f64 2))) (*.f64 1/24 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 4)) (sqrt.f64 2)))))))
(fma.f64 -1/720 (/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (pow.f64 th 6))) (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (fma.f64 -1/2 (/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (*.f64 th th))) (*.f64 1/24 (/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (pow.f64 th 4))))))))
(+.f64 (+.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (fma.f64 -1/2 (/.f64 (*.f64 th th) (/.f64 (sqrt.f64 2) (fma.f64 a1 a1 (*.f64 a2 a2)))) (*.f64 1/24 (/.f64 (pow.f64 th 4) (/.f64 (sqrt.f64 2) (fma.f64 a1 a1 (*.f64 a2 a2))))))) (fma.f64 -1/720 (/.f64 (pow.f64 th 6) (/.f64 (sqrt.f64 2) (fma.f64 a1 a1 (*.f64 a2 a2)))) (/.f64 a2 (/.f64 (sqrt.f64 2) a2))))
(+.f64 (fma.f64 -1/2 (*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (*.f64 th th)) (fma.f64 1/24 (*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (pow.f64 th 4)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))) (fma.f64 -1/720 (*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (pow.f64 th 6)) (/.f64 (*.f64 a2 a2) (sqrt.f64 2))))
(fma.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (*.f64 -1/720 (pow.f64 th 6)) (fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (fma.f64 (/.f64 a2 (sqrt.f64 2)) a2 (*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (+.f64 (*.f64 1/24 (pow.f64 th 4)) (*.f64 -1/2 (*.f64 th th)))))))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (fma.f64 a1 a1 (*.f64 a2 a2))))
(*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (fma.f64 a1 a1 (*.f64 a2 a2))))
(*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (fma.f64 a1 a1 (*.f64 a2 a2))))
(*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (fma.f64 a1 a1 (*.f64 a2 a2))))
(*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (fma.f64 a1 a1 (*.f64 a2 a2))))
(*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (fma.f64 a1 a1 (*.f64 a2 a2))))
(*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (fma.f64 a1 a1 (*.f64 a2 a2))))
(*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (fma.f64 a1 a1 (*.f64 a2 a2))))
(*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (cos.f64 th))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 a2 (/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (fma.f64 a1 a1 (*.f64 a2 a2))))
(*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (fma.f64 a1 a1 (*.f64 a2 a2))))
(*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (fma.f64 a1 a1 (*.f64 a2 a2))))
(*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1)))
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (fma.f64 a1 a1 (*.f64 a2 a2))))
(*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (fma.f64 a1 a1 (*.f64 a2 a2))))
(*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (fma.f64 a1 a1 (*.f64 a2 a2))))
(*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1)))
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (fma.f64 a1 a1 (*.f64 a2 a2))))
(*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (fma.f64 a1 a1 (*.f64 a2 a2))))
(*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (fma.f64 a1 a1 (*.f64 a2 a2))))
(*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1)))
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (fma.f64 a1 a1 (*.f64 a2 a2))))
(*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (fma.f64 a1 a1 (*.f64 a2 a2))))
(*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (fma.f64 a1 a1 (*.f64 a2 a2))))
(*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (cos.f64 th))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 a2 (/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (fma.f64 a1 a1 (*.f64 a2 a2))))
(*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (fma.f64 a1 a1 (*.f64 a2 a2))))
(*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (fma.f64 a1 a1 (*.f64 a2 a2))))
(*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (cos.f64 th))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 a2 (/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (fma.f64 a1 a1 (*.f64 a2 a2))))
(*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (fma.f64 a1 a1 (*.f64 a2 a2))))
(*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (fma.f64 a1 a1 (*.f64 a2 a2))))
(*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(pow.f64 a2 2)
(*.f64 a2 a2)
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a1 a1 (*.f64 a2 a2))
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a1 a1 (*.f64 a2 a2))
(+.f64 (pow.f64 a2 2) (pow.f64 a1 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 a2 2) (pow.f64 a1 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a1 a1 (*.f64 a2 a2))
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a1 a1 (*.f64 a2 a2))
(+.f64 (pow.f64 a2 2) (pow.f64 a1 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 a2 2) (pow.f64 a1 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a1 a1 (*.f64 a2 a2))
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a1 a1 (*.f64 a2 a2))
(+.f64 (pow.f64 a2 2) (pow.f64 a1 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 a2 2) (pow.f64 a1 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a1 a1 (*.f64 a2 a2))
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a1 a1 (*.f64 a2 a2))
(+.f64 (pow.f64 a2 2) (pow.f64 a1 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 a2 2) (pow.f64 a1 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a1 a1 (*.f64 a2 a2))
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a1 a1 (*.f64 a2 a2))
(+.f64 (pow.f64 a2 2) (pow.f64 a1 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 a2 2) (pow.f64 a1 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a1 a1 (*.f64 a2 a2))
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a1 a1 (*.f64 a2 a2))
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a1 a1 (*.f64 a2 a2))

prune162.0ms (2.3%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New1148122
Fresh011
Picked101
Done000
Total1159124
Error
0.0b
Counts
124 → 9
Alt Table
StatusErrorProgram
0.8b
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (cos.f64 th))))
0.4b
(*.f64 (cos.f64 th) (*.f64 (hypot.f64 a1 a2) (*.f64 (hypot.f64 a1 a2) (pow.f64 2 -1/2))))
0.7b
(/.f64 (/.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (cos.f64 th)) (pow.f64 2 1/4)) (pow.f64 2 1/4))
28.7b
(*.f64 a2 (/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)))
1.5b
(*.f64 (cos.f64 th) (*.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)))))
0.7b
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
0.6b
(*.f64 (cos.f64 th) (*.f64 (/.f64 (hypot.f64 a1 a2) (pow.f64 2 1/4)) (/.f64 (hypot.f64 a1 a2) (pow.f64 2 1/4))))
0.5b
(*.f64 (cos.f64 th) (fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (/.f64 a2 (/.f64 (sqrt.f64 2) a2))))
0.8b
(+.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 2358 to 1515 computations (35.8% saved)

localize9.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
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.4b
(*.f64 (hypot.f64 a1 a2) (pow.f64 2 -1/2))

series31.0ms (0.4%)

Counts
3 → 84
Calls

21 calls:

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

rewrite51.0ms (0.7%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
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 expm1.f64 (log1p.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 log1p.f64 (expm1.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 expm1.f64 (log1p.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 log1p.f64 (expm1.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 expm1.f64 (log1p.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 log1p.f64 (expm1.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))))))))

simplify71.0ms (1%)

Algorithm
egg-herbie
Rules
803×times-frac_binary64
365×fma-def_binary64
182×associate-*r*_binary64
178×*-commutative_binary64
164×associate-+r+_binary64
Iterations

Useful iterations: 2 (0.0ms)

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

prune172.0ms (2.4%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New1300130
Fresh088
Picked011
Done000
Total1309139
Error
0.0b
Counts
139 → 9
Alt Table
StatusErrorProgram
0.8b
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (cos.f64 th))))
0.4b
(*.f64 (cos.f64 th) (*.f64 (hypot.f64 a1 a2) (*.f64 (hypot.f64 a1 a2) (pow.f64 2 -1/2))))
0.7b
(/.f64 (/.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (cos.f64 th)) (pow.f64 2 1/4)) (pow.f64 2 1/4))
28.7b
(*.f64 a2 (/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)))
1.5b
(*.f64 (cos.f64 th) (*.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)))))
0.7b
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
0.6b
(*.f64 (cos.f64 th) (*.f64 (/.f64 (hypot.f64 a1 a2) (pow.f64 2 1/4)) (/.f64 (hypot.f64 a1 a2) (pow.f64 2 1/4))))
0.5b
(*.f64 (cos.f64 th) (fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (/.f64 a2 (/.f64 (sqrt.f64 2) a2))))
0.8b
(+.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 4601 to 3299 computations (28.3% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series13.0ms (0.2%)

Counts
4 → 48
Calls

18 calls:

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

rewrite58.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
367×prod-diff_binary64
229×expm1-udef_binary64
229×log1p-udef_binary64
129×add-sqr-sqrt_binary64
126×*-un-lft-identity_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01244
125544
2337044
Stop Event
node limit
Counts
4 → 126
Calls
Call 1
Inputs
(/.f64 a1 (sqrt.f64 2))
(/.f64 (sqrt.f64 2) a2)
(*.f64 (cos.f64 th) (fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (/.f64 a2 (/.f64 (sqrt.f64 2) a2))))
(/.f64 a2 (/.f64 (sqrt.f64 2) a2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 a1 (sqrt.f64 2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 a1 (pow.f64 2 -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a1 (sqrt.f64 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 a1 (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 a1 (sqrt.f64 2))) (cbrt.f64 (/.f64 (*.f64 a1 a1) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 a1 a1) 2)) (cbrt.f64 (/.f64 a1 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 a1) 2) (*.f64 (cbrt.f64 a1) (pow.f64 2 -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 a1 (sqrt.f64 2))) (sqrt.f64 (/.f64 a1 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 a1) (*.f64 (sqrt.f64 a1) (pow.f64 2 -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 a1) (/.f64 1 (neg.f64 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 2 -1/2) a1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 2)) (/.f64 a1 (cbrt.f64 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 2 1/4)) (/.f64 a1 (pow.f64 2 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 a1) 2) 1) (/.f64 (cbrt.f64 a1) (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 a1) 1) (/.f64 (sqrt.f64 a1) (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 a1) 2) (cbrt.f64 2)) (cbrt.f64 (/.f64 a1 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 a1) (cbrt.f64 2)) (/.f64 (sqrt.f64 a1) (cbrt.f64 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 a1) 2) (pow.f64 2 1/4)) (/.f64 (cbrt.f64 a1) (pow.f64 2 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 a1 (sqrt.f64 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 a1 (sqrt.f64 2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 a1 (sqrt.f64 2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 a1 (sqrt.f64 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 2) a1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 a1 (neg.f64 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 (*.f64 a1 a1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 a1 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 a1 (sqrt.f64 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 a1 (sqrt.f64 2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 a1 3) (*.f64 2 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 a1 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 a1 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 a1 (sqrt.f64 2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 a1 (sqrt.f64 2))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (sqrt.f64 2) a2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 2) (pow.f64 a2 -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 2) a2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (sqrt.f64 2) a2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 2) (*.f64 (cbrt.f64 (sqrt.f64 2)) (pow.f64 a2 -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (sqrt.f64 2) a2)) (cbrt.f64 (/.f64 2 (*.f64 a2 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 2 (*.f64 a2 a2))) (cbrt.f64 (/.f64 (sqrt.f64 2) a2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (sqrt.f64 2) a2)) (sqrt.f64 (/.f64 (sqrt.f64 2) a2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 2 1/4) (*.f64 (pow.f64 2 1/4) (pow.f64 a2 -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 2)) (/.f64 1 (neg.f64 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 a2 -1) (sqrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 2) 1) (/.f64 (cbrt.f64 (sqrt.f64 2)) a2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 2 1/4) 1) (/.f64 (pow.f64 2 1/4) a2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 a2) 2)) (/.f64 (sqrt.f64 2) (cbrt.f64 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 a2)) (/.f64 (sqrt.f64 2) (sqrt.f64 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 2) (pow.f64 (cbrt.f64 a2) 2)) (cbrt.f64 (/.f64 (sqrt.f64 2) a2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 2 1/4) (pow.f64 (cbrt.f64 a2) 2)) (/.f64 (pow.f64 2 1/4) (cbrt.f64 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 2) (sqrt.f64 a2)) (/.f64 (cbrt.f64 (sqrt.f64 2)) (sqrt.f64 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 2) a2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (sqrt.f64 2) a2) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (sqrt.f64 2) a2)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (sqrt.f64 2) a2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 a2 (sqrt.f64 2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (sqrt.f64 2) (neg.f64 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 2 (*.f64 a2 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (sqrt.f64 2) a2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (sqrt.f64 2) a2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 2) a2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (*.f64 2 (sqrt.f64 2)) (pow.f64 a2 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (sqrt.f64 2) a2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (sqrt.f64 2) a2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (sqrt.f64 2) a2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (sqrt.f64 2) a2)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th)) (*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (cos.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 th) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) (*.f64 (cos.f64 th) (*.f64 a2 (/.f64 a2 (sqrt.f64 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 th) (fma.f64 a2 (/.f64 a2 (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 th) (fma.f64 a2 (/.f64 a2 (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (cos.f64 th) (fma.f64 a2 (/.f64 a2 (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (cos.f64 th) (fma.f64 a2 (/.f64 a2 (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (cos.f64 th) (fma.f64 a2 (/.f64 a2 (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (cos.f64 th) (fma.f64 a2 (/.f64 a2 (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (fma.f64 a2 (/.f64 a2 (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))) (cos.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 th) (fma.f64 a2 (/.f64 a2 (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (cos.f64 th) (fma.f64 a2 (/.f64 a2 (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (cos.f64 th) 3) (pow.f64 (fma.f64 a2 (/.f64 a2 (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (fma.f64 a2 (/.f64 a2 (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) 3) (pow.f64 (cos.f64 th) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 th) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (*.f64 (cos.f64 th) (*.f64 a2 (/.f64 a2 (sqrt.f64 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th) (*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (cos.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (cos.f64 th) (fma.f64 a2 (/.f64 a2 (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (cos.f64 th) (fma.f64 a2 (/.f64 a2 (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 th) (fma.f64 a2 (/.f64 a2 (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (cos.f64 th) (fma.f64 a2 (/.f64 a2 (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 a2 (/.f64 a2 (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 a2) 2) (*.f64 (cbrt.f64 a2) (/.f64 a2 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2)))) (pow.f64 (cbrt.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2)))) 2) (cbrt.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 a2) (*.f64 (sqrt.f64 a2) (/.f64 a2 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2)))) (sqrt.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 a2) (/.f64 1 (/.f64 (neg.f64 (sqrt.f64 2)) a2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a2 (sqrt.f64 2)) a2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 2 -1/2) (/.f64 a2 (pow.f64 a2 -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 a2) 2) 1) (/.f64 (cbrt.f64 a2) (/.f64 (sqrt.f64 2) a2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 a2) 1) (/.f64 (sqrt.f64 a2) (/.f64 (sqrt.f64 2) a2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 a2) (sqrt.f64 2)) (/.f64 (sqrt.f64 a2) (pow.f64 a2 -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 a2) 2) (sqrt.f64 2)) (/.f64 (cbrt.f64 a2) (pow.f64 a2 -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (/.f64 2 (*.f64 a2 a2)))) (/.f64 a2 (cbrt.f64 (/.f64 (sqrt.f64 2) a2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 a2) 2) (cbrt.f64 (/.f64 2 (*.f64 a2 a2)))) (cbrt.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 a2) (cbrt.f64 (/.f64 2 (*.f64 a2 a2)))) (/.f64 (sqrt.f64 a2) (cbrt.f64 (/.f64 (sqrt.f64 2) a2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 (/.f64 (sqrt.f64 2) a2))) (/.f64 a2 (sqrt.f64 (/.f64 (sqrt.f64 2) a2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 a2) 2) (sqrt.f64 (/.f64 (sqrt.f64 2) a2))) (/.f64 (cbrt.f64 a2) (sqrt.f64 (/.f64 (sqrt.f64 2) a2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a2 1) (/.f64 a2 (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a2 (neg.f64 (sqrt.f64 2))) (neg.f64 a2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) 1) a2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) (pow.f64 (cbrt.f64 a2) 2)) (cbrt.f64 a2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) (sqrt.f64 a2)) (sqrt.f64 a2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 2) (*.f64 a2 a2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 a2 (/.f64 (neg.f64 (sqrt.f64 2)) a2)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 a2) (/.f64 a2 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 a2 3) (pow.f64 (/.f64 (sqrt.f64 2) a2) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2)))))))))

simplify36.0ms (0.5%)

Algorithm
egg-herbie
Rules
749×associate-*l*_binary64
700×fma-def_binary64
592×associate-*r*_binary64
193×associate-+l+_binary64
147×associate-+r+_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0391100
1911096
22821026
31106857
Stop Event
node limit
Counts
174 → 143
Calls
Call 1
Inputs
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))
(+.f64 (*.f64 -1/2 (*.f64 (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))) (pow.f64 th 2))) (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))))
(+.f64 (*.f64 -1/2 (*.f64 (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))) (pow.f64 th 2))) (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (/.f64 (pow.f64 a1 2) (sqrt.f64 2)) (*.f64 1/24 (*.f64 (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))) (pow.f64 th 4))))))
(+.f64 (*.f64 -1/720 (*.f64 (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))) (pow.f64 th 6))) (+.f64 (*.f64 -1/2 (*.f64 (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))) (pow.f64 th 2))) (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (/.f64 (pow.f64 a1 2) (sqrt.f64 2)) (*.f64 1/24 (*.f64 (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))) (pow.f64 th 4)))))))
(*.f64 (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))) (cos.f64 th))
(*.f64 (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))) (cos.f64 th))
(*.f64 (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))) (cos.f64 th))
(*.f64 (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))) (cos.f64 th))
(*.f64 (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))) (cos.f64 th))
(*.f64 (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))) (cos.f64 th))
(*.f64 (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))) (cos.f64 th))
(*.f64 (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))) (cos.f64 th))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
Outputs
(+.f64 (/.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 a1 (/.f64 (sqrt.f64 2) a1)))
(fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)))
(+.f64 (*.f64 -1/2 (*.f64 (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))) (pow.f64 th 2))) (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))))
(fma.f64 -1/2 (*.f64 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) (*.f64 th th)) (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))))
(fma.f64 -1/2 (*.f64 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))) (*.f64 th th)) (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))))
(*.f64 (+.f64 (*.f64 -1/2 (*.f64 th th)) 1) (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))))
(*.f64 (fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (/.f64 (*.f64 a2 a2) (sqrt.f64 2))) (fma.f64 -1/2 (*.f64 th th) 1))
(+.f64 (*.f64 -1/2 (*.f64 (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))) (pow.f64 th 2))) (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (/.f64 (pow.f64 a1 2) (sqrt.f64 2)) (*.f64 1/24 (*.f64 (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))) (pow.f64 th 4))))))
(fma.f64 -1/2 (*.f64 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) (*.f64 th th)) (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (*.f64 1/24 (*.f64 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) (pow.f64 th 4))))))
(+.f64 (fma.f64 1/24 (*.f64 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))) (pow.f64 th 4)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))) (fma.f64 -1/2 (*.f64 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))) (*.f64 th th)) (/.f64 (*.f64 a2 a2) (sqrt.f64 2))))
(+.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))) (+.f64 (*.f64 1/24 (pow.f64 th 4)) (*.f64 -1/2 (*.f64 th th))))))
(*.f64 (fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (/.f64 (*.f64 a2 a2) (sqrt.f64 2))) (+.f64 (*.f64 1/24 (pow.f64 th 4)) (fma.f64 -1/2 (*.f64 th th) 1)))
(+.f64 (*.f64 -1/720 (*.f64 (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))) (pow.f64 th 6))) (+.f64 (*.f64 -1/2 (*.f64 (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))) (pow.f64 th 2))) (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (/.f64 (pow.f64 a1 2) (sqrt.f64 2)) (*.f64 1/24 (*.f64 (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))) (pow.f64 th 4)))))))
(fma.f64 -1/720 (*.f64 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) (pow.f64 th 6)) (fma.f64 -1/2 (*.f64 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) (*.f64 th th)) (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (*.f64 1/24 (*.f64 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) (pow.f64 th 4)))))))
(fma.f64 -1/720 (*.f64 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))) (pow.f64 th 6)) (+.f64 (fma.f64 1/24 (*.f64 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))) (pow.f64 th 4)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))) (fma.f64 -1/2 (*.f64 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))) (*.f64 th th)) (/.f64 (*.f64 a2 a2) (sqrt.f64 2)))))
(+.f64 (*.f64 (+.f64 (*.f64 1/24 (pow.f64 th 4)) 1) (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))) (*.f64 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))) (+.f64 (*.f64 -1/2 (*.f64 th th)) (*.f64 -1/720 (pow.f64 th 6)))))
(fma.f64 (fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (/.f64 (*.f64 a2 a2) (sqrt.f64 2))) (fma.f64 -1/720 (pow.f64 th 6) (*.f64 -1/2 (*.f64 th th))) (*.f64 (fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (/.f64 (*.f64 a2 a2) (sqrt.f64 2))) (fma.f64 1/24 (pow.f64 th 4) 1)))
(*.f64 (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))) (cos.f64 th))
(*.f64 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) (cos.f64 th))
(*.f64 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))) (cos.f64 th))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(*.f64 (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))) (cos.f64 th))
(*.f64 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) (cos.f64 th))
(*.f64 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))) (cos.f64 th))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(*.f64 (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))) (cos.f64 th))
(*.f64 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) (cos.f64 th))
(*.f64 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))) (cos.f64 th))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(*.f64 (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))) (cos.f64 th))
(*.f64 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) (cos.f64 th))
(*.f64 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))) (cos.f64 th))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(*.f64 (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))) (cos.f64 th))
(*.f64 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) (cos.f64 th))
(*.f64 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))) (cos.f64 th))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(*.f64 (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))) (cos.f64 th))
(*.f64 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) (cos.f64 th))
(*.f64 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))) (cos.f64 th))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(*.f64 (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))) (cos.f64 th))
(*.f64 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) (cos.f64 th))
(*.f64 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))) (cos.f64 th))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(*.f64 (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))) (cos.f64 th))
(*.f64 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) (cos.f64 th))
(*.f64 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))) (cos.f64 th))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(*.f64 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) (cos.f64 th))
(*.f64 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))) (cos.f64 th))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(*.f64 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) (cos.f64 th))
(*.f64 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))) (cos.f64 th))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(*.f64 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) (cos.f64 th))
(*.f64 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))) (cos.f64 th))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (cos.f64 th))
(*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(*.f64 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) (cos.f64 th))
(*.f64 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))) (cos.f64 th))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(*.f64 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) (cos.f64 th))
(*.f64 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))) (cos.f64 th))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(*.f64 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) (cos.f64 th))
(*.f64 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))) (cos.f64 th))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (cos.f64 th))
(*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(*.f64 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) (cos.f64 th))
(*.f64 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))) (cos.f64 th))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(*.f64 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) (cos.f64 th))
(*.f64 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))) (cos.f64 th))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(*.f64 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) (cos.f64 th))
(*.f64 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))) (cos.f64 th))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (cos.f64 th))
(*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(*.f64 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) (cos.f64 th))
(*.f64 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))) (cos.f64 th))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(*.f64 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) (cos.f64 th))
(*.f64 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))) (cos.f64 th))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(*.f64 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) (cos.f64 th))
(*.f64 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))) (cos.f64 th))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(*.f64 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) (cos.f64 th))
(*.f64 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))) (cos.f64 th))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(*.f64 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) (cos.f64 th))
(*.f64 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))) (cos.f64 th))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(*.f64 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) (cos.f64 th))
(*.f64 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))) (cos.f64 th))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(*.f64 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) (cos.f64 th))
(*.f64 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))) (cos.f64 th))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(*.f64 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) (cos.f64 th))
(*.f64 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))) (cos.f64 th))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(*.f64 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) (cos.f64 th))
(*.f64 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))) (cos.f64 th))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))

prune147.0ms (2.1%)

Pruning

9 alts after pruning (7 fresh and 2 done)

PrunedKeptTotal
New1430143
Fresh077
Picked011
Done011
Total1439152
Error
0.0b
Counts
152 → 9
Alt Table
StatusErrorProgram
0.8b
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (cos.f64 th))))
0.4b
(*.f64 (cos.f64 th) (*.f64 (hypot.f64 a1 a2) (*.f64 (hypot.f64 a1 a2) (pow.f64 2 -1/2))))
0.7b
(/.f64 (/.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (cos.f64 th)) (pow.f64 2 1/4)) (pow.f64 2 1/4))
28.7b
(*.f64 a2 (/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)))
1.5b
(*.f64 (cos.f64 th) (*.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)))))
0.7b
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
0.6b
(*.f64 (cos.f64 th) (*.f64 (/.f64 (hypot.f64 a1 a2) (pow.f64 2 1/4)) (/.f64 (hypot.f64 a1 a2) (pow.f64 2 1/4))))
0.5b
(*.f64 (cos.f64 th) (fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (/.f64 a2 (/.f64 (sqrt.f64 2) a2))))
0.8b
(+.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 3135 to 2073 computations (33.9% saved)

localize10.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

series12.0ms (0.2%)

Counts
3 → 84
Calls

21 calls:

TimeVariablePointExpression
2.0ms
a1
@0
(*.f64 (/.f64 (hypot.f64 a1 a2) (pow.f64 2 1/4)) (/.f64 (hypot.f64 a1 a2) (pow.f64 2 1/4)))
1.0ms
a2
@0
(*.f64 (/.f64 (hypot.f64 a1 a2) (pow.f64 2 1/4)) (/.f64 (hypot.f64 a1 a2) (pow.f64 2 1/4)))
1.0ms
a1
@0
(/.f64 (hypot.f64 a1 a2) (pow.f64 2 1/4))
1.0ms
a2
@0
(/.f64 (hypot.f64 a1 a2) (pow.f64 2 1/4))
1.0ms
a1
@inf
(/.f64 (hypot.f64 a1 a2) (pow.f64 2 1/4))

rewrite54.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
580×log-prod_binary64
215×expm1-udef_binary64
215×log1p-udef_binary64
186×log-pow_binary64
125×add-sqr-sqrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify73.0ms (1%)

Algorithm
egg-herbie
Rules
683×times-frac_binary64
378×fma-def_binary64
207×associate-*r*_binary64
200×*-commutative_binary64
182×associate-*l*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02763480
18983058
234512828
Stop Event
node limit
Counts
186 → 182
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 -1 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6))))) (*.f64 5/64 (/.f64 1 (pow.f64 a2 6)))) (pow.f64 a1 8))) (+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2))))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 -1 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6))))) (*.f64 5/64 (/.f64 1 (pow.f64 a2 6)))) (pow.f64 a1 8))) (+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 12) (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 a2 8))) (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6)))) (pow.f64 a2 2)))) (pow.f64 a2 2))) (+.f64 (*.f64 1/8 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6)))) (pow.f64 a2 4))) (+.f64 (*.f64 1/256 (/.f64 1 (pow.f64 a2 10))) (*.f64 -1 (+.f64 (pow.f64 (/.f64 1/16 (pow.f64 a2 5)) 2) (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 a2 8))) (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6)))) (pow.f64 a2 2)))) (pow.f64 a2 2))) (*.f64 1/8 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6)))) (pow.f64 a2 4))))))))))))))
(*.f64 (sqrt.f64 1/2) (pow.f64 a1 2))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4)))) (pow.f64 a1 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2))))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4)))) (pow.f64 a1 2)) (+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/8 (pow.f64 a2 6)) (*.f64 -1/8 (pow.f64 a2 6)))) (pow.f64 a1 4)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)))))
(*.f64 (sqrt.f64 1/2) (pow.f64 a1 2))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4)))) (pow.f64 a1 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2))))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4)))) (pow.f64 a1 2)) (+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/8 (pow.f64 a2 6)) (*.f64 -1/8 (pow.f64 a2 6)))) (pow.f64 a1 4)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)))))
(*.f64 (sqrt.f64 1/2) (pow.f64 a1 2))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (+.f64 (*.f64 (+.f64 (*.f64 -1 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (*.f64 5/64 (/.f64 1 (pow.f64 a1 6)))) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 8))) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2))))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 a1 8))) (*.f64 -1/2 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 2)))) (pow.f64 a1 2))) (+.f64 (*.f64 1/8 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 4))) (+.f64 (*.f64 -1 (+.f64 (pow.f64 (/.f64 1/16 (pow.f64 a1 5)) 2) (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 a1 8))) (*.f64 -1/2 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 2)))) (pow.f64 a1 2))) (*.f64 1/8 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 4)))))) (*.f64 1/256 (/.f64 1 (pow.f64 a1 10)))))) (pow.f64 a2 12))) (+.f64 (*.f64 (+.f64 (*.f64 -1 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (*.f64 5/64 (/.f64 1 (pow.f64 a1 6)))) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 8))) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)))))
(*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4)))) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2))))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4)))) (pow.f64 a2 2)) (+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)) (/.f64 (*.f64 (+.f64 (*.f64 -1/8 (pow.f64 a1 6)) (*.f64 1/8 (pow.f64 a1 6))) (sqrt.f64 1/2)) (pow.f64 a2 4)))))
(*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4)))) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2))))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4)))) (pow.f64 a2 2)) (+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)) (/.f64 (*.f64 (+.f64 (*.f64 -1/8 (pow.f64 a1 6)) (*.f64 1/8 (pow.f64 a1 6))) (sqrt.f64 1/2)) (pow.f64 a2 4)))))
(*.f64 a2 (pow.f64 1/2 1/4))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (pow.f64 a1 2) a2) (pow.f64 1/2 1/4))) (*.f64 a2 (pow.f64 1/2 1/4)))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (pow.f64 a1 2) a2) (pow.f64 1/2 1/4))) (+.f64 (*.f64 a2 (pow.f64 1/2 1/4)) (*.f64 -1/8 (*.f64 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3)) (pow.f64 1/2 1/4)))))
(+.f64 (*.f64 1/16 (*.f64 (/.f64 (pow.f64 a1 6) (pow.f64 a2 5)) (pow.f64 1/2 1/4))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (pow.f64 a1 2) a2) (pow.f64 1/2 1/4))) (+.f64 (*.f64 a2 (pow.f64 1/2 1/4)) (*.f64 -1/8 (*.f64 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3)) (pow.f64 1/2 1/4))))))
(*.f64 a1 (pow.f64 1/2 1/4))
(+.f64 (*.f64 a1 (pow.f64 1/2 1/4)) (*.f64 1/2 (*.f64 (/.f64 (pow.f64 a2 2) a1) (pow.f64 1/2 1/4))))
(+.f64 (*.f64 -1/8 (*.f64 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3)) (pow.f64 1/2 1/4))) (+.f64 (*.f64 a1 (pow.f64 1/2 1/4)) (*.f64 1/2 (*.f64 (/.f64 (pow.f64 a2 2) a1) (pow.f64 1/2 1/4)))))
(+.f64 (*.f64 1/16 (*.f64 (/.f64 (pow.f64 a2 6) (pow.f64 a1 5)) (pow.f64 1/2 1/4))) (+.f64 (*.f64 -1/8 (*.f64 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3)) (pow.f64 1/2 1/4))) (+.f64 (*.f64 a1 (pow.f64 1/2 1/4)) (*.f64 1/2 (*.f64 (/.f64 (pow.f64 a2 2) a1) (pow.f64 1/2 1/4))))))
(*.f64 -1 (*.f64 a1 (pow.f64 1/2 1/4)))
(+.f64 (*.f64 -1/2 (*.f64 (/.f64 (pow.f64 a2 2) a1) (pow.f64 1/2 1/4))) (*.f64 -1 (*.f64 a1 (pow.f64 1/2 1/4))))
(+.f64 (*.f64 -1/2 (*.f64 (/.f64 (pow.f64 a2 2) a1) (pow.f64 1/2 1/4))) (+.f64 (*.f64 -1 (*.f64 a1 (pow.f64 1/2 1/4))) (*.f64 1/8 (*.f64 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3)) (pow.f64 1/2 1/4)))))
(+.f64 (*.f64 -1/2 (*.f64 (/.f64 (pow.f64 a2 2) a1) (pow.f64 1/2 1/4))) (+.f64 (*.f64 -1/16 (*.f64 (/.f64 (pow.f64 a2 6) (pow.f64 a1 5)) (pow.f64 1/2 1/4))) (+.f64 (*.f64 -1 (*.f64 a1 (pow.f64 1/2 1/4))) (*.f64 1/8 (*.f64 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3)) (pow.f64 1/2 1/4))))))
(*.f64 a1 (pow.f64 1/2 1/4))
(+.f64 (*.f64 a1 (pow.f64 1/2 1/4)) (*.f64 1/2 (*.f64 (/.f64 (pow.f64 a2 2) a1) (pow.f64 1/2 1/4))))
(+.f64 (*.f64 -1/8 (*.f64 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3)) (pow.f64 1/2 1/4))) (+.f64 (*.f64 a1 (pow.f64 1/2 1/4)) (*.f64 1/2 (*.f64 (/.f64 (pow.f64 a2 2) a1) (pow.f64 1/2 1/4)))))
(+.f64 (*.f64 1/16 (*.f64 (/.f64 (pow.f64 a2 6) (pow.f64 a1 5)) (pow.f64 1/2 1/4))) (+.f64 (*.f64 -1/8 (*.f64 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3)) (pow.f64 1/2 1/4))) (+.f64 (*.f64 a1 (pow.f64 1/2 1/4)) (*.f64 1/2 (*.f64 (/.f64 (pow.f64 a2 2) a1) (pow.f64 1/2 1/4))))))
(*.f64 (pow.f64 1/2 1/4) a2)
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (pow.f64 a1 2) a2) (pow.f64 1/2 1/4))) (*.f64 (pow.f64 1/2 1/4) a2))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (pow.f64 a1 2) a2) (pow.f64 1/2 1/4))) (+.f64 (*.f64 (pow.f64 1/2 1/4) a2) (*.f64 -1/8 (*.f64 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3)) (pow.f64 1/2 1/4)))))
(+.f64 (*.f64 1/16 (*.f64 (/.f64 (pow.f64 a1 6) (pow.f64 a2 5)) (pow.f64 1/2 1/4))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (pow.f64 a1 2) a2) (pow.f64 1/2 1/4))) (+.f64 (*.f64 (pow.f64 1/2 1/4) a2) (*.f64 -1/8 (*.f64 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3)) (pow.f64 1/2 1/4))))))
(*.f64 -1 (*.f64 a2 (pow.f64 1/2 1/4)))
(+.f64 (*.f64 -1 (*.f64 a2 (pow.f64 1/2 1/4))) (*.f64 -1/2 (*.f64 (/.f64 (pow.f64 a1 2) a2) (pow.f64 1/2 1/4))))
(+.f64 (*.f64 -1 (*.f64 a2 (pow.f64 1/2 1/4))) (+.f64 (*.f64 -1/2 (*.f64 (/.f64 (pow.f64 a1 2) a2) (pow.f64 1/2 1/4))) (*.f64 1/8 (*.f64 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3)) (pow.f64 1/2 1/4)))))
(+.f64 (*.f64 -1 (*.f64 a2 (pow.f64 1/2 1/4))) (+.f64 (*.f64 -1/2 (*.f64 (/.f64 (pow.f64 a1 2) a2) (pow.f64 1/2 1/4))) (+.f64 (*.f64 1/8 (*.f64 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3)) (pow.f64 1/2 1/4))) (*.f64 -1/16 (*.f64 (/.f64 (pow.f64 a1 6) (pow.f64 a2 5)) (pow.f64 1/2 1/4))))))
(*.f64 (sqrt.f64 1/2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)))
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)))) (*.f64 (sqrt.f64 1/2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2))))
(+.f64 (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 4)))) (+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)))) (*.f64 (sqrt.f64 1/2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)))))
(+.f64 (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 4)))) (+.f64 (*.f64 -1/720 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 6)))) (+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)))) (*.f64 (sqrt.f64 1/2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2))))))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (+.f64 (*.f64 (+.f64 (*.f64 -1 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6))))) (*.f64 5/64 (/.f64 1 (pow.f64 a2 6)))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 8) (cos.f64 th)))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (+.f64 (*.f64 (+.f64 (*.f64 -1 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6))))) (*.f64 5/64 (/.f64 1 (pow.f64 a2 6)))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 8) (cos.f64 th)))) (+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 12) (*.f64 (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 a2 8))) (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6)))) (pow.f64 a2 2)))) (pow.f64 a2 2))) (+.f64 (*.f64 -1 (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 a2 8))) (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6)))) (pow.f64 a2 2)))) (pow.f64 a2 2))) (+.f64 (pow.f64 (/.f64 1/16 (pow.f64 a2 5)) 2) (*.f64 1/8 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6)))) (pow.f64 a2 4)))))) (+.f64 (*.f64 1/8 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6)))) (pow.f64 a2 4))) (*.f64 1/256 (/.f64 1 (pow.f64 a2 10)))))) (cos.f64 th)))))))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (cos.f64 th))) (pow.f64 a1 2)) (+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))))
(+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 1/8 (pow.f64 a2 6)) (*.f64 -1/8 (pow.f64 a2 6))) (cos.f64 th))) (pow.f64 a1 4)) (+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (cos.f64 th))) (pow.f64 a1 2)) (+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (cos.f64 th))) (pow.f64 a1 2)) (+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))))
(+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 1/8 (pow.f64 a2 6)) (*.f64 -1/8 (pow.f64 a2 6))) (cos.f64 th))) (pow.f64 a1 4)) (+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (cos.f64 th))) (pow.f64 a1 2)) (+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(+.f64 (*.f64 (+.f64 (*.f64 -1 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (*.f64 5/64 (/.f64 1 (pow.f64 a1 6)))) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a2 8)))) (+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 a1 8))) (*.f64 -1/2 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 2)))) (pow.f64 a1 2))) (+.f64 (*.f64 1/8 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 4))) (+.f64 (*.f64 1/256 (/.f64 1 (pow.f64 a1 10))) (*.f64 -1 (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 a1 8))) (*.f64 -1/2 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 2)))) (pow.f64 a1 2))) (+.f64 (pow.f64 (/.f64 1/16 (pow.f64 a1 5)) 2) (*.f64 1/8 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 4))))))))) (*.f64 (pow.f64 a2 12) (cos.f64 th)))) (+.f64 (*.f64 (+.f64 (*.f64 -1 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (*.f64 5/64 (/.f64 1 (pow.f64 a1 6)))) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a2 8)))) (+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4))) (cos.f64 th))) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4))) (cos.f64 th))) (pow.f64 a2 2)) (+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))) (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 1/8 (pow.f64 a1 6)) (*.f64 -1/8 (pow.f64 a1 6))) (cos.f64 th))) (pow.f64 a2 4)))))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4))) (cos.f64 th))) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4))) (cos.f64 th))) (pow.f64 a2 2)) (+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))) (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 1/8 (pow.f64 a1 6)) (*.f64 -1/8 (pow.f64 a1 6))) (cos.f64 th))) (pow.f64 a2 4)))))
Outputs
(*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)))
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 -1 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6))))) (*.f64 5/64 (/.f64 1 (pow.f64 a2 6)))) (pow.f64 a1 8))) (+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2))))
(fma.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 -1 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (/.f64 5/64 (pow.f64 a2 6))) (pow.f64 a1 8)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))))
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 (-.f64 (/.f64 5/64 (pow.f64 a2 6)) (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6)))) (pow.f64 a1 8)) (fma.f64 a2 a2 (*.f64 a1 a1))))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 -1 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6))))) (*.f64 5/64 (/.f64 1 (pow.f64 a2 6)))) (pow.f64 a1 8))) (+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 12) (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 a2 8))) (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6)))) (pow.f64 a2 2)))) (pow.f64 a2 2))) (+.f64 (*.f64 1/8 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6)))) (pow.f64 a2 4))) (+.f64 (*.f64 1/256 (/.f64 1 (pow.f64 a2 10))) (*.f64 -1 (+.f64 (pow.f64 (/.f64 1/16 (pow.f64 a2 5)) 2) (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 a2 8))) (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6)))) (pow.f64 a2 2)))) (pow.f64 a2 2))) (*.f64 1/8 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6)))) (pow.f64 a2 4))))))))))))))
(fma.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 -1 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (/.f64 5/64 (pow.f64 a2 6))) (pow.f64 a1 8)) (fma.f64 (sqrt.f64 1/2) (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a1 a1) (*.f64 (pow.f64 a1 12) (fma.f64 1/2 (/.f64 (+.f64 (/.f64 1/64 (pow.f64 a2 8)) (*.f64 1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (*.f64 a2 a2)))) (*.f64 a2 a2)) (+.f64 (fma.f64 1/8 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (pow.f64 a2 4)) (/.f64 1/256 (pow.f64 a2 10))) (neg.f64 (+.f64 (pow.f64 (/.f64 1/16 (pow.f64 a2 5)) 2) (fma.f64 1/2 (/.f64 (+.f64 (/.f64 1/64 (pow.f64 a2 8)) (*.f64 1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (*.f64 a2 a2)))) (*.f64 a2 a2)) (*.f64 1/8 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (pow.f64 a2 4)))))))))))))
(fma.f64 (sqrt.f64 1/2) (*.f64 (-.f64 (/.f64 5/64 (pow.f64 a2 6)) (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6)))) (pow.f64 a1 8)) (*.f64 (sqrt.f64 1/2) (+.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (pow.f64 a1 12) (fma.f64 1/2 (/.f64 (-.f64 (/.f64 1/64 (pow.f64 a2 8)) (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (*.f64 a2 a2)))) (*.f64 a2 a2)) (-.f64 (fma.f64 1/8 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (pow.f64 a2 4)) (/.f64 1/256 (pow.f64 a2 10))) (fma.f64 1/2 (/.f64 (-.f64 (/.f64 1/64 (pow.f64 a2 8)) (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (*.f64 a2 a2)))) (*.f64 a2 a2)) (fma.f64 1/8 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (pow.f64 a2 4)) (pow.f64 (/.f64 1/16 (pow.f64 a2 5)) 2)))))))))
(fma.f64 (sqrt.f64 1/2) (*.f64 (-.f64 (/.f64 5/64 (pow.f64 a2 6)) (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6)))) (pow.f64 a1 8)) (*.f64 (sqrt.f64 1/2) (+.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (pow.f64 a1 12) (fma.f64 1/2 (/.f64 (+.f64 (/.f64 1/64 (pow.f64 a2 8)) (*.f64 (/.f64 1/2 a2) (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) a2))) (*.f64 a2 a2)) (-.f64 (fma.f64 1/8 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (pow.f64 a2 4)) (/.f64 1/256 (pow.f64 a2 10))) (fma.f64 1/2 (/.f64 (+.f64 (/.f64 1/64 (pow.f64 a2 8)) (*.f64 (/.f64 1/2 a2) (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) a2))) (*.f64 a2 a2)) (fma.f64 1/8 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (pow.f64 a2 4)) (pow.f64 (/.f64 1/16 (pow.f64 a2 5)) 2)))))))))
(*.f64 (sqrt.f64 1/2) (pow.f64 a1 2))
(*.f64 (sqrt.f64 1/2) (*.f64 a1 a1))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)))
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1)))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4)))) (pow.f64 a1 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2))))
(fma.f64 (sqrt.f64 1/2) (*.f64 a2 a2) (+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 1/2) (/.f64 (*.f64 a1 a1) (*.f64 (pow.f64 a2 4) 0)))))
(+.f64 (*.f64 (/.f64 (sqrt.f64 1/2) (*.f64 a1 a1)) 0) (*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))))
(+.f64 (*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))) 0)
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4)))) (pow.f64 a1 2)) (+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/8 (pow.f64 a2 6)) (*.f64 -1/8 (pow.f64 a2 6)))) (pow.f64 a1 4)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)))))
(fma.f64 (sqrt.f64 1/2) (*.f64 a2 a2) (+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 1/2) (/.f64 (*.f64 a1 a1) (*.f64 (pow.f64 a2 4) 0)))))
(+.f64 (*.f64 (/.f64 (sqrt.f64 1/2) (*.f64 a1 a1)) 0) (*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))))
(+.f64 (*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))) 0)
(*.f64 (sqrt.f64 1/2) (pow.f64 a1 2))
(*.f64 (sqrt.f64 1/2) (*.f64 a1 a1))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)))
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1)))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4)))) (pow.f64 a1 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2))))
(fma.f64 (sqrt.f64 1/2) (*.f64 a2 a2) (+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 1/2) (/.f64 (*.f64 a1 a1) (*.f64 (pow.f64 a2 4) 0)))))
(+.f64 (*.f64 (/.f64 (sqrt.f64 1/2) (*.f64 a1 a1)) 0) (*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))))
(+.f64 (*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))) 0)
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4)))) (pow.f64 a1 2)) (+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/8 (pow.f64 a2 6)) (*.f64 -1/8 (pow.f64 a2 6)))) (pow.f64 a1 4)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)))))
(fma.f64 (sqrt.f64 1/2) (*.f64 a2 a2) (+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 1/2) (/.f64 (*.f64 a1 a1) (*.f64 (pow.f64 a2 4) 0)))))
(+.f64 (*.f64 (/.f64 (sqrt.f64 1/2) (*.f64 a1 a1)) 0) (*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))))
(+.f64 (*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))) 0)
(*.f64 (sqrt.f64 1/2) (pow.f64 a1 2))
(*.f64 (sqrt.f64 1/2) (*.f64 a1 a1))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)))
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1)))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (+.f64 (*.f64 (+.f64 (*.f64 -1 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (*.f64 5/64 (/.f64 1 (pow.f64 a1 6)))) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 8))) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2))))
(fma.f64 (sqrt.f64 1/2) (*.f64 a2 a2) (fma.f64 (fma.f64 -1 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (/.f64 5/64 (pow.f64 a1 6))) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 8)) (*.f64 (sqrt.f64 1/2) (*.f64 a1 a1))))
(+.f64 (*.f64 (pow.f64 a2 8) (*.f64 (sqrt.f64 1/2) (-.f64 (/.f64 5/64 (pow.f64 a1 6)) (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))))) (*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))))
(+.f64 (*.f64 (pow.f64 a2 8) (*.f64 (sqrt.f64 1/2) (-.f64 (+.f64 (/.f64 5/64 (pow.f64 a1 6)) (/.f64 -1/16 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)))) (*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 a1 8))) (*.f64 -1/2 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 2)))) (pow.f64 a1 2))) (+.f64 (*.f64 1/8 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 4))) (+.f64 (*.f64 -1 (+.f64 (pow.f64 (/.f64 1/16 (pow.f64 a1 5)) 2) (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 a1 8))) (*.f64 -1/2 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 2)))) (pow.f64 a1 2))) (*.f64 1/8 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 4)))))) (*.f64 1/256 (/.f64 1 (pow.f64 a1 10)))))) (pow.f64 a2 12))) (+.f64 (*.f64 (+.f64 (*.f64 -1 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (*.f64 5/64 (/.f64 1 (pow.f64 a1 6)))) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 8))) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)))))
(fma.f64 (sqrt.f64 1/2) (*.f64 a2 a2) (fma.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 1/2 (/.f64 (+.f64 (/.f64 1/64 (pow.f64 a1 8)) (*.f64 1/2 (/.f64 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (*.f64 a1 a1)))) (*.f64 a1 a1)) (fma.f64 1/8 (/.f64 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 4)) (fma.f64 -1 (+.f64 (pow.f64 (/.f64 1/16 (pow.f64 a1 5)) 2) (fma.f64 1/2 (/.f64 (+.f64 (/.f64 1/64 (pow.f64 a1 8)) (*.f64 1/2 (/.f64 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (*.f64 a1 a1)))) (*.f64 a1 a1)) (*.f64 1/8 (/.f64 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 4))))) (/.f64 1/256 (pow.f64 a1 10))))) (pow.f64 a2 12)) (fma.f64 (fma.f64 -1 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (/.f64 5/64 (pow.f64 a1 6))) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 8)) (*.f64 (sqrt.f64 1/2) (*.f64 a1 a1)))))
(+.f64 (fma.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 12) (fma.f64 1/2 (-.f64 (/.f64 1/64 (*.f64 (*.f64 a1 a1) (pow.f64 a1 8))) (/.f64 (*.f64 -1/2 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (pow.f64 a1 4))) (-.f64 (fma.f64 1/8 (/.f64 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 4)) (/.f64 1/256 (pow.f64 a1 10))) (fma.f64 1/2 (-.f64 (/.f64 1/64 (*.f64 (*.f64 a1 a1) (pow.f64 a1 8))) (/.f64 (*.f64 -1/2 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (pow.f64 a1 4))) (fma.f64 1/8 (/.f64 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 4)) (pow.f64 (/.f64 1/16 (pow.f64 a1 5)) 2)))))) (*.f64 (pow.f64 a2 8) (*.f64 (sqrt.f64 1/2) (-.f64 (/.f64 5/64 (pow.f64 a1 6)) (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)))))) (*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))))
(+.f64 (fma.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 12) (fma.f64 1/2 (-.f64 (/.f64 1/64 (*.f64 (*.f64 a1 a1) (pow.f64 a1 8))) (/.f64 (*.f64 -1/2 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (pow.f64 a1 4))) (-.f64 (fma.f64 1/8 (/.f64 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 4)) (/.f64 1/256 (pow.f64 a1 10))) (fma.f64 1/2 (-.f64 (/.f64 1/64 (*.f64 (*.f64 a1 a1) (pow.f64 a1 8))) (/.f64 (*.f64 -1/2 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (pow.f64 a1 4))) (fma.f64 1/8 (/.f64 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 4)) (pow.f64 (/.f64 1/16 (pow.f64 a1 5)) 2)))))) (*.f64 (pow.f64 a2 8) (*.f64 (sqrt.f64 1/2) (-.f64 (+.f64 (/.f64 5/64 (pow.f64 a1 6)) (/.f64 -1/16 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))))) (*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))))
(*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)))
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1)))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4)))) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2))))
(fma.f64 (sqrt.f64 1/2) (*.f64 a2 a2) (+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 1/2) (/.f64 (*.f64 a1 a1) (*.f64 (pow.f64 a2 4) 0)))))
(+.f64 (*.f64 (/.f64 (sqrt.f64 1/2) (*.f64 a1 a1)) 0) (*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))))
(+.f64 (*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))) 0)
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4)))) (pow.f64 a2 2)) (+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)) (/.f64 (*.f64 (+.f64 (*.f64 -1/8 (pow.f64 a1 6)) (*.f64 1/8 (pow.f64 a1 6))) (sqrt.f64 1/2)) (pow.f64 a2 4)))))
(fma.f64 (sqrt.f64 1/2) (*.f64 a2 a2) (+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 1/2) (/.f64 (*.f64 a1 a1) (*.f64 (pow.f64 a2 4) 0)))))
(+.f64 (*.f64 (/.f64 (sqrt.f64 1/2) (*.f64 a1 a1)) 0) (*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))))
(+.f64 (*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))) 0)
(*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)))
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1)))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4)))) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2))))
(fma.f64 (sqrt.f64 1/2) (*.f64 a2 a2) (+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 1/2) (/.f64 (*.f64 a1 a1) (*.f64 (pow.f64 a2 4) 0)))))
(+.f64 (*.f64 (/.f64 (sqrt.f64 1/2) (*.f64 a1 a1)) 0) (*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))))
(+.f64 (*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))) 0)
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4)))) (pow.f64 a2 2)) (+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)) (/.f64 (*.f64 (+.f64 (*.f64 -1/8 (pow.f64 a1 6)) (*.f64 1/8 (pow.f64 a1 6))) (sqrt.f64 1/2)) (pow.f64 a2 4)))))
(fma.f64 (sqrt.f64 1/2) (*.f64 a2 a2) (+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 1/2) (/.f64 (*.f64 a1 a1) (*.f64 (pow.f64 a2 4) 0)))))
(+.f64 (*.f64 (/.f64 (sqrt.f64 1/2) (*.f64 a1 a1)) 0) (*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))))
(+.f64 (*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))) 0)
(*.f64 a2 (pow.f64 1/2 1/4))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (pow.f64 a1 2) a2) (pow.f64 1/2 1/4))) (*.f64 a2 (pow.f64 1/2 1/4)))
(fma.f64 1/2 (*.f64 (pow.f64 1/2 1/4) (/.f64 (*.f64 a1 a1) a2)) (*.f64 a2 (pow.f64 1/2 1/4)))
(*.f64 (pow.f64 1/2 1/4) (+.f64 (/.f64 (*.f64 1/2 (*.f64 a1 a1)) a2) a2))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (pow.f64 a1 2) a2) (pow.f64 1/2 1/4))) (+.f64 (*.f64 a2 (pow.f64 1/2 1/4)) (*.f64 -1/8 (*.f64 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3)) (pow.f64 1/2 1/4)))))
(fma.f64 1/2 (*.f64 (pow.f64 1/2 1/4) (/.f64 (*.f64 a1 a1) a2)) (fma.f64 a2 (pow.f64 1/2 1/4) (*.f64 -1/8 (*.f64 (pow.f64 1/2 1/4) (/.f64 (pow.f64 a1 4) (pow.f64 a2 3))))))
(fma.f64 1/2 (*.f64 (pow.f64 1/2 1/4) (/.f64 a1 (/.f64 a2 a1))) (*.f64 (pow.f64 1/2 1/4) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3))) a2)))
(+.f64 (*.f64 (/.f64 a1 (/.f64 a2 a1)) (pow.f64 1/2 5/4)) (*.f64 (pow.f64 1/2 1/4) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3))) a2)))
(+.f64 (*.f64 1/16 (*.f64 (/.f64 (pow.f64 a1 6) (pow.f64 a2 5)) (pow.f64 1/2 1/4))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (pow.f64 a1 2) a2) (pow.f64 1/2 1/4))) (+.f64 (*.f64 a2 (pow.f64 1/2 1/4)) (*.f64 -1/8 (*.f64 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3)) (pow.f64 1/2 1/4))))))
(fma.f64 1/16 (*.f64 (pow.f64 1/2 1/4) (/.f64 (pow.f64 a1 6) (pow.f64 a2 5))) (fma.f64 1/2 (*.f64 (pow.f64 1/2 1/4) (/.f64 (*.f64 a1 a1) a2)) (fma.f64 a2 (pow.f64 1/2 1/4) (*.f64 -1/8 (*.f64 (pow.f64 1/2 1/4) (/.f64 (pow.f64 a1 4) (pow.f64 a2 3)))))))
(+.f64 (*.f64 (pow.f64 1/2 1/4) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3))) a2)) (*.f64 (pow.f64 1/2 1/4) (+.f64 (/.f64 (*.f64 1/16 (pow.f64 a1 6)) (pow.f64 a2 5)) (/.f64 (*.f64 1/2 (*.f64 a1 a1)) a2))))
(*.f64 a1 (pow.f64 1/2 1/4))
(+.f64 (*.f64 a1 (pow.f64 1/2 1/4)) (*.f64 1/2 (*.f64 (/.f64 (pow.f64 a2 2) a1) (pow.f64 1/2 1/4))))
(fma.f64 a1 (pow.f64 1/2 1/4) (*.f64 1/2 (*.f64 (pow.f64 1/2 1/4) (/.f64 (*.f64 a2 a2) a1))))
(*.f64 (pow.f64 1/2 1/4) (+.f64 (*.f64 1/2 (/.f64 a2 (/.f64 a1 a2))) a1))
(+.f64 (*.f64 -1/8 (*.f64 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3)) (pow.f64 1/2 1/4))) (+.f64 (*.f64 a1 (pow.f64 1/2 1/4)) (*.f64 1/2 (*.f64 (/.f64 (pow.f64 a2 2) a1) (pow.f64 1/2 1/4)))))
(fma.f64 -1/8 (/.f64 (*.f64 (pow.f64 a2 4) (pow.f64 1/2 1/4)) (pow.f64 a1 3)) (fma.f64 a1 (pow.f64 1/2 1/4) (*.f64 1/2 (*.f64 (pow.f64 1/2 1/4) (/.f64 (*.f64 a2 a2) a1)))))
(fma.f64 -1/8 (*.f64 (pow.f64 1/2 1/4) (/.f64 (pow.f64 a2 4) (pow.f64 a1 3))) (*.f64 (pow.f64 1/2 1/4) (+.f64 (*.f64 1/2 (/.f64 a2 (/.f64 a1 a2))) a1)))
(+.f64 (*.f64 (/.f64 a2 (/.f64 a1 a2)) (pow.f64 1/2 5/4)) (*.f64 (pow.f64 1/2 1/4) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3))) a1)))
(+.f64 (*.f64 1/16 (*.f64 (/.f64 (pow.f64 a2 6) (pow.f64 a1 5)) (pow.f64 1/2 1/4))) (+.f64 (*.f64 -1/8 (*.f64 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3)) (pow.f64 1/2 1/4))) (+.f64 (*.f64 a1 (pow.f64 1/2 1/4)) (*.f64 1/2 (*.f64 (/.f64 (pow.f64 a2 2) a1) (pow.f64 1/2 1/4))))))
(fma.f64 1/16 (/.f64 (*.f64 (pow.f64 a2 6) (pow.f64 1/2 1/4)) (pow.f64 a1 5)) (fma.f64 -1/8 (/.f64 (*.f64 (pow.f64 a2 4) (pow.f64 1/2 1/4)) (pow.f64 a1 3)) (fma.f64 a1 (pow.f64 1/2 1/4) (*.f64 1/2 (*.f64 (pow.f64 1/2 1/4) (/.f64 (*.f64 a2 a2) a1))))))
(+.f64 (*.f64 (pow.f64 1/2 1/4) (+.f64 (*.f64 1/2 (/.f64 a2 (/.f64 a1 a2))) a1)) (*.f64 (pow.f64 1/2 1/4) (+.f64 (/.f64 (*.f64 1/16 (pow.f64 a2 6)) (pow.f64 a1 5)) (*.f64 -1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3))))))
(*.f64 -1 (*.f64 a1 (pow.f64 1/2 1/4)))
(neg.f64 (*.f64 a1 (pow.f64 1/2 1/4)))
(*.f64 a1 (neg.f64 (pow.f64 1/2 1/4)))
(+.f64 (*.f64 -1/2 (*.f64 (/.f64 (pow.f64 a2 2) a1) (pow.f64 1/2 1/4))) (*.f64 -1 (*.f64 a1 (pow.f64 1/2 1/4))))
(fma.f64 -1/2 (*.f64 (pow.f64 1/2 1/4) (/.f64 (*.f64 a2 a2) a1)) (neg.f64 (*.f64 a1 (pow.f64 1/2 1/4))))
(*.f64 (pow.f64 1/2 1/4) (+.f64 (neg.f64 a1) (/.f64 (*.f64 -1/2 (*.f64 a2 a2)) a1)))
(*.f64 (pow.f64 1/2 1/4) (-.f64 (/.f64 (*.f64 -1/2 (*.f64 a2 a2)) a1) a1))
(+.f64 (*.f64 -1/2 (*.f64 (/.f64 (pow.f64 a2 2) a1) (pow.f64 1/2 1/4))) (+.f64 (*.f64 -1 (*.f64 a1 (pow.f64 1/2 1/4))) (*.f64 1/8 (*.f64 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3)) (pow.f64 1/2 1/4)))))
(fma.f64 -1/2 (*.f64 (pow.f64 1/2 1/4) (/.f64 (*.f64 a2 a2) a1)) (fma.f64 -1 (*.f64 a1 (pow.f64 1/2 1/4)) (*.f64 1/8 (/.f64 (*.f64 (pow.f64 a2 4) (pow.f64 1/2 1/4)) (pow.f64 a1 3)))))
(fma.f64 -1/2 (*.f64 (pow.f64 1/2 1/4) (/.f64 a2 (/.f64 a1 a2))) (*.f64 (pow.f64 1/2 1/4) (+.f64 (/.f64 (*.f64 1/8 (pow.f64 a2 4)) (pow.f64 a1 3)) (neg.f64 a1))))
(fma.f64 -1/2 (*.f64 (pow.f64 1/2 1/4) (/.f64 a2 (/.f64 a1 a2))) (*.f64 (pow.f64 1/2 1/4) (-.f64 (/.f64 (*.f64 1/8 (pow.f64 a2 4)) (pow.f64 a1 3)) a1)))
(+.f64 (*.f64 -1/2 (*.f64 (/.f64 (pow.f64 a2 2) a1) (pow.f64 1/2 1/4))) (+.f64 (*.f64 -1/16 (*.f64 (/.f64 (pow.f64 a2 6) (pow.f64 a1 5)) (pow.f64 1/2 1/4))) (+.f64 (*.f64 -1 (*.f64 a1 (pow.f64 1/2 1/4))) (*.f64 1/8 (*.f64 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3)) (pow.f64 1/2 1/4))))))
(fma.f64 -1/2 (*.f64 (pow.f64 1/2 1/4) (/.f64 (*.f64 a2 a2) a1)) (fma.f64 -1/16 (/.f64 (*.f64 (pow.f64 a2 6) (pow.f64 1/2 1/4)) (pow.f64 a1 5)) (fma.f64 -1 (*.f64 a1 (pow.f64 1/2 1/4)) (*.f64 1/8 (/.f64 (*.f64 (pow.f64 a2 4) (pow.f64 1/2 1/4)) (pow.f64 a1 3))))))
(+.f64 (*.f64 (pow.f64 1/2 1/4) (+.f64 (/.f64 (*.f64 1/8 (pow.f64 a2 4)) (pow.f64 a1 3)) (neg.f64 a1))) (*.f64 (pow.f64 1/2 1/4) (+.f64 (/.f64 (*.f64 -1/2 (*.f64 a2 a2)) a1) (*.f64 (/.f64 (pow.f64 a2 6) (pow.f64 a1 5)) -1/16))))
(+.f64 (*.f64 (pow.f64 1/2 1/4) (-.f64 (/.f64 (*.f64 1/8 (pow.f64 a2 4)) (pow.f64 a1 3)) a1)) (*.f64 (pow.f64 1/2 1/4) (+.f64 (/.f64 (*.f64 -1/2 (*.f64 a2 a2)) a1) (*.f64 (/.f64 (pow.f64 a2 6) (pow.f64 a1 5)) -1/16))))
(*.f64 a1 (pow.f64 1/2 1/4))
(+.f64 (*.f64 a1 (pow.f64 1/2 1/4)) (*.f64 1/2 (*.f64 (/.f64 (pow.f64 a2 2) a1) (pow.f64 1/2 1/4))))
(fma.f64 a1 (pow.f64 1/2 1/4) (*.f64 1/2 (*.f64 (pow.f64 1/2 1/4) (/.f64 (*.f64 a2 a2) a1))))
(*.f64 (pow.f64 1/2 1/4) (+.f64 (*.f64 1/2 (/.f64 a2 (/.f64 a1 a2))) a1))
(+.f64 (*.f64 -1/8 (*.f64 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3)) (pow.f64 1/2 1/4))) (+.f64 (*.f64 a1 (pow.f64 1/2 1/4)) (*.f64 1/2 (*.f64 (/.f64 (pow.f64 a2 2) a1) (pow.f64 1/2 1/4)))))
(fma.f64 -1/8 (/.f64 (*.f64 (pow.f64 a2 4) (pow.f64 1/2 1/4)) (pow.f64 a1 3)) (fma.f64 a1 (pow.f64 1/2 1/4) (*.f64 1/2 (*.f64 (pow.f64 1/2 1/4) (/.f64 (*.f64 a2 a2) a1)))))
(fma.f64 -1/8 (*.f64 (pow.f64 1/2 1/4) (/.f64 (pow.f64 a2 4) (pow.f64 a1 3))) (*.f64 (pow.f64 1/2 1/4) (+.f64 (*.f64 1/2 (/.f64 a2 (/.f64 a1 a2))) a1)))
(+.f64 (*.f64 (/.f64 a2 (/.f64 a1 a2)) (pow.f64 1/2 5/4)) (*.f64 (pow.f64 1/2 1/4) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3))) a1)))
(+.f64 (*.f64 1/16 (*.f64 (/.f64 (pow.f64 a2 6) (pow.f64 a1 5)) (pow.f64 1/2 1/4))) (+.f64 (*.f64 -1/8 (*.f64 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3)) (pow.f64 1/2 1/4))) (+.f64 (*.f64 a1 (pow.f64 1/2 1/4)) (*.f64 1/2 (*.f64 (/.f64 (pow.f64 a2 2) a1) (pow.f64 1/2 1/4))))))
(fma.f64 1/16 (/.f64 (*.f64 (pow.f64 a2 6) (pow.f64 1/2 1/4)) (pow.f64 a1 5)) (fma.f64 -1/8 (/.f64 (*.f64 (pow.f64 a2 4) (pow.f64 1/2 1/4)) (pow.f64 a1 3)) (fma.f64 a1 (pow.f64 1/2 1/4) (*.f64 1/2 (*.f64 (pow.f64 1/2 1/4) (/.f64 (*.f64 a2 a2) a1))))))
(+.f64 (*.f64 (pow.f64 1/2 1/4) (+.f64 (*.f64 1/2 (/.f64 a2 (/.f64 a1 a2))) a1)) (*.f64 (pow.f64 1/2 1/4) (+.f64 (/.f64 (*.f64 1/16 (pow.f64 a2 6)) (pow.f64 a1 5)) (*.f64 -1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3))))))
(*.f64 (pow.f64 1/2 1/4) a2)
(*.f64 a2 (pow.f64 1/2 1/4))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (pow.f64 a1 2) a2) (pow.f64 1/2 1/4))) (*.f64 (pow.f64 1/2 1/4) a2))
(fma.f64 1/2 (*.f64 (pow.f64 1/2 1/4) (/.f64 (*.f64 a1 a1) a2)) (*.f64 a2 (pow.f64 1/2 1/4)))
(*.f64 (pow.f64 1/2 1/4) (+.f64 (/.f64 (*.f64 1/2 (*.f64 a1 a1)) a2) a2))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (pow.f64 a1 2) a2) (pow.f64 1/2 1/4))) (+.f64 (*.f64 (pow.f64 1/2 1/4) a2) (*.f64 -1/8 (*.f64 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3)) (pow.f64 1/2 1/4)))))
(fma.f64 1/2 (*.f64 (pow.f64 1/2 1/4) (/.f64 (*.f64 a1 a1) a2)) (fma.f64 a2 (pow.f64 1/2 1/4) (*.f64 -1/8 (*.f64 (pow.f64 1/2 1/4) (/.f64 (pow.f64 a1 4) (pow.f64 a2 3))))))
(fma.f64 1/2 (*.f64 (pow.f64 1/2 1/4) (/.f64 a1 (/.f64 a2 a1))) (*.f64 (pow.f64 1/2 1/4) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3))) a2)))
(+.f64 (*.f64 (/.f64 a1 (/.f64 a2 a1)) (pow.f64 1/2 5/4)) (*.f64 (pow.f64 1/2 1/4) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3))) a2)))
(+.f64 (*.f64 1/16 (*.f64 (/.f64 (pow.f64 a1 6) (pow.f64 a2 5)) (pow.f64 1/2 1/4))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (pow.f64 a1 2) a2) (pow.f64 1/2 1/4))) (+.f64 (*.f64 (pow.f64 1/2 1/4) a2) (*.f64 -1/8 (*.f64 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3)) (pow.f64 1/2 1/4))))))
(fma.f64 1/16 (*.f64 (pow.f64 1/2 1/4) (/.f64 (pow.f64 a1 6) (pow.f64 a2 5))) (fma.f64 1/2 (*.f64 (pow.f64 1/2 1/4) (/.f64 (*.f64 a1 a1) a2)) (fma.f64 a2 (pow.f64 1/2 1/4) (*.f64 -1/8 (*.f64 (pow.f64 1/2 1/4) (/.f64 (pow.f64 a1 4) (pow.f64 a2 3)))))))
(+.f64 (*.f64 (pow.f64 1/2 1/4) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3))) a2)) (*.f64 (pow.f64 1/2 1/4) (+.f64 (/.f64 (*.f64 1/16 (pow.f64 a1 6)) (pow.f64 a2 5)) (/.f64 (*.f64 1/2 (*.f64 a1 a1)) a2))))
(*.f64 -1 (*.f64 a2 (pow.f64 1/2 1/4)))
(neg.f64 (*.f64 a2 (pow.f64 1/2 1/4)))
(*.f64 a2 (neg.f64 (pow.f64 1/2 1/4)))
(+.f64 (*.f64 -1 (*.f64 a2 (pow.f64 1/2 1/4))) (*.f64 -1/2 (*.f64 (/.f64 (pow.f64 a1 2) a2) (pow.f64 1/2 1/4))))
(fma.f64 -1 (*.f64 a2 (pow.f64 1/2 1/4)) (*.f64 -1/2 (*.f64 (pow.f64 1/2 1/4) (/.f64 (*.f64 a1 a1) a2))))
(*.f64 (pow.f64 1/2 1/4) (+.f64 (neg.f64 a2) (*.f64 -1/2 (/.f64 a1 (/.f64 a2 a1)))))
(*.f64 (pow.f64 1/2 1/4) (-.f64 (*.f64 -1/2 (/.f64 a1 (/.f64 a2 a1))) a2))
(+.f64 (*.f64 -1 (*.f64 a2 (pow.f64 1/2 1/4))) (+.f64 (*.f64 -1/2 (*.f64 (/.f64 (pow.f64 a1 2) a2) (pow.f64 1/2 1/4))) (*.f64 1/8 (*.f64 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3)) (pow.f64 1/2 1/4)))))
(fma.f64 -1 (*.f64 a2 (pow.f64 1/2 1/4)) (fma.f64 -1/2 (*.f64 (pow.f64 1/2 1/4) (/.f64 (*.f64 a1 a1) a2)) (*.f64 1/8 (*.f64 (pow.f64 1/2 1/4) (/.f64 (pow.f64 a1 4) (pow.f64 a2 3))))))
(-.f64 (*.f64 (pow.f64 1/2 1/4) (+.f64 (*.f64 -1/2 (/.f64 a1 (/.f64 a2 a1))) (*.f64 1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3))))) (*.f64 a2 (pow.f64 1/2 1/4)))
(+.f64 (*.f64 1/8 (*.f64 (pow.f64 1/2 1/4) (/.f64 (pow.f64 a1 4) (pow.f64 a2 3)))) (*.f64 (pow.f64 1/2 1/4) (-.f64 (*.f64 -1/2 (/.f64 a1 (/.f64 a2 a1))) a2)))
(+.f64 (*.f64 -1 (*.f64 a2 (pow.f64 1/2 1/4))) (+.f64 (*.f64 -1/2 (*.f64 (/.f64 (pow.f64 a1 2) a2) (pow.f64 1/2 1/4))) (+.f64 (*.f64 1/8 (*.f64 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3)) (pow.f64 1/2 1/4))) (*.f64 -1/16 (*.f64 (/.f64 (pow.f64 a1 6) (pow.f64 a2 5)) (pow.f64 1/2 1/4))))))
(fma.f64 -1 (*.f64 a2 (pow.f64 1/2 1/4)) (fma.f64 -1/2 (*.f64 (pow.f64 1/2 1/4) (/.f64 (*.f64 a1 a1) a2)) (fma.f64 1/8 (*.f64 (pow.f64 1/2 1/4) (/.f64 (pow.f64 a1 4) (pow.f64 a2 3))) (*.f64 (*.f64 -1/16 (/.f64 (pow.f64 a1 6) (pow.f64 a2 5))) (pow.f64 1/2 1/4)))))
(+.f64 (*.f64 (pow.f64 1/2 1/4) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3))) (/.f64 (*.f64 -1/16 (pow.f64 a1 6)) (pow.f64 a2 5)))) (*.f64 (pow.f64 1/2 1/4) (+.f64 (neg.f64 a2) (*.f64 -1/2 (/.f64 a1 (/.f64 a2 a1))))))
(+.f64 (*.f64 (pow.f64 1/2 1/4) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3))) (/.f64 (*.f64 -1/16 (pow.f64 a1 6)) (pow.f64 a2 5)))) (*.f64 (pow.f64 1/2 1/4) (-.f64 (*.f64 -1/2 (/.f64 a1 (/.f64 a2 a1))) a2)))
(*.f64 (sqrt.f64 1/2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)))
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1)))
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)))) (*.f64 (sqrt.f64 1/2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2))))
(fma.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (*.f64 th th))) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))))
(fma.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 th th)) -1/2)))
(+.f64 (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 4)))) (+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)))) (*.f64 (sqrt.f64 1/2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)))))
(fma.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (pow.f64 th 4))) (fma.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (*.f64 th th))) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))))
(fma.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (pow.f64 th 4))) (fma.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 th th)) -1/2))))
(+.f64 (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 4)))) (+.f64 (*.f64 -1/720 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 6)))) (+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)))) (*.f64 (sqrt.f64 1/2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2))))))
(fma.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (pow.f64 th 4))) (fma.f64 -1/720 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (pow.f64 th 6))) (fma.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (*.f64 th th))) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))))))
(fma.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (pow.f64 th 4))) (fma.f64 -1/720 (*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (pow.f64 th 6))) (fma.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 th th)) -1/2)))))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (+.f64 (*.f64 (+.f64 (*.f64 -1 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6))))) (*.f64 5/64 (/.f64 1 (pow.f64 a2 6)))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 8) (cos.f64 th)))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))))
(fma.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a1 a1) (cos.f64 th)) (fma.f64 (fma.f64 -1 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (/.f64 5/64 (pow.f64 a2 6))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 8) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th)))))
(+.f64 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 (pow.f64 a1 8) (cos.f64 th)) (-.f64 (/.f64 5/64 (pow.f64 a2 6)) (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6)))))))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (+.f64 (*.f64 (+.f64 (*.f64 -1 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6))))) (*.f64 5/64 (/.f64 1 (pow.f64 a2 6)))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 8) (cos.f64 th)))) (+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 12) (*.f64 (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 a2 8))) (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6)))) (pow.f64 a2 2)))) (pow.f64 a2 2))) (+.f64 (*.f64 -1 (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 a2 8))) (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6)))) (pow.f64 a2 2)))) (pow.f64 a2 2))) (+.f64 (pow.f64 (/.f64 1/16 (pow.f64 a2 5)) 2) (*.f64 1/8 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6)))) (pow.f64 a2 4)))))) (+.f64 (*.f64 1/8 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6)))) (pow.f64 a2 4))) (*.f64 1/256 (/.f64 1 (pow.f64 a2 10)))))) (cos.f64 th)))))))
(fma.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a1 a1) (cos.f64 th)) (fma.f64 (fma.f64 -1 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (/.f64 5/64 (pow.f64 a2 6))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 8) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (*.f64 (*.f64 (pow.f64 a1 12) (fma.f64 1/2 (/.f64 (+.f64 (/.f64 1/64 (pow.f64 a2 8)) (*.f64 1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (*.f64 a2 a2)))) (*.f64 a2 a2)) (fma.f64 -1 (fma.f64 1/2 (/.f64 (+.f64 (/.f64 1/64 (pow.f64 a2 8)) (*.f64 1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (*.f64 a2 a2)))) (*.f64 a2 a2)) (+.f64 (*.f64 1/8 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (pow.f64 a2 4))) (pow.f64 (/.f64 1/16 (pow.f64 a2 5)) 2))) (fma.f64 1/8 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (pow.f64 a2 4)) (/.f64 1/256 (pow.f64 a2 10)))))) (cos.f64 th))))))
(fma.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a1 a1) (cos.f64 th)) (fma.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (+.f64 (*.f64 a2 a2) (*.f64 (pow.f64 a1 12) (fma.f64 1/2 (/.f64 (-.f64 (/.f64 1/64 (pow.f64 a2 8)) (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (*.f64 a2 a2)))) (*.f64 a2 a2)) (-.f64 (fma.f64 1/8 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (pow.f64 a2 4)) (/.f64 1/256 (pow.f64 a2 10))) (fma.f64 1/2 (/.f64 (-.f64 (/.f64 1/64 (pow.f64 a2 8)) (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (*.f64 a2 a2)))) (*.f64 a2 a2)) (fma.f64 1/8 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (pow.f64 a2 4)) (pow.f64 (/.f64 1/16 (pow.f64 a2 5)) 2)))))))) (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 (pow.f64 a1 8) (cos.f64 th)) (-.f64 (/.f64 5/64 (pow.f64 a2 6)) (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))))))))
(fma.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a1 a1) (cos.f64 th)) (fma.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (+.f64 (*.f64 a2 a2) (*.f64 (pow.f64 a1 12) (fma.f64 1/2 (/.f64 (+.f64 (/.f64 1/64 (pow.f64 a2 8)) (*.f64 (/.f64 1/2 a2) (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) a2))) (*.f64 a2 a2)) (-.f64 (fma.f64 1/8 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (pow.f64 a2 4)) (/.f64 1/256 (pow.f64 a2 10))) (fma.f64 1/2 (/.f64 (+.f64 (/.f64 1/64 (pow.f64 a2 8)) (*.f64 (/.f64 1/2 a2) (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) a2))) (*.f64 a2 a2)) (fma.f64 1/8 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (pow.f64 a2 4)) (pow.f64 (/.f64 1/16 (pow.f64 a2 5)) 2)))))))) (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 (pow.f64 a1 8) (cos.f64 th)) (-.f64 (/.f64 5/64 (pow.f64 a2 6)) (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))))))))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a1 a1) (cos.f64 th)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (cos.f64 th))) (pow.f64 a1 2)) (+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))))
(+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (*.f64 (*.f64 a2 a2) (cos.f64 th)))) (/.f64 (sqrt.f64 1/2) (/.f64 (*.f64 a1 a1) (*.f64 (*.f64 (pow.f64 a2 4) 0) (cos.f64 th)))))
(fma.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)) (*.f64 (/.f64 (sqrt.f64 1/2) (*.f64 a1 a1)) (*.f64 (cos.f64 th) 0)))
(fma.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)) 0)
(+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 1/8 (pow.f64 a2 6)) (*.f64 -1/8 (pow.f64 a2 6))) (cos.f64 th))) (pow.f64 a1 4)) (+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (cos.f64 th))) (pow.f64 a1 2)) (+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))))
(+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (*.f64 (*.f64 a2 a2) (cos.f64 th)))) (/.f64 (sqrt.f64 1/2) (/.f64 (*.f64 a1 a1) (*.f64 (*.f64 (pow.f64 a2 4) 0) (cos.f64 th)))))
(fma.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)) (*.f64 (/.f64 (sqrt.f64 1/2) (*.f64 a1 a1)) (*.f64 (cos.f64 th) 0)))
(fma.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)) 0)
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a1 a1) (cos.f64 th)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (cos.f64 th))) (pow.f64 a1 2)) (+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))))
(+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (*.f64 (*.f64 a2 a2) (cos.f64 th)))) (/.f64 (sqrt.f64 1/2) (/.f64 (*.f64 a1 a1) (*.f64 (*.f64 (pow.f64 a2 4) 0) (cos.f64 th)))))
(fma.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)) (*.f64 (/.f64 (sqrt.f64 1/2) (*.f64 a1 a1)) (*.f64 (cos.f64 th) 0)))
(fma.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)) 0)
(+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 1/8 (pow.f64 a2 6)) (*.f64 -1/8 (pow.f64 a2 6))) (cos.f64 th))) (pow.f64 a1 4)) (+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (cos.f64 th))) (pow.f64 a1 2)) (+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))))
(+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (*.f64 (*.f64 a2 a2) (cos.f64 th)))) (/.f64 (sqrt.f64 1/2) (/.f64 (*.f64 a1 a1) (*.f64 (*.f64 (pow.f64 a2 4) 0) (cos.f64 th)))))
(fma.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)) (*.f64 (/.f64 (sqrt.f64 1/2) (*.f64 a1 a1)) (*.f64 (cos.f64 th) 0)))
(fma.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)) 0)
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a1 a1) (cos.f64 th)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(+.f64 (*.f64 (+.f64 (*.f64 -1 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (*.f64 5/64 (/.f64 1 (pow.f64 a1 6)))) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a2 8)))) (+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))))
(fma.f64 (fma.f64 -1 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (/.f64 5/64 (pow.f64 a1 6))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 8) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (*.f64 (*.f64 a2 a2) (cos.f64 th)))))
(fma.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)) (*.f64 (-.f64 (/.f64 5/64 (pow.f64 a1 6)) (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 8) (cos.f64 th)))))
(fma.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)) (*.f64 (-.f64 (+.f64 (/.f64 5/64 (pow.f64 a1 6)) (/.f64 -1/16 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 8) (cos.f64 th)))))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 a1 8))) (*.f64 -1/2 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 2)))) (pow.f64 a1 2))) (+.f64 (*.f64 1/8 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 4))) (+.f64 (*.f64 1/256 (/.f64 1 (pow.f64 a1 10))) (*.f64 -1 (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 a1 8))) (*.f64 -1/2 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 2)))) (pow.f64 a1 2))) (+.f64 (pow.f64 (/.f64 1/16 (pow.f64 a1 5)) 2) (*.f64 1/8 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 4))))))))) (*.f64 (pow.f64 a2 12) (cos.f64 th)))) (+.f64 (*.f64 (+.f64 (*.f64 -1 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (*.f64 5/64 (/.f64 1 (pow.f64 a1 6)))) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a2 8)))) (+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))))
(fma.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 1/2 (/.f64 (+.f64 (/.f64 1/64 (pow.f64 a1 8)) (*.f64 1/2 (/.f64 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (*.f64 a1 a1)))) (*.f64 a1 a1)) (fma.f64 1/8 (/.f64 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 4)) (+.f64 (/.f64 1/256 (pow.f64 a1 10)) (neg.f64 (fma.f64 1/2 (/.f64 (+.f64 (/.f64 1/64 (pow.f64 a1 8)) (*.f64 1/2 (/.f64 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (*.f64 a1 a1)))) (*.f64 a1 a1)) (+.f64 (*.f64 1/8 (/.f64 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 4))) (pow.f64 (/.f64 1/16 (pow.f64 a1 5)) 2))))))) (*.f64 (pow.f64 a2 12) (cos.f64 th))) (fma.f64 (fma.f64 -1 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (/.f64 5/64 (pow.f64 a1 6))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 8) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (*.f64 (*.f64 a2 a2) (cos.f64 th))))))
(fma.f64 (sqrt.f64 1/2) (*.f64 (*.f64 (pow.f64 a2 12) (fma.f64 1/2 (-.f64 (/.f64 1/64 (*.f64 (*.f64 a1 a1) (pow.f64 a1 8))) (/.f64 (*.f64 -1/2 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (pow.f64 a1 4))) (-.f64 (fma.f64 1/8 (/.f64 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 4)) (/.f64 1/256 (pow.f64 a1 10))) (fma.f64 1/2 (-.f64 (/.f64 1/64 (*.f64 (*.f64 a1 a1) (pow.f64 a1 8))) (/.f64 (*.f64 -1/2 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (pow.f64 a1 4))) (fma.f64 1/8 (/.f64 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 4)) (pow.f64 (/.f64 1/16 (pow.f64 a1 5)) 2)))))) (cos.f64 th)) (fma.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)) (*.f64 (-.f64 (/.f64 5/64 (pow.f64 a1 6)) (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 8) (cos.f64 th))))))
(fma.f64 (sqrt.f64 1/2) (*.f64 (*.f64 (pow.f64 a2 12) (fma.f64 1/2 (-.f64 (/.f64 1/64 (*.f64 (*.f64 a1 a1) (pow.f64 a1 8))) (/.f64 (*.f64 -1/2 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (pow.f64 a1 4))) (-.f64 (fma.f64 1/8 (/.f64 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 4)) (/.f64 1/256 (pow.f64 a1 10))) (fma.f64 1/2 (-.f64 (/.f64 1/64 (*.f64 (*.f64 a1 a1) (pow.f64 a1 8))) (/.f64 (*.f64 -1/2 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (pow.f64 a1 4))) (fma.f64 1/8 (/.f64 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 4)) (pow.f64 (/.f64 1/16 (pow.f64 a1 5)) 2)))))) (cos.f64 th)) (fma.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)) (*.f64 (-.f64 (+.f64 (/.f64 5/64 (pow.f64 a1 6)) (/.f64 -1/16 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 8) (cos.f64 th))))))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4))) (cos.f64 th))) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))))
(+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (*.f64 (*.f64 a2 a2) (cos.f64 th)))) (/.f64 (sqrt.f64 1/2) (/.f64 (*.f64 a1 a1) (*.f64 (*.f64 (pow.f64 a2 4) 0) (cos.f64 th)))))
(fma.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)) (*.f64 (/.f64 (sqrt.f64 1/2) (*.f64 a1 a1)) (*.f64 (cos.f64 th) 0)))
(fma.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)) 0)
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4))) (cos.f64 th))) (pow.f64 a2 2)) (+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))) (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 1/8 (pow.f64 a1 6)) (*.f64 -1/8 (pow.f64 a1 6))) (cos.f64 th))) (pow.f64 a2 4)))))
(+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (*.f64 (*.f64 a2 a2) (cos.f64 th)))) (/.f64 (sqrt.f64 1/2) (/.f64 (*.f64 a1 a1) (*.f64 (*.f64 (pow.f64 a2 4) 0) (cos.f64 th)))))
(fma.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)) (*.f64 (/.f64 (sqrt.f64 1/2) (*.f64 a1 a1)) (*.f64 (cos.f64 th) 0)))
(fma.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)) 0)
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4))) (cos.f64 th))) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))))
(+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (*.f64 (*.f64 a2 a2) (cos.f64 th)))) (/.f64 (sqrt.f64 1/2) (/.f64 (*.f64 a1 a1) (*.f64 (*.f64 (pow.f64 a2 4) 0) (cos.f64 th)))))
(fma.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)) (*.f64 (/.f64 (sqrt.f64 1/2) (*.f64 a1 a1)) (*.f64 (cos.f64 th) 0)))
(fma.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)) 0)
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4))) (cos.f64 th))) (pow.f64 a2 2)) (+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))) (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 1/8 (pow.f64 a1 6)) (*.f64 -1/8 (pow.f64 a1 6))) (cos.f64 th))) (pow.f64 a2 4)))))
(+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (*.f64 (*.f64 a2 a2) (cos.f64 th)))) (/.f64 (sqrt.f64 1/2) (/.f64 (*.f64 a1 a1) (*.f64 (*.f64 (pow.f64 a2 4) 0) (cos.f64 th)))))
(fma.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)) (*.f64 (/.f64 (sqrt.f64 1/2) (*.f64 a1 a1)) (*.f64 (cos.f64 th) 0)))
(fma.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)) 0)

prune287.0ms (4.1%)

Pruning

9 alts after pruning (6 fresh and 3 done)

PrunedKeptTotal
New2521253
Fresh156
Picked011
Done022
Total2539262
Error
0.0b
Counts
262 → 9
Alt Table
StatusErrorProgram
0.7b
(/.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 (hypot.f64 a1 a2) (/.f64 (sqrt.f64 2) (hypot.f64 a1 a2))))
0.8b
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (cos.f64 th))))
0.4b
(*.f64 (cos.f64 th) (*.f64 (hypot.f64 a1 a2) (*.f64 (hypot.f64 a1 a2) (pow.f64 2 -1/2))))
28.7b
(*.f64 a2 (/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)))
0.7b
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
0.6b
(*.f64 (cos.f64 th) (*.f64 (/.f64 (hypot.f64 a1 a2) (pow.f64 2 1/4)) (/.f64 (hypot.f64 a1 a2) (pow.f64 2 1/4))))
0.5b
(*.f64 (cos.f64 th) (fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (/.f64 a2 (/.f64 (sqrt.f64 2) a2))))
0.8b
(+.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 7994 to 5524 computations (30.9% saved)

regimes317.0ms (4.5%)

Accuracy

Total -57.4b remaining (-12829.8%)

Threshold costs -57.4b (-12829.8%)

Counts
61 → 1
Calls
Call 1
Inputs
(pow.f64 (cbrt.f64 (/.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (cos.f64 th)) (sqrt.f64 2))) 3)
(/.f64 (*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a1 a2) 2)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (pow.f64 2 -1/4)) (cos.f64 th)) (pow.f64 2 1/4))
(*.f64 (cos.f64 th) (/.f64 (pow.f64 (hypot.f64 a1 a2) 2) (sqrt.f64 2)))
(*.f64 (cos.f64 th) (/.f64 (hypot.f64 a1 a2) (/.f64 (sqrt.f64 2) (hypot.f64 a1 a2))))
(*.f64 (cos.f64 th) (+.f64 0 (/.f64 (pow.f64 (hypot.f64 a1 a2) 2) (sqrt.f64 2))))
(fma.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)) 0)
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a1 a1) (cos.f64 th)))
(*.f64 (cos.f64 th) (+.f64 (*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))) 0))
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a1 a1)))
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)))
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))) 3)
(*.f64 (cos.f64 th) (cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 (hypot.f64 a1 a2) 2)) 3)))
(*.f64 (cos.f64 th) (pow.f64 (*.f64 (hypot.f64 a1 a2) (pow.f64 2 -1/4)) 2))
(*.f64 (sqrt.f64 1/2) (*.f64 a1 (*.f64 a1 (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)))
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)))
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))))
(*.f64 (cos.f64 th) (+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2))))
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)))
(*.f64 (cos.f64 th) (*.f64 (hypot.f64 a1 a2) (neg.f64 (*.f64 (sqrt.f64 1/2) a1))))
(*.f64 (cos.f64 th) (*.f64 (hypot.f64 a1 a2) (*.f64 -1 (*.f64 (sqrt.f64 1/2) a1))))
(*.f64 (cos.f64 th) (*.f64 (hypot.f64 a1 a2) (*.f64 (sqrt.f64 1/2) a2)))
(/.f64 (/.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (cos.f64 th)) (pow.f64 2 1/4)) (pow.f64 2 1/4))
(/.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (cos.f64 th))))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (pow.f64 (hypot.f64 a1 a2) 2)))
(*.f64 (cos.f64 th) (sqrt.f64 (/.f64 (pow.f64 (pow.f64 (hypot.f64 a1 a2) 2) 2) 2)))
(*.f64 (cos.f64 th) (pow.f64 (/.f64 (hypot.f64 a1 a2) (pow.f64 2 1/4)) 2))
(*.f64 (cos.f64 th) (*.f64 (/.f64 1 (pow.f64 2 1/4)) (/.f64 (pow.f64 (hypot.f64 a1 a2) 2) (pow.f64 2 1/4))))
(*.f64 (cos.f64 th) (*.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)))))
(*.f64 (cos.f64 th) (*.f64 (hypot.f64 a1 a2) (*.f64 (hypot.f64 a1 a2) (pow.f64 2 -1/2))))
(*.f64 (cos.f64 th) (*.f64 (/.f64 (hypot.f64 a1 a2) (pow.f64 2 1/4)) (/.f64 (hypot.f64 a1 a2) (pow.f64 2 1/4))))
(*.f64 (cos.f64 th) (*.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))))
(*.f64 (cos.f64 th) (*.f64 (pow.f64 (hypot.f64 a1 a2) 2) (pow.f64 2 -1/2)))
(*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(*.f64 a2 (/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (fma.f64 (/.f64 a2 (sqrt.f64 2)) a2 (*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)) (+.f64 (*.f64 1/24 (pow.f64 th 4)) (*.f64 -1/2 (*.f64 th th))))))
(/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2))
(/.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (sqrt.f64 2))
(*.f64 (cos.f64 th) (*.f64 a1 (/.f64 a1 (sqrt.f64 2))))
(*.f64 (cos.f64 th) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))
(*.f64 (cos.f64 th) (fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (/.f64 a2 (/.f64 (sqrt.f64 2) a2))))
(*.f64 (cos.f64 th) (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))))
(*.f64 (cos.f64 th) (/.f64 a2 (/.f64 (sqrt.f64 2) a2)))
(*.f64 (cos.f64 th) (/.f64 (pow.f64 a2 2) (sqrt.f64 2)))
(*.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 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
Outputs
(*.f64 (cos.f64 th) (/.f64 (hypot.f64 a1 a2) (/.f64 (sqrt.f64 2) (hypot.f64 a1 a2))))
Results
42.0ms0.4ba1
36.0ms0.4ba2
33.0ms0.4bth
34.0ms0.4b(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
25.0ms0.4b(/.f64 (cos.f64 th) (sqrt.f64 2))
22.0ms0.4b(/.f64 (cos.f64 th) (sqrt.f64 2))
23.0ms0.4b(cos.f64 th)
19.0ms0.4b(*.f64 a1 a1)
21.0ms0.4b(*.f64 a1 a1)
18.0ms0.4b(*.f64 a2 a2)
18.0ms0.4b(*.f64 a2 a2)
Compiler

Compiled 850 to 509 computations (40.1% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

end34.0ms (0.5%)

Stop Event
fuel
Remove

(sort a1 a2)

Compiler

Compiled 64 to 40 computations (37.5% saved)

Profiling

Loading profile data...