Details

Time bar (total: 18.7s)

analyze443.0ms (2.4%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%99.9%0.1%0%0%0%1
0%0%99.9%0.1%0%0%0%2
0%0%99.9%0.1%0%0%0%3
0%0%99.9%0.1%0%0%0%4
0%0%99.9%0.1%0%0%0%5
25%25%74.9%0.1%0%0%0%6
25%25%74.9%0.1%0%0%0%7
25%25%74.9%0.1%0%0%0%8
25%25%74.9%0.1%0%0%0%9
28.1%25%64%0.1%10.9%0%0%10
36.4%31.2%54.6%0.1%14%0%0%11
46.9%39%44.1%0.1%16.8%0%0%12
Compiler

Compiled 23 to 16 computations (30.4% saved)

sample5.4s (29%)

Results
1.3s1842×body1024valid
1.2s5482×body256valid
982.0ms1682×body1024infinite
935.0ms837×body512infinite
600.0ms929×body512valid
402.0ms1600×body256infinite
2.0msbody2048valid
Bogosity

preprocess32.0ms (0.2%)

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 a2 a2) (*.f64 a1 a1)))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(+.f64 (*.f64 (/.f64 (cos.f64 a1) (sqrt.f64 2)) (*.f64 th th)) (*.f64 (/.f64 (cos.f64 a1) (sqrt.f64 2)) (*.f64 a2 a2)))
(*.f64 (/.f64 (cos.f64 a1) (sqrt.f64 2)) (+.f64 (*.f64 th th) (*.f64 a2 a2)))
(*.f64 (/.f64 (cos.f64 a1) (sqrt.f64 2)) (fma.f64 th th (*.f64 a2 a2)))
(*.f64 (cos.f64 a1) (/.f64 (fma.f64 th th (*.f64 a2 a2)) (sqrt.f64 2)))
(+.f64 (*.f64 (/.f64 (cos.f64 a2) (sqrt.f64 2)) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 a2) (sqrt.f64 2)) (*.f64 th th)))
(*.f64 (/.f64 (cos.f64 a2) (sqrt.f64 2)) (+.f64 (*.f64 a1 a1) (*.f64 th th)))
(*.f64 (/.f64 (cos.f64 a2) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 th th)))
(*.f64 (/.f64 (cos.f64 a2) (sqrt.f64 2)) (fma.f64 th th (*.f64 a1 a1)))
(*.f64 (cos.f64 a2) (/.f64 (fma.f64 th th (*.f64 a1 a1)) (sqrt.f64 2)))
Symmetry

(sort a1 a2)

Compiler

Compiled 25 to 18 computations (28% saved)

simplify12.0ms (0.1%)

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

Useful iterations: 1 (0.0ms)

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

eval1.0ms (0%)

Compiler

Compiled 34 to 20 computations (41.2% saved)

prune2.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.8b
Counts
3 → 2
Alt Table
Click to see full alt table
StatusErrorProgram
0.8b
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 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 37 to 25 computations (32.4% saved)

localize17.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 37 to 16 computations (56.8% saved)

series15.0ms (0.1%)

Counts
2 → 40
Calls

12 calls:

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

rewrite69.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
523×log-prod_binary64
407×exp-prod_binary64
343×pow-prod-down_binary64
283×pow2_binary64
198×pow1/3_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify65.0ms (0.3%)

Algorithm
egg-herbie
Rules
821×unswap-sqr_binary64
749×associate-*l*_binary64
547×associate-/l/_binary64
515×fma-def_binary64
494×distribute-rgt-in_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
059925
1145857
2373853
31196821
44370806
Stop Event
node limit
Counts
126 → 109
Calls
Call 1
Inputs
(/.f64 1 (sqrt.f64 2))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 th 2) (sqrt.f64 2))) (/.f64 1 (sqrt.f64 2)))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 th 2) (sqrt.f64 2))) (+.f64 (*.f64 1/24 (/.f64 (pow.f64 th 4) (sqrt.f64 2))) (/.f64 1 (sqrt.f64 2))))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 th 2) (sqrt.f64 2))) (+.f64 (*.f64 -1/720 (/.f64 (pow.f64 th 6) (sqrt.f64 2))) (+.f64 (*.f64 1/24 (/.f64 (pow.f64 th 4) (sqrt.f64 2))) (/.f64 1 (sqrt.f64 2)))))
(/.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (sqrt.f64 2))
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (/.f64 (pow.f64 a1 2) (sqrt.f64 2)) (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)) (sqrt.f64 2)))))
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (/.f64 (pow.f64 a1 2) (sqrt.f64 2)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)) (sqrt.f64 2))) (*.f64 1/24 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 4)) (sqrt.f64 2))))))
(+.f64 (*.f64 -1/720 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 6)) (sqrt.f64 2))) (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (/.f64 (pow.f64 a1 2) (sqrt.f64 2)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)) (sqrt.f64 2))) (*.f64 1/24 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 4)) (sqrt.f64 2)))))))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
Outputs
(/.f64 1 (sqrt.f64 2))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 th 2) (sqrt.f64 2))) (/.f64 1 (sqrt.f64 2)))
(fma.f64 -1/2 (/.f64 (*.f64 th th) (sqrt.f64 2)) (/.f64 1 (sqrt.f64 2)))
(fma.f64 -1/2 (/.f64 th (/.f64 (sqrt.f64 2) th)) (/.f64 1 (sqrt.f64 2)))
(fma.f64 -1/2 (*.f64 (/.f64 th (sqrt.f64 2)) th) (/.f64 1 (sqrt.f64 2)))
(fma.f64 -1/2 (*.f64 th (/.f64 th (sqrt.f64 2))) (/.f64 1 (sqrt.f64 2)))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 th 2) (sqrt.f64 2))) (+.f64 (*.f64 1/24 (/.f64 (pow.f64 th 4) (sqrt.f64 2))) (/.f64 1 (sqrt.f64 2))))
(fma.f64 -1/2 (/.f64 (*.f64 th th) (sqrt.f64 2)) (fma.f64 1/24 (/.f64 (pow.f64 th 4) (sqrt.f64 2)) (/.f64 1 (sqrt.f64 2))))
(fma.f64 -1/2 (/.f64 th (/.f64 (sqrt.f64 2) th)) (fma.f64 1/24 (/.f64 (pow.f64 th 4) (sqrt.f64 2)) (/.f64 1 (sqrt.f64 2))))
(fma.f64 -1/2 (*.f64 (/.f64 th (sqrt.f64 2)) th) (fma.f64 1/24 (/.f64 (pow.f64 th 4) (sqrt.f64 2)) (/.f64 1 (sqrt.f64 2))))
(fma.f64 -1/2 (*.f64 th (/.f64 th (sqrt.f64 2))) (fma.f64 1/24 (/.f64 (pow.f64 th 4) (sqrt.f64 2)) (/.f64 1 (sqrt.f64 2))))
(+.f64 (/.f64 1 (sqrt.f64 2)) (*.f64 (*.f64 th (/.f64 th (sqrt.f64 2))) (+.f64 -1/2 (*.f64 th (*.f64 th 1/24)))))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 th 2) (sqrt.f64 2))) (+.f64 (*.f64 -1/720 (/.f64 (pow.f64 th 6) (sqrt.f64 2))) (+.f64 (*.f64 1/24 (/.f64 (pow.f64 th 4) (sqrt.f64 2))) (/.f64 1 (sqrt.f64 2)))))
(fma.f64 -1/2 (/.f64 (*.f64 th th) (sqrt.f64 2)) (fma.f64 -1/720 (/.f64 (pow.f64 th 6) (sqrt.f64 2)) (fma.f64 1/24 (/.f64 (pow.f64 th 4) (sqrt.f64 2)) (/.f64 1 (sqrt.f64 2)))))
(fma.f64 -1/2 (/.f64 th (/.f64 (sqrt.f64 2) th)) (fma.f64 -1/720 (/.f64 (pow.f64 th 6) (sqrt.f64 2)) (fma.f64 1/24 (/.f64 (pow.f64 th 4) (sqrt.f64 2)) (/.f64 1 (sqrt.f64 2)))))
(fma.f64 -1/2 (*.f64 (/.f64 th (sqrt.f64 2)) th) (fma.f64 1/24 (/.f64 (pow.f64 th 4) (sqrt.f64 2)) (fma.f64 -1/720 (/.f64 (pow.f64 th 6) (sqrt.f64 2)) (/.f64 1 (sqrt.f64 2)))))
(fma.f64 -1/2 (*.f64 th (/.f64 th (sqrt.f64 2))) (fma.f64 1/24 (/.f64 (pow.f64 th 4) (sqrt.f64 2)) (fma.f64 -1/720 (/.f64 (pow.f64 th 6) (sqrt.f64 2)) (/.f64 1 (sqrt.f64 2)))))
(+.f64 (/.f64 1 (sqrt.f64 2)) (fma.f64 -1/720 (/.f64 (pow.f64 th 6) (sqrt.f64 2)) (*.f64 (*.f64 th (/.f64 th (sqrt.f64 2))) (+.f64 -1/2 (*.f64 th (*.f64 th 1/24))))))
(/.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (sqrt.f64 2))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (sqrt.f64 2))
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2))
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (/.f64 (pow.f64 a1 2) (sqrt.f64 2)) (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)) (sqrt.f64 2)))))
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (*.f64 -1/2 (/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (*.f64 th th))))))
(+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (fma.f64 -1/2 (*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (*.f64 th th)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))))
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (fma.f64 -1/2 (*.f64 (*.f64 th th) (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2))) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1)))
(fma.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (*.f64 -1/2 (*.f64 th th)) (fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (/.f64 (*.f64 a2 a2) (sqrt.f64 2))))
(fma.f64 -1/2 (*.f64 (*.f64 th (/.f64 th (sqrt.f64 2))) (fma.f64 a2 a2 (*.f64 a1 a1))) (fma.f64 (/.f64 a2 (sqrt.f64 2)) a2 (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))))
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (/.f64 (pow.f64 a1 2) (sqrt.f64 2)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)) (sqrt.f64 2))) (*.f64 1/24 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 4)) (sqrt.f64 2))))))
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (fma.f64 -1/2 (/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (*.f64 th th))) (*.f64 1/24 (/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (pow.f64 th 4)))))))
(+.f64 (fma.f64 1/24 (*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (pow.f64 th 4)) (/.f64 (*.f64 -1/2 (fma.f64 a2 a2 (*.f64 a1 a1))) (/.f64 (sqrt.f64 2) (*.f64 th th)))) (+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))))
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (fma.f64 -1/2 (*.f64 (*.f64 th th) (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2))) (fma.f64 1/24 (*.f64 (pow.f64 th 4) (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2))) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))))
(fma.f64 (/.f64 a2 (sqrt.f64 2)) a2 (fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (+.f64 (*.f64 -1/2 (*.f64 th th)) (*.f64 1/24 (pow.f64 th 4))))))
(fma.f64 (/.f64 a2 (sqrt.f64 2)) a2 (fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (*.f64 th (/.f64 th (sqrt.f64 2))) (+.f64 -1/2 (*.f64 th (*.f64 th 1/24)))))))
(+.f64 (*.f64 -1/720 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 6)) (sqrt.f64 2))) (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (/.f64 (pow.f64 a1 2) (sqrt.f64 2)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)) (sqrt.f64 2))) (*.f64 1/24 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 4)) (sqrt.f64 2)))))))
(fma.f64 -1/720 (/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (pow.f64 th 6))) (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (fma.f64 -1/2 (/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (*.f64 th th))) (*.f64 1/24 (/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (pow.f64 th 4))))))))
(+.f64 (+.f64 (fma.f64 -1/720 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (pow.f64 th 6))) (/.f64 a2 (/.f64 (sqrt.f64 2) a2))) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))) (fma.f64 1/24 (*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (pow.f64 th 4)) (/.f64 (*.f64 -1/2 (fma.f64 a2 a2 (*.f64 a1 a1))) (/.f64 (sqrt.f64 2) (*.f64 th th)))))
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (fma.f64 -1/720 (*.f64 (pow.f64 th 6) (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2))) (fma.f64 -1/2 (*.f64 (*.f64 th th) (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2))) (fma.f64 1/24 (*.f64 (pow.f64 th 4) (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2))) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1)))))
(fma.f64 -1/720 (*.f64 (pow.f64 th 6) (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2))) (fma.f64 (/.f64 a2 (sqrt.f64 2)) a2 (fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (+.f64 (*.f64 -1/2 (*.f64 th th)) (*.f64 1/24 (pow.f64 th 4)))))))
(fma.f64 (/.f64 a2 (sqrt.f64 2)) a2 (fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (+.f64 (*.f64 1/24 (pow.f64 th 4)) (+.f64 (*.f64 -1/720 (pow.f64 th 6)) (*.f64 -1/2 (*.f64 th th)))))))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 (cos.f64 th) a1) a1) (sqrt.f64 2))
(*.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (cos.f64 th))
(*.f64 a1 (*.f64 (/.f64 a1 (sqrt.f64 2)) (cos.f64 th)))
(*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (cos.f64 th))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 (cos.f64 th) a1) a1) (sqrt.f64 2))
(*.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (cos.f64 th))
(*.f64 a1 (*.f64 (/.f64 a1 (sqrt.f64 2)) (cos.f64 th)))
(*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (cos.f64 th))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 (cos.f64 th) a1) a1) (sqrt.f64 2))
(*.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (cos.f64 th))
(*.f64 a1 (*.f64 (/.f64 a1 (sqrt.f64 2)) (cos.f64 th)))
(*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (cos.f64 th))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2)))

localize26.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
0.3b
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1))
0.5b
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2))
0.7b
(/.f64 (cos.f64 th) (sqrt.f64 2))
Compiler

Compiled 59 to 29 computations (50.8% saved)

series18.0ms (0.1%)

Counts
3 → 84
Calls

21 calls:

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

rewrite100.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
740×log-prod_binary64
512×fma-def_binary64
365×pow2_binary64
251×pow1/3_binary64
246×expm1-udef_binary64
Iterations

Useful iterations: 2 (0.0ms)

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

simplify71.0ms (0.4%)

Algorithm
egg-herbie
Rules
751×associate-+l+_binary64
730×associate-/l*_binary64
509×associate-+r+_binary64
509×associate-/r*_binary64
442×*-commutative_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0741972
12111968
26211767
324741558
Stop Event
node limit
Counts
231 → 178
Calls
Call 1
Inputs
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 2)) (sqrt.f64 2))))
(+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 4)) (sqrt.f64 2))) (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 2)) (sqrt.f64 2)))))
(+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 4)) (sqrt.f64 2))) (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 2)) (sqrt.f64 2))) (*.f64 -1/720 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 6)) (sqrt.f64 2))))))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 4)) (sqrt.f64 2))) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (+.f64 (*.f64 -1/720 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 6)) (sqrt.f64 2))) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 4)) (sqrt.f64 2))) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))
(+.f64 (*.f64 (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 a2 2) (sqrt.f64 2))) (*.f64 -1/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 (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 a2 2) (sqrt.f64 2))) (*.f64 -1/2 (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))) (pow.f64 th 2)) (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (*.f64 (+.f64 (*.f64 1/24 (/.f64 (pow.f64 a2 2) (sqrt.f64 2))) (*.f64 1/24 (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))) (pow.f64 th 4)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 a2 2) (sqrt.f64 2))) (*.f64 -1/2 (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))) (pow.f64 th 2)) (+.f64 (*.f64 (+.f64 (*.f64 -1/720 (/.f64 (pow.f64 a2 2) (sqrt.f64 2))) (*.f64 -1/720 (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))) (pow.f64 th 6)) (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (*.f64 (+.f64 (*.f64 1/24 (/.f64 (pow.f64 a2 2) (sqrt.f64 2))) (*.f64 1/24 (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))) (pow.f64 th 4)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))))))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.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 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (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)))
Outputs
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 2)) (sqrt.f64 2))))
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 -1/2 (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (*.f64 th th)))))
(fma.f64 -1/2 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 th th)) (/.f64 (*.f64 a2 a2) (sqrt.f64 2)))
(*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (/.f64 (*.f64 a2 a2) (sqrt.f64 2)))
(+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 4)) (sqrt.f64 2))) (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 2)) (sqrt.f64 2)))))
(fma.f64 1/24 (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (pow.f64 th 4))) (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 -1/2 (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (*.f64 th th))))))
(fma.f64 1/24 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (pow.f64 th 4)) (fma.f64 -1/2 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 th th)) (/.f64 (*.f64 a2 a2) (sqrt.f64 2))))
(fma.f64 -1/2 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 th th)) (fma.f64 1/24 (/.f64 a2 (/.f64 (/.f64 (sqrt.f64 2) (pow.f64 th 4)) a2)) (/.f64 (*.f64 a2 a2) (sqrt.f64 2))))
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (+.f64 (*.f64 1/24 (pow.f64 th 4)) (*.f64 -1/2 (*.f64 th th)))))
(+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 4)) (sqrt.f64 2))) (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 2)) (sqrt.f64 2))) (*.f64 -1/720 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 6)) (sqrt.f64 2))))))
(fma.f64 1/24 (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (pow.f64 th 4))) (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (fma.f64 -1/2 (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (*.f64 th th))) (*.f64 -1/720 (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (pow.f64 th 6)))))))
(+.f64 (fma.f64 1/24 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (pow.f64 th 4)) (fma.f64 -1/2 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 th th)) (/.f64 (*.f64 a2 a2) (sqrt.f64 2)))) (/.f64 -1/720 (/.f64 (sqrt.f64 2) (*.f64 a2 (*.f64 a2 (pow.f64 th 6))))))
(fma.f64 1/24 (/.f64 a2 (/.f64 (/.f64 (sqrt.f64 2) (pow.f64 th 4)) a2)) (fma.f64 -1/2 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 th th)) (fma.f64 -1/720 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (pow.f64 th 6)) (/.f64 (*.f64 a2 a2) (sqrt.f64 2)))))
(+.f64 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (+.f64 (*.f64 -1/2 (*.f64 th th)) (*.f64 -1/720 (pow.f64 th 6)))) (*.f64 (+.f64 1 (*.f64 1/24 (pow.f64 th 4))) (/.f64 (*.f64 a2 a2) (sqrt.f64 2))))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (*.f64 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 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (pow.f64 a1 2) (sqrt.f64 2))
(/.f64 (*.f64 a1 a1) (sqrt.f64 2))
(*.f64 (/.f64 a1 (sqrt.f64 2)) a1)
(*.f64 a1 (/.f64 a1 (sqrt.f64 2)))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))
(fma.f64 -1/2 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (*.f64 th th))) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))
(fma.f64 -1/2 (/.f64 (*.f64 (*.f64 th th) (*.f64 a1 a1)) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))
(fma.f64 -1/2 (*.f64 (*.f64 th th) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1)) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))
(*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 a1 (/.f64 a1 (sqrt.f64 2))))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 4)) (sqrt.f64 2))) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))))
(fma.f64 -1/2 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (*.f64 th th))) (fma.f64 1/24 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (pow.f64 th 4))) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))))
(fma.f64 -1/2 (/.f64 (*.f64 (*.f64 th th) (*.f64 a1 a1)) (sqrt.f64 2)) (fma.f64 1/24 (/.f64 (pow.f64 th 4) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))))
(fma.f64 -1/2 (*.f64 (*.f64 th th) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1)) (fma.f64 1/24 (*.f64 (/.f64 (pow.f64 th 4) (sqrt.f64 2)) (*.f64 a1 a1)) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1)))
(+.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (+.f64 (*.f64 1/24 (pow.f64 th 4)) (*.f64 -1/2 (*.f64 th th)))))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (+.f64 (*.f64 -1/720 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 6)) (sqrt.f64 2))) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 4)) (sqrt.f64 2))) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))))
(fma.f64 -1/2 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (*.f64 th th))) (fma.f64 -1/720 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (pow.f64 th 6))) (fma.f64 1/24 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (pow.f64 th 4))) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))))
(fma.f64 -1/2 (/.f64 (*.f64 (*.f64 th th) (*.f64 a1 a1)) (sqrt.f64 2)) (fma.f64 -1/720 (*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (pow.f64 th 6)) (fma.f64 1/24 (/.f64 (pow.f64 th 4) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))))
(fma.f64 -1/2 (*.f64 (*.f64 th th) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1)) (fma.f64 1/24 (*.f64 (/.f64 (pow.f64 th 4) (sqrt.f64 2)) (*.f64 a1 a1)) (fma.f64 -1/720 (*.f64 (pow.f64 th 6) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1)) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))))
(+.f64 (*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) (*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (+.f64 (*.f64 1/24 (pow.f64 th 4)) (*.f64 -1/720 (pow.f64 th 6)))))
(/.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 a1 (/.f64 (sqrt.f64 2) (cos.f64 th))) a1)
(*.f64 (cos.f64 th) (*.f64 a1 (/.f64 a1 (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 a1 (/.f64 (sqrt.f64 2) (cos.f64 th))) a1)
(*.f64 (cos.f64 th) (*.f64 a1 (/.f64 a1 (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 a1 (/.f64 (sqrt.f64 2) (cos.f64 th))) a1)
(*.f64 (cos.f64 th) (*.f64 a1 (/.f64 a1 (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 a1 (/.f64 (sqrt.f64 2) (cos.f64 th))) a1)
(*.f64 (cos.f64 th) (*.f64 a1 (/.f64 a1 (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 a1 (/.f64 (sqrt.f64 2) (cos.f64 th))) a1)
(*.f64 (cos.f64 th) (*.f64 a1 (/.f64 a1 (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 a1 (/.f64 (sqrt.f64 2) (cos.f64 th))) a1)
(*.f64 (cos.f64 th) (*.f64 a1 (/.f64 a1 (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 a1 (/.f64 (sqrt.f64 2) (cos.f64 th))) a1)
(*.f64 (cos.f64 th) (*.f64 a1 (/.f64 a1 (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 a1 (/.f64 (sqrt.f64 2) (cos.f64 th))) a1)
(*.f64 (cos.f64 th) (*.f64 a1 (/.f64 a1 (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 a1 (/.f64 (sqrt.f64 2) (cos.f64 th))) a1)
(*.f64 (cos.f64 th) (*.f64 a1 (/.f64 a1 (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 a1 (/.f64 (sqrt.f64 2) (cos.f64 th))) a1)
(*.f64 (cos.f64 th) (*.f64 a1 (/.f64 a1 (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 a1 (/.f64 (sqrt.f64 2) (cos.f64 th))) a1)
(*.f64 (cos.f64 th) (*.f64 a1 (/.f64 a1 (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 a1 (/.f64 (sqrt.f64 2) (cos.f64 th))) a1)
(*.f64 (cos.f64 th) (*.f64 a1 (/.f64 a1 (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 a1 (/.f64 (sqrt.f64 2) (cos.f64 th))) a1)
(*.f64 (cos.f64 th) (*.f64 a1 (/.f64 a1 (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 a1 (/.f64 (sqrt.f64 2) (cos.f64 th))) a1)
(*.f64 (cos.f64 th) (*.f64 a1 (/.f64 a1 (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 a1 (/.f64 (sqrt.f64 2) (cos.f64 th))) a1)
(*.f64 (cos.f64 th) (*.f64 a1 (/.f64 a1 (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 a1 (/.f64 (sqrt.f64 2) (cos.f64 th))) a1)
(*.f64 (cos.f64 th) (*.f64 a1 (/.f64 a1 (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 a1 (/.f64 (sqrt.f64 2) (cos.f64 th))) a1)
(*.f64 (cos.f64 th) (*.f64 a1 (/.f64 a1 (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 a1 (/.f64 (sqrt.f64 2) (cos.f64 th))) a1)
(*.f64 (cos.f64 th) (*.f64 a1 (/.f64 a1 (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 a1 (/.f64 (sqrt.f64 2) (cos.f64 th))) a1)
(*.f64 (cos.f64 th) (*.f64 a1 (/.f64 a1 (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 a1 (/.f64 (sqrt.f64 2) (cos.f64 th))) a1)
(*.f64 (cos.f64 th) (*.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 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 a1 (/.f64 a1 (sqrt.f64 2))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 a2 2) (sqrt.f64 2))) (*.f64 -1/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 (*.f64 -1/2 (+.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 (*.f64 th th) (*.f64 -1/2 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))) (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))))
(*.f64 (+.f64 (*.f64 -1/2 (*.f64 th th)) 1) (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1)))
(*.f64 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) (+.f64 1 (*.f64 -1/2 (*.f64 th th))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 a2 2) (sqrt.f64 2))) (*.f64 -1/2 (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))) (pow.f64 th 2)) (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (*.f64 (+.f64 (*.f64 1/24 (/.f64 (pow.f64 a2 2) (sqrt.f64 2))) (*.f64 1/24 (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))) (pow.f64 th 4)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))))
(fma.f64 (*.f64 -1/2 (+.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)) (fma.f64 (*.f64 1/24 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))) (pow.f64 th 4) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))))
(fma.f64 (*.f64 th th) (*.f64 -1/2 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))) (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (fma.f64 (pow.f64 th 4) (*.f64 1/24 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))))
(fma.f64 -1/2 (*.f64 (*.f64 th th) (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))) (*.f64 (+.f64 (*.f64 1/24 (pow.f64 th 4)) 1) (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))))
(*.f64 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) (+.f64 (*.f64 -1/2 (*.f64 th th)) (+.f64 1 (*.f64 1/24 (pow.f64 th 4)))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 a2 2) (sqrt.f64 2))) (*.f64 -1/2 (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))) (pow.f64 th 2)) (+.f64 (*.f64 (+.f64 (*.f64 -1/720 (/.f64 (pow.f64 a2 2) (sqrt.f64 2))) (*.f64 -1/720 (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))) (pow.f64 th 6)) (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (*.f64 (+.f64 (*.f64 1/24 (/.f64 (pow.f64 a2 2) (sqrt.f64 2))) (*.f64 1/24 (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))) (pow.f64 th 4)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))))))
(fma.f64 (*.f64 -1/2 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))) (*.f64 th th) (fma.f64 (*.f64 -1/720 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))) (pow.f64 th 6) (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (fma.f64 (*.f64 1/24 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))) (pow.f64 th 4) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))))))
(fma.f64 (*.f64 th th) (*.f64 -1/2 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))) (+.f64 (fma.f64 (pow.f64 th 4) (*.f64 1/24 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) (fma.f64 (pow.f64 th 6) (*.f64 -1/720 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))) (/.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 (/.f64 a1 (sqrt.f64 2)) a1))) (*.f64 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1)) (+.f64 (*.f64 -1/2 (*.f64 th th)) (*.f64 -1/720 (pow.f64 th 6)))))
(fma.f64 (*.f64 th th) (*.f64 (/.f64 -1/2 (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) (*.f64 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) (+.f64 (+.f64 1 (*.f64 1/24 (pow.f64 th 4))) (*.f64 -1/720 (pow.f64 th 6)))))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (cos.f64 th))))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))) (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)))
(*.f64 (cos.f64 th) (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1)))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (cos.f64 th))))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))) (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)))
(*.f64 (cos.f64 th) (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1)))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (cos.f64 th))))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))) (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)))
(*.f64 (cos.f64 th) (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1)))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (cos.f64 th))))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))) (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)))
(*.f64 (cos.f64 th) (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1)))
(*.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 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (cos.f64 th))))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))) (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)))
(*.f64 (cos.f64 th) (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1)))
(*.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 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (cos.f64 th))))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))) (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)))
(*.f64 (cos.f64 th) (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1)))
(*.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 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (cos.f64 th))))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))) (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)))
(*.f64 (cos.f64 th) (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1)))
(*.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 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (cos.f64 th))))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))) (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)))
(*.f64 (cos.f64 th) (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1)))
(*.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 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (cos.f64 th))))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))) (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)))
(*.f64 (cos.f64 th) (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1)))
(*.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 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (cos.f64 th))))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))) (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)))
(*.f64 (cos.f64 th) (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1)))
(*.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 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (cos.f64 th))))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))) (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)))
(*.f64 (cos.f64 th) (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1)))
(*.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 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1)))
(*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) (cos.f64 th))) a1)
(*.f64 (cos.f64 th) (*.f64 a1 (/.f64 a1 (sqrt.f64 2))))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (cos.f64 th))))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))) (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)))
(*.f64 (cos.f64 th) (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1)))
(*.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 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (cos.f64 th))))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))) (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)))
(*.f64 (cos.f64 th) (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1)))
(*.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 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (cos.f64 th))))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))) (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)))
(*.f64 (cos.f64 th) (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1)))
(*.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 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1)))
(*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) (cos.f64 th))) a1)
(*.f64 (cos.f64 th) (*.f64 a1 (/.f64 a1 (sqrt.f64 2))))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (cos.f64 th))))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))) (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)))
(*.f64 (cos.f64 th) (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1)))
(*.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 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (cos.f64 th))))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))) (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)))
(*.f64 (cos.f64 th) (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1)))
(*.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 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (cos.f64 th))))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))) (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)))
(*.f64 (cos.f64 th) (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1)))
(*.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 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1)))
(*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) (cos.f64 th))) a1)
(*.f64 (cos.f64 th) (*.f64 a1 (/.f64 a1 (sqrt.f64 2))))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (cos.f64 th))))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))) (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)))
(*.f64 (cos.f64 th) (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1)))
(*.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 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (cos.f64 th))))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))) (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)))
(*.f64 (cos.f64 th) (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1)))
(*.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 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (cos.f64 th))))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))) (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)))
(*.f64 (cos.f64 th) (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1)))
(*.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 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (cos.f64 th))))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))) (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)))
(*.f64 (cos.f64 th) (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1)))
(*.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 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (cos.f64 th))))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))) (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)))
(*.f64 (cos.f64 th) (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1)))
(*.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 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (cos.f64 th))))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))) (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)))
(*.f64 (cos.f64 th) (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1)))
(*.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 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (cos.f64 th))))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))) (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)))
(*.f64 (cos.f64 th) (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1)))
(*.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 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (cos.f64 th))))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))) (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)))
(*.f64 (cos.f64 th) (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1)))
(*.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 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (cos.f64 th))))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))) (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th)))
(*.f64 (cos.f64 th) (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1)))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))

eval255.0ms (1.4%)

Compiler

Compiled 9104 to 5245 computations (42.4% saved)

prune207.0ms (1.1%)

Pruning

16 alts after pruning (16 fresh and 0 done)

PrunedKeptTotal
New37916395
Fresh000
Picked101
Done101
Total38116397
Error
0b
Counts
397 → 16
Alt Table
Click to see full alt table
StatusErrorProgram
0.8b
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
28.5b
(*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (cos.f64 th))
0.7b
(*.f64 (*.f64 (pow.f64 2 -1/2) (cos.f64 th)) (fma.f64 a1 a1 (*.f64 a2 a2)))
28.5b
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
16.7b
(pow.f64 (*.f64 (sqrt.f64 (/.f64 (cos.f64 th) (sqrt.f64 2))) (hypot.f64 a2 a1)) 2)
27.9b
(*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th)))
0.5b
(fma.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) a2) a2 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))))
25.2b
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 a1 (/.f64 a1 (sqrt.f64 2))))
25.2b
(*.f64 (/.f64 1 (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2)))
25.2b
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2))
0.7b
(/.f64 (pow.f64 (hypot.f64 a2 a1) 2) (/.f64 (sqrt.f64 2) (cos.f64 th)))
0.7b
(*.f64 (cos.f64 th) (*.f64 (pow.f64 2 -1/2) (pow.f64 (hypot.f64 a2 a1) 2)))
0.7b
(/.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a1 a2) 2)) (pow.f64 2 1/4)) (pow.f64 2 1/4))
28.2b
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
29.1b
(*.f64 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) (+.f64 1 (*.f64 -1/2 (*.f64 th th))))
0.7b
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a1 a2) 2))))
Compiler

Compiled 492 to 372 computations (24.4% saved)

localize90.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))
0.3b
(/.f64 (sqrt.f64 2) (cos.f64 th))
0.4b
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) a2)
0.7b
(/.f64 (cos.f64 th) (sqrt.f64 2))
Compiler

Compiled 58 to 31 computations (46.6% saved)

series119.0ms (0.6%)

Counts
3 → 52
Calls

15 calls:

TimeVariablePointExpression
100.0ms
th
@0
(/.f64 (sqrt.f64 2) (cos.f64 th))
6.0ms
th
@inf
(/.f64 (sqrt.f64 2) (cos.f64 th))
2.0ms
th
@0
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) a2)
2.0ms
th
@inf
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) a2)
1.0ms
th
@-inf
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) a2)

rewrite117.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
677×log-prod_binary64
417×pow-prod-down_binary64
326×pow2_binary64
265×pow-unpow_binary64
231×pow1/3_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify78.0ms (0.4%)

Algorithm
egg-herbie
Rules
539×cancel-sign-sub-inv_binary64
476×associate-/l*_binary64
352×associate-/r*_binary64
279×distribute-rgt-in_binary64
274×fma-neg_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
073870
1205862
2634848
32595814
Stop Event
node limit
Counts
180 → 154
Calls
Call 1
Inputs
(/.f64 a2 (sqrt.f64 2))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 a2 (pow.f64 th 2)) (sqrt.f64 2))) (/.f64 a2 (sqrt.f64 2)))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 a2 (pow.f64 th 2)) (sqrt.f64 2))) (+.f64 (*.f64 1/24 (/.f64 (*.f64 a2 (pow.f64 th 4)) (sqrt.f64 2))) (/.f64 a2 (sqrt.f64 2))))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 a2 (pow.f64 th 2)) (sqrt.f64 2))) (+.f64 (*.f64 -1/720 (/.f64 (*.f64 a2 (pow.f64 th 6)) (sqrt.f64 2))) (+.f64 (*.f64 1/24 (/.f64 (*.f64 a2 (pow.f64 th 4)) (sqrt.f64 2))) (/.f64 a2 (sqrt.f64 2)))))
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))
(sqrt.f64 2)
(+.f64 (sqrt.f64 2) (*.f64 1/2 (*.f64 (sqrt.f64 2) (pow.f64 th 2))))
(+.f64 (sqrt.f64 2) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 2) (pow.f64 th 2))) (*.f64 -1 (*.f64 (+.f64 (*.f64 1/24 (sqrt.f64 2)) (*.f64 -1/4 (sqrt.f64 2))) (pow.f64 th 4)))))
(+.f64 (sqrt.f64 2) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/720 (sqrt.f64 2)) (+.f64 (*.f64 1/2 (+.f64 (*.f64 1/24 (sqrt.f64 2)) (*.f64 -1/4 (sqrt.f64 2)))) (*.f64 1/48 (sqrt.f64 2)))) (pow.f64 th 6))) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 2) (pow.f64 th 2))) (*.f64 -1 (*.f64 (+.f64 (*.f64 1/24 (sqrt.f64 2)) (*.f64 -1/4 (sqrt.f64 2))) (pow.f64 th 4))))))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 4)) (sqrt.f64 2))) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (+.f64 (*.f64 -1/720 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 6)) (sqrt.f64 2))) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 4)) (sqrt.f64 2))) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
Outputs
(/.f64 a2 (sqrt.f64 2))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 a2 (pow.f64 th 2)) (sqrt.f64 2))) (/.f64 a2 (sqrt.f64 2)))
(fma.f64 -1/2 (/.f64 a2 (/.f64 (sqrt.f64 2) (*.f64 th th))) (/.f64 a2 (sqrt.f64 2)))
(fma.f64 -1/2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (*.f64 th th)) (/.f64 a2 (sqrt.f64 2)))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 a2 (pow.f64 th 2)) (sqrt.f64 2))) (+.f64 (*.f64 1/24 (/.f64 (*.f64 a2 (pow.f64 th 4)) (sqrt.f64 2))) (/.f64 a2 (sqrt.f64 2))))
(fma.f64 -1/2 (/.f64 a2 (/.f64 (sqrt.f64 2) (*.f64 th th))) (fma.f64 1/24 (/.f64 a2 (/.f64 (sqrt.f64 2) (pow.f64 th 4))) (/.f64 a2 (sqrt.f64 2))))
(fma.f64 -1/2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (*.f64 th th)) (fma.f64 1/24 (*.f64 (/.f64 a2 (sqrt.f64 2)) (pow.f64 th 4)) (/.f64 a2 (sqrt.f64 2))))
(+.f64 (/.f64 a2 (sqrt.f64 2)) (*.f64 (/.f64 a2 (sqrt.f64 2)) (+.f64 (*.f64 (*.f64 -1/2 th) th) (*.f64 1/24 (pow.f64 th 4)))))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 a2 (pow.f64 th 2)) (sqrt.f64 2))) (+.f64 (*.f64 -1/720 (/.f64 (*.f64 a2 (pow.f64 th 6)) (sqrt.f64 2))) (+.f64 (*.f64 1/24 (/.f64 (*.f64 a2 (pow.f64 th 4)) (sqrt.f64 2))) (/.f64 a2 (sqrt.f64 2)))))
(fma.f64 -1/2 (/.f64 a2 (/.f64 (sqrt.f64 2) (*.f64 th th))) (fma.f64 -1/720 (/.f64 a2 (/.f64 (sqrt.f64 2) (pow.f64 th 6))) (fma.f64 1/24 (/.f64 a2 (/.f64 (sqrt.f64 2) (pow.f64 th 4))) (/.f64 a2 (sqrt.f64 2)))))
(fma.f64 -1/2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (*.f64 th th)) (fma.f64 -1/720 (*.f64 (/.f64 a2 (sqrt.f64 2)) (pow.f64 th 6)) (fma.f64 1/24 (*.f64 (/.f64 a2 (sqrt.f64 2)) (pow.f64 th 4)) (/.f64 a2 (sqrt.f64 2)))))
(fma.f64 -1/2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (*.f64 th th)) (fma.f64 1/24 (*.f64 (/.f64 a2 (sqrt.f64 2)) (pow.f64 th 4)) (fma.f64 -1/720 (/.f64 (pow.f64 th 6) (/.f64 (sqrt.f64 2) a2)) (/.f64 a2 (sqrt.f64 2)))))
(+.f64 (fma.f64 1/24 (*.f64 (/.f64 (pow.f64 th 4) (sqrt.f64 2)) a2) (/.f64 a2 (sqrt.f64 2))) (*.f64 (/.f64 a2 (sqrt.f64 2)) (+.f64 (*.f64 -1/720 (pow.f64 th 6)) (*.f64 (*.f64 -1/2 th) th))))
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))
(/.f64 a2 (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th))
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))
(/.f64 a2 (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th))
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))
(/.f64 a2 (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th))
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))
(/.f64 a2 (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th))
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))
(/.f64 a2 (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th))
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))
(/.f64 a2 (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th))
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))
(/.f64 a2 (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th))
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))
(/.f64 a2 (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th))
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))
(/.f64 a2 (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th))
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))
(/.f64 a2 (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th))
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))
(/.f64 a2 (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th))
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))
(/.f64 a2 (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th))
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))
(/.f64 a2 (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th))
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))
(/.f64 a2 (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th))
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))
(/.f64 a2 (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th))
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))
(/.f64 a2 (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th))
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))
(/.f64 a2 (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th))
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))
(/.f64 a2 (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th))
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))
(/.f64 a2 (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th))
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))
(/.f64 a2 (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th))
(sqrt.f64 2)
(+.f64 (sqrt.f64 2) (*.f64 1/2 (*.f64 (sqrt.f64 2) (pow.f64 th 2))))
(+.f64 (sqrt.f64 2) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 th th))))
(fma.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 th th)) (sqrt.f64 2))
(fma.f64 (sqrt.f64 2) (*.f64 th (*.f64 th 1/2)) (sqrt.f64 2))
(+.f64 (sqrt.f64 2) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 2) (pow.f64 th 2))) (*.f64 -1 (*.f64 (+.f64 (*.f64 1/24 (sqrt.f64 2)) (*.f64 -1/4 (sqrt.f64 2))) (pow.f64 th 4)))))
(+.f64 (sqrt.f64 2) (fma.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 th th)) (neg.f64 (*.f64 (pow.f64 th 4) (*.f64 (sqrt.f64 2) -5/24)))))
(-.f64 (fma.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 th th)) (sqrt.f64 2)) (*.f64 (sqrt.f64 2) (*.f64 -5/24 (pow.f64 th 4))))
(+.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 2) (-.f64 (*.f64 th (*.f64 th 1/2)) (*.f64 (pow.f64 th 4) -5/24))))
(+.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 2) (fma.f64 th (*.f64 th 1/2) (*.f64 (pow.f64 th 4) 5/24))))
(+.f64 (sqrt.f64 2) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/720 (sqrt.f64 2)) (+.f64 (*.f64 1/2 (+.f64 (*.f64 1/24 (sqrt.f64 2)) (*.f64 -1/4 (sqrt.f64 2)))) (*.f64 1/48 (sqrt.f64 2)))) (pow.f64 th 6))) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 2) (pow.f64 th 2))) (*.f64 -1 (*.f64 (+.f64 (*.f64 1/24 (sqrt.f64 2)) (*.f64 -1/4 (sqrt.f64 2))) (pow.f64 th 4))))))
(+.f64 (sqrt.f64 2) (fma.f64 -1 (*.f64 (pow.f64 th 6) (fma.f64 -1/720 (sqrt.f64 2) (fma.f64 1/2 (*.f64 (sqrt.f64 2) -5/24) (*.f64 (sqrt.f64 2) 1/48)))) (fma.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 th th)) (neg.f64 (*.f64 (pow.f64 th 4) (*.f64 (sqrt.f64 2) -5/24))))))
(+.f64 (sqrt.f64 2) (-.f64 (-.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 th th) 1/2)) (*.f64 (sqrt.f64 2) (*.f64 -5/24 (pow.f64 th 4)))) (*.f64 (pow.f64 th 6) (fma.f64 (sqrt.f64 2) -1/720 (fma.f64 (sqrt.f64 2) 1/48 (*.f64 (sqrt.f64 2) -5/48))))))
(+.f64 (*.f64 (sqrt.f64 2) (-.f64 (*.f64 th (*.f64 th 1/2)) (*.f64 (pow.f64 th 4) -5/24))) (fma.f64 (fma.f64 (sqrt.f64 2) -1/720 (*.f64 (sqrt.f64 2) -1/12)) (neg.f64 (pow.f64 th 6)) (sqrt.f64 2)))
(fma.f64 (sqrt.f64 2) (fma.f64 th (*.f64 th 1/2) (*.f64 (pow.f64 th 4) 5/24)) (-.f64 (sqrt.f64 2) (*.f64 (pow.f64 th 6) (*.f64 (sqrt.f64 2) -61/720))))
(/.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 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2))
(*.f64 (cos.f64 th) (*.f64 (/.f64 a1 (sqrt.f64 2)) 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 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2))
(*.f64 (cos.f64 th) (*.f64 (/.f64 a1 (sqrt.f64 2)) 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 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2))
(*.f64 (cos.f64 th) (*.f64 (/.f64 a1 (sqrt.f64 2)) 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 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2))
(*.f64 (cos.f64 th) (*.f64 (/.f64 a1 (sqrt.f64 2)) 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 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2))
(*.f64 (cos.f64 th) (*.f64 (/.f64 a1 (sqrt.f64 2)) 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 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2))
(*.f64 (cos.f64 th) (*.f64 (/.f64 a1 (sqrt.f64 2)) 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 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2))
(*.f64 (cos.f64 th) (*.f64 (/.f64 a1 (sqrt.f64 2)) 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 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2))
(*.f64 (cos.f64 th) (*.f64 (/.f64 a1 (sqrt.f64 2)) 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 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2))
(*.f64 (cos.f64 th) (*.f64 (/.f64 a1 (sqrt.f64 2)) 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 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2))
(*.f64 (cos.f64 th) (*.f64 (/.f64 a1 (sqrt.f64 2)) 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 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2))
(*.f64 (cos.f64 th) (*.f64 (/.f64 a1 (sqrt.f64 2)) 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 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2))
(*.f64 (cos.f64 th) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(/.f64 (*.f64 a1 a1) (sqrt.f64 2))
(/.f64 a1 (/.f64 (sqrt.f64 2) a1))
(*.f64 (/.f64 a1 (sqrt.f64 2)) a1)
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))
(fma.f64 -1/2 (/.f64 (*.f64 (*.f64 th th) (*.f64 a1 a1)) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))
(fma.f64 -1/2 (/.f64 (*.f64 (*.f64 th th) (*.f64 a1 a1)) (sqrt.f64 2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))
(fma.f64 -1/2 (*.f64 (*.f64 th th) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1)) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 4)) (sqrt.f64 2))) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))))
(fma.f64 -1/2 (/.f64 (*.f64 (*.f64 th th) (*.f64 a1 a1)) (sqrt.f64 2)) (fma.f64 1/24 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (pow.f64 th 4))) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))))
(fma.f64 -1/2 (/.f64 (*.f64 (*.f64 th th) (*.f64 a1 a1)) (sqrt.f64 2)) (fma.f64 1/24 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (pow.f64 th 4))) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))))
(fma.f64 -1/2 (*.f64 (*.f64 th th) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1)) (fma.f64 1/24 (*.f64 (pow.f64 th 4) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1)) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1)))
(+.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (*.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (+.f64 (*.f64 (*.f64 -1/2 th) th) (*.f64 1/24 (pow.f64 th 4)))))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (+.f64 (*.f64 -1/720 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 6)) (sqrt.f64 2))) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 4)) (sqrt.f64 2))) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))))
(fma.f64 -1/2 (/.f64 (*.f64 (*.f64 th th) (*.f64 a1 a1)) (sqrt.f64 2)) (fma.f64 -1/720 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (pow.f64 th 6))) (fma.f64 1/24 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (pow.f64 th 4))) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))))
(fma.f64 -1/2 (/.f64 (*.f64 (*.f64 th th) (*.f64 a1 a1)) (sqrt.f64 2)) (fma.f64 -1/720 (*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (pow.f64 th 6)) (fma.f64 1/24 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (pow.f64 th 4))) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))))
(fma.f64 -1/2 (*.f64 (*.f64 th th) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1)) (fma.f64 1/24 (*.f64 (pow.f64 th 4) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1)) (fma.f64 -1/720 (*.f64 (pow.f64 th 6) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1)) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))))
(+.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (fma.f64 -1/2 (*.f64 (*.f64 th th) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1)) (*.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (+.f64 (*.f64 1/24 (pow.f64 th 4)) (*.f64 -1/720 (pow.f64 th 6))))))
(/.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 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2))
(*.f64 (cos.f64 th) (*.f64 (/.f64 a1 (sqrt.f64 2)) 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 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2))
(*.f64 (cos.f64 th) (*.f64 (/.f64 a1 (sqrt.f64 2)) 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 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2))
(*.f64 (cos.f64 th) (*.f64 (/.f64 a1 (sqrt.f64 2)) 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 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2))
(*.f64 (cos.f64 th) (*.f64 (/.f64 a1 (sqrt.f64 2)) 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 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2))
(*.f64 (cos.f64 th) (*.f64 (/.f64 a1 (sqrt.f64 2)) 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 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2))
(*.f64 (cos.f64 th) (*.f64 (/.f64 a1 (sqrt.f64 2)) 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 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2))
(*.f64 (cos.f64 th) (*.f64 (/.f64 a1 (sqrt.f64 2)) 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 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2))
(*.f64 (cos.f64 th) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))

localize32.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.2b
(*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th)))
0.2b
(*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th))
0.5b
(/.f64 a2 (sqrt.f64 2))
Compiler

Compiled 30 to 19 computations (36.7% saved)

series13.0ms (0.1%)

Counts
3 → 48
Calls

15 calls:

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

rewrite191.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
953×pow1_binary64
882×add-log-exp_binary64
882×log1p-expm1-u_binary64
882×expm1-log1p-u_binary64
862×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify179.0ms (1%)

Algorithm
egg-herbie
Rules
1035×unswap-sqr_binary64
984×associate-*l/_binary64
967×fma-def_binary64
537×associate-/l*_binary64
475×*-commutative_binary64
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
053764
1135760
2350758
31144732
43627698
55293678
65469678
75679678
85894678
96098678
Stop Event
node limit
Counts
117 → 89
Calls
Call 1
Inputs
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))
(/.f64 a2 (sqrt.f64 2))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 a2 (pow.f64 th 2)) (sqrt.f64 2))) (/.f64 a2 (sqrt.f64 2)))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 a2 (pow.f64 th 2)) (sqrt.f64 2))) (+.f64 (*.f64 1/24 (/.f64 (*.f64 a2 (pow.f64 th 4)) (sqrt.f64 2))) (/.f64 a2 (sqrt.f64 2))))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 a2 (pow.f64 th 2)) (sqrt.f64 2))) (+.f64 (*.f64 -1/720 (/.f64 (*.f64 a2 (pow.f64 th 6)) (sqrt.f64 2))) (+.f64 (*.f64 1/24 (/.f64 (*.f64 a2 (pow.f64 th 4)) (sqrt.f64 2))) (/.f64 a2 (sqrt.f64 2)))))
(/.f64 (*.f64 (cos.f64 th) a2) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) a2) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) a2) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) a2) (sqrt.f64 2))
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 2)) (sqrt.f64 2))))
(+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 4)) (sqrt.f64 2))) (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 2)) (sqrt.f64 2)))))
(+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 4)) (sqrt.f64 2))) (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 2)) (sqrt.f64 2))) (*.f64 -1/720 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 6)) (sqrt.f64 2))))))
(/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
Outputs
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))
(*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))
(*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))
(*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))
(*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))
(*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))
(*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))
(*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))
(*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))
(*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))
(*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))
(*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))
(*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 a2 (sqrt.f64 2))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 a2 (pow.f64 th 2)) (sqrt.f64 2))) (/.f64 a2 (sqrt.f64 2)))
(fma.f64 -1/2 (/.f64 a2 (/.f64 (sqrt.f64 2) (*.f64 th th))) (/.f64 a2 (sqrt.f64 2)))
(fma.f64 -1/2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (*.f64 th th)) (/.f64 a2 (sqrt.f64 2)))
(fma.f64 (/.f64 a2 (sqrt.f64 2)) (*.f64 th (*.f64 th -1/2)) (/.f64 a2 (sqrt.f64 2)))
(*.f64 (+.f64 (*.f64 th (*.f64 th -1/2)) 1) (/.f64 a2 (sqrt.f64 2)))
(*.f64 (+.f64 1 (*.f64 th (*.f64 th -1/2))) (/.f64 a2 (sqrt.f64 2)))
(*.f64 (/.f64 a2 (sqrt.f64 2)) (+.f64 1 (*.f64 th (*.f64 th -1/2))))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 a2 (pow.f64 th 2)) (sqrt.f64 2))) (+.f64 (*.f64 1/24 (/.f64 (*.f64 a2 (pow.f64 th 4)) (sqrt.f64 2))) (/.f64 a2 (sqrt.f64 2))))
(fma.f64 -1/2 (/.f64 a2 (/.f64 (sqrt.f64 2) (*.f64 th th))) (fma.f64 1/24 (/.f64 (*.f64 a2 (pow.f64 th 4)) (sqrt.f64 2)) (/.f64 a2 (sqrt.f64 2))))
(fma.f64 -1/2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (*.f64 th th)) (fma.f64 1/24 (*.f64 (/.f64 a2 (sqrt.f64 2)) (pow.f64 th 4)) (/.f64 a2 (sqrt.f64 2))))
(+.f64 (/.f64 a2 (sqrt.f64 2)) (*.f64 (/.f64 a2 (sqrt.f64 2)) (+.f64 (*.f64 th (*.f64 th -1/2)) (*.f64 1/24 (pow.f64 th 4)))))
(fma.f64 (/.f64 a2 (sqrt.f64 2)) (fma.f64 1/24 (pow.f64 th 4) (*.f64 th (*.f64 th -1/2))) (/.f64 a2 (sqrt.f64 2)))
(*.f64 (+.f64 (fma.f64 1/24 (pow.f64 th 4) (*.f64 th (*.f64 th -1/2))) 1) (/.f64 a2 (sqrt.f64 2)))
(*.f64 (/.f64 a2 (sqrt.f64 2)) (+.f64 1 (fma.f64 1/24 (pow.f64 th 4) (*.f64 th (*.f64 th -1/2)))))
(*.f64 (/.f64 a2 (sqrt.f64 2)) (+.f64 1 (fma.f64 th (*.f64 th -1/2) (*.f64 1/24 (pow.f64 th 4)))))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 a2 (pow.f64 th 2)) (sqrt.f64 2))) (+.f64 (*.f64 -1/720 (/.f64 (*.f64 a2 (pow.f64 th 6)) (sqrt.f64 2))) (+.f64 (*.f64 1/24 (/.f64 (*.f64 a2 (pow.f64 th 4)) (sqrt.f64 2))) (/.f64 a2 (sqrt.f64 2)))))
(fma.f64 -1/2 (/.f64 a2 (/.f64 (sqrt.f64 2) (*.f64 th th))) (fma.f64 -1/720 (/.f64 (*.f64 a2 (pow.f64 th 6)) (sqrt.f64 2)) (fma.f64 1/24 (/.f64 (*.f64 a2 (pow.f64 th 4)) (sqrt.f64 2)) (/.f64 a2 (sqrt.f64 2)))))
(fma.f64 -1/2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (*.f64 th th)) (fma.f64 -1/720 (*.f64 (/.f64 a2 (sqrt.f64 2)) (pow.f64 th 6)) (fma.f64 1/24 (*.f64 (/.f64 a2 (sqrt.f64 2)) (pow.f64 th 4)) (/.f64 a2 (sqrt.f64 2)))))
(fma.f64 (/.f64 a2 (sqrt.f64 2)) (*.f64 1/24 (pow.f64 th 4)) (+.f64 (/.f64 a2 (sqrt.f64 2)) (*.f64 (/.f64 a2 (sqrt.f64 2)) (+.f64 (*.f64 th (*.f64 th -1/2)) (*.f64 -1/720 (pow.f64 th 6))))))
(+.f64 (/.f64 a2 (sqrt.f64 2)) (*.f64 (/.f64 a2 (sqrt.f64 2)) (+.f64 (fma.f64 1/24 (pow.f64 th 4) (*.f64 -1/720 (pow.f64 th 6))) (*.f64 th (*.f64 th -1/2)))))
(*.f64 (/.f64 a2 (sqrt.f64 2)) (+.f64 (+.f64 1 (*.f64 th (*.f64 th -1/2))) (fma.f64 1/24 (pow.f64 th 4) (*.f64 -1/720 (pow.f64 th 6)))))
(*.f64 (/.f64 a2 (sqrt.f64 2)) (+.f64 1 (+.f64 (*.f64 th (*.f64 th -1/2)) (fma.f64 1/24 (pow.f64 th 4) (*.f64 -1/720 (pow.f64 th 6))))))
(*.f64 (/.f64 a2 (sqrt.f64 2)) (+.f64 (fma.f64 th (*.f64 th -1/2) (*.f64 -1/720 (pow.f64 th 6))) (+.f64 1 (*.f64 1/24 (pow.f64 th 4)))))
(/.f64 (*.f64 (cos.f64 th) a2) (sqrt.f64 2))
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))
(*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (cos.f64 th) a2) (sqrt.f64 2))
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))
(*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (cos.f64 th) a2) (sqrt.f64 2))
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))
(*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (cos.f64 th) a2) (sqrt.f64 2))
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))
(*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))
(*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))
(*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))
(*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 a2 (cos.f64 th)) (sqrt.f64 2))
(*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 (cos.f64 th) (*.f64 a2 (/.f64 a2 (sqrt.f64 2))))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 (cos.f64 th) (*.f64 a2 (/.f64 a2 (sqrt.f64 2))))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 (cos.f64 th) (*.f64 a2 (/.f64 a2 (sqrt.f64 2))))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 (cos.f64 th) (*.f64 a2 (/.f64 a2 (sqrt.f64 2))))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 (cos.f64 th) (*.f64 a2 (/.f64 a2 (sqrt.f64 2))))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 (cos.f64 th) (*.f64 a2 (/.f64 a2 (sqrt.f64 2))))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 (cos.f64 th) (*.f64 a2 (/.f64 a2 (sqrt.f64 2))))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 (cos.f64 th) (*.f64 a2 (/.f64 a2 (sqrt.f64 2))))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 (cos.f64 th) (*.f64 a2 (/.f64 a2 (sqrt.f64 2))))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 (cos.f64 th) (*.f64 a2 (/.f64 a2 (sqrt.f64 2))))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 (cos.f64 th) (*.f64 a2 (/.f64 a2 (sqrt.f64 2))))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 (cos.f64 th) (*.f64 a2 (/.f64 a2 (sqrt.f64 2))))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(*.f64 (/.f64 a2 (sqrt.f64 2)) a2)
(*.f64 a2 (/.f64 a2 (sqrt.f64 2)))
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 2)) (sqrt.f64 2))))
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 -1/2 (/.f64 (*.f64 (*.f64 th th) (*.f64 a2 a2)) (sqrt.f64 2))))
(fma.f64 -1/2 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 th th)) (/.f64 (*.f64 a2 a2) (sqrt.f64 2)))
(fma.f64 -1/2 (*.f64 (*.f64 th th) (*.f64 (/.f64 a2 (sqrt.f64 2)) a2)) (*.f64 (/.f64 a2 (sqrt.f64 2)) a2))
(fma.f64 (/.f64 a2 (sqrt.f64 2)) a2 (*.f64 th (/.f64 -1/2 (/.f64 (sqrt.f64 2) (*.f64 th (*.f64 a2 a2))))))
(*.f64 (+.f64 (*.f64 th (*.f64 th -1/2)) 1) (*.f64 a2 (/.f64 a2 (sqrt.f64 2))))
(*.f64 (+.f64 1 (*.f64 th (*.f64 th -1/2))) (*.f64 a2 (/.f64 a2 (sqrt.f64 2))))
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (+.f64 1 (*.f64 th (*.f64 th -1/2))))
(*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (+.f64 1 (*.f64 th (*.f64 th -1/2)))))
(+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 4)) (sqrt.f64 2))) (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 2)) (sqrt.f64 2)))))
(fma.f64 1/24 (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (pow.f64 th 4))) (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 -1/2 (/.f64 (*.f64 (*.f64 th th) (*.f64 a2 a2)) (sqrt.f64 2)))))
(fma.f64 1/24 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (pow.f64 th 4)) (fma.f64 -1/2 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 th th)) (/.f64 (*.f64 a2 a2) (sqrt.f64 2))))
(fma.f64 -1/2 (*.f64 (*.f64 th th) (*.f64 (/.f64 a2 (sqrt.f64 2)) a2)) (fma.f64 1/24 (/.f64 (pow.f64 th 4) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (*.f64 (/.f64 a2 (sqrt.f64 2)) a2)))
(fma.f64 (/.f64 a2 (sqrt.f64 2)) a2 (*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (+.f64 (*.f64 th (*.f64 th -1/2)) (*.f64 1/24 (pow.f64 th 4)))))
(fma.f64 a2 (/.f64 a2 (sqrt.f64 2)) (*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (fma.f64 1/24 (pow.f64 th 4) (*.f64 th (*.f64 th -1/2)))))
(*.f64 (+.f64 (fma.f64 1/24 (pow.f64 th 4) (*.f64 th (*.f64 th -1/2))) 1) (*.f64 a2 (/.f64 a2 (sqrt.f64 2))))
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (+.f64 1 (fma.f64 1/24 (pow.f64 th 4) (*.f64 th (*.f64 th -1/2)))))
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (+.f64 1 (fma.f64 th (*.f64 th -1/2) (*.f64 1/24 (pow.f64 th 4)))))
(+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 4)) (sqrt.f64 2))) (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 2)) (sqrt.f64 2))) (*.f64 -1/720 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 6)) (sqrt.f64 2))))))
(fma.f64 1/24 (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (pow.f64 th 4))) (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (fma.f64 -1/2 (/.f64 (*.f64 (*.f64 th th) (*.f64 a2 a2)) (sqrt.f64 2)) (*.f64 -1/720 (/.f64 (*.f64 (pow.f64 th 6) (*.f64 a2 a2)) (sqrt.f64 2))))))
(+.f64 (fma.f64 1/24 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (pow.f64 th 4)) (fma.f64 -1/2 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 th th)) (/.f64 (*.f64 a2 a2) (sqrt.f64 2)))) (/.f64 -1/720 (/.f64 (sqrt.f64 2) (*.f64 a2 (*.f64 a2 (pow.f64 th 6))))))
(fma.f64 1/24 (/.f64 (pow.f64 th 4) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (fma.f64 -1/2 (*.f64 (*.f64 th th) (*.f64 (/.f64 a2 (sqrt.f64 2)) a2)) (fma.f64 -1/720 (/.f64 (pow.f64 th 6) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (*.f64 (/.f64 a2 (sqrt.f64 2)) a2))))
(fma.f64 (/.f64 a2 (sqrt.f64 2)) a2 (fma.f64 1/24 (*.f64 a2 (*.f64 a2 (/.f64 (pow.f64 th 4) (sqrt.f64 2)))) (*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (+.f64 (*.f64 th (*.f64 th -1/2)) (*.f64 -1/720 (pow.f64 th 6))))))
(fma.f64 a2 (/.f64 a2 (sqrt.f64 2)) (*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (+.f64 (*.f64 th (*.f64 th -1/2)) (fma.f64 1/24 (pow.f64 th 4) (*.f64 -1/720 (pow.f64 th 6))))))
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (+.f64 (+.f64 1 (*.f64 th (*.f64 th -1/2))) (fma.f64 1/24 (pow.f64 th 4) (*.f64 -1/720 (pow.f64 th 6)))))
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (+.f64 1 (+.f64 (*.f64 th (*.f64 th -1/2)) (fma.f64 1/24 (pow.f64 th 4) (*.f64 -1/720 (pow.f64 th 6))))))
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (+.f64 (fma.f64 th (*.f64 th -1/2) (*.f64 -1/720 (pow.f64 th 6))) (+.f64 1 (*.f64 1/24 (pow.f64 th 4)))))
(/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 (cos.f64 th) (*.f64 a2 (/.f64 a2 (sqrt.f64 2))))
(/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 (cos.f64 th) (*.f64 a2 (/.f64 a2 (sqrt.f64 2))))
(/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 (cos.f64 th) (*.f64 a2 (/.f64 a2 (sqrt.f64 2))))
(/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 (cos.f64 th) (*.f64 a2 (/.f64 a2 (sqrt.f64 2))))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 (cos.f64 th) (*.f64 a2 (/.f64 a2 (sqrt.f64 2))))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 (cos.f64 th) (*.f64 a2 (/.f64 a2 (sqrt.f64 2))))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 (cos.f64 th) (*.f64 a2 (/.f64 a2 (sqrt.f64 2))))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 (cos.f64 th) (*.f64 a2 (/.f64 a2 (sqrt.f64 2))))

localize36.0ms (0.2%)

Local error

Found 3 expressions with local error:

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

Compiled 42 to 17 computations (59.5% saved)

series12.0ms (0.1%)

Counts
2 → 60
Calls

15 calls:

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

rewrite124.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
913×prod-diff_binary64
623×log-prod_binary64
279×fma-def_binary64
224×expm1-udef_binary64
224×log1p-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify106.0ms (0.6%)

Algorithm
egg-herbie
Rules
821×unswap-sqr_binary64
732×associate-/r/_binary64
666×associate-*l*_binary64
555×associate-/l/_binary64
456×distribute-rgt-in_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
0461033
1106929
2286925
31028893
43924880
Stop Event
node limit
Counts
198 → 159
Calls
Call 1
Inputs
(/.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (sqrt.f64 2))
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (/.f64 (pow.f64 a1 2) (sqrt.f64 2)) (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)) (sqrt.f64 2)))))
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (/.f64 (pow.f64 a1 2) (sqrt.f64 2)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)) (sqrt.f64 2))) (*.f64 1/24 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 4)) (sqrt.f64 2))))))
(+.f64 (*.f64 -1/720 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 6)) (sqrt.f64 2))) (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (/.f64 (pow.f64 a1 2) (sqrt.f64 2)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)) (sqrt.f64 2))) (*.f64 1/24 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 4)) (sqrt.f64 2)))))))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(pow.f64 a1 2)
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(pow.f64 a2 2)
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(pow.f64 a2 2)
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(pow.f64 a2 2)
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(pow.f64 a1 2)
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(pow.f64 a1 2)
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
Outputs
(/.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (sqrt.f64 2))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (sqrt.f64 2))
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2))
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (/.f64 (pow.f64 a1 2) (sqrt.f64 2)) (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)) (sqrt.f64 2)))))
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (*.f64 th th)) (sqrt.f64 2)))))
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (fma.f64 -1/2 (*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (*.f64 th th)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))))
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (fma.f64 -1/2 (*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (*.f64 th th)) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1)))
(fma.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (*.f64 -1/2 (*.f64 th th)) (fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (*.f64 a2 (/.f64 a2 (sqrt.f64 2)))))
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (/.f64 (pow.f64 a1 2) (sqrt.f64 2)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)) (sqrt.f64 2))) (*.f64 1/24 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 4)) (sqrt.f64 2))))))
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (fma.f64 -1/2 (/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (*.f64 th th)) (sqrt.f64 2)) (*.f64 1/24 (/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (pow.f64 th 4)) (sqrt.f64 2))))))
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (+.f64 (fma.f64 -1/2 (*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (*.f64 th th)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))) (/.f64 (*.f64 (*.f64 1/24 (fma.f64 a2 a2 (*.f64 a1 a1))) (pow.f64 th 4)) (sqrt.f64 2))))
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (fma.f64 -1/2 (*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (*.f64 th th)) (fma.f64 1/24 (*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (pow.f64 th 4)) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))))
(fma.f64 (/.f64 a2 (sqrt.f64 2)) a2 (fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (+.f64 (*.f64 -1/2 (*.f64 th th)) (*.f64 1/24 (pow.f64 th 4))))))
(fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (fma.f64 (/.f64 a2 (sqrt.f64 2)) a2 (*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (*.f64 th (+.f64 (*.f64 -1/2 th) (*.f64 1/24 (pow.f64 th 3)))))))
(+.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 (*.f64 a2 a2) (*.f64 a1 a1)) (pow.f64 th 6)) (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 (*.f64 a2 a2) (*.f64 a1 a1)) (*.f64 th th)) (sqrt.f64 2)) (*.f64 1/24 (/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (pow.f64 th 4)) (sqrt.f64 2)))))))
(+.f64 (+.f64 (fma.f64 -1/2 (*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (*.f64 th th)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))) (/.f64 (*.f64 (*.f64 1/24 (fma.f64 a2 a2 (*.f64 a1 a1))) (pow.f64 th 4)) (sqrt.f64 2))) (fma.f64 -1/720 (*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (pow.f64 th 6)) (/.f64 (*.f64 a2 a2) (sqrt.f64 2))))
(+.f64 (fma.f64 -1/2 (*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (*.f64 th th)) (fma.f64 1/24 (*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (pow.f64 th 4)) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))) (fma.f64 -1/720 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (pow.f64 th 6))) (/.f64 (*.f64 a2 a2) (sqrt.f64 2))))
(fma.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (*.f64 -1/720 (pow.f64 th 6)) (fma.f64 (/.f64 a2 (sqrt.f64 2)) a2 (fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (+.f64 (*.f64 -1/2 (*.f64 th th)) (*.f64 1/24 (pow.f64 th 4)))))))
(fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (fma.f64 (/.f64 a2 (sqrt.f64 2)) a2 (*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (+.f64 (*.f64 -1/2 (*.f64 th th)) (+.f64 (*.f64 1/24 (pow.f64 th 4)) (*.f64 -1/720 (pow.f64 th 6)))))))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (fma.f64 a2 a2 (*.f64 a1 a1))))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (fma.f64 a2 a2 (*.f64 a1 a1))))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (fma.f64 a2 a2 (*.f64 a1 a1))))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (fma.f64 a2 a2 (*.f64 a1 a1))))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (fma.f64 a2 a2 (*.f64 a1 a1))))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (fma.f64 a2 a2 (*.f64 a1 a1))))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (fma.f64 a2 a2 (*.f64 a1 a1))))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (fma.f64 a2 a2 (*.f64 a1 a1))))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (cos.f64 th))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1))
(*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (fma.f64 a2 a2 (*.f64 a1 a1))))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (fma.f64 a2 a2 (*.f64 a1 a1))))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (fma.f64 a2 a2 (*.f64 a1 a1))))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (fma.f64 a2 a2 (*.f64 a1 a1))))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (fma.f64 a2 a2 (*.f64 a1 a1))))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (fma.f64 a2 a2 (*.f64 a1 a1))))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (fma.f64 a2 a2 (*.f64 a1 a1))))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (fma.f64 a2 a2 (*.f64 a1 a1))))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (fma.f64 a2 a2 (*.f64 a1 a1))))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (fma.f64 a2 a2 (*.f64 a1 a1))))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (fma.f64 a2 a2 (*.f64 a1 a1))))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (fma.f64 a2 a2 (*.f64 a1 a1))))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (cos.f64 th))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1))
(*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (fma.f64 a2 a2 (*.f64 a1 a1))))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (fma.f64 a2 a2 (*.f64 a1 a1))))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (fma.f64 a2 a2 (*.f64 a1 a1))))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (cos.f64 th))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1))
(*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (fma.f64 a2 a2 (*.f64 a1 a1))))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (fma.f64 a2 a2 (*.f64 a1 a1))))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (fma.f64 a2 a2 (*.f64 a1 a1))))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(pow.f64 a1 2)
(*.f64 a1 a1)
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a2 a2 (*.f64 a1 a1))
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a2 a2 (*.f64 a1 a1))
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a2 a2 (*.f64 a1 a1))
(pow.f64 a2 2)
(*.f64 a2 a2)
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a2 a2 (*.f64 a1 a1))
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a2 a2 (*.f64 a1 a1))
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a2 a2 (*.f64 a1 a1))
(pow.f64 a2 2)
(*.f64 a2 a2)
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a2 a2 (*.f64 a1 a1))
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a2 a2 (*.f64 a1 a1))
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a2 a2 (*.f64 a1 a1))
(pow.f64 a2 2)
(*.f64 a2 a2)
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a2 a2 (*.f64 a1 a1))
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a2 a2 (*.f64 a1 a1))
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a2 a2 (*.f64 a1 a1))
(pow.f64 a1 2)
(*.f64 a1 a1)
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a2 a2 (*.f64 a1 a1))
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a2 a2 (*.f64 a1 a1))
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a2 a2 (*.f64 a1 a1))
(pow.f64 a1 2)
(*.f64 a1 a1)
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a2 a2 (*.f64 a1 a1))
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a2 a2 (*.f64 a1 a1))
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a2 a2 (*.f64 a1 a1))

localize19.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (pow.f64 a2 2) (cos.f64 th))
0.5b
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
Compiler

Compiled 28 to 18 computations (35.7% saved)

series4.0ms (0%)

Counts
2 → 20
Calls

12 calls:

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

rewrite73.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
921×pow1_binary64
854×add-log-exp_binary64
854×log1p-expm1-u_binary64
854×expm1-log1p-u_binary64
834×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify73.0ms (0.4%)

Algorithm
egg-herbie
Rules
952×fma-def_binary64
617×associate-*l/_binary64
520×distribute-rgt-out_binary64
494×*-commutative_binary64
488×associate-/l*_binary64
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
043358
1111339
2327326
31336299
44865280
56771266
67997266
Stop Event
node limit
Counts
74 → 72
Calls
Call 1
Inputs
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 2)) (sqrt.f64 2))))
(+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 4)) (sqrt.f64 2))) (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 2)) (sqrt.f64 2)))))
(+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 4)) (sqrt.f64 2))) (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 2)) (sqrt.f64 2))) (*.f64 -1/720 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 6)) (sqrt.f64 2))))))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(pow.f64 a2 2)
(+.f64 (pow.f64 a2 2) (*.f64 -1/2 (*.f64 (pow.f64 th 2) (pow.f64 a2 2))))
(+.f64 (pow.f64 a2 2) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 th 2) (pow.f64 a2 2))) (*.f64 1/24 (*.f64 (pow.f64 th 4) (pow.f64 a2 2)))))
(+.f64 (pow.f64 a2 2) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 th 2) (pow.f64 a2 2))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 th 4) (pow.f64 a2 2))) (*.f64 -1/720 (*.f64 (pow.f64 th 6) (pow.f64 a2 2))))))
Outputs
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 2)) (sqrt.f64 2))))
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 -1/2 (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (*.f64 th th)))))
(fma.f64 -1/2 (/.f64 (*.f64 th th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (/.f64 (*.f64 a2 a2) (sqrt.f64 2)))
(fma.f64 -1/2 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 th th)) (/.f64 (*.f64 a2 a2) (sqrt.f64 2)))
(fma.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 -1/2 (*.f64 th th)) (/.f64 (*.f64 a2 a2) (sqrt.f64 2)))
(*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (/.f64 (*.f64 a2 a2) (sqrt.f64 2)))
(+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 4)) (sqrt.f64 2))) (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 2)) (sqrt.f64 2)))))
(fma.f64 1/24 (/.f64 (*.f64 (*.f64 a2 a2) (pow.f64 th 4)) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 -1/2 (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (*.f64 th th))))))
(fma.f64 1/24 (/.f64 (pow.f64 th 4) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (fma.f64 -1/2 (/.f64 (*.f64 th th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (/.f64 (*.f64 a2 a2) (sqrt.f64 2))))
(fma.f64 1/24 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (pow.f64 th 4)) (fma.f64 -1/2 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 th th)) (/.f64 (*.f64 a2 a2) (sqrt.f64 2))))
(fma.f64 (/.f64 a2 (sqrt.f64 2)) a2 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 (*.f64 th th) (fma.f64 (*.f64 th th) 1/24 -1/2))))
(fma.f64 (/.f64 a2 (sqrt.f64 2)) a2 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 th (*.f64 th (fma.f64 (*.f64 th th) 1/24 -1/2)))))
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (fma.f64 1/24 (pow.f64 th 4) (fma.f64 -1/2 (*.f64 th th) 1)))
(+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 4)) (sqrt.f64 2))) (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 2)) (sqrt.f64 2))) (*.f64 -1/720 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 6)) (sqrt.f64 2))))))
(fma.f64 1/24 (/.f64 (*.f64 (*.f64 a2 a2) (pow.f64 th 4)) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (fma.f64 -1/2 (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (*.f64 th th))) (*.f64 -1/720 (/.f64 (*.f64 (*.f64 a2 a2) (pow.f64 th 6)) (sqrt.f64 2))))))
(+.f64 (fma.f64 1/24 (/.f64 (pow.f64 th 4) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (fma.f64 -1/2 (/.f64 (*.f64 th th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (/.f64 (*.f64 a2 a2) (sqrt.f64 2)))) (*.f64 -1/720 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (pow.f64 th 6))))
(fma.f64 1/24 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (pow.f64 th 4)) (fma.f64 -1/720 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (pow.f64 th 6)) (fma.f64 -1/2 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 th th)) (/.f64 (*.f64 a2 a2) (sqrt.f64 2)))))
(fma.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 -1/2 (*.f64 th th)) (fma.f64 (/.f64 a2 (sqrt.f64 2)) a2 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (fma.f64 1/24 (pow.f64 th 4) (*.f64 -1/720 (pow.f64 th 6))))))
(fma.f64 (/.f64 a2 (sqrt.f64 2)) a2 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (fma.f64 (*.f64 th th) (fma.f64 (*.f64 th th) 1/24 -1/2) (*.f64 -1/720 (pow.f64 th 6)))))
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (+.f64 (fma.f64 1/24 (pow.f64 th 4) 1) (fma.f64 -1/2 (*.f64 th th) (*.f64 -1/720 (pow.f64 th 6)))))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(*.f64 (*.f64 a2 a2) (cos.f64 th))
(*.f64 a2 (*.f64 a2 (cos.f64 th)))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(*.f64 (*.f64 a2 a2) (cos.f64 th))
(*.f64 a2 (*.f64 a2 (cos.f64 th)))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(*.f64 (*.f64 a2 a2) (cos.f64 th))
(*.f64 a2 (*.f64 a2 (cos.f64 th)))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(*.f64 (*.f64 a2 a2) (cos.f64 th))
(*.f64 a2 (*.f64 a2 (cos.f64 th)))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(*.f64 (*.f64 a2 a2) (cos.f64 th))
(*.f64 a2 (*.f64 a2 (cos.f64 th)))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(*.f64 (*.f64 a2 a2) (cos.f64 th))
(*.f64 a2 (*.f64 a2 (cos.f64 th)))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(*.f64 (*.f64 a2 a2) (cos.f64 th))
(*.f64 a2 (*.f64 a2 (cos.f64 th)))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(*.f64 (*.f64 a2 a2) (cos.f64 th))
(*.f64 a2 (*.f64 a2 (cos.f64 th)))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(*.f64 (*.f64 a2 a2) (cos.f64 th))
(*.f64 a2 (*.f64 a2 (cos.f64 th)))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(*.f64 (*.f64 a2 a2) (cos.f64 th))
(*.f64 a2 (*.f64 a2 (cos.f64 th)))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(*.f64 (*.f64 a2 a2) (cos.f64 th))
(*.f64 a2 (*.f64 a2 (cos.f64 th)))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(*.f64 (*.f64 a2 a2) (cos.f64 th))
(*.f64 a2 (*.f64 a2 (cos.f64 th)))
(pow.f64 a2 2)
(*.f64 a2 a2)
(+.f64 (pow.f64 a2 2) (*.f64 -1/2 (*.f64 (pow.f64 th 2) (pow.f64 a2 2))))
(+.f64 (*.f64 a2 a2) (*.f64 -1/2 (*.f64 (*.f64 a2 a2) (*.f64 th th))))
(*.f64 (+.f64 (*.f64 -1/2 (*.f64 th th)) 1) (*.f64 a2 a2))
(*.f64 (*.f64 a2 a2) (fma.f64 -1/2 (*.f64 th th) 1))
(*.f64 a2 (fma.f64 -1/2 (*.f64 a2 (*.f64 th th)) a2))
(*.f64 a2 (fma.f64 (*.f64 -1/2 th) (*.f64 a2 th) a2))
(+.f64 (pow.f64 a2 2) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 th 2) (pow.f64 a2 2))) (*.f64 1/24 (*.f64 (pow.f64 th 4) (pow.f64 a2 2)))))
(+.f64 (*.f64 a2 a2) (fma.f64 -1/2 (*.f64 (*.f64 a2 a2) (*.f64 th th)) (*.f64 1/24 (*.f64 (*.f64 a2 a2) (pow.f64 th 4)))))
(fma.f64 a2 a2 (*.f64 (*.f64 a2 a2) (+.f64 (*.f64 -1/2 (*.f64 th th)) (*.f64 1/24 (pow.f64 th 4)))))
(*.f64 (*.f64 a2 a2) (+.f64 (fma.f64 -1/2 (*.f64 th th) 1) (*.f64 1/24 (pow.f64 th 4))))
(*.f64 (*.f64 a2 a2) (fma.f64 1/24 (pow.f64 th 4) (fma.f64 -1/2 (*.f64 th th) 1)))
(+.f64 (pow.f64 a2 2) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 th 2) (pow.f64 a2 2))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 th 4) (pow.f64 a2 2))) (*.f64 -1/720 (*.f64 (pow.f64 th 6) (pow.f64 a2 2))))))
(+.f64 (*.f64 a2 a2) (fma.f64 -1/2 (*.f64 (*.f64 a2 a2) (*.f64 th th)) (fma.f64 1/24 (*.f64 (*.f64 a2 a2) (pow.f64 th 4)) (*.f64 -1/720 (*.f64 (*.f64 a2 a2) (pow.f64 th 6))))))
(fma.f64 a2 a2 (fma.f64 -1/2 (*.f64 (*.f64 a2 a2) (*.f64 th th)) (*.f64 (*.f64 a2 a2) (+.f64 (*.f64 1/24 (pow.f64 th 4)) (*.f64 -1/720 (pow.f64 th 6))))))
(fma.f64 a2 a2 (*.f64 (*.f64 a2 a2) (+.f64 (*.f64 -1/2 (*.f64 th th)) (fma.f64 1/24 (pow.f64 th 4) (*.f64 -1/720 (pow.f64 th 6))))))
(*.f64 (*.f64 a2 a2) (+.f64 (fma.f64 -1/2 (*.f64 th th) 1) (fma.f64 1/24 (pow.f64 th 4) (*.f64 -1/720 (pow.f64 th 6)))))
(*.f64 (*.f64 a2 a2) (+.f64 (fma.f64 1/24 (pow.f64 th 4) 1) (fma.f64 -1/2 (*.f64 th th) (*.f64 -1/720 (pow.f64 th 6)))))

localize28.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(pow.f64 (hypot.f64 a1 a2) 2)
0.2b
(*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a1 a2) 2))
0.2b
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a1 a2) 2))))
0.6b
(/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a1 a2) 2)))
Compiler

Compiled 52 to 28 computations (46.2% saved)

series41.0ms (0.2%)

Counts
4 → 132
Calls

33 calls:

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

rewrite87.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
615×log-prod_binary64
353×pow-prod-down_binary64
317×pow2_binary64
222×pow-unpow_binary64
222×pow1/3_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify141.0ms (0.8%)

Algorithm
egg-herbie
Rules
686×distribute-rgt-in_binary64
675×distribute-lft-in_binary64
403×fma-def_binary64
252×associate-+r+_binary64
229×+-commutative_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03785710
112615098
247104328
Stop Event
node limit
Counts
297 → 273
Calls
Call 1
Inputs
(/.f64 (sqrt.f64 2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 th 2)) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)))) (/.f64 (sqrt.f64 2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2))))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 th 2)) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)))) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 1/24 (/.f64 (sqrt.f64 2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)))) (*.f64 -1/4 (/.f64 (sqrt.f64 2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2))))) (pow.f64 th 4))) (/.f64 (sqrt.f64 2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)))))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 1/2 (+.f64 (*.f64 1/24 (/.f64 (sqrt.f64 2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)))) (*.f64 -1/4 (/.f64 (sqrt.f64 2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)))))) (+.f64 (*.f64 -1/720 (/.f64 (sqrt.f64 2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)))) (*.f64 1/48 (/.f64 (sqrt.f64 2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)))))) (pow.f64 th 6))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 th 2)) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)))) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 1/24 (/.f64 (sqrt.f64 2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)))) (*.f64 -1/4 (/.f64 (sqrt.f64 2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2))))) (pow.f64 th 4))) (/.f64 (sqrt.f64 2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2))))))
(/.f64 (sqrt.f64 2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a1 2)) (*.f64 (pow.f64 a2 4) (cos.f64 th)))) (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (pow.f64 a2 2))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a1 2)) (*.f64 (pow.f64 a2 4) (cos.f64 th)))) (+.f64 (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (pow.f64 a2 2))) (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a1 4)) (*.f64 (cos.f64 th) (pow.f64 a2 6)))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a1 2)) (*.f64 (pow.f64 a2 4) (cos.f64 th)))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a1 6)) (*.f64 (pow.f64 a2 8) (cos.f64 th)))) (+.f64 (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (pow.f64 a2 2))) (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a1 4)) (*.f64 (pow.f64 a2 6) (cos.f64 th))))))
(/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 4) (cos.f64 th)))) (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 4) (cos.f64 th)))) (+.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 -1 (/.f64 (+.f64 (/.f64 (*.f64 (sqrt.f64 2) (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4)))) (cos.f64 th)) (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 4)) (cos.f64 th)))) (pow.f64 a1 6)))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 4) (cos.f64 th)))) (+.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (+.f64 (*.f64 -1 (/.f64 (+.f64 (/.f64 (*.f64 (sqrt.f64 2) (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4)))) (cos.f64 th)) (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 4)) (cos.f64 th)))) (pow.f64 a1 6))) (*.f64 -1 (/.f64 (+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (pow.f64 a2 2))) (cos.f64 th))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a2 2) (+.f64 (/.f64 (*.f64 (sqrt.f64 2) (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4)))) (cos.f64 th)) (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 4)) (cos.f64 th)))))) (/.f64 (*.f64 (sqrt.f64 2) (+.f64 (*.f64 1/8 (pow.f64 a2 6)) (*.f64 -1/8 (pow.f64 a2 6)))) (cos.f64 th)))) (pow.f64 a1 8))))))
(/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 4) (cos.f64 th)))) (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 4) (cos.f64 th)))) (+.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 -1 (/.f64 (+.f64 (/.f64 (*.f64 (sqrt.f64 2) (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4)))) (cos.f64 th)) (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 4)) (cos.f64 th)))) (pow.f64 a1 6)))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 4) (cos.f64 th)))) (+.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (+.f64 (*.f64 -1 (/.f64 (+.f64 (/.f64 (*.f64 (sqrt.f64 2) (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4)))) (cos.f64 th)) (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 4)) (cos.f64 th)))) (pow.f64 a1 6))) (*.f64 -1 (/.f64 (+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (pow.f64 a2 2))) (cos.f64 th))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a2 2) (+.f64 (/.f64 (*.f64 (sqrt.f64 2) (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4)))) (cos.f64 th)) (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 4)) (cos.f64 th)))))) (/.f64 (*.f64 (sqrt.f64 2) (+.f64 (*.f64 1/8 (pow.f64 a2 6)) (*.f64 -1/8 (pow.f64 a2 6)))) (cos.f64 th)))) (pow.f64 a1 8))))))
(/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 4) (cos.f64 th)))) (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 4) (cos.f64 th)))) (+.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 4)) (*.f64 (pow.f64 a1 6) (cos.f64 th))) (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 4) (cos.f64 th)))) (+.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 4)) (*.f64 (pow.f64 a1 6) (cos.f64 th))) (+.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 6)) (*.f64 (pow.f64 a1 8) (cos.f64 th)))))))
(/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(+.f64 (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (pow.f64 a2 2))) (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a1 2)) (*.f64 (cos.f64 th) (pow.f64 a2 4)))))
(+.f64 (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (pow.f64 a2 2))) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a1 4)) (cos.f64 th))) (/.f64 (*.f64 (sqrt.f64 2) (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4)))) (cos.f64 th))) (pow.f64 a2 6))) (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a1 2)) (*.f64 (cos.f64 th) (pow.f64 a2 4))))))
(+.f64 (*.f64 -1 (/.f64 (+.f64 (/.f64 (*.f64 (sqrt.f64 2) (+.f64 (*.f64 1/8 (pow.f64 a1 6)) (*.f64 -1/8 (pow.f64 a1 6)))) (cos.f64 th)) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a1 4)) (cos.f64 th))) (/.f64 (*.f64 (sqrt.f64 2) (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4)))) (cos.f64 th))) (pow.f64 a1 2))) (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4))))) (cos.f64 th))))) (pow.f64 a2 8))) (+.f64 (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (pow.f64 a2 2))) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a1 4)) (cos.f64 th))) (/.f64 (*.f64 (sqrt.f64 2) (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4)))) (cos.f64 th))) (pow.f64 a2 6))) (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a1 2)) (*.f64 (cos.f64 th) (pow.f64 a2 4)))))))
(/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(+.f64 (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (pow.f64 a2 2))) (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a1 2)) (*.f64 (cos.f64 th) (pow.f64 a2 4)))))
(+.f64 (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (pow.f64 a2 2))) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a1 4)) (cos.f64 th))) (/.f64 (*.f64 (sqrt.f64 2) (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4)))) (cos.f64 th))) (pow.f64 a2 6))) (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a1 2)) (*.f64 (cos.f64 th) (pow.f64 a2 4))))))
(+.f64 (*.f64 -1 (/.f64 (+.f64 (/.f64 (*.f64 (sqrt.f64 2) (+.f64 (*.f64 1/8 (pow.f64 a1 6)) (*.f64 -1/8 (pow.f64 a1 6)))) (cos.f64 th)) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a1 4)) (cos.f64 th))) (/.f64 (*.f64 (sqrt.f64 2) (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4)))) (cos.f64 th))) (pow.f64 a1 2))) (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4))))) (cos.f64 th))))) (pow.f64 a2 8))) (+.f64 (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (pow.f64 a2 2))) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a1 4)) (cos.f64 th))) (/.f64 (*.f64 (sqrt.f64 2) (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4)))) (cos.f64 th))) (pow.f64 a2 6))) (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a1 2)) (*.f64 (cos.f64 th) (pow.f64 a2 4)))))))
(/.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (sqrt.f64 2))
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (/.f64 (pow.f64 a1 2) (sqrt.f64 2)) (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)) (sqrt.f64 2)))))
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (/.f64 (pow.f64 a1 2) (sqrt.f64 2)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)) (sqrt.f64 2))) (*.f64 1/24 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 4)) (sqrt.f64 2))))))
(+.f64 (*.f64 -1/720 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 6)) (sqrt.f64 2))) (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (/.f64 (pow.f64 a1 2) (sqrt.f64 2)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)) (sqrt.f64 2))) (*.f64 1/24 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 4)) (sqrt.f64 2)))))))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (+.f64 (*.f64 -1 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6))))) (*.f64 5/64 (/.f64 1 (pow.f64 a2 6)))) (*.f64 (pow.f64 a1 8) (cos.f64 th))) (sqrt.f64 2))))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 (pow.f64 a1 12) (*.f64 (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 a2 8))) (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6)))) (pow.f64 a2 2)))) (pow.f64 a2 2))) (+.f64 (*.f64 -1 (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 a2 8))) (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6)))) (pow.f64 a2 2)))) (pow.f64 a2 2))) (+.f64 (pow.f64 (/.f64 1/16 (pow.f64 a2 5)) 2) (*.f64 1/8 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6)))) (pow.f64 a2 4)))))) (+.f64 (*.f64 1/8 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6)))) (pow.f64 a2 4))) (*.f64 1/256 (/.f64 1 (pow.f64 a2 10)))))) (cos.f64 th))) (sqrt.f64 2)) (/.f64 (*.f64 (+.f64 (*.f64 -1 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6))))) (*.f64 5/64 (/.f64 1 (pow.f64 a2 6)))) (*.f64 (pow.f64 a1 8) (cos.f64 th))) (sqrt.f64 2)))))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (cos.f64 th)) (*.f64 (sqrt.f64 2) (pow.f64 a1 2)))))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (cos.f64 th)) (*.f64 (sqrt.f64 2) (pow.f64 a1 2))) (/.f64 (*.f64 (+.f64 (*.f64 1/8 (pow.f64 a2 6)) (*.f64 -1/8 (pow.f64 a2 6))) (cos.f64 th)) (*.f64 (sqrt.f64 2) (pow.f64 a1 4))))))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (cos.f64 th)) (*.f64 (sqrt.f64 2) (pow.f64 a1 2)))))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (cos.f64 th)) (*.f64 (sqrt.f64 2) (pow.f64 a1 2))) (/.f64 (*.f64 (+.f64 (*.f64 1/8 (pow.f64 a2 6)) (*.f64 -1/8 (pow.f64 a2 6))) (cos.f64 th)) (*.f64 (sqrt.f64 2) (pow.f64 a1 4))))))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -1 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (*.f64 5/64 (/.f64 1 (pow.f64 a1 6)))) (*.f64 (cos.f64 th) (pow.f64 a2 8))) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -1 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (*.f64 5/64 (/.f64 1 (pow.f64 a1 6)))) (*.f64 (pow.f64 a2 8) (cos.f64 th))) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 a1 8))) (*.f64 -1/2 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 2)))) (pow.f64 a1 2))) (+.f64 (*.f64 1/8 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 4))) (+.f64 (*.f64 1/256 (/.f64 1 (pow.f64 a1 10))) (*.f64 -1 (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 a1 8))) (*.f64 -1/2 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 2)))) (pow.f64 a1 2))) (+.f64 (pow.f64 (/.f64 1/16 (pow.f64 a1 5)) 2) (*.f64 1/8 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 4))))))))) (*.f64 (cos.f64 th) (pow.f64 a2 12))) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4))) (cos.f64 th)) (*.f64 (sqrt.f64 2) (pow.f64 a2 2)))))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/8 (pow.f64 a1 6)) (*.f64 -1/8 (pow.f64 a1 6))) (cos.f64 th)) (*.f64 (sqrt.f64 2) (pow.f64 a2 4))) (+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4))) (cos.f64 th)) (*.f64 (sqrt.f64 2) (pow.f64 a2 2))))))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4))) (cos.f64 th)) (*.f64 (sqrt.f64 2) (pow.f64 a2 2)))))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/8 (pow.f64 a1 6)) (*.f64 -1/8 (pow.f64 a1 6))) (cos.f64 th)) (*.f64 (sqrt.f64 2) (pow.f64 a2 4))) (+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4))) (cos.f64 th)) (*.f64 (sqrt.f64 2) (pow.f64 a2 2))))))
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (pow.f64 a2 2) (+.f64 (pow.f64 a1 2) (*.f64 -1/2 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)))))
(+.f64 (pow.f64 a2 2) (+.f64 (pow.f64 a1 2) (+.f64 (*.f64 -1/2 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2))) (*.f64 1/24 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 4))))))
(+.f64 (pow.f64 a2 2) (+.f64 (pow.f64 a1 2) (+.f64 (*.f64 -1/2 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2))) (+.f64 (*.f64 1/24 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 4))) (*.f64 -1/720 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 6)))))))
(*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))
(*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))
(*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))
(*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))
(*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))
(*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))
(*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))
(*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (+.f64 (*.f64 (+.f64 (*.f64 -1 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6))))) (*.f64 5/64 (/.f64 1 (pow.f64 a2 6)))) (*.f64 (pow.f64 a1 8) (cos.f64 th))) (*.f64 (pow.f64 a1 2) (cos.f64 th))))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (+.f64 (*.f64 (pow.f64 a1 12) (*.f64 (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 a2 8))) (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6)))) (pow.f64 a2 2)))) (pow.f64 a2 2))) (+.f64 (*.f64 1/8 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6)))) (pow.f64 a2 4))) (+.f64 (*.f64 1/256 (/.f64 1 (pow.f64 a2 10))) (*.f64 -1 (+.f64 (pow.f64 (/.f64 1/16 (pow.f64 a2 5)) 2) (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 a2 8))) (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6)))) (pow.f64 a2 2)))) (pow.f64 a2 2))) (*.f64 1/8 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6)))) (pow.f64 a2 4))))))))) (cos.f64 th))) (+.f64 (*.f64 (+.f64 (*.f64 -1 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6))))) (*.f64 5/64 (/.f64 1 (pow.f64 a2 6)))) (*.f64 (pow.f64 a1 8) (cos.f64 th))) (*.f64 (pow.f64 a1 2) (cos.f64 th)))))
(*.f64 (pow.f64 a1 2) (cos.f64 th))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (cos.f64 th)) (pow.f64 a1 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th))))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (cos.f64 th)) (pow.f64 a1 2)) (+.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (/.f64 (*.f64 (+.f64 (*.f64 1/8 (pow.f64 a2 6)) (*.f64 -1/8 (pow.f64 a2 6))) (cos.f64 th)) (pow.f64 a1 4)))))
(*.f64 (pow.f64 a1 2) (cos.f64 th))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (cos.f64 th)) (pow.f64 a1 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th))))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (cos.f64 th)) (pow.f64 a1 2)) (+.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (/.f64 (*.f64 (+.f64 (*.f64 1/8 (pow.f64 a2 6)) (*.f64 -1/8 (pow.f64 a2 6))) (cos.f64 th)) (pow.f64 a1 4)))))
(*.f64 (pow.f64 a1 2) (cos.f64 th))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (+.f64 (*.f64 (+.f64 (*.f64 -1 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (*.f64 5/64 (/.f64 1 (pow.f64 a1 6)))) (*.f64 (pow.f64 a2 8) (cos.f64 th))) (*.f64 (pow.f64 a1 2) (cos.f64 th))))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (+.f64 (*.f64 (+.f64 (*.f64 -1 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (*.f64 5/64 (/.f64 1 (pow.f64 a1 6)))) (*.f64 (pow.f64 a2 8) (cos.f64 th))) (+.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (*.f64 (pow.f64 a2 12) (*.f64 (cos.f64 th) (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 a1 8))) (*.f64 -1/2 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 2)))) (pow.f64 a1 2))) (+.f64 (*.f64 1/8 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 4))) (+.f64 (*.f64 -1 (+.f64 (pow.f64 (/.f64 1/16 (pow.f64 a1 5)) 2) (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 a1 8))) (*.f64 -1/2 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 2)))) (pow.f64 a1 2))) (*.f64 1/8 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 4)))))) (*.f64 1/256 (/.f64 1 (pow.f64 a1 10)))))))))))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (+.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (/.f64 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4))) (cos.f64 th)) (pow.f64 a2 2))))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (+.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4))) (cos.f64 th)) (pow.f64 a2 2)) (/.f64 (*.f64 (+.f64 (*.f64 -1/8 (pow.f64 a1 6)) (*.f64 1/8 (pow.f64 a1 6))) (cos.f64 th)) (pow.f64 a2 4)))))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (+.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (/.f64 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4))) (cos.f64 th)) (pow.f64 a2 2))))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (+.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4))) (cos.f64 th)) (pow.f64 a2 2)) (/.f64 (*.f64 (+.f64 (*.f64 -1/8 (pow.f64 a1 6)) (*.f64 1/8 (pow.f64 a1 6))) (cos.f64 th)) (pow.f64 a2 4)))))
(pow.f64 a2 2)
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (*.f64 (+.f64 (*.f64 -1 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6))))) (*.f64 5/64 (/.f64 1 (pow.f64 a2 6)))) (pow.f64 a1 8)) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)))
(pow.f64 a1 2)
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (*.f64 -1/4 (/.f64 (pow.f64 a2 4) (pow.f64 a1 2))) (+.f64 (pow.f64 a2 2) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 a2 4) (pow.f64 a1 2))) (pow.f64 a1 2))))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a2 6) (pow.f64 a1 4))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 a2 4) (pow.f64 a1 2))) (+.f64 (pow.f64 a2 2) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 a2 4) (pow.f64 a1 2))) (+.f64 (pow.f64 a1 2) (*.f64 1/8 (/.f64 (pow.f64 a2 6) (pow.f64 a1 4))))))))
(pow.f64 a1 2)
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (*.f64 -1/4 (/.f64 (pow.f64 a2 4) (pow.f64 a1 2))) (+.f64 (pow.f64 a2 2) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 a2 4) (pow.f64 a1 2))) (pow.f64 a1 2))))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a2 6) (pow.f64 a1 4))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 a2 4) (pow.f64 a1 2))) (+.f64 (pow.f64 a2 2) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 a2 4) (pow.f64 a1 2))) (+.f64 (pow.f64 a1 2) (*.f64 1/8 (/.f64 (pow.f64 a2 6) (pow.f64 a1 4))))))))
(pow.f64 a1 2)
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (pow.f64 a2 2) (+.f64 (*.f64 (+.f64 (*.f64 -1 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (*.f64 5/64 (/.f64 1 (pow.f64 a1 6)))) (pow.f64 a2 8)) (pow.f64 a1 2)))
(pow.f64 a2 2)
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 a1 4) (pow.f64 a2 2))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 a1 4) (pow.f64 a2 2))) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2))))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 a1 4) (pow.f64 a2 2))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a1 6) (pow.f64 a2 4))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 a1 4) (pow.f64 a2 2))) (+.f64 (pow.f64 a2 2) (+.f64 (pow.f64 a1 2) (*.f64 1/8 (/.f64 (pow.f64 a1 6) (pow.f64 a2 4))))))))
(pow.f64 a2 2)
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 a1 4) (pow.f64 a2 2))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 a1 4) (pow.f64 a2 2))) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2))))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 a1 4) (pow.f64 a2 2))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a1 6) (pow.f64 a2 4))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 a1 4) (pow.f64 a2 2))) (+.f64 (pow.f64 a2 2) (+.f64 (pow.f64 a1 2) (*.f64 1/8 (/.f64 (pow.f64 a1 6) (pow.f64 a2 4))))))))
Outputs
(/.f64 (sqrt.f64 2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)))
(/.f64 (sqrt.f64 2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(/.f64 (sqrt.f64 2) (fma.f64 a2 a2 (*.f64 a1 a1)))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 th 2)) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)))) (/.f64 (sqrt.f64 2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2))))
(fma.f64 1/2 (/.f64 (sqrt.f64 2) (/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (*.f64 th th))) (/.f64 (sqrt.f64 2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))))
(fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (fma.f64 a2 a2 (*.f64 a1 a1))) (*.f64 th th)) (/.f64 (sqrt.f64 2) (fma.f64 a2 a2 (*.f64 a1 a1))))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 th 2)) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)))) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 1/24 (/.f64 (sqrt.f64 2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)))) (*.f64 -1/4 (/.f64 (sqrt.f64 2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2))))) (pow.f64 th 4))) (/.f64 (sqrt.f64 2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)))))
(fma.f64 1/2 (/.f64 (sqrt.f64 2) (/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (*.f64 th th))) (fma.f64 -1 (*.f64 (*.f64 (/.f64 (sqrt.f64 2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) -5/24) (pow.f64 th 4)) (/.f64 (sqrt.f64 2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))))
(fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (fma.f64 a2 a2 (*.f64 a1 a1))) (*.f64 th th)) (-.f64 (/.f64 (sqrt.f64 2) (fma.f64 a2 a2 (*.f64 a1 a1))) (*.f64 (/.f64 (sqrt.f64 2) (fma.f64 a2 a2 (*.f64 a1 a1))) (*.f64 -5/24 (pow.f64 th 4)))))
(fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (fma.f64 a2 a2 (*.f64 a1 a1))) (*.f64 th th)) (fma.f64 (*.f64 (/.f64 (sqrt.f64 2) (fma.f64 a2 a2 (*.f64 a1 a1))) 5/24) (pow.f64 th 4) (/.f64 (sqrt.f64 2) (fma.f64 a2 a2 (*.f64 a1 a1)))))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 1/2 (+.f64 (*.f64 1/24 (/.f64 (sqrt.f64 2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)))) (*.f64 -1/4 (/.f64 (sqrt.f64 2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)))))) (+.f64 (*.f64 -1/720 (/.f64 (sqrt.f64 2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)))) (*.f64 1/48 (/.f64 (sqrt.f64 2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)))))) (pow.f64 th 6))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 th 2)) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)))) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 1/24 (/.f64 (sqrt.f64 2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)))) (*.f64 -1/4 (/.f64 (sqrt.f64 2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2))))) (pow.f64 th 4))) (/.f64 (sqrt.f64 2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2))))))
(fma.f64 -1 (*.f64 (fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) -5/24) (*.f64 (/.f64 (sqrt.f64 2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) 7/360)) (pow.f64 th 6)) (fma.f64 1/2 (/.f64 (sqrt.f64 2) (/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (*.f64 th th))) (fma.f64 -1 (*.f64 (*.f64 (/.f64 (sqrt.f64 2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) -5/24) (pow.f64 th 4)) (/.f64 (sqrt.f64 2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))))))
(fma.f64 (neg.f64 (fma.f64 (/.f64 (sqrt.f64 2) (fma.f64 a2 a2 (*.f64 a1 a1))) 7/360 (*.f64 (/.f64 (sqrt.f64 2) (fma.f64 a2 a2 (*.f64 a1 a1))) -5/48))) (pow.f64 th 6) (fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (fma.f64 a2 a2 (*.f64 a1 a1))) (*.f64 th th)) (-.f64 (/.f64 (sqrt.f64 2) (fma.f64 a2 a2 (*.f64 a1 a1))) (*.f64 (/.f64 (sqrt.f64 2) (fma.f64 a2 a2 (*.f64 a1 a1))) (*.f64 -5/24 (pow.f64 th 4))))))
(-.f64 (fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (fma.f64 a2 a2 (*.f64 a1 a1))) (*.f64 th th)) (fma.f64 (*.f64 (/.f64 (sqrt.f64 2) (fma.f64 a2 a2 (*.f64 a1 a1))) 5/24) (pow.f64 th 4) (/.f64 (sqrt.f64 2) (fma.f64 a2 a2 (*.f64 a1 a1))))) (*.f64 (*.f64 (/.f64 (sqrt.f64 2) (fma.f64 a2 a2 (*.f64 a1 a1))) -61/720) (pow.f64 th 6)))
(/.f64 (sqrt.f64 2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(/.f64 (/.f64 (sqrt.f64 2) (*.f64 a2 a2)) (cos.f64 th))
(/.f64 (sqrt.f64 2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a1 2)) (*.f64 (pow.f64 a2 4) (cos.f64 th)))) (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (pow.f64 a2 2))))
(fma.f64 -1 (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (/.f64 (*.f64 a1 a1) (pow.f64 a2 4))) (/.f64 (/.f64 (sqrt.f64 2) (*.f64 a2 a2)) (cos.f64 th)))
(-.f64 (/.f64 (sqrt.f64 2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (/.f64 a1 (/.f64 (pow.f64 a2 4) a1))))
(-.f64 (/.f64 (sqrt.f64 2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (/.f64 (*.f64 a1 a1) (pow.f64 a2 4))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a1 2)) (*.f64 (pow.f64 a2 4) (cos.f64 th)))) (+.f64 (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (pow.f64 a2 2))) (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a1 4)) (*.f64 (cos.f64 th) (pow.f64 a2 6)))))
(+.f64 (fma.f64 -1 (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (/.f64 (*.f64 a1 a1) (pow.f64 a2 4))) (/.f64 (/.f64 (sqrt.f64 2) (*.f64 a2 a2)) (cos.f64 th))) (*.f64 (/.f64 (sqrt.f64 2) (pow.f64 a2 6)) (/.f64 (pow.f64 a1 4) (cos.f64 th))))
(-.f64 (fma.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (/.f64 (pow.f64 a1 4) (pow.f64 a2 6)) (/.f64 (sqrt.f64 2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))) (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (/.f64 a1 (/.f64 (pow.f64 a2 4) a1))))
(+.f64 (/.f64 (sqrt.f64 2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (+.f64 (/.f64 (*.f64 a1 (neg.f64 a1)) (pow.f64 a2 4)) (/.f64 (pow.f64 a1 4) (pow.f64 a2 6)))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a1 2)) (*.f64 (pow.f64 a2 4) (cos.f64 th)))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a1 6)) (*.f64 (pow.f64 a2 8) (cos.f64 th)))) (+.f64 (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (pow.f64 a2 2))) (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a1 4)) (*.f64 (pow.f64 a2 6) (cos.f64 th))))))
(fma.f64 -1 (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (/.f64 (*.f64 a1 a1) (pow.f64 a2 4))) (fma.f64 -1 (*.f64 (/.f64 (sqrt.f64 2) (pow.f64 a2 8)) (/.f64 (pow.f64 a1 6) (cos.f64 th))) (+.f64 (/.f64 (/.f64 (sqrt.f64 2) (*.f64 a2 a2)) (cos.f64 th)) (*.f64 (/.f64 (sqrt.f64 2) (pow.f64 a2 6)) (/.f64 (pow.f64 a1 4) (cos.f64 th))))))
(-.f64 (-.f64 (fma.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (/.f64 (pow.f64 a1 4) (pow.f64 a2 6)) (/.f64 (sqrt.f64 2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))) (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (/.f64 (pow.f64 a1 6) (pow.f64 a2 8)))) (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (/.f64 a1 (/.f64 (pow.f64 a2 4) a1))))
(-.f64 (fma.f64 (/.f64 (sqrt.f64 2) (pow.f64 a2 6)) (/.f64 (pow.f64 a1 4) (cos.f64 th)) (/.f64 (sqrt.f64 2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))) (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (+.f64 (/.f64 (*.f64 a1 a1) (pow.f64 a2 4)) (/.f64 (pow.f64 a1 6) (pow.f64 a2 8)))))
(/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (cos.f64 th)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 4) (cos.f64 th)))) (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th))))
(fma.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 a2 a2)) (*.f64 (cos.f64 th) (pow.f64 a1 4))) (/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (cos.f64 th))))
(-.f64 (/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (cos.f64 th))) (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (/.f64 (*.f64 a2 a2) (pow.f64 a1 4))))
(-.f64 (/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (cos.f64 th))) (/.f64 (sqrt.f64 2) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 4)) (*.f64 a2 a2))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 4) (cos.f64 th)))) (+.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 -1 (/.f64 (+.f64 (/.f64 (*.f64 (sqrt.f64 2) (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4)))) (cos.f64 th)) (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 4)) (cos.f64 th)))) (pow.f64 a1 6)))))
(+.f64 (fma.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 a2 a2)) (*.f64 (cos.f64 th) (pow.f64 a1 4))) (/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (cos.f64 th)))) (neg.f64 (/.f64 (+.f64 (/.f64 (sqrt.f64 2) (/.f64 (cos.f64 th) (*.f64 (pow.f64 a2 4) 0))) (neg.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 4)) (cos.f64 th)))) (pow.f64 a1 6))))
(-.f64 (-.f64 (/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (cos.f64 th))) (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (/.f64 (*.f64 a2 a2) (pow.f64 a1 4)))) (/.f64 (-.f64 (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) 0) (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (pow.f64 a2 4))) (pow.f64 a1 6)))
(-.f64 (-.f64 (/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (cos.f64 th))) (/.f64 (sqrt.f64 2) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 4)) (*.f64 a2 a2)))) (/.f64 (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (neg.f64 (pow.f64 a2 4))) (pow.f64 a1 6)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 4) (cos.f64 th)))) (+.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (+.f64 (*.f64 -1 (/.f64 (+.f64 (/.f64 (*.f64 (sqrt.f64 2) (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4)))) (cos.f64 th)) (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 4)) (cos.f64 th)))) (pow.f64 a1 6))) (*.f64 -1 (/.f64 (+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (pow.f64 a2 2))) (cos.f64 th))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a2 2) (+.f64 (/.f64 (*.f64 (sqrt.f64 2) (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4)))) (cos.f64 th)) (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 4)) (cos.f64 th)))))) (/.f64 (*.f64 (sqrt.f64 2) (+.f64 (*.f64 1/8 (pow.f64 a2 6)) (*.f64 -1/8 (pow.f64 a2 6)))) (cos.f64 th)))) (pow.f64 a1 8))))))
(+.f64 (fma.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 a2 a2)) (*.f64 (cos.f64 th) (pow.f64 a1 4))) (/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (cos.f64 th)))) (*.f64 -1 (+.f64 (/.f64 (+.f64 (/.f64 (sqrt.f64 2) (/.f64 (cos.f64 th) (*.f64 (pow.f64 a2 4) 0))) (neg.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 4)) (cos.f64 th)))) (pow.f64 a1 6)) (/.f64 (fma.f64 -1 (/.f64 (sqrt.f64 2) (/.f64 (cos.f64 th) (*.f64 (*.f64 a2 a2) (*.f64 (pow.f64 a2 4) 0)))) (fma.f64 -1 (*.f64 (*.f64 a2 a2) (+.f64 (/.f64 (sqrt.f64 2) (/.f64 (cos.f64 th) (*.f64 (pow.f64 a2 4) 0))) (neg.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 4)) (cos.f64 th))))) (/.f64 (sqrt.f64 2) (/.f64 (cos.f64 th) (*.f64 (pow.f64 a2 6) 0))))) (pow.f64 a1 8)))))
(-.f64 (-.f64 (-.f64 (/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (cos.f64 th))) (/.f64 (-.f64 (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) 0) (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (pow.f64 a2 4))) (pow.f64 a1 6))) (/.f64 (+.f64 (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) 0) (fma.f64 (neg.f64 (*.f64 a2 a2)) (-.f64 (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) 0) (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (pow.f64 a2 4))) (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) 0))) (pow.f64 a1 8))) (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (/.f64 (*.f64 a2 a2) (pow.f64 a1 4))))
(-.f64 (-.f64 (/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (cos.f64 th))) (/.f64 (sqrt.f64 2) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 4)) (*.f64 a2 a2)))) (+.f64 (/.f64 (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (neg.f64 (pow.f64 a2 4))) (pow.f64 a1 6)) (/.f64 (*.f64 (*.f64 a2 a2) (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (pow.f64 a2 4))) (pow.f64 a1 8))))
(/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (cos.f64 th)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 4) (cos.f64 th)))) (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th))))
(fma.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 a2 a2)) (*.f64 (cos.f64 th) (pow.f64 a1 4))) (/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (cos.f64 th))))
(-.f64 (/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (cos.f64 th))) (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (/.f64 (*.f64 a2 a2) (pow.f64 a1 4))))
(-.f64 (/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (cos.f64 th))) (/.f64 (sqrt.f64 2) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 4)) (*.f64 a2 a2))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 4) (cos.f64 th)))) (+.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 -1 (/.f64 (+.f64 (/.f64 (*.f64 (sqrt.f64 2) (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4)))) (cos.f64 th)) (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 4)) (cos.f64 th)))) (pow.f64 a1 6)))))
(+.f64 (fma.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 a2 a2)) (*.f64 (cos.f64 th) (pow.f64 a1 4))) (/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (cos.f64 th)))) (neg.f64 (/.f64 (+.f64 (/.f64 (sqrt.f64 2) (/.f64 (cos.f64 th) (*.f64 (pow.f64 a2 4) 0))) (neg.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 4)) (cos.f64 th)))) (pow.f64 a1 6))))
(-.f64 (-.f64 (/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (cos.f64 th))) (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (/.f64 (*.f64 a2 a2) (pow.f64 a1 4)))) (/.f64 (-.f64 (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) 0) (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (pow.f64 a2 4))) (pow.f64 a1 6)))
(-.f64 (-.f64 (/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (cos.f64 th))) (/.f64 (sqrt.f64 2) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 4)) (*.f64 a2 a2)))) (/.f64 (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (neg.f64 (pow.f64 a2 4))) (pow.f64 a1 6)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 4) (cos.f64 th)))) (+.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (+.f64 (*.f64 -1 (/.f64 (+.f64 (/.f64 (*.f64 (sqrt.f64 2) (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4)))) (cos.f64 th)) (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 4)) (cos.f64 th)))) (pow.f64 a1 6))) (*.f64 -1 (/.f64 (+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (pow.f64 a2 2))) (cos.f64 th))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a2 2) (+.f64 (/.f64 (*.f64 (sqrt.f64 2) (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4)))) (cos.f64 th)) (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 4)) (cos.f64 th)))))) (/.f64 (*.f64 (sqrt.f64 2) (+.f64 (*.f64 1/8 (pow.f64 a2 6)) (*.f64 -1/8 (pow.f64 a2 6)))) (cos.f64 th)))) (pow.f64 a1 8))))))
(+.f64 (fma.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 a2 a2)) (*.f64 (cos.f64 th) (pow.f64 a1 4))) (/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (cos.f64 th)))) (*.f64 -1 (+.f64 (/.f64 (+.f64 (/.f64 (sqrt.f64 2) (/.f64 (cos.f64 th) (*.f64 (pow.f64 a2 4) 0))) (neg.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 4)) (cos.f64 th)))) (pow.f64 a1 6)) (/.f64 (fma.f64 -1 (/.f64 (sqrt.f64 2) (/.f64 (cos.f64 th) (*.f64 (*.f64 a2 a2) (*.f64 (pow.f64 a2 4) 0)))) (fma.f64 -1 (*.f64 (*.f64 a2 a2) (+.f64 (/.f64 (sqrt.f64 2) (/.f64 (cos.f64 th) (*.f64 (pow.f64 a2 4) 0))) (neg.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 4)) (cos.f64 th))))) (/.f64 (sqrt.f64 2) (/.f64 (cos.f64 th) (*.f64 (pow.f64 a2 6) 0))))) (pow.f64 a1 8)))))
(-.f64 (-.f64 (-.f64 (/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (cos.f64 th))) (/.f64 (-.f64 (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) 0) (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (pow.f64 a2 4))) (pow.f64 a1 6))) (/.f64 (+.f64 (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) 0) (fma.f64 (neg.f64 (*.f64 a2 a2)) (-.f64 (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) 0) (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (pow.f64 a2 4))) (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) 0))) (pow.f64 a1 8))) (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (/.f64 (*.f64 a2 a2) (pow.f64 a1 4))))
(-.f64 (-.f64 (/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (cos.f64 th))) (/.f64 (sqrt.f64 2) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 4)) (*.f64 a2 a2)))) (+.f64 (/.f64 (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (neg.f64 (pow.f64 a2 4))) (pow.f64 a1 6)) (/.f64 (*.f64 (*.f64 a2 a2) (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (pow.f64 a2 4))) (pow.f64 a1 8))))
(/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (cos.f64 th)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 4) (cos.f64 th)))) (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th))))
(fma.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 a2 a2)) (*.f64 (cos.f64 th) (pow.f64 a1 4))) (/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (cos.f64 th))))
(-.f64 (/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (cos.f64 th))) (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (/.f64 (*.f64 a2 a2) (pow.f64 a1 4))))
(-.f64 (/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (cos.f64 th))) (/.f64 (sqrt.f64 2) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 4)) (*.f64 a2 a2))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 4) (cos.f64 th)))) (+.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 4)) (*.f64 (pow.f64 a1 6) (cos.f64 th))) (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))))
(fma.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 a2 a2)) (*.f64 (cos.f64 th) (pow.f64 a1 4))) (+.f64 (/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (cos.f64 th))) (*.f64 (/.f64 (sqrt.f64 2) (pow.f64 a1 6)) (/.f64 (pow.f64 a2 4) (cos.f64 th)))))
(-.f64 (fma.f64 (/.f64 (sqrt.f64 2) (pow.f64 a1 6)) (/.f64 (pow.f64 a2 4) (cos.f64 th)) (/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (cos.f64 th)))) (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (/.f64 (*.f64 a2 a2) (pow.f64 a1 4))))
(-.f64 (fma.f64 (/.f64 (sqrt.f64 2) (pow.f64 a1 6)) (/.f64 (pow.f64 a2 4) (cos.f64 th)) (/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (cos.f64 th)))) (/.f64 (sqrt.f64 2) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 4)) (*.f64 a2 a2))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 4) (cos.f64 th)))) (+.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 4)) (*.f64 (pow.f64 a1 6) (cos.f64 th))) (+.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 6)) (*.f64 (pow.f64 a1 8) (cos.f64 th)))))))
(fma.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 a2 a2)) (*.f64 (cos.f64 th) (pow.f64 a1 4))) (+.f64 (+.f64 (/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (cos.f64 th))) (*.f64 (/.f64 (sqrt.f64 2) (pow.f64 a1 6)) (/.f64 (pow.f64 a2 4) (cos.f64 th)))) (neg.f64 (*.f64 (/.f64 (sqrt.f64 2) (pow.f64 a1 8)) (/.f64 (pow.f64 a2 6) (cos.f64 th))))))
(-.f64 (-.f64 (fma.f64 (/.f64 (sqrt.f64 2) (pow.f64 a1 6)) (/.f64 (pow.f64 a2 4) (cos.f64 th)) (/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (cos.f64 th)))) (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (/.f64 (pow.f64 a2 6) (pow.f64 a1 8)))) (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (/.f64 (*.f64 a2 a2) (pow.f64 a1 4))))
(+.f64 (fma.f64 (/.f64 (sqrt.f64 2) (pow.f64 a1 6)) (/.f64 (pow.f64 a2 4) (cos.f64 th)) (/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (cos.f64 th)))) (*.f64 (/.f64 -1 (cos.f64 th)) (+.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 6)) (pow.f64 a1 8)) (/.f64 (sqrt.f64 2) (/.f64 (pow.f64 a1 4) (*.f64 a2 a2))))))
(/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(/.f64 (/.f64 (sqrt.f64 2) (*.f64 a2 a2)) (cos.f64 th))
(/.f64 (sqrt.f64 2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))
(+.f64 (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (pow.f64 a2 2))) (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a1 2)) (*.f64 (cos.f64 th) (pow.f64 a2 4)))))
(fma.f64 -1 (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (/.f64 (*.f64 a1 a1) (pow.f64 a2 4))) (/.f64 (/.f64 (sqrt.f64 2) (*.f64 a2 a2)) (cos.f64 th)))
(-.f64 (/.f64 (sqrt.f64 2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (/.f64 a1 (/.f64 (pow.f64 a2 4) a1))))
(-.f64 (/.f64 (sqrt.f64 2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (/.f64 (*.f64 a1 a1) (pow.f64 a2 4))))
(+.f64 (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (pow.f64 a2 2))) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a1 4)) (cos.f64 th))) (/.f64 (*.f64 (sqrt.f64 2) (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4)))) (cos.f64 th))) (pow.f64 a2 6))) (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a1 2)) (*.f64 (cos.f64 th) (pow.f64 a2 4))))))
(+.f64 (/.f64 (/.f64 (sqrt.f64 2) (*.f64 a2 a2)) (cos.f64 th)) (fma.f64 -1 (/.f64 (fma.f64 -1 (/.f64 (sqrt.f64 2) (/.f64 (cos.f64 th) (pow.f64 a1 4))) (/.f64 (sqrt.f64 2) (/.f64 (cos.f64 th) (*.f64 (pow.f64 a1 4) 0)))) (pow.f64 a2 6)) (neg.f64 (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (/.f64 (*.f64 a1 a1) (pow.f64 a2 4))))))
(-.f64 (-.f64 (/.f64 (sqrt.f64 2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) (/.f64 (-.f64 (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) 0) (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (pow.f64 a1 4))) (pow.f64 a2 6))) (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (/.f64 a1 (/.f64 (pow.f64 a2 4) a1))))
(-.f64 (-.f64 (/.f64 (sqrt.f64 2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (/.f64 (*.f64 a1 a1) (pow.f64 a2 4)))) (/.f64 (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (neg.f64 (pow.f64 a1 4))) (pow.f64 a2 6)))
(+.f64 (*.f64 -1 (/.f64 (+.f64 (/.f64 (*.f64 (sqrt.f64 2) (+.f64 (*.f64 1/8 (pow.f64 a1 6)) (*.f64 -1/8 (pow.f64 a1 6)))) (cos.f64 th)) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a1 4)) (cos.f64 th))) (/.f64 (*.f64 (sqrt.f64 2) (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4)))) (cos.f64 th))) (pow.f64 a1 2))) (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4))))) (cos.f64 th))))) (pow.f64 a2 8))) (+.f64 (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (pow.f64 a2 2))) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a1 4)) (cos.f64 th))) (/.f64 (*.f64 (sqrt.f64 2) (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4)))) (cos.f64 th))) (pow.f64 a2 6))) (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a1 2)) (*.f64 (cos.f64 th) (pow.f64 a2 4)))))))
(fma.f64 -1 (/.f64 (+.f64 (/.f64 (sqrt.f64 2) (/.f64 (cos.f64 th) (*.f64 (pow.f64 a1 6) 0))) (*.f64 -1 (+.f64 (*.f64 (*.f64 a1 a1) (fma.f64 -1 (/.f64 (sqrt.f64 2) (/.f64 (cos.f64 th) (pow.f64 a1 4))) (/.f64 (sqrt.f64 2) (/.f64 (cos.f64 th) (*.f64 (pow.f64 a1 4) 0))))) (/.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 a1 a1)) (*.f64 (pow.f64 a1 4) 0)) (cos.f64 th))))) (pow.f64 a2 8)) (+.f64 (/.f64 (/.f64 (sqrt.f64 2) (*.f64 a2 a2)) (cos.f64 th)) (fma.f64 -1 (/.f64 (fma.f64 -1 (/.f64 (sqrt.f64 2) (/.f64 (cos.f64 th) (pow.f64 a1 4))) (/.f64 (sqrt.f64 2) (/.f64 (cos.f64 th) (*.f64 (pow.f64 a1 4) 0)))) (pow.f64 a2 6)) (neg.f64 (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (/.f64 (*.f64 a1 a1) (pow.f64 a2 4)))))))
(-.f64 (-.f64 (-.f64 (/.f64 (sqrt.f64 2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) (/.f64 (-.f64 (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) 0) (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (pow.f64 a1 4))) (pow.f64 a2 6))) (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (/.f64 a1 (/.f64 (pow.f64 a2 4) a1)))) (/.f64 (fma.f64 -1 (fma.f64 (*.f64 a1 a1) (-.f64 (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) 0) (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (pow.f64 a1 4))) (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) 0)) (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) 0)) (pow.f64 a2 8)))
(-.f64 (-.f64 (-.f64 (/.f64 (sqrt.f64 2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (/.f64 (*.f64 a1 a1) (pow.f64 a2 4)))) (/.f64 (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (neg.f64 (pow.f64 a1 4))) (pow.f64 a2 6))) (/.f64 (*.f64 (*.f64 a1 a1) (neg.f64 (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (neg.f64 (pow.f64 a1 4))))) (pow.f64 a2 8)))
(/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(/.f64 (/.f64 (sqrt.f64 2) (*.f64 a2 a2)) (cos.f64 th))
(/.f64 (sqrt.f64 2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))
(+.f64 (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (pow.f64 a2 2))) (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a1 2)) (*.f64 (cos.f64 th) (pow.f64 a2 4)))))
(fma.f64 -1 (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (/.f64 (*.f64 a1 a1) (pow.f64 a2 4))) (/.f64 (/.f64 (sqrt.f64 2) (*.f64 a2 a2)) (cos.f64 th)))
(-.f64 (/.f64 (sqrt.f64 2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (/.f64 a1 (/.f64 (pow.f64 a2 4) a1))))
(-.f64 (/.f64 (sqrt.f64 2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (/.f64 (*.f64 a1 a1) (pow.f64 a2 4))))
(+.f64 (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (pow.f64 a2 2))) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a1 4)) (cos.f64 th))) (/.f64 (*.f64 (sqrt.f64 2) (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4)))) (cos.f64 th))) (pow.f64 a2 6))) (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a1 2)) (*.f64 (cos.f64 th) (pow.f64 a2 4))))))
(+.f64 (/.f64 (/.f64 (sqrt.f64 2) (*.f64 a2 a2)) (cos.f64 th)) (fma.f64 -1 (/.f64 (fma.f64 -1 (/.f64 (sqrt.f64 2) (/.f64 (cos.f64 th) (pow.f64 a1 4))) (/.f64 (sqrt.f64 2) (/.f64 (cos.f64 th) (*.f64 (pow.f64 a1 4) 0)))) (pow.f64 a2 6)) (neg.f64 (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (/.f64 (*.f64 a1 a1) (pow.f64 a2 4))))))
(-.f64 (-.f64 (/.f64 (sqrt.f64 2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) (/.f64 (-.f64 (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) 0) (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (pow.f64 a1 4))) (pow.f64 a2 6))) (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (/.f64 a1 (/.f64 (pow.f64 a2 4) a1))))
(-.f64 (-.f64 (/.f64 (sqrt.f64 2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (/.f64 (*.f64 a1 a1) (pow.f64 a2 4)))) (/.f64 (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (neg.f64 (pow.f64 a1 4))) (pow.f64 a2 6)))
(+.f64 (*.f64 -1 (/.f64 (+.f64 (/.f64 (*.f64 (sqrt.f64 2) (+.f64 (*.f64 1/8 (pow.f64 a1 6)) (*.f64 -1/8 (pow.f64 a1 6)))) (cos.f64 th)) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a1 4)) (cos.f64 th))) (/.f64 (*.f64 (sqrt.f64 2) (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4)))) (cos.f64 th))) (pow.f64 a1 2))) (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4))))) (cos.f64 th))))) (pow.f64 a2 8))) (+.f64 (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (pow.f64 a2 2))) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a1 4)) (cos.f64 th))) (/.f64 (*.f64 (sqrt.f64 2) (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4)))) (cos.f64 th))) (pow.f64 a2 6))) (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a1 2)) (*.f64 (cos.f64 th) (pow.f64 a2 4)))))))
(fma.f64 -1 (/.f64 (+.f64 (/.f64 (sqrt.f64 2) (/.f64 (cos.f64 th) (*.f64 (pow.f64 a1 6) 0))) (*.f64 -1 (+.f64 (*.f64 (*.f64 a1 a1) (fma.f64 -1 (/.f64 (sqrt.f64 2) (/.f64 (cos.f64 th) (pow.f64 a1 4))) (/.f64 (sqrt.f64 2) (/.f64 (cos.f64 th) (*.f64 (pow.f64 a1 4) 0))))) (/.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 a1 a1)) (*.f64 (pow.f64 a1 4) 0)) (cos.f64 th))))) (pow.f64 a2 8)) (+.f64 (/.f64 (/.f64 (sqrt.f64 2) (*.f64 a2 a2)) (cos.f64 th)) (fma.f64 -1 (/.f64 (fma.f64 -1 (/.f64 (sqrt.f64 2) (/.f64 (cos.f64 th) (pow.f64 a1 4))) (/.f64 (sqrt.f64 2) (/.f64 (cos.f64 th) (*.f64 (pow.f64 a1 4) 0)))) (pow.f64 a2 6)) (neg.f64 (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (/.f64 (*.f64 a1 a1) (pow.f64 a2 4)))))))
(-.f64 (-.f64 (-.f64 (/.f64 (sqrt.f64 2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) (/.f64 (-.f64 (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) 0) (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (pow.f64 a1 4))) (pow.f64 a2 6))) (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (/.f64 a1 (/.f64 (pow.f64 a2 4) a1)))) (/.f64 (fma.f64 -1 (fma.f64 (*.f64 a1 a1) (-.f64 (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) 0) (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (pow.f64 a1 4))) (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) 0)) (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) 0)) (pow.f64 a2 8)))
(-.f64 (-.f64 (-.f64 (/.f64 (sqrt.f64 2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (/.f64 (*.f64 a1 a1) (pow.f64 a2 4)))) (/.f64 (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (neg.f64 (pow.f64 a1 4))) (pow.f64 a2 6))) (/.f64 (*.f64 (*.f64 a1 a1) (neg.f64 (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (neg.f64 (pow.f64 a1 4))))) (pow.f64 a2 8)))
(/.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (sqrt.f64 2))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (sqrt.f64 2))
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2))
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (/.f64 (pow.f64 a1 2) (sqrt.f64 2)) (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)) (sqrt.f64 2)))))
(+.f64 (+.f64 (/.f64 (*.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 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (*.f64 th th))) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))))
(+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (fma.f64 -1/2 (*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (*.f64 th th)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))))
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (/.f64 (pow.f64 a1 2) (sqrt.f64 2)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)) (sqrt.f64 2))) (*.f64 1/24 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 4)) (sqrt.f64 2))))))
(+.f64 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) (fma.f64 -1/2 (/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (*.f64 th th))) (*.f64 1/24 (/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (pow.f64 th 4))))))
(+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (+.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (fma.f64 1/24 (*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (pow.f64 th 4)) (*.f64 -1/2 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (*.f64 th th)))))))
(+.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (+.f64 (fma.f64 -1/2 (*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (*.f64 th th)) (/.f64 1/24 (/.f64 (sqrt.f64 2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (pow.f64 th 4))))) (/.f64 a2 (/.f64 (sqrt.f64 2) a2))))
(+.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 (*.f64 a2 a2) (sqrt.f64 2)) (/.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/24 (*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (pow.f64 th 4)) (*.f64 -1/2 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (*.f64 th th)))))) (fma.f64 -1/720 (*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (pow.f64 th 6)) (/.f64 a2 (/.f64 (sqrt.f64 2) a2))))
(+.f64 (+.f64 (fma.f64 -1/720 (*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (pow.f64 th 6)) (/.f64 a2 (/.f64 (sqrt.f64 2) a2))) (fma.f64 -1/2 (*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (*.f64 th th)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))) (/.f64 1/24 (/.f64 (sqrt.f64 2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (pow.f64 th 4)))))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (cos.f64 th))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (cos.f64 th)))
(*.f64 (cos.f64 th) (+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (+.f64 (*.f64 -1 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6))))) (*.f64 5/64 (/.f64 1 (pow.f64 a2 6)))) (*.f64 (pow.f64 a1 8) (cos.f64 th))) (sqrt.f64 2))))
(+.f64 (+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2))) (/.f64 (fma.f64 -1 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (/.f64 5/64 (pow.f64 a2 6))) (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (pow.f64 a1 8)))))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (+.f64 (*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (cos.f64 th)) (*.f64 (/.f64 (-.f64 (/.f64 5/64 (pow.f64 a2 6)) (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6)))) (sqrt.f64 2)) (*.f64 (cos.f64 th) (pow.f64 a1 8)))))
(+.f64 (*.f64 (cos.f64 th) (+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 8)) (/.f64 (sqrt.f64 2) (+.f64 (neg.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2)) (*.f64 (/.f64 1 (pow.f64 a2 6)) 1/64)))))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 (pow.f64 a1 12) (*.f64 (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 a2 8))) (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6)))) (pow.f64 a2 2)))) (pow.f64 a2 2))) (+.f64 (*.f64 -1 (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 a2 8))) (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6)))) (pow.f64 a2 2)))) (pow.f64 a2 2))) (+.f64 (pow.f64 (/.f64 1/16 (pow.f64 a2 5)) 2) (*.f64 1/8 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6)))) (pow.f64 a2 4)))))) (+.f64 (*.f64 1/8 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6)))) (pow.f64 a2 4))) (*.f64 1/256 (/.f64 1 (pow.f64 a2 10)))))) (cos.f64 th))) (sqrt.f64 2)) (/.f64 (*.f64 (+.f64 (*.f64 -1 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6))))) (*.f64 5/64 (/.f64 1 (pow.f64 a2 6)))) (*.f64 (pow.f64 a1 8) (cos.f64 th))) (sqrt.f64 2)))))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (+.f64 (+.f64 (/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (pow.f64 a1 12) (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (fma.f64 1/2 (/.f64 (+.f64 (/.f64 1/64 (pow.f64 a2 8)) (*.f64 1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (*.f64 a2 a2)))) (*.f64 a2 a2)) (fma.f64 -1 (fma.f64 1/2 (/.f64 (+.f64 (/.f64 1/64 (pow.f64 a2 8)) (*.f64 1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (*.f64 a2 a2)))) (*.f64 a2 a2)) (+.f64 (pow.f64 (/.f64 1/16 (pow.f64 a2 5)) 2) (/.f64 (*.f64 1/8 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6)))) (pow.f64 a2 4)))) (fma.f64 1/8 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (pow.f64 a2 4)) (/.f64 1/256 (pow.f64 a2 10))))))))) (/.f64 (fma.f64 -1 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (/.f64 5/64 (pow.f64 a2 6))) (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (pow.f64 a1 8))))))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (+.f64 (*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (cos.f64 th)) (+.f64 (*.f64 (/.f64 (-.f64 (/.f64 5/64 (pow.f64 a2 6)) (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6)))) (sqrt.f64 2)) (*.f64 (cos.f64 th) (pow.f64 a1 8))) (*.f64 (/.f64 (pow.f64 a1 12) (sqrt.f64 2)) (*.f64 (cos.f64 th) (fma.f64 1/2 (-.f64 (/.f64 1/64 (*.f64 (*.f64 a2 a2) (pow.f64 a2 8))) (/.f64 (*.f64 -1/2 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6)))) (pow.f64 a2 4))) (-.f64 (fma.f64 1/8 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (pow.f64 a2 4)) (/.f64 1/256 (pow.f64 a2 10))) (fma.f64 1/2 (-.f64 (/.f64 1/64 (*.f64 (*.f64 a2 a2) (pow.f64 a2 8))) (/.f64 (*.f64 -1/2 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6)))) (pow.f64 a2 4))) (fma.f64 1/8 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (pow.f64 a2 4)) (pow.f64 (/.f64 1/16 (pow.f64 a2 5)) 2))))))))))
(+.f64 (*.f64 (cos.f64 th) (+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))) (+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 8)) (/.f64 (sqrt.f64 2) (+.f64 (neg.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2)) (*.f64 (/.f64 1 (pow.f64 a2 6)) 1/64)))) (*.f64 (/.f64 (pow.f64 a1 12) (sqrt.f64 2)) (*.f64 (cos.f64 th) (+.f64 (fma.f64 1/8 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (pow.f64 a2 4)) (/.f64 1/256 (pow.f64 a2 10))) (-.f64 (*.f64 (+.f64 (/.f64 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 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (cos.f64 th))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (cos.f64 th)))
(*.f64 (cos.f64 th) (+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (cos.f64 th)) (*.f64 (sqrt.f64 2) (pow.f64 a1 2)))))
(+.f64 (+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2))) (*.f64 (/.f64 (*.f64 (pow.f64 a2 4) 0) (sqrt.f64 2)) (/.f64 (cos.f64 th) (*.f64 a1 a1))))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (fma.f64 (/.f64 0 (sqrt.f64 2)) (/.f64 (cos.f64 th) (*.f64 a1 a1)) (*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (cos.f64 th))))
(+.f64 (*.f64 (cos.f64 th) (+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))) 0)
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (cos.f64 th)) (*.f64 (sqrt.f64 2) (pow.f64 a1 2))) (/.f64 (*.f64 (+.f64 (*.f64 1/8 (pow.f64 a2 6)) (*.f64 -1/8 (pow.f64 a2 6))) (cos.f64 th)) (*.f64 (sqrt.f64 2) (pow.f64 a1 4))))))
(+.f64 (+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2))) (*.f64 (/.f64 (*.f64 (pow.f64 a2 4) 0) (sqrt.f64 2)) (/.f64 (cos.f64 th) (*.f64 a1 a1))))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (fma.f64 (/.f64 0 (sqrt.f64 2)) (/.f64 (cos.f64 th) (*.f64 a1 a1)) (*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (cos.f64 th))))
(+.f64 (*.f64 (cos.f64 th) (+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))) 0)
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (cos.f64 th))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (cos.f64 th)))
(*.f64 (cos.f64 th) (+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (cos.f64 th)) (*.f64 (sqrt.f64 2) (pow.f64 a1 2)))))
(+.f64 (+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2))) (*.f64 (/.f64 (*.f64 (pow.f64 a2 4) 0) (sqrt.f64 2)) (/.f64 (cos.f64 th) (*.f64 a1 a1))))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (fma.f64 (/.f64 0 (sqrt.f64 2)) (/.f64 (cos.f64 th) (*.f64 a1 a1)) (*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (cos.f64 th))))
(+.f64 (*.f64 (cos.f64 th) (+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))) 0)
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (cos.f64 th)) (*.f64 (sqrt.f64 2) (pow.f64 a1 2))) (/.f64 (*.f64 (+.f64 (*.f64 1/8 (pow.f64 a2 6)) (*.f64 -1/8 (pow.f64 a2 6))) (cos.f64 th)) (*.f64 (sqrt.f64 2) (pow.f64 a1 4))))))
(+.f64 (+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2))) (*.f64 (/.f64 (*.f64 (pow.f64 a2 4) 0) (sqrt.f64 2)) (/.f64 (cos.f64 th) (*.f64 a1 a1))))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (fma.f64 (/.f64 0 (sqrt.f64 2)) (/.f64 (cos.f64 th) (*.f64 a1 a1)) (*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (cos.f64 th))))
(+.f64 (*.f64 (cos.f64 th) (+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))) 0)
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (cos.f64 th))
(+.f64 (/.f64 (*.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 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (cos.f64 th)))
(*.f64 (cos.f64 th) (+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -1 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (*.f64 5/64 (/.f64 1 (pow.f64 a1 6)))) (*.f64 (cos.f64 th) (pow.f64 a2 8))) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))))
(+.f64 (/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2)) (+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (/.f64 (fma.f64 -1 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (/.f64 5/64 (pow.f64 a1 6))) (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (pow.f64 a2 8))))))
(+.f64 (*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (cos.f64 th)) (+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (/.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 2) (*.f64 (cos.f64 th) (pow.f64 a2 8))))))
(+.f64 (*.f64 (cos.f64 th) (+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))) (*.f64 (/.f64 (-.f64 (*.f64 (/.f64 1 (pow.f64 a1 6)) 1/64) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (sqrt.f64 2)) (*.f64 (cos.f64 th) (pow.f64 a2 8))))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -1 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (*.f64 5/64 (/.f64 1 (pow.f64 a1 6)))) (*.f64 (pow.f64 a2 8) (cos.f64 th))) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 a1 8))) (*.f64 -1/2 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 2)))) (pow.f64 a1 2))) (+.f64 (*.f64 1/8 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 4))) (+.f64 (*.f64 1/256 (/.f64 1 (pow.f64 a1 10))) (*.f64 -1 (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 a1 8))) (*.f64 -1/2 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 2)))) (pow.f64 a1 2))) (+.f64 (pow.f64 (/.f64 1/16 (pow.f64 a1 5)) 2) (*.f64 1/8 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 4))))))))) (*.f64 (cos.f64 th) (pow.f64 a2 12))) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))))
(+.f64 (/.f64 (fma.f64 -1 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (/.f64 5/64 (pow.f64 a1 6))) (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (pow.f64 a2 8)))) (+.f64 (+.f64 (/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 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 (sqrt.f64 2) (*.f64 (cos.f64 th) (pow.f64 a2 12))))) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))))
(+.f64 (*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (cos.f64 th)) (+.f64 (+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (/.f64 (fma.f64 1/2 (/.f64 (+.f64 (/.f64 1/64 (pow.f64 a1 8)) (*.f64 1/2 (/.f64 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (*.f64 a1 a1)))) (*.f64 a1 a1)) (-.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 2) (*.f64 (cos.f64 th) (pow.f64 a2 12))))) (/.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 2) (*.f64 (cos.f64 th) (pow.f64 a2 8))))))
(+.f64 (*.f64 (/.f64 (-.f64 (*.f64 (/.f64 1 (pow.f64 a1 6)) 1/64) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (sqrt.f64 2)) (*.f64 (cos.f64 th) (pow.f64 a2 8))) (+.f64 (*.f64 (cos.f64 th) (+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))) (*.f64 (/.f64 (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))))) (sqrt.f64 2)) (*.f64 (cos.f64 th) (pow.f64 a2 12)))))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (cos.f64 th))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (cos.f64 th)))
(*.f64 (cos.f64 th) (+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4))) (cos.f64 th)) (*.f64 (sqrt.f64 2) (pow.f64 a2 2)))))
(+.f64 (+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2))) (*.f64 (/.f64 (*.f64 (pow.f64 a2 4) 0) (sqrt.f64 2)) (/.f64 (cos.f64 th) (*.f64 a1 a1))))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (fma.f64 (/.f64 0 (sqrt.f64 2)) (/.f64 (cos.f64 th) (*.f64 a1 a1)) (*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (cos.f64 th))))
(+.f64 (*.f64 (cos.f64 th) (+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))) 0)
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/8 (pow.f64 a1 6)) (*.f64 -1/8 (pow.f64 a1 6))) (cos.f64 th)) (*.f64 (sqrt.f64 2) (pow.f64 a2 4))) (+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4))) (cos.f64 th)) (*.f64 (sqrt.f64 2) (pow.f64 a2 2))))))
(+.f64 (+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2))) (*.f64 (/.f64 (*.f64 (pow.f64 a2 4) 0) (sqrt.f64 2)) (/.f64 (cos.f64 th) (*.f64 a1 a1))))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (fma.f64 (/.f64 0 (sqrt.f64 2)) (/.f64 (cos.f64 th) (*.f64 a1 a1)) (*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (cos.f64 th))))
(+.f64 (*.f64 (cos.f64 th) (+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))) 0)
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (cos.f64 th))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (cos.f64 th)))
(*.f64 (cos.f64 th) (+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4))) (cos.f64 th)) (*.f64 (sqrt.f64 2) (pow.f64 a2 2)))))
(+.f64 (+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2))) (*.f64 (/.f64 (*.f64 (pow.f64 a2 4) 0) (sqrt.f64 2)) (/.f64 (cos.f64 th) (*.f64 a1 a1))))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (fma.f64 (/.f64 0 (sqrt.f64 2)) (/.f64 (cos.f64 th) (*.f64 a1 a1)) (*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (cos.f64 th))))
(+.f64 (*.f64 (cos.f64 th) (+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))) 0)
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/8 (pow.f64 a1 6)) (*.f64 -1/8 (pow.f64 a1 6))) (cos.f64 th)) (*.f64 (sqrt.f64 2) (pow.f64 a2 4))) (+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4))) (cos.f64 th)) (*.f64 (sqrt.f64 2) (pow.f64 a2 2))))))
(+.f64 (+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2))) (*.f64 (/.f64 (*.f64 (pow.f64 a2 4) 0) (sqrt.f64 2)) (/.f64 (cos.f64 th) (*.f64 a1 a1))))
(+.f64 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (fma.f64 (/.f64 0 (sqrt.f64 2)) (/.f64 (cos.f64 th) (*.f64 a1 a1)) (*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (cos.f64 th))))
(+.f64 (*.f64 (cos.f64 th) (+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))) 0)
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a2 a2 (*.f64 a1 a1))
(+.f64 (pow.f64 a2 2) (+.f64 (pow.f64 a1 2) (*.f64 -1/2 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)))))
(+.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (*.f64 -1/2 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (*.f64 th th))))
(fma.f64 a2 a2 (fma.f64 a1 a1 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (*.f64 th th) -1/2))))
(*.f64 (+.f64 (*.f64 -1/2 (*.f64 th th)) 1) (fma.f64 a2 a2 (*.f64 a1 a1)))
(+.f64 (pow.f64 a2 2) (+.f64 (pow.f64 a1 2) (+.f64 (*.f64 -1/2 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2))) (*.f64 1/24 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 4))))))
(+.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (fma.f64 -1/2 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (*.f64 th th)) (*.f64 1/24 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (pow.f64 th 4)))))
(fma.f64 a2 a2 (fma.f64 a1 a1 (fma.f64 1/24 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (pow.f64 th 4)) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (*.f64 th th) -1/2)))))
(fma.f64 a2 a2 (fma.f64 a1 a1 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (+.f64 (*.f64 -1/2 (*.f64 th th)) (*.f64 1/24 (pow.f64 th 4))))))
(+.f64 (pow.f64 a2 2) (+.f64 (pow.f64 a1 2) (+.f64 (*.f64 -1/2 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2))) (+.f64 (*.f64 1/24 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 4))) (*.f64 -1/720 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 6)))))))
(+.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (fma.f64 -1/2 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (*.f64 th th)) (fma.f64 1/24 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (pow.f64 th 4)) (*.f64 -1/720 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (pow.f64 th 6))))))
(fma.f64 a2 a2 (fma.f64 a1 a1 (fma.f64 -1/2 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 th th)) (fma.f64 1/24 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (pow.f64 th 4)) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (pow.f64 th 6) -1/720))))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 th th)) 1) (fma.f64 a2 a2 (*.f64 a1 a1))) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (+.f64 (*.f64 (pow.f64 th 4) 1/24) (*.f64 (pow.f64 th 6) -1/720))))
(*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))
(*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))
(*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))
(*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))
(*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))
(*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))
(*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))
(*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))
(*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))
(*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))
(*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))
(*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))
(*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))
(*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))
(*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))
(*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(*.f64 (*.f64 a2 a2) (cos.f64 th))
(*.f64 a2 (*.f64 a2 (cos.f64 th)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (+.f64 (*.f64 (+.f64 (*.f64 -1 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6))))) (*.f64 5/64 (/.f64 1 (pow.f64 a2 6)))) (*.f64 (pow.f64 a1 8) (cos.f64 th))) (*.f64 (pow.f64 a1 2) (cos.f64 th))))
(fma.f64 (cos.f64 th) (*.f64 a2 a2) (fma.f64 (fma.f64 -1 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (/.f64 5/64 (pow.f64 a2 6))) (*.f64 (cos.f64 th) (pow.f64 a1 8)) (*.f64 (*.f64 a1 a1) (cos.f64 th))))
(+.f64 (*.f64 (*.f64 (cos.f64 th) (pow.f64 a1 8)) (-.f64 (/.f64 5/64 (pow.f64 a2 6)) (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))))) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (cos.f64 th) (fma.f64 (pow.f64 a1 8) (+.f64 (neg.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2)) (*.f64 (/.f64 1 (pow.f64 a2 6)) 1/64)) (fma.f64 a2 a2 (*.f64 a1 a1))))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (+.f64 (*.f64 (pow.f64 a1 12) (*.f64 (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 a2 8))) (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6)))) (pow.f64 a2 2)))) (pow.f64 a2 2))) (+.f64 (*.f64 1/8 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6)))) (pow.f64 a2 4))) (+.f64 (*.f64 1/256 (/.f64 1 (pow.f64 a2 10))) (*.f64 -1 (+.f64 (pow.f64 (/.f64 1/16 (pow.f64 a2 5)) 2) (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 a2 8))) (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6)))) (pow.f64 a2 2)))) (pow.f64 a2 2))) (*.f64 1/8 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6)))) (pow.f64 a2 4))))))))) (cos.f64 th))) (+.f64 (*.f64 (+.f64 (*.f64 -1 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6))))) (*.f64 5/64 (/.f64 1 (pow.f64 a2 6)))) (*.f64 (pow.f64 a1 8) (cos.f64 th))) (*.f64 (pow.f64 a1 2) (cos.f64 th)))))
(fma.f64 (cos.f64 th) (*.f64 a2 a2) (fma.f64 (pow.f64 a1 12) (*.f64 (cos.f64 th) (fma.f64 1/2 (/.f64 (+.f64 (/.f64 1/64 (pow.f64 a2 8)) (*.f64 1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (*.f64 a2 a2)))) (*.f64 a2 a2)) (+.f64 (fma.f64 1/8 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (pow.f64 a2 4)) (/.f64 1/256 (pow.f64 a2 10))) (neg.f64 (+.f64 (pow.f64 (/.f64 1/16 (pow.f64 a2 5)) 2) (fma.f64 1/2 (/.f64 (+.f64 (/.f64 1/64 (pow.f64 a2 8)) (*.f64 1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (*.f64 a2 a2)))) (*.f64 a2 a2)) (/.f64 (*.f64 1/8 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6)))) (pow.f64 a2 4)))))))) (fma.f64 (fma.f64 -1 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (/.f64 5/64 (pow.f64 a2 6))) (*.f64 (cos.f64 th) (pow.f64 a1 8)) (*.f64 (*.f64 a1 a1) (cos.f64 th)))))
(+.f64 (*.f64 (cos.f64 th) (+.f64 (*.f64 (pow.f64 a1 12) (fma.f64 1/2 (-.f64 (/.f64 1/64 (*.f64 (*.f64 a2 a2) (pow.f64 a2 8))) (/.f64 (*.f64 -1/2 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6)))) (pow.f64 a2 4))) (-.f64 (fma.f64 1/8 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (pow.f64 a2 4)) (/.f64 1/256 (pow.f64 a2 10))) (fma.f64 1/2 (-.f64 (/.f64 1/64 (*.f64 (*.f64 a2 a2) (pow.f64 a2 8))) (/.f64 (*.f64 -1/2 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6)))) (pow.f64 a2 4))) (fma.f64 1/8 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (pow.f64 a2 4)) (pow.f64 (/.f64 1/16 (pow.f64 a2 5)) 2)))))) (*.f64 (pow.f64 a1 8) (-.f64 (/.f64 5/64 (pow.f64 a2 6)) (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))))))) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (cos.f64 th) (+.f64 (+.f64 (*.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 (pow.f64 a1 8) (+.f64 (neg.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2)) (*.f64 (/.f64 1 (pow.f64 a2 6)) 1/64)))) (fma.f64 a2 a2 (*.f64 a1 a1))))
(*.f64 (pow.f64 a1 2) (cos.f64 th))
(*.f64 (*.f64 a1 a1) (cos.f64 th))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (cos.f64 th)) (pow.f64 a1 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th))))
(fma.f64 (cos.f64 th) (*.f64 a2 a2) (+.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (/.f64 (*.f64 (pow.f64 a2 4) 0) (/.f64 (*.f64 a1 a1) (cos.f64 th)))))
(+.f64 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)) (/.f64 (*.f64 (cos.f64 th) 0) (*.f64 a1 a1)))
(+.f64 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)) 0)
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (cos.f64 th)) (pow.f64 a1 2)) (+.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (/.f64 (*.f64 (+.f64 (*.f64 1/8 (pow.f64 a2 6)) (*.f64 -1/8 (pow.f64 a2 6))) (cos.f64 th)) (pow.f64 a1 4)))))
(fma.f64 (cos.f64 th) (*.f64 a2 a2) (+.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (/.f64 (*.f64 (pow.f64 a2 4) 0) (/.f64 (*.f64 a1 a1) (cos.f64 th)))))
(+.f64 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)) (/.f64 (*.f64 (cos.f64 th) 0) (*.f64 a1 a1)))
(+.f64 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)) 0)
(*.f64 (pow.f64 a1 2) (cos.f64 th))
(*.f64 (*.f64 a1 a1) (cos.f64 th))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (cos.f64 th)) (pow.f64 a1 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th))))
(fma.f64 (cos.f64 th) (*.f64 a2 a2) (+.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (/.f64 (*.f64 (pow.f64 a2 4) 0) (/.f64 (*.f64 a1 a1) (cos.f64 th)))))
(+.f64 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)) (/.f64 (*.f64 (cos.f64 th) 0) (*.f64 a1 a1)))
(+.f64 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)) 0)
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (cos.f64 th)) (pow.f64 a1 2)) (+.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (/.f64 (*.f64 (+.f64 (*.f64 1/8 (pow.f64 a2 6)) (*.f64 -1/8 (pow.f64 a2 6))) (cos.f64 th)) (pow.f64 a1 4)))))
(fma.f64 (cos.f64 th) (*.f64 a2 a2) (+.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (/.f64 (*.f64 (pow.f64 a2 4) 0) (/.f64 (*.f64 a1 a1) (cos.f64 th)))))
(+.f64 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)) (/.f64 (*.f64 (cos.f64 th) 0) (*.f64 a1 a1)))
(+.f64 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)) 0)
(*.f64 (pow.f64 a1 2) (cos.f64 th))
(*.f64 (*.f64 a1 a1) (cos.f64 th))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (+.f64 (*.f64 (+.f64 (*.f64 -1 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (*.f64 5/64 (/.f64 1 (pow.f64 a1 6)))) (*.f64 (pow.f64 a2 8) (cos.f64 th))) (*.f64 (pow.f64 a1 2) (cos.f64 th))))
(fma.f64 (cos.f64 th) (*.f64 a2 a2) (fma.f64 (fma.f64 -1 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (/.f64 5/64 (pow.f64 a1 6))) (*.f64 (cos.f64 th) (pow.f64 a2 8)) (*.f64 (*.f64 a1 a1) (cos.f64 th))))
(fma.f64 (*.f64 a2 a2) (cos.f64 th) (*.f64 (cos.f64 th) (fma.f64 a1 a1 (*.f64 (pow.f64 a2 8) (-.f64 (/.f64 5/64 (pow.f64 a1 6)) (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)))))))
(*.f64 (cos.f64 th) (fma.f64 a2 a2 (fma.f64 (pow.f64 a2 8) (-.f64 (*.f64 (/.f64 1 (pow.f64 a1 6)) 1/64) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (*.f64 a1 a1))))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (+.f64 (*.f64 (+.f64 (*.f64 -1 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (*.f64 5/64 (/.f64 1 (pow.f64 a1 6)))) (*.f64 (pow.f64 a2 8) (cos.f64 th))) (+.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (*.f64 (pow.f64 a2 12) (*.f64 (cos.f64 th) (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 a1 8))) (*.f64 -1/2 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 2)))) (pow.f64 a1 2))) (+.f64 (*.f64 1/8 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 4))) (+.f64 (*.f64 -1 (+.f64 (pow.f64 (/.f64 1/16 (pow.f64 a1 5)) 2) (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 a1 8))) (*.f64 -1/2 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 2)))) (pow.f64 a1 2))) (*.f64 1/8 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 4)))))) (*.f64 1/256 (/.f64 1 (pow.f64 a1 10)))))))))))
(fma.f64 (cos.f64 th) (*.f64 a2 a2) (fma.f64 (fma.f64 -1 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (/.f64 5/64 (pow.f64 a1 6))) (*.f64 (cos.f64 th) (pow.f64 a2 8)) (fma.f64 (*.f64 a1 a1) (cos.f64 th) (*.f64 (*.f64 (cos.f64 th) (pow.f64 a2 12)) (fma.f64 1/2 (/.f64 (+.f64 (/.f64 1/64 (pow.f64 a1 8)) (*.f64 1/2 (/.f64 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (*.f64 a1 a1)))) (*.f64 a1 a1)) (fma.f64 1/8 (/.f64 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 4)) (fma.f64 -1 (+.f64 (pow.f64 (/.f64 1/16 (pow.f64 a1 5)) 2) (fma.f64 1/2 (/.f64 (+.f64 (/.f64 1/64 (pow.f64 a1 8)) (*.f64 1/2 (/.f64 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (*.f64 a1 a1)))) (*.f64 a1 a1)) (*.f64 1/8 (/.f64 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 4))))) (/.f64 1/256 (pow.f64 a1 10)))))))))
(+.f64 (fma.f64 (*.f64 a2 a2) (cos.f64 th) (*.f64 (cos.f64 th) (fma.f64 a1 a1 (*.f64 (pow.f64 a2 8) (-.f64 (/.f64 5/64 (pow.f64 a1 6)) (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))))))) (*.f64 (cos.f64 th) (*.f64 (fma.f64 1/2 (/.f64 (+.f64 (/.f64 1/64 (pow.f64 a1 8)) (*.f64 1/2 (/.f64 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (*.f64 a1 a1)))) (*.f64 a1 a1)) (-.f64 (fma.f64 1/8 (/.f64 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 4)) (/.f64 1/256 (pow.f64 a1 10))) (fma.f64 1/2 (/.f64 (+.f64 (/.f64 1/64 (pow.f64 a1 8)) (*.f64 1/2 (/.f64 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (*.f64 a1 a1)))) (*.f64 a1 a1)) (fma.f64 1/8 (/.f64 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 4)) (pow.f64 (/.f64 1/16 (pow.f64 a1 5)) 2))))) (pow.f64 a2 12))))
(+.f64 (*.f64 (cos.f64 th) (fma.f64 a2 a2 (fma.f64 (pow.f64 a2 8) (-.f64 (*.f64 (/.f64 1 (pow.f64 a1 6)) 1/64) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (*.f64 a1 a1)))) (*.f64 (fma.f64 1/2 (+.f64 (/.f64 1/64 (*.f64 (*.f64 a1 a1) (pow.f64 a1 8))) (/.f64 (*.f64 1/2 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (pow.f64 a1 4))) (-.f64 (fma.f64 1/8 (/.f64 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 4)) (/.f64 1/256 (pow.f64 a1 10))) (fma.f64 1/2 (+.f64 (/.f64 1/64 (*.f64 (*.f64 a1 a1) (pow.f64 a1 8))) (/.f64 (*.f64 1/2 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (pow.f64 a1 4))) (fma.f64 1/8 (/.f64 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 4)) (pow.f64 (/.f64 1/16 (pow.f64 a1 5)) 2))))) (*.f64 (cos.f64 th) (pow.f64 a2 12))))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(*.f64 (*.f64 a2 a2) (cos.f64 th))
(*.f64 a2 (*.f64 a2 (cos.f64 th)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (+.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (/.f64 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4))) (cos.f64 th)) (pow.f64 a2 2))))
(fma.f64 (cos.f64 th) (*.f64 a2 a2) (+.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (/.f64 (*.f64 (pow.f64 a2 4) 0) (/.f64 (*.f64 a1 a1) (cos.f64 th)))))
(+.f64 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)) (/.f64 (*.f64 (cos.f64 th) 0) (*.f64 a1 a1)))
(+.f64 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)) 0)
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (+.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4))) (cos.f64 th)) (pow.f64 a2 2)) (/.f64 (*.f64 (+.f64 (*.f64 -1/8 (pow.f64 a1 6)) (*.f64 1/8 (pow.f64 a1 6))) (cos.f64 th)) (pow.f64 a2 4)))))
(fma.f64 (cos.f64 th) (*.f64 a2 a2) (+.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (/.f64 (*.f64 (pow.f64 a2 4) 0) (/.f64 (*.f64 a1 a1) (cos.f64 th)))))
(+.f64 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)) (/.f64 (*.f64 (cos.f64 th) 0) (*.f64 a1 a1)))
(+.f64 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)) 0)
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(*.f64 (*.f64 a2 a2) (cos.f64 th))
(*.f64 a2 (*.f64 a2 (cos.f64 th)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (+.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (/.f64 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4))) (cos.f64 th)) (pow.f64 a2 2))))
(fma.f64 (cos.f64 th) (*.f64 a2 a2) (+.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (/.f64 (*.f64 (pow.f64 a2 4) 0) (/.f64 (*.f64 a1 a1) (cos.f64 th)))))
(+.f64 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)) (/.f64 (*.f64 (cos.f64 th) 0) (*.f64 a1 a1)))
(+.f64 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)) 0)
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (+.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4))) (cos.f64 th)) (pow.f64 a2 2)) (/.f64 (*.f64 (+.f64 (*.f64 -1/8 (pow.f64 a1 6)) (*.f64 1/8 (pow.f64 a1 6))) (cos.f64 th)) (pow.f64 a2 4)))))
(fma.f64 (cos.f64 th) (*.f64 a2 a2) (+.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (/.f64 (*.f64 (pow.f64 a2 4) 0) (/.f64 (*.f64 a1 a1) (cos.f64 th)))))
(+.f64 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)) (/.f64 (*.f64 (cos.f64 th) 0) (*.f64 a1 a1)))
(+.f64 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)) 0)
(pow.f64 a2 2)
(*.f64 a2 a2)
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a2 a2 (*.f64 a1 a1))
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a2 a2 (*.f64 a1 a1))
(+.f64 (*.f64 (+.f64 (*.f64 -1 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6))))) (*.f64 5/64 (/.f64 1 (pow.f64 a2 6)))) (pow.f64 a1 8)) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)))
(fma.f64 (fma.f64 -1 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (/.f64 5/64 (pow.f64 a2 6))) (pow.f64 a1 8) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(fma.f64 (pow.f64 a1 8) (-.f64 (/.f64 5/64 (pow.f64 a2 6)) (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6)))) (fma.f64 a2 a2 (*.f64 a1 a1)))
(fma.f64 (pow.f64 a1 8) (+.f64 (neg.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2)) (*.f64 (/.f64 1 (pow.f64 a2 6)) 1/64)) (fma.f64 a2 a2 (*.f64 a1 a1)))
(pow.f64 a1 2)
(*.f64 a1 a1)
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a2 a2 (*.f64 a1 a1))
(+.f64 (*.f64 -1/4 (/.f64 (pow.f64 a2 4) (pow.f64 a1 2))) (+.f64 (pow.f64 a2 2) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 a2 4) (pow.f64 a1 2))) (pow.f64 a1 2))))
(fma.f64 -1/4 (/.f64 (pow.f64 a2 4) (*.f64 a1 a1)) (+.f64 (*.f64 a2 a2) (fma.f64 1/4 (/.f64 (pow.f64 a2 4) (*.f64 a1 a1)) (*.f64 a1 a1))))
(fma.f64 -1/4 (/.f64 (pow.f64 a2 4) (*.f64 a1 a1)) (fma.f64 a2 a2 (fma.f64 a1 a1 (/.f64 (pow.f64 a2 4) (/.f64 (*.f64 a1 a1) 1/4)))))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a2 6) (pow.f64 a1 4))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 a2 4) (pow.f64 a1 2))) (+.f64 (pow.f64 a2 2) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 a2 4) (pow.f64 a1 2))) (+.f64 (pow.f64 a1 2) (*.f64 1/8 (/.f64 (pow.f64 a2 6) (pow.f64 a1 4))))))))
(fma.f64 -1/8 (/.f64 (pow.f64 a2 6) (pow.f64 a1 4)) (fma.f64 -1/4 (/.f64 (pow.f64 a2 4) (*.f64 a1 a1)) (+.f64 (*.f64 a2 a2) (fma.f64 1/4 (/.f64 (pow.f64 a2 4) (*.f64 a1 a1)) (+.f64 (*.f64 a1 a1) (*.f64 1/8 (/.f64 (pow.f64 a2 6) (pow.f64 a1 4))))))))
(fma.f64 -1/8 (/.f64 (pow.f64 a2 6) (pow.f64 a1 4)) (fma.f64 -1/4 (/.f64 (pow.f64 a2 4) (*.f64 a1 a1)) (fma.f64 a2 a2 (fma.f64 1/4 (/.f64 (pow.f64 a2 4) (*.f64 a1 a1)) (fma.f64 a1 a1 (/.f64 (pow.f64 a2 6) (/.f64 (pow.f64 a1 4) 1/8)))))))
(pow.f64 a1 2)
(*.f64 a1 a1)
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a2 a2 (*.f64 a1 a1))
(+.f64 (*.f64 -1/4 (/.f64 (pow.f64 a2 4) (pow.f64 a1 2))) (+.f64 (pow.f64 a2 2) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 a2 4) (pow.f64 a1 2))) (pow.f64 a1 2))))
(fma.f64 -1/4 (/.f64 (pow.f64 a2 4) (*.f64 a1 a1)) (+.f64 (*.f64 a2 a2) (fma.f64 1/4 (/.f64 (pow.f64 a2 4) (*.f64 a1 a1)) (*.f64 a1 a1))))
(fma.f64 -1/4 (/.f64 (pow.f64 a2 4) (*.f64 a1 a1)) (fma.f64 a2 a2 (fma.f64 a1 a1 (/.f64 (pow.f64 a2 4) (/.f64 (*.f64 a1 a1) 1/4)))))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a2 6) (pow.f64 a1 4))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 a2 4) (pow.f64 a1 2))) (+.f64 (pow.f64 a2 2) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 a2 4) (pow.f64 a1 2))) (+.f64 (pow.f64 a1 2) (*.f64 1/8 (/.f64 (pow.f64 a2 6) (pow.f64 a1 4))))))))
(fma.f64 -1/8 (/.f64 (pow.f64 a2 6) (pow.f64 a1 4)) (fma.f64 -1/4 (/.f64 (pow.f64 a2 4) (*.f64 a1 a1)) (+.f64 (*.f64 a2 a2) (fma.f64 1/4 (/.f64 (pow.f64 a2 4) (*.f64 a1 a1)) (+.f64 (*.f64 a1 a1) (*.f64 1/8 (/.f64 (pow.f64 a2 6) (pow.f64 a1 4))))))))
(fma.f64 -1/8 (/.f64 (pow.f64 a2 6) (pow.f64 a1 4)) (fma.f64 -1/4 (/.f64 (pow.f64 a2 4) (*.f64 a1 a1)) (fma.f64 a2 a2 (fma.f64 1/4 (/.f64 (pow.f64 a2 4) (*.f64 a1 a1)) (fma.f64 a1 a1 (/.f64 (pow.f64 a2 6) (/.f64 (pow.f64 a1 4) 1/8)))))))
(pow.f64 a1 2)
(*.f64 a1 a1)
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a2 a2 (*.f64 a1 a1))
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a2 a2 (*.f64 a1 a1))
(+.f64 (pow.f64 a2 2) (+.f64 (*.f64 (+.f64 (*.f64 -1 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (*.f64 5/64 (/.f64 1 (pow.f64 a1 6)))) (pow.f64 a2 8)) (pow.f64 a1 2)))
(+.f64 (*.f64 a2 a2) (fma.f64 (fma.f64 -1 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (/.f64 5/64 (pow.f64 a1 6))) (pow.f64 a2 8) (*.f64 a1 a1)))
(fma.f64 a2 a2 (fma.f64 a1 a1 (*.f64 (pow.f64 a2 8) (-.f64 (/.f64 5/64 (pow.f64 a1 6)) (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))))))
(fma.f64 a2 a2 (fma.f64 (pow.f64 a2 8) (-.f64 (*.f64 (/.f64 1 (pow.f64 a1 6)) 1/64) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (*.f64 a1 a1)))
(pow.f64 a2 2)
(*.f64 a2 a2)
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a2 a2 (*.f64 a1 a1))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 a1 4) (pow.f64 a2 2))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 a1 4) (pow.f64 a2 2))) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2))))
(fma.f64 1/4 (/.f64 (pow.f64 a1 4) (*.f64 a2 a2)) (fma.f64 -1/4 (/.f64 (pow.f64 a1 4) (*.f64 a2 a2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))))
(+.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (/.f64 (pow.f64 a1 4) (*.f64 a2 a2)) 0))
(+.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) 0)
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 a1 4) (pow.f64 a2 2))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a1 6) (pow.f64 a2 4))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 a1 4) (pow.f64 a2 2))) (+.f64 (pow.f64 a2 2) (+.f64 (pow.f64 a1 2) (*.f64 1/8 (/.f64 (pow.f64 a1 6) (pow.f64 a2 4))))))))
(fma.f64 1/4 (/.f64 (pow.f64 a1 4) (*.f64 a2 a2)) (fma.f64 -1/8 (/.f64 (pow.f64 a1 6) (pow.f64 a2 4)) (fma.f64 -1/4 (/.f64 (pow.f64 a1 4) (*.f64 a2 a2)) (+.f64 (*.f64 a2 a2) (+.f64 (*.f64 a1 a1) (*.f64 1/8 (/.f64 (pow.f64 a1 6) (pow.f64 a2 4))))))))
(fma.f64 1/4 (/.f64 (pow.f64 a1 4) (*.f64 a2 a2)) (fma.f64 -1/8 (/.f64 (pow.f64 a1 6) (pow.f64 a2 4)) (fma.f64 -1/4 (/.f64 (pow.f64 a1 4) (*.f64 a2 a2)) (fma.f64 a2 a2 (fma.f64 a1 a1 (/.f64 1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 6))))))))
(fma.f64 1/4 (/.f64 (pow.f64 a1 4) (*.f64 a2 a2)) (fma.f64 -1/8 (/.f64 (pow.f64 a1 6) (pow.f64 a2 4)) (fma.f64 -1/4 (/.f64 (pow.f64 a1 4) (*.f64 a2 a2)) (fma.f64 a2 a2 (fma.f64 a1 a1 (*.f64 1/8 (/.f64 (pow.f64 a1 6) (pow.f64 a2 4))))))))
(pow.f64 a2 2)
(*.f64 a2 a2)
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a2 a2 (*.f64 a1 a1))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 a1 4) (pow.f64 a2 2))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 a1 4) (pow.f64 a2 2))) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2))))
(fma.f64 1/4 (/.f64 (pow.f64 a1 4) (*.f64 a2 a2)) (fma.f64 -1/4 (/.f64 (pow.f64 a1 4) (*.f64 a2 a2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))))
(+.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (/.f64 (pow.f64 a1 4) (*.f64 a2 a2)) 0))
(+.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) 0)
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 a1 4) (pow.f64 a2 2))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a1 6) (pow.f64 a2 4))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 a1 4) (pow.f64 a2 2))) (+.f64 (pow.f64 a2 2) (+.f64 (pow.f64 a1 2) (*.f64 1/8 (/.f64 (pow.f64 a1 6) (pow.f64 a2 4))))))))
(fma.f64 1/4 (/.f64 (pow.f64 a1 4) (*.f64 a2 a2)) (fma.f64 -1/8 (/.f64 (pow.f64 a1 6) (pow.f64 a2 4)) (fma.f64 -1/4 (/.f64 (pow.f64 a1 4) (*.f64 a2 a2)) (+.f64 (*.f64 a2 a2) (+.f64 (*.f64 a1 a1) (*.f64 1/8 (/.f64 (pow.f64 a1 6) (pow.f64 a2 4))))))))
(fma.f64 1/4 (/.f64 (pow.f64 a1 4) (*.f64 a2 a2)) (fma.f64 -1/8 (/.f64 (pow.f64 a1 6) (pow.f64 a2 4)) (fma.f64 -1/4 (/.f64 (pow.f64 a1 4) (*.f64 a2 a2)) (fma.f64 a2 a2 (fma.f64 a1 a1 (/.f64 1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 6))))))))
(fma.f64 1/4 (/.f64 (pow.f64 a1 4) (*.f64 a2 a2)) (fma.f64 -1/8 (/.f64 (pow.f64 a1 6) (pow.f64 a2 4)) (fma.f64 -1/4 (/.f64 (pow.f64 a1 4) (*.f64 a2 a2)) (fma.f64 a2 a2 (fma.f64 a1 a1 (*.f64 1/8 (/.f64 (pow.f64 a1 6) (pow.f64 a2 4))))))))

eval571.0ms (3.1%)

Compiler

Compiled 19310 to 12042 computations (37.6% saved)

prune474.0ms (2.5%)

Pruning

24 alts after pruning (22 fresh and 2 done)

PrunedKeptTotal
New83421855
Fresh10111
Picked101
Done224
Total84724871
Error
0b
Counts
871 → 24
Alt Table
Click to see full alt table
StatusErrorProgram
28.2b
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
28.5b
(*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (cos.f64 th))
25.2b
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2))
0.8b
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
28.5b
(*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (cos.f64 th))
28.2b
(/.f64 (*.f64 (*.f64 a2 (cos.f64 th)) a2) (sqrt.f64 2))
25.2b
(*.f64 (/.f64 1 (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
28.2b
(*.f64 (pow.f64 2 -1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))
28.2b
(*.f64 (cos.f64 th) (*.f64 a2 (/.f64 a2 (sqrt.f64 2))))
28.5b
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (cos.f64 th))))
28.5b
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1))
25.2b
(/.f64 1 (/.f64 (sqrt.f64 2) (fma.f64 a2 a2 (*.f64 a1 a1))))
39.5b
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
0.7b
(*.f64 (*.f64 (pow.f64 2 -1/2) (cos.f64 th)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
16.7b
(/.f64 1 (pow.f64 (/.f64 (sqrt.f64 (/.f64 (sqrt.f64 2) (cos.f64 th))) (hypot.f64 a1 a2)) 2))
0.7b
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))))
43.1b
(*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (+.f64 1 (*.f64 th (*.f64 th -1/2)))))
0.7b
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
28.2b
(*.f64 (cos.f64 th) (*.f64 (*.f64 a2 a2) (pow.f64 2 -1/2)))
0.7b
(*.f64 (pow.f64 2 -1/2) (*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a1 a2) 2)))
28.0b
(*.f64 a2 (*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2))))
27.9b
(*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th)))
28.2b
(*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (cos.f64 th))
39.5b
(*.f64 a2 (/.f64 a2 (sqrt.f64 2)))
Compiler

Compiled 616 to 460 computations (25.3% saved)

localize79.0ms (0.4%)

Local error

Found 3 expressions with local error:

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

Compiled 46 to 21 computations (54.3% saved)

series124.0ms (0.7%)

Counts
2 → 48
Calls

12 calls:

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

rewrite100.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
961×prod-diff_binary64
636×log-prod_binary64
298×fma-def_binary64
236×expm1-udef_binary64
236×log1p-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01328
128125
2363325
Stop Event
node limit
Counts
2 → 85
Calls
Call 1
Inputs
(*.f64 (*.f64 (pow.f64 2 -1/2) (cos.f64 th)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(*.f64 (pow.f64 2 -1/2) (cos.f64 th))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a1 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a1 a1))) (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a2 a1) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) 1) (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a1 a1))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 a2 a1) 2)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))) (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 a2 a1) 2)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 a2 a1) 2)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 a2 a1) 2)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 a2 a1) 2)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a2 a1) 2))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) 3) (pow.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a1 a1))) 3)) (fma.f64 (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) (-.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a1 a1))) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a1 a1)))) (*.f64 (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a1 a1)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)))) (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a1 a1))) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a1 a1))))) (-.f64 (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a1 a1)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 a2 6) (pow.f64 a1 6)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) (+.f64 (pow.f64 a2 4) (-.f64 (pow.f64 a1 4) (pow.f64 (*.f64 a2 a1) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 a2 4) (pow.f64 a1 4)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) (-.f64 (*.f64 a2 a2) (*.f64 a1 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (+.f64 (pow.f64 a2 6) (pow.f64 a1 6))) (+.f64 (pow.f64 a2 4) (-.f64 (pow.f64 a1 4) (pow.f64 (*.f64 a2 a1) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (-.f64 (pow.f64 a2 4) (pow.f64 a1 4))) (-.f64 (*.f64 a2 a2) (*.f64 a1 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a2 a1) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a2 a1) 2))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a2 a1) 2)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (hypot.f64 a2 a1) (sqrt.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a2 a1) 2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (pow.f64 (hypot.f64 a2 a1) 2)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a2 a1) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a1 a1)))) (exp.f64 (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a2 a1) 2))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) 3) (pow.f64 (pow.f64 (hypot.f64 a2 a1) 2) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (pow.f64 (hypot.f64 a2 a1) 2) 3) (pow.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a2 a1) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a2 a1) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a2 a1) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a2 a1) 2)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a2 a2)) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a1 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a1 a1)) (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a1 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a1 a1)) (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a1 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (*.f64 a1 a1) (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a2 (*.f64 a2 (*.f64 (sqrt.f64 1/2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a1 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a1 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a1 (*.f64 a1 (*.f64 (sqrt.f64 1/2) (cos.f64 th))) (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a1 a1) (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a1 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a1 a1))) (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 a1 4)) (*.f64 (pow.f64 (cbrt.f64 a1) 2) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 a2 4)) (*.f64 (pow.f64 (cbrt.f64 a2) 2) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a1 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (pow.f64 (cos.f64 th) 2) 1/2)) (*.f64 (cbrt.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th))) (*.f64 a2 a2)) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a1 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (pow.f64 (cos.f64 th) 2) 1/2)) (*.f64 (cbrt.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th))) (*.f64 a1 a1)) (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th))) (*.f64 (sqrt.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th))) (*.f64 a2 a2)) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a1 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th))) (*.f64 (sqrt.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th))) (*.f64 a1 a1)) (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) 1 (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a1 a1))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)))) (cbrt.f64 (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))))) (cbrt.f64 (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)))) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a1 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a1 a1)))) (cbrt.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a1 a1))))) (cbrt.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a1 a1)))) (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)))) (sqrt.f64 (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)))) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a1 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a1 a1)))) (sqrt.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a1 a1)))) (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th))) a2) (*.f64 (sqrt.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th))) a2) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a1 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a2 (sqrt.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)))) (*.f64 a2 (sqrt.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)))) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a1 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th))) a1) (*.f64 (sqrt.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th))) a1) (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a1 (sqrt.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)))) (*.f64 a1 (sqrt.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)))) (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (sqrt.f64 1/2) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a1 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) a2) a2 (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a1 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (cbrt.f64 (pow.f64 a2 4))) (pow.f64 (cbrt.f64 a2) 2) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a1 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 a2 a2) (sqrt.f64 1/2)) (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a1 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 a2 a2) (cbrt.f64 (*.f64 (pow.f64 (cos.f64 th) 2) 1/2))) (cbrt.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a1 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 a2 a2) (sqrt.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)))) (sqrt.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 a1 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) a1) a1 (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (cbrt.f64 (pow.f64 a1 4))) (pow.f64 (cbrt.f64 a1) 2) (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 a1 a1) (sqrt.f64 1/2)) (cos.f64 th) (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 a1 a1) (cbrt.f64 (*.f64 (pow.f64 (cos.f64 th) 2) 1/2))) (cbrt.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th))) (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 a1 a1) (sqrt.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)))) (sqrt.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th))) (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 1/2) (cos.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 th)) (sqrt.f64 1/2))) (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 th)) (sqrt.f64 1/2))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 th)) (sqrt.f64 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 th)) (sqrt.f64 1/2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 th)) (sqrt.f64 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (pow.f64 (cos.f64 th) 2) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (cos.f64 th)) (sqrt.f64 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (*.f64 (sqrt.f64 1/2) 1/2) (pow.f64 (cos.f64 th) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (cos.f64 th) 3) (*.f64 (sqrt.f64 1/2) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th))) 1))))))

simplify78.0ms (0.4%)

Algorithm
egg-herbie
Rules
837×distribute-rgt-in_binary64
820×distribute-lft-in_binary64
502×distribute-lft-out_binary64
488×unswap-sqr_binary64
450×associate-+l+_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
053958
1148884
2437838
31878810
45156806
Stop Event
node limit
Counts
133 → 108
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 1/2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)))
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)))) (*.f64 (sqrt.f64 1/2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2))))
(+.f64 (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 4)))) (+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)))) (*.f64 (sqrt.f64 1/2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)))))
(+.f64 (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 4)))) (+.f64 (*.f64 -1/720 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 6)))) (+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)))) (*.f64 (sqrt.f64 1/2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2))))))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(sqrt.f64 1/2)
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (pow.f64 th 2))) (sqrt.f64 1/2))
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (pow.f64 th 2))) (+.f64 (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (pow.f64 th 4))) (sqrt.f64 1/2)))
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (pow.f64 th 2))) (+.f64 (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (pow.f64 th 4))) (+.f64 (sqrt.f64 1/2) (*.f64 -1/720 (*.f64 (sqrt.f64 1/2) (pow.f64 th 6))))))
(*.f64 (sqrt.f64 1/2) (cos.f64 th))
(*.f64 (sqrt.f64 1/2) (cos.f64 th))
(*.f64 (sqrt.f64 1/2) (cos.f64 th))
(*.f64 (sqrt.f64 1/2) (cos.f64 th))
(*.f64 (sqrt.f64 1/2) (cos.f64 th))
(*.f64 (sqrt.f64 1/2) (cos.f64 th))
(*.f64 (sqrt.f64 1/2) (cos.f64 th))
(*.f64 (sqrt.f64 1/2) (cos.f64 th))
Outputs
(*.f64 (sqrt.f64 1/2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)))
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1)))
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)))) (*.f64 (sqrt.f64 1/2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2))))
(fma.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (*.f64 th th))) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))))
(fma.f64 -1/2 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (*.f64 th th))) (*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (+.f64 (*.f64 -1/2 (*.f64 th th)) 1) (sqrt.f64 1/2)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 (*.f64 th th)))))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (fma.f64 (sqrt.f64 1/2) (*.f64 -1/2 (*.f64 th th)) (sqrt.f64 1/2)))
(+.f64 (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 4)))) (+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)))) (*.f64 (sqrt.f64 1/2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)))))
(fma.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (pow.f64 th 4))) (fma.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (*.f64 th th))) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))))
(fma.f64 1/24 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (pow.f64 th 4))) (fma.f64 -1/2 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (*.f64 th th))) (*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1)))))
(fma.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (*.f64 th th)) (*.f64 1/24 (pow.f64 th 4))))))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (+.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 1/24 (pow.f64 th 4)))))
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (+.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 1/24 (pow.f64 th 4)))))
(+.f64 (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 4)))) (+.f64 (*.f64 -1/720 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 6)))) (+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)))) (*.f64 (sqrt.f64 1/2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2))))))
(fma.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (pow.f64 th 4))) (fma.f64 -1/720 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (pow.f64 th 6))) (fma.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (*.f64 th th))) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))))))
(fma.f64 1/24 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (pow.f64 th 4))) (fma.f64 -1/720 (*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (pow.f64 th 6))) (fma.f64 -1/2 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (*.f64 th th))) (*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))))))
(+.f64 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (*.f64 th th)) (*.f64 1/24 (pow.f64 th 4))))) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (+.f64 (*.f64 -1/720 (pow.f64 th 6)) 1) (sqrt.f64 1/2))))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (+.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 1/2) (+.f64 (+.f64 (*.f64 1/24 (pow.f64 th 4)) (*.f64 -1/720 (pow.f64 th 6))) (*.f64 -1/2 (*.f64 th th))))))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 th (+.f64 (*.f64 1/24 (pow.f64 th 3)) (*.f64 -1/2 th))) (+.f64 1 (*.f64 -1/720 (pow.f64 th 6))))))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a1 a1) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 a1 (*.f64 a1 (cos.f64 th))))
(*.f64 (cos.f64 th) (*.f64 a1 (*.f64 (sqrt.f64 1/2) a1)))
(*.f64 (*.f64 a1 a1) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a1 a1) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 a1 (*.f64 a1 (cos.f64 th))))
(*.f64 (cos.f64 th) (*.f64 a1 (*.f64 (sqrt.f64 1/2) a1)))
(*.f64 (*.f64 a1 a1) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a1 a1) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 a1 (*.f64 a1 (cos.f64 th))))
(*.f64 (cos.f64 th) (*.f64 a1 (*.f64 (sqrt.f64 1/2) a1)))
(*.f64 (*.f64 a1 a1) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(sqrt.f64 1/2)
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (pow.f64 th 2))) (sqrt.f64 1/2))
(fma.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 th th)) (sqrt.f64 1/2))
(*.f64 (+.f64 (*.f64 -1/2 (*.f64 th th)) 1) (sqrt.f64 1/2))
(*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 (*.f64 th th))))
(fma.f64 (sqrt.f64 1/2) (*.f64 -1/2 (*.f64 th th)) (sqrt.f64 1/2))
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (pow.f64 th 2))) (+.f64 (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (pow.f64 th 4))) (sqrt.f64 1/2)))
(fma.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 th th)) (fma.f64 1/24 (*.f64 (sqrt.f64 1/2) (pow.f64 th 4)) (sqrt.f64 1/2)))
(+.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (*.f64 th th)) (*.f64 1/24 (pow.f64 th 4)))))
(*.f64 (sqrt.f64 1/2) (+.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 1/24 (pow.f64 th 4))))
(*.f64 (+.f64 (*.f64 th (+.f64 (*.f64 1/24 (pow.f64 th 3)) (*.f64 -1/2 th))) 1) (sqrt.f64 1/2))
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (pow.f64 th 2))) (+.f64 (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (pow.f64 th 4))) (+.f64 (sqrt.f64 1/2) (*.f64 -1/720 (*.f64 (sqrt.f64 1/2) (pow.f64 th 6))))))
(fma.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 th th)) (fma.f64 1/24 (*.f64 (sqrt.f64 1/2) (pow.f64 th 4)) (+.f64 (sqrt.f64 1/2) (*.f64 -1/720 (*.f64 (sqrt.f64 1/2) (pow.f64 th 6))))))
(fma.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 th th)) (fma.f64 1/24 (*.f64 (sqrt.f64 1/2) (pow.f64 th 4)) (fma.f64 -1/720 (*.f64 (sqrt.f64 1/2) (pow.f64 th 6)) (sqrt.f64 1/2))))
(+.f64 (fma.f64 (sqrt.f64 1/2) (*.f64 1/24 (pow.f64 th 4)) (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/720 (pow.f64 th 6)) (*.f64 -1/2 (*.f64 th th)))))
(+.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 1/2) (+.f64 (+.f64 (*.f64 1/24 (pow.f64 th 4)) (*.f64 -1/720 (pow.f64 th 6))) (*.f64 -1/2 (*.f64 th th)))))
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 th (+.f64 (*.f64 1/24 (pow.f64 th 3)) (*.f64 -1/2 th))) (+.f64 1 (*.f64 -1/720 (pow.f64 th 6)))))
(*.f64 (sqrt.f64 1/2) (cos.f64 th))
(*.f64 (sqrt.f64 1/2) (cos.f64 th))
(*.f64 (sqrt.f64 1/2) (cos.f64 th))
(*.f64 (sqrt.f64 1/2) (cos.f64 th))
(*.f64 (sqrt.f64 1/2) (cos.f64 th))
(*.f64 (sqrt.f64 1/2) (cos.f64 th))
(*.f64 (sqrt.f64 1/2) (cos.f64 th))
(*.f64 (sqrt.f64 1/2) (cos.f64 th))

localize10.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.1b
(*.f64 a2 (/.f64 a2 (sqrt.f64 2)))
0.5b
(/.f64 a2 (sqrt.f64 2))
Compiler

Compiled 17 to 13 computations (23.5% saved)

series2.0ms (0%)

Counts
1 → 12
Calls

3 calls:

TimeVariablePointExpression
1.0ms
a2
@0
(*.f64 a2 (/.f64 a2 (sqrt.f64 2)))
1.0ms
a2
@inf
(*.f64 a2 (/.f64 a2 (sqrt.f64 2)))
0.0ms
a2
@-inf
(*.f64 a2 (/.f64 a2 (sqrt.f64 2)))

rewrite50.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
618×pow1_binary64
576×add-log-exp_binary64
576×log1p-expm1-u_binary64
576×expm1-log1p-u_binary64
564×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
069
11279
215669
Stop Event
node limit
Counts
1 → 20
Calls
Call 1
Inputs
(*.f64 a2 (/.f64 a2 (sqrt.f64 2)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 a2 (/.f64 a2 (sqrt.f64 2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 a2 (/.f64 (sqrt.f64 2) a2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a2 a2) (sqrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 a2 a2)) (neg.f64 (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 a2) a2) (neg.f64 (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a2 (neg.f64 a2)) (neg.f64 (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 a2 a2) 1) (sqrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 a2 a2) (cbrt.f64 2)) (cbrt.f64 (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 a2 a2) (pow.f64 2 1/4)) (pow.f64 2 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 a2 (pow.f64 2 1/4)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 a2) (/.f64 a2 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2)))))))))

simplify109.0ms (0.6%)

Algorithm
egg-herbie
Rules
759×sqr-pow_binary64
434×unswap-sqr_binary64
423×*-commutative_binary64
423×associate-*r/_binary64
393×associate-/r/_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
06108
111108
220108
337108
483108
5266108
61091108
73478108
84280108
94465108
104681108
115028108
125456108
135935108
146584108
157273108
Stop Event
node limit
Counts
32 → 22
Calls
Call 1
Inputs
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
Outputs
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(/.f64 a2 (/.f64 (sqrt.f64 2) a2))
(*.f64 (/.f64 a2 (sqrt.f64 2)) a2)
(*.f64 a2 (/.f64 a2 (sqrt.f64 2)))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(/.f64 a2 (/.f64 (sqrt.f64 2) a2))
(*.f64 (/.f64 a2 (sqrt.f64 2)) a2)
(*.f64 a2 (/.f64 a2 (sqrt.f64 2)))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(/.f64 a2 (/.f64 (sqrt.f64 2) a2))
(*.f64 (/.f64 a2 (sqrt.f64 2)) a2)
(*.f64 a2 (/.f64 a2 (sqrt.f64 2)))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(/.f64 a2 (/.f64 (sqrt.f64 2) a2))
(*.f64 (/.f64 a2 (sqrt.f64 2)) a2)
(*.f64 a2 (/.f64 a2 (sqrt.f64 2)))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(/.f64 a2 (/.f64 (sqrt.f64 2) a2))
(*.f64 (/.f64 a2 (sqrt.f64 2)) a2)
(*.f64 a2 (/.f64 a2 (sqrt.f64 2)))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(/.f64 a2 (/.f64 (sqrt.f64 2) a2))
(*.f64 (/.f64 a2 (sqrt.f64 2)) a2)
(*.f64 a2 (/.f64 a2 (sqrt.f64 2)))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(/.f64 a2 (/.f64 (sqrt.f64 2) a2))
(*.f64 (/.f64 a2 (sqrt.f64 2)) a2)
(*.f64 a2 (/.f64 a2 (sqrt.f64 2)))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(/.f64 a2 (/.f64 (sqrt.f64 2) a2))
(*.f64 (/.f64 a2 (sqrt.f64 2)) a2)
(*.f64 a2 (/.f64 a2 (sqrt.f64 2)))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(/.f64 a2 (/.f64 (sqrt.f64 2) a2))
(*.f64 (/.f64 a2 (sqrt.f64 2)) a2)
(*.f64 a2 (/.f64 a2 (sqrt.f64 2)))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(/.f64 a2 (/.f64 (sqrt.f64 2) a2))
(*.f64 (/.f64 a2 (sqrt.f64 2)) a2)
(*.f64 a2 (/.f64 a2 (sqrt.f64 2)))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(/.f64 a2 (/.f64 (sqrt.f64 2) a2))
(*.f64 (/.f64 a2 (sqrt.f64 2)) a2)
(*.f64 a2 (/.f64 a2 (sqrt.f64 2)))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(/.f64 a2 (/.f64 (sqrt.f64 2) a2))
(*.f64 (/.f64 a2 (sqrt.f64 2)) a2)
(*.f64 a2 (/.f64 a2 (sqrt.f64 2)))

localize16.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(*.f64 a2 (/.f64 a2 (sqrt.f64 2)))
0.3b
(*.f64 (cos.f64 th) (*.f64 a2 (/.f64 a2 (sqrt.f64 2))))
0.5b
(/.f64 a2 (sqrt.f64 2))
Compiler

Compiled 29 to 19 computations (34.5% saved)

series2.0ms (0%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
0.0ms
th
@0
(*.f64 (cos.f64 th) (*.f64 a2 (/.f64 a2 (sqrt.f64 2))))
0.0ms
th
@-inf
(*.f64 (cos.f64 th) (*.f64 a2 (/.f64 a2 (sqrt.f64 2))))
0.0ms
th
@inf
(*.f64 (cos.f64 th) (*.f64 a2 (/.f64 a2 (sqrt.f64 2))))
0.0ms
a2
@inf
(*.f64 (cos.f64 th) (*.f64 a2 (/.f64 a2 (sqrt.f64 2))))
0.0ms
a2
@-inf
(*.f64 (cos.f64 th) (*.f64 a2 (/.f64 a2 (sqrt.f64 2))))

rewrite57.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
932×pow1_binary64
862×add-log-exp_binary64
862×log1p-expm1-u_binary64
862×expm1-log1p-u_binary64
843×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify151.0ms (0.8%)

Algorithm
egg-herbie
Rules
1132×unswap-sqr_binary64
659×associate-*l/_binary64
602×fma-def_binary64
494×associate-*r/_binary64
365×*-commutative_binary64
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
032430
179426
2224424
3858406
42724387
54336375
65653375
75956375
86184375
96392375
Stop Event
node limit
Counts
43 → 29
Calls
Call 1
Inputs
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 2)) (sqrt.f64 2))))
(+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 4)) (sqrt.f64 2))) (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 2)) (sqrt.f64 2)))))
(+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 4)) (sqrt.f64 2))) (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 2)) (sqrt.f64 2))) (*.f64 -1/720 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 6)) (sqrt.f64 2))))))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
Outputs
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(*.f64 a2 (/.f64 a2 (sqrt.f64 2)))
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 2)) (sqrt.f64 2))))
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 -1/2 (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (*.f64 th th)))))
(fma.f64 -1/2 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 th th)) (/.f64 (*.f64 a2 a2) (sqrt.f64 2)))
(fma.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (*.f64 th (*.f64 -1/2 th)) (*.f64 a2 (/.f64 a2 (sqrt.f64 2))))
(*.f64 (+.f64 (*.f64 -1/2 (*.f64 th th)) 1) (*.f64 a2 (/.f64 a2 (sqrt.f64 2))))
(*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 a2 (/.f64 a2 (sqrt.f64 2))))
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (+.f64 1 (*.f64 -1/2 (*.f64 th th))))
(+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 4)) (sqrt.f64 2))) (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 2)) (sqrt.f64 2)))))
(fma.f64 1/24 (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (pow.f64 th 4))) (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 -1/2 (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (*.f64 th th))))))
(fma.f64 1/24 (/.f64 (pow.f64 th 4) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (fma.f64 -1/2 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 th th)) (/.f64 (*.f64 a2 a2) (sqrt.f64 2))))
(fma.f64 1/24 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (pow.f64 th 4)) (fma.f64 -1/2 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 th th)) (/.f64 (*.f64 a2 a2) (sqrt.f64 2))))
(fma.f64 (/.f64 a2 (sqrt.f64 2)) a2 (*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (+.f64 (*.f64 th (*.f64 -1/2 th)) (*.f64 1/24 (pow.f64 th 4)))))
(fma.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (fma.f64 1/24 (pow.f64 th 4) (*.f64 -1/2 (*.f64 th th))) (*.f64 a2 (/.f64 a2 (sqrt.f64 2))))
(*.f64 (+.f64 (fma.f64 1/24 (pow.f64 th 4) (*.f64 -1/2 (*.f64 th th))) 1) (*.f64 a2 (/.f64 a2 (sqrt.f64 2))))
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (+.f64 1 (fma.f64 1/24 (pow.f64 th 4) (*.f64 -1/2 (*.f64 th th)))))
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (+.f64 1 (fma.f64 -1/2 (*.f64 th th) (*.f64 1/24 (pow.f64 th 4)))))
(+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 4)) (sqrt.f64 2))) (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 2)) (sqrt.f64 2))) (*.f64 -1/720 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 6)) (sqrt.f64 2))))))
(fma.f64 1/24 (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (pow.f64 th 4))) (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (fma.f64 -1/2 (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (*.f64 th th))) (*.f64 -1/720 (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (pow.f64 th 6)))))))
(+.f64 (fma.f64 1/24 (/.f64 (pow.f64 th 4) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))) (fma.f64 -1/2 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 th th)) (/.f64 (*.f64 a2 a2) (sqrt.f64 2)))) (*.f64 -1/720 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (pow.f64 th 6))))
(fma.f64 1/24 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (pow.f64 th 4)) (fma.f64 -1/2 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 th th)) (fma.f64 -1/720 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (pow.f64 th 6)) (/.f64 (*.f64 a2 a2) (sqrt.f64 2)))))
(fma.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (*.f64 -1/720 (pow.f64 th 6)) (fma.f64 (/.f64 a2 (sqrt.f64 2)) a2 (*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (+.f64 (*.f64 th (*.f64 -1/2 th)) (*.f64 1/24 (pow.f64 th 4))))))
(fma.f64 a2 (/.f64 a2 (sqrt.f64 2)) (*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (+.f64 (fma.f64 1/24 (pow.f64 th 4) (*.f64 -1/720 (pow.f64 th 6))) (*.f64 -1/2 (*.f64 th th)))))
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (+.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (fma.f64 1/24 (pow.f64 th 4) (*.f64 -1/720 (pow.f64 th 6)))))
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (+.f64 1 (+.f64 (*.f64 -1/2 (*.f64 th th)) (fma.f64 1/24 (pow.f64 th 4) (*.f64 -1/720 (pow.f64 th 6))))))
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (+.f64 1 (+.f64 (*.f64 1/24 (pow.f64 th 4)) (fma.f64 -1/2 (*.f64 th th) (*.f64 -1/720 (pow.f64 th 6))))))
(/.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 a2 (/.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) a2))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (cos.f64 th))
(/.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 a2 (/.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) a2))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (cos.f64 th))
(/.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 a2 (/.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) a2))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (cos.f64 th))
(/.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 a2 (/.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) a2))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (cos.f64 th))
(/.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 a2 (/.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) a2))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (cos.f64 th))
(/.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 a2 (/.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) a2))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (cos.f64 th))
(/.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 a2 (/.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) a2))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (cos.f64 th))
(/.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 a2 (/.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) a2))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (cos.f64 th))
(/.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 a2 (/.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) a2))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (cos.f64 th))
(/.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 a2 (/.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) a2))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (cos.f64 th))
(/.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 a2 (/.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) a2))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (cos.f64 th))
(/.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 a2 (/.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) a2))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (cos.f64 th))
(/.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 a2 (/.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) a2))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (cos.f64 th))
(/.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 a2 (/.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) a2))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (cos.f64 th))
(/.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 a2 (/.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) a2))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (cos.f64 th))
(/.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 a2 (/.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) a2))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (cos.f64 th))
(/.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 a2 (/.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) a2))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (cos.f64 th))
(/.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 a2 (/.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) a2))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (cos.f64 th))
(/.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 a2 (/.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) a2))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (cos.f64 th))
(/.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 a2 (/.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) a2))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (cos.f64 th))

localize21.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
0.3b
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
Compiler

Compiled 28 to 15 computations (46.4% saved)

series3.0ms (0%)

Counts
2 → 36
Calls

9 calls:

TimeVariablePointExpression
0.0ms
a2
@0
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
0.0ms
th
@0
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
0.0ms
a2
@0
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
0.0ms
th
@-inf
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
0.0ms
th
@inf
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))

rewrite70.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
928×pow1_binary64
860×add-log-exp_binary64
860×log1p-expm1-u_binary64
860×expm1-log1p-u_binary64
839×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify110.0ms (0.6%)

Algorithm
egg-herbie
Rules
1182×unswap-sqr_binary64
731×associate-*l/_binary64
623×fma-def_binary64
541×associate-*r/_binary64
384×*-commutative_binary64
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
034538
182534
2228532
3871514
42819495
54560483
66019483
76321483
86549483
96756483
Stop Event
node limit
Counts
94 → 69
Calls
Call 1
Inputs
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 2)) (sqrt.f64 2))))
(+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 4)) (sqrt.f64 2))) (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 2)) (sqrt.f64 2)))))
(+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 4)) (sqrt.f64 2))) (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 2)) (sqrt.f64 2))) (*.f64 -1/720 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 6)) (sqrt.f64 2))))))
(/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
Outputs
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(*.f64 a2 (/.f64 a2 (sqrt.f64 2)))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(*.f64 a2 (/.f64 a2 (sqrt.f64 2)))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(*.f64 a2 (/.f64 a2 (sqrt.f64 2)))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(*.f64 a2 (/.f64 a2 (sqrt.f64 2)))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(*.f64 a2 (/.f64 a2 (sqrt.f64 2)))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(*.f64 a2 (/.f64 a2 (sqrt.f64 2)))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(*.f64 a2 (/.f64 a2 (sqrt.f64 2)))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(*.f64 a2 (/.f64 a2 (sqrt.f64 2)))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(*.f64 a2 (/.f64 a2 (sqrt.f64 2)))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(*.f64 a2 (/.f64 a2 (sqrt.f64 2)))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(*.f64 a2 (/.f64 a2 (sqrt.f64 2)))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(*.f64 a2 (/.f64 a2 (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th)))
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (cos.f64 th))
(*.f64 a2 (*.f64 (cos.f64 th) (/.f64 a2 (sqrt.f64 2))))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th)))
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (cos.f64 th))
(*.f64 a2 (*.f64 (cos.f64 th) (/.f64 a2 (sqrt.f64 2))))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th)))
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (cos.f64 th))
(*.f64 a2 (*.f64 (cos.f64 th) (/.f64 a2 (sqrt.f64 2))))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th)))
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (cos.f64 th))
(*.f64 a2 (*.f64 (cos.f64 th) (/.f64 a2 (sqrt.f64 2))))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th)))
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (cos.f64 th))
(*.f64 a2 (*.f64 (cos.f64 th) (/.f64 a2 (sqrt.f64 2))))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th)))
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (cos.f64 th))
(*.f64 a2 (*.f64 (cos.f64 th) (/.f64 a2 (sqrt.f64 2))))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th)))
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (cos.f64 th))
(*.f64 a2 (*.f64 (cos.f64 th) (/.f64 a2 (sqrt.f64 2))))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th)))
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (cos.f64 th))
(*.f64 a2 (*.f64 (cos.f64 th) (/.f64 a2 (sqrt.f64 2))))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th)))
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (cos.f64 th))
(*.f64 a2 (*.f64 (cos.f64 th) (/.f64 a2 (sqrt.f64 2))))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th)))
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (cos.f64 th))
(*.f64 a2 (*.f64 (cos.f64 th) (/.f64 a2 (sqrt.f64 2))))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th)))
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (cos.f64 th))
(*.f64 a2 (*.f64 (cos.f64 th) (/.f64 a2 (sqrt.f64 2))))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th)))
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (cos.f64 th))
(*.f64 a2 (*.f64 (cos.f64 th) (/.f64 a2 (sqrt.f64 2))))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(*.f64 a2 (/.f64 a2 (sqrt.f64 2)))
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 2)) (sqrt.f64 2))))
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 -1/2 (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (*.f64 th th)))))
(fma.f64 -1/2 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 th th)) (/.f64 (*.f64 a2 a2) (sqrt.f64 2)))
(fma.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (*.f64 th (*.f64 th -1/2)) (*.f64 a2 (/.f64 a2 (sqrt.f64 2))))
(*.f64 (+.f64 (*.f64 th (*.f64 th -1/2)) 1) (*.f64 a2 (/.f64 a2 (sqrt.f64 2))))
(*.f64 (+.f64 1 (*.f64 th (*.f64 th -1/2))) (*.f64 a2 (/.f64 a2 (sqrt.f64 2))))
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (+.f64 1 (*.f64 th (*.f64 th -1/2))))
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (+.f64 1 (*.f64 -1/2 (*.f64 th th))))
(+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 4)) (sqrt.f64 2))) (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 2)) (sqrt.f64 2)))))
(fma.f64 1/24 (/.f64 (*.f64 (*.f64 a2 a2) (pow.f64 th 4)) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 -1/2 (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (*.f64 th th))))))
(fma.f64 1/24 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (pow.f64 th 4)) (fma.f64 -1/2 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 th th)) (/.f64 (*.f64 a2 a2) (sqrt.f64 2))))
(fma.f64 (/.f64 a2 (sqrt.f64 2)) a2 (*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (+.f64 (*.f64 1/24 (pow.f64 th 4)) (*.f64 th (*.f64 th -1/2)))))
(fma.f64 a2 (/.f64 a2 (sqrt.f64 2)) (*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (fma.f64 1/24 (pow.f64 th 4) (*.f64 th (*.f64 th -1/2)))))
(*.f64 (+.f64 (fma.f64 1/24 (pow.f64 th 4) (*.f64 th (*.f64 th -1/2))) 1) (*.f64 a2 (/.f64 a2 (sqrt.f64 2))))
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (+.f64 1 (fma.f64 1/24 (pow.f64 th 4) (*.f64 th (*.f64 th -1/2)))))
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (+.f64 1 (fma.f64 1/24 (pow.f64 th 4) (*.f64 -1/2 (*.f64 th th)))))
(+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 4)) (sqrt.f64 2))) (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 2)) (sqrt.f64 2))) (*.f64 -1/720 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 6)) (sqrt.f64 2))))))
(fma.f64 1/24 (/.f64 (*.f64 (*.f64 a2 a2) (pow.f64 th 4)) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (fma.f64 -1/2 (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (*.f64 th th))) (*.f64 -1/720 (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (pow.f64 th 6)))))))
(+.f64 (fma.f64 1/24 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (pow.f64 th 4)) (fma.f64 -1/2 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 th th)) (/.f64 (*.f64 a2 a2) (sqrt.f64 2)))) (*.f64 -1/720 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (pow.f64 th 6))))
(fma.f64 1/24 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (pow.f64 th 4)) (fma.f64 -1/2 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 th th)) (fma.f64 -1/720 (*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (pow.f64 th 6)) (/.f64 (*.f64 a2 a2) (sqrt.f64 2)))))
(fma.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (*.f64 th (*.f64 th -1/2)) (fma.f64 (/.f64 a2 (sqrt.f64 2)) a2 (*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (+.f64 (*.f64 1/24 (pow.f64 th 4)) (*.f64 -1/720 (pow.f64 th 6))))))
(fma.f64 a2 (/.f64 a2 (sqrt.f64 2)) (*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (+.f64 (*.f64 th (*.f64 th -1/2)) (fma.f64 1/24 (pow.f64 th 4) (*.f64 -1/720 (pow.f64 th 6))))))
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (+.f64 (+.f64 1 (*.f64 th (*.f64 th -1/2))) (fma.f64 1/24 (pow.f64 th 4) (*.f64 -1/720 (pow.f64 th 6)))))
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (+.f64 (*.f64 1/24 (pow.f64 th 4)) (+.f64 1 (fma.f64 th (*.f64 th -1/2) (*.f64 -1/720 (pow.f64 th 6))))))
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (+.f64 (*.f64 1/24 (pow.f64 th 4)) (+.f64 1 (fma.f64 -1/720 (pow.f64 th 6) (*.f64 -1/2 (*.f64 th th))))))
(/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th)))
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (cos.f64 th))
(*.f64 a2 (*.f64 (cos.f64 th) (/.f64 a2 (sqrt.f64 2))))
(/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th)))
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (cos.f64 th))
(*.f64 a2 (*.f64 (cos.f64 th) (/.f64 a2 (sqrt.f64 2))))
(/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th)))
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (cos.f64 th))
(*.f64 a2 (*.f64 (cos.f64 th) (/.f64 a2 (sqrt.f64 2))))
(/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th)))
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (cos.f64 th))
(*.f64 a2 (*.f64 (cos.f64 th) (/.f64 a2 (sqrt.f64 2))))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th)))
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (cos.f64 th))
(*.f64 a2 (*.f64 (cos.f64 th) (/.f64 a2 (sqrt.f64 2))))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th)))
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (cos.f64 th))
(*.f64 a2 (*.f64 (cos.f64 th) (/.f64 a2 (sqrt.f64 2))))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th)))
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (cos.f64 th))
(*.f64 a2 (*.f64 (cos.f64 th) (/.f64 a2 (sqrt.f64 2))))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th)))
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (cos.f64 th))
(*.f64 a2 (*.f64 (cos.f64 th) (/.f64 a2 (sqrt.f64 2))))

localize18.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (*.f64 a1 a1) (cos.f64 th))
0.3b
(/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (cos.f64 th)))
0.4b
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (cos.f64 th))))
Compiler

Compiled 40 to 18 computations (55% saved)

series8.0ms (0%)

Counts
3 → 72
Calls

18 calls:

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

rewrite93.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
552×log-prod_binary64
428×exp-prod_binary64
325×pow-prod-down_binary64
270×pow2_binary64
218×pow-unpow_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01140
122837
2288537
Stop Event
node limit
Counts
3 → 160
Calls
Call 1
Inputs
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (cos.f64 th))))
(/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (cos.f64 th)))
(*.f64 (*.f64 a1 a1) (cos.f64 th))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 a1 (*.f64 a1 (cos.f64 th))) (pow.f64 2 -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))) (cbrt.f64 (*.f64 1/2 (pow.f64 (*.f64 a1 (sqrt.f64 (cos.f64 th))) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 1/2 (pow.f64 (*.f64 a1 (sqrt.f64 (cos.f64 th))) 4))) (cbrt.f64 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))) (sqrt.f64 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 1 (*.f64 (neg.f64 (sqrt.f64 2)) (/.f64 (pow.f64 a1 -2) (cos.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 2 -1/2) (*.f64 a1 (*.f64 a1 (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a1 1) (/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 a1 a1) 1) (/.f64 (cos.f64 th) (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cos.f64 th) 1) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (*.f64 a1 (sqrt.f64 (cos.f64 th))) 4)) 1) (/.f64 (cbrt.f64 (*.f64 a1 (*.f64 a1 (cos.f64 th)))) (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 a1 (sqrt.f64 (cos.f64 th))) 1) (/.f64 (*.f64 a1 (sqrt.f64 (cos.f64 th))) (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 2)) (/.f64 (*.f64 a1 (*.f64 a1 (cos.f64 th))) (pow.f64 2 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a1 (cbrt.f64 2)) (/.f64 (*.f64 a1 (cos.f64 th)) (pow.f64 2 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 a1 a1) (cbrt.f64 2)) (/.f64 (cos.f64 th) (pow.f64 2 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cos.f64 th) (cbrt.f64 2)) (/.f64 (*.f64 a1 a1) (pow.f64 2 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (*.f64 a1 (sqrt.f64 (cos.f64 th))) 4)) (cbrt.f64 2)) (/.f64 (cbrt.f64 (*.f64 a1 (*.f64 a1 (cos.f64 th)))) (pow.f64 2 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 a1 (sqrt.f64 (cos.f64 th))) (cbrt.f64 2)) (/.f64 (*.f64 a1 (sqrt.f64 (cos.f64 th))) (pow.f64 2 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 2 -1/4) (/.f64 (*.f64 a1 (*.f64 a1 (cos.f64 th))) (pow.f64 2 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a1 (pow.f64 2 1/4)) (/.f64 (*.f64 a1 (cos.f64 th)) (pow.f64 2 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 a1 a1) (pow.f64 2 1/4)) (/.f64 (cos.f64 th) (pow.f64 2 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cos.f64 th) (pow.f64 2 1/4)) (/.f64 (*.f64 a1 a1) (pow.f64 2 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (*.f64 a1 (sqrt.f64 (cos.f64 th))) 4)) (pow.f64 2 1/4)) (/.f64 (cbrt.f64 (*.f64 a1 (*.f64 a1 (cos.f64 th)))) (pow.f64 2 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 a1 (sqrt.f64 (cos.f64 th))) (pow.f64 2 1/4)) (/.f64 (*.f64 a1 (sqrt.f64 (cos.f64 th))) (pow.f64 2 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (neg.f64 (sqrt.f64 2))) (*.f64 a1 (neg.f64 (*.f64 a1 (cos.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 a1 a1))) (cos.f64 th))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 2) (/.f64 (pow.f64 a1 -2) (cos.f64 th)))) -2) (cbrt.f64 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 2 -1/2) 1) (*.f64 a1 (*.f64 a1 (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 2 -1/2) a1) (*.f64 a1 (cos.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 2 -1/2) (*.f64 a1 a1)) (cos.f64 th))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 2 -1/2) (cos.f64 th)) (*.f64 a1 a1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 2 -1/2) (cbrt.f64 (pow.f64 (*.f64 a1 (sqrt.f64 (cos.f64 th))) 4))) (cbrt.f64 (*.f64 a1 (*.f64 a1 (cos.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 2 -1/2) (*.f64 a1 (sqrt.f64 (cos.f64 th)))) (*.f64 a1 (sqrt.f64 (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 2) (/.f64 (pow.f64 a1 -2) (cos.f64 th))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (E.f64) (log.f64 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/2 (pow.f64 (*.f64 a1 (sqrt.f64 (cos.f64 th))) 4)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 2) (/.f64 (pow.f64 a1 -2) (cos.f64 th))) -3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 2 (pow.f64 (*.f64 a1 (sqrt.f64 (cos.f64 th))) 4)) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 2) (/.f64 (pow.f64 a1 -2) (cos.f64 th))) 3) -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 2) (/.f64 (pow.f64 a1 -2) (cos.f64 th)))) -3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 2 1/4) (*.f64 a1 (sqrt.f64 (cos.f64 th)))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 -1) (log.f64 (*.f64 (sqrt.f64 2) (/.f64 (pow.f64 a1 -2) (cos.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (*.f64 a1 (sqrt.f64 (cos.f64 th))) 6) (pow.f64 2 3/2)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (neg.f64 (*.f64 (neg.f64 (sqrt.f64 2)) (/.f64 (pow.f64 a1 -2) (cos.f64 th)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 a1 (sqrt.f64 (cos.f64 th))) (pow.f64 2 1/4)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))))) 2)) (cbrt.f64 (log.f64 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))))) (sqrt.f64 (log.f64 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 1/2 (pow.f64 (*.f64 a1 (sqrt.f64 (cos.f64 th))) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 2) (/.f64 (pow.f64 a1 -2) (cos.f64 th))) -3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (*.f64 a1 (sqrt.f64 (cos.f64 th))) 6) (pow.f64 2 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 2) (/.f64 (pow.f64 a1 -2) (cos.f64 th)))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (sqrt.f64 2) (/.f64 (pow.f64 a1 -2) (cos.f64 th))) -3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 2) (/.f64 (pow.f64 a1 -2) (cos.f64 th)))) 1) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 2) (/.f64 (pow.f64 a1 -2) (cos.f64 th)))) -1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 2) (/.f64 (pow.f64 a1 -2) (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 2)) (/.f64 (pow.f64 a1 -2) (cos.f64 th)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 2)) (/.f64 (pow.f64 a1 -2) (cos.f64 th))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 2)) (/.f64 (pow.f64 a1 -2) (cos.f64 th))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 2)) (/.f64 (pow.f64 a1 -2) (cos.f64 th))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sqrt.f64 2) (/.f64 (pow.f64 a1 -2) (cos.f64 th))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (sqrt.f64 2) (/.f64 (pow.f64 a1 -2) (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 2) (/.f64 (pow.f64 a1 -2) (cos.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 2) (/.f64 (pow.f64 a1 -2) (cos.f64 th))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (sqrt.f64 2) (/.f64 (pow.f64 a1 -2) (cos.f64 th)))) (cbrt.f64 (/.f64 2 (pow.f64 (*.f64 a1 (sqrt.f64 (cos.f64 th))) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 2 (pow.f64 (*.f64 a1 (sqrt.f64 (cos.f64 th))) 4))) (cbrt.f64 (*.f64 (sqrt.f64 2) (/.f64 (pow.f64 a1 -2) (cos.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 2) (*.f64 (pow.f64 2 1/6) (/.f64 (pow.f64 a1 -2) (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 2 1/4) (*.f64 a1 (sqrt.f64 (cos.f64 th)))) (/.f64 (pow.f64 2 1/4) (*.f64 a1 (sqrt.f64 (cos.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 2 1/4) (*.f64 (pow.f64 2 1/4) (/.f64 (pow.f64 a1 -2) (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 2)) (/.f64 1 (*.f64 a1 (neg.f64 (*.f64 a1 (cos.f64 th))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 a1 -2) (cos.f64 th)) (sqrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)) (/.f64 1 (cos.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 2) 1) (/.f64 (pow.f64 2 1/6) (*.f64 a1 (*.f64 a1 (cos.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 2 1/4) 1) (/.f64 (pow.f64 2 1/4) (*.f64 a1 (*.f64 a1 (cos.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 2 1/4) (*.f64 a1 a1)) (/.f64 (pow.f64 2 1/4) (cos.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 a1) (/.f64 (sqrt.f64 2) (*.f64 a1 (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 2) a1) (/.f64 (pow.f64 2 1/6) (*.f64 a1 (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 2 1/4) a1) (/.f64 (pow.f64 2 1/4) (*.f64 a1 (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 a1 -2) (/.f64 (sqrt.f64 2) (cos.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 2) (*.f64 a1 a1)) (/.f64 (pow.f64 2 1/6) (cos.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 2 1/4) (cos.f64 th)) (/.f64 (pow.f64 2 1/4) (*.f64 a1 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cos.f64 th)) (/.f64 (sqrt.f64 2) (*.f64 a1 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 2) (cos.f64 th)) (/.f64 (pow.f64 2 1/6) (*.f64 a1 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 a1 (*.f64 a1 (cos.f64 th)))) -2) (/.f64 (sqrt.f64 2) (cbrt.f64 (*.f64 a1 (*.f64 a1 (cos.f64 th))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 2) (cbrt.f64 (pow.f64 (*.f64 a1 (sqrt.f64 (cos.f64 th))) 4))) (cbrt.f64 (*.f64 (sqrt.f64 2) (/.f64 (pow.f64 a1 -2) (cos.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 2 1/4) (cbrt.f64 (pow.f64 (*.f64 a1 (sqrt.f64 (cos.f64 th))) 4))) (/.f64 (pow.f64 2 1/4) (cbrt.f64 (*.f64 a1 (*.f64 a1 (cos.f64 th))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 a1 (sqrt.f64 (cos.f64 th)))) (/.f64 (sqrt.f64 2) (*.f64 a1 (sqrt.f64 (cos.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 2) (*.f64 a1 (sqrt.f64 (cos.f64 th)))) (/.f64 (pow.f64 2 1/6) (*.f64 a1 (sqrt.f64 (cos.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 2) (/.f64 (pow.f64 a1 -2) (cos.f64 th))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (E.f64) (log.f64 (*.f64 (sqrt.f64 2) (/.f64 (pow.f64 a1 -2) (cos.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 2) (/.f64 (pow.f64 a1 -2) (cos.f64 th))) -3) -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 2 (pow.f64 (*.f64 a1 (sqrt.f64 (cos.f64 th))) 4)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 2) (/.f64 (pow.f64 a1 -2) (cos.f64 th))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))) -3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 2) (/.f64 (pow.f64 a1 -2) (cos.f64 th)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 2 1/4) (*.f64 a1 (sqrt.f64 (cos.f64 th)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 2 3/2) (pow.f64 (*.f64 a1 (sqrt.f64 (cos.f64 th))) 6)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (sqrt.f64 2) (/.f64 (pow.f64 a1 -2) (cos.f64 th))))) 2)) (cbrt.f64 (log.f64 (*.f64 (sqrt.f64 2) (/.f64 (pow.f64 a1 -2) (cos.f64 th))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (sqrt.f64 2) (/.f64 (pow.f64 a1 -2) (cos.f64 th)))))) (sqrt.f64 (log.f64 (*.f64 (sqrt.f64 2) (/.f64 (pow.f64 a1 -2) (cos.f64 th))))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 (neg.f64 (*.f64 a1 (cos.f64 th))))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 2 (pow.f64 (*.f64 a1 (sqrt.f64 (cos.f64 th))) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sqrt.f64 2)) (/.f64 (pow.f64 a1 -2) (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sqrt.f64 2) (/.f64 (pow.f64 a1 -2) (cos.f64 th))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 2) (/.f64 (pow.f64 a1 -2) (cos.f64 th))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 2 3/2) (pow.f64 (*.f64 a1 (sqrt.f64 (cos.f64 th))) 6)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 2) (/.f64 (pow.f64 a1 -2) (cos.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 2) (/.f64 (pow.f64 a1 -2) (cos.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sqrt.f64 2) (/.f64 (pow.f64 a1 -2) (cos.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 2) (/.f64 (pow.f64 a1 -2) (cos.f64 th)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (sqrt.f64 2) (/.f64 (pow.f64 a1 -2) (cos.f64 th))))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sqrt.f64 2) (/.f64 (pow.f64 a1 -2) (cos.f64 th))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (pow.f64 2 1/4) (*.f64 a1 (sqrt.f64 (cos.f64 th))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 2) (/.f64 (pow.f64 a1 -2) (cos.f64 th)))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 2) (/.f64 (pow.f64 a1 -2) (cos.f64 th)))) -1) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))) 1) -1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 a1 (*.f64 a1 (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 a1) (*.f64 a1 (cos.f64 th)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 a1) (*.f64 a1 (cos.f64 th))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 a1) (*.f64 a1 (cos.f64 th))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 a1) (*.f64 a1 (cos.f64 th))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 a1 (*.f64 a1 (cos.f64 th))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (pow.f64 a1 -2) (cos.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 a1 (*.f64 a1 (cos.f64 th))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (E.f64) (log.f64 (*.f64 a1 (*.f64 a1 (cos.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 a1 (sqrt.f64 (cos.f64 th))) 4) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 a1 (sqrt.f64 (cos.f64 th))) 6) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 a1 (*.f64 a1 (cos.f64 th)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 a1 (sqrt.f64 (cos.f64 th))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 a1 -2) (cos.f64 th)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 a1 (*.f64 a1 (cos.f64 th))))) 2)) (cbrt.f64 (log.f64 (*.f64 a1 (*.f64 a1 (cos.f64 th))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 a1 (*.f64 a1 (cos.f64 th)))))) (sqrt.f64 (log.f64 (*.f64 a1 (*.f64 a1 (cos.f64 th))))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 a1 (sqrt.f64 (cos.f64 th))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 a1) (*.f64 a1 (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 a1 (*.f64 a1 (cos.f64 th))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 a1 (sqrt.f64 (cos.f64 th))) 6))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 a1 (*.f64 a1 (cos.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 a1 (*.f64 a1 (cos.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 a1 (*.f64 a1 (cos.f64 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 a1 (*.f64 a1 (cos.f64 th)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 a1 (sqrt.f64 (cos.f64 th))) 6)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 a1 (*.f64 a1 (cos.f64 th))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 a1 (sqrt.f64 (cos.f64 th)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (pow.f64 a1 -2) (cos.f64 th))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 a1 (*.f64 a1 (cos.f64 th)))) 1) 1))))))

simplify70.0ms (0.4%)

Algorithm
egg-herbie
Rules
568×cancel-sign-sub-inv_binary64
502×times-frac_binary64
361×fma-def_binary64
310×associate-/r/_binary64
308×distribute-rgt-in_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0661155
11991140
26711115
331611082
Stop Event
node limit
Counts
232 → 190
Calls
Call 1
Inputs
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 4)) (sqrt.f64 2))) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (+.f64 (*.f64 -1/720 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 6)) (sqrt.f64 2))) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 4)) (sqrt.f64 2))) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (pow.f64 a1 2))
(+.f64 (/.f64 (sqrt.f64 2) (pow.f64 a1 2)) (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 th 2)) (pow.f64 a1 2))))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 1/24 (/.f64 (sqrt.f64 2) (pow.f64 a1 2))) (*.f64 -1/4 (/.f64 (sqrt.f64 2) (pow.f64 a1 2)))) (pow.f64 th 4))) (+.f64 (/.f64 (sqrt.f64 2) (pow.f64 a1 2)) (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 th 2)) (pow.f64 a1 2)))))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 1/24 (/.f64 (sqrt.f64 2) (pow.f64 a1 2))) (*.f64 -1/4 (/.f64 (sqrt.f64 2) (pow.f64 a1 2)))) (pow.f64 th 4))) (+.f64 (/.f64 (sqrt.f64 2) (pow.f64 a1 2)) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 th 2)) (pow.f64 a1 2))) (*.f64 -1 (*.f64 (+.f64 (*.f64 1/2 (+.f64 (*.f64 1/24 (/.f64 (sqrt.f64 2) (pow.f64 a1 2))) (*.f64 -1/4 (/.f64 (sqrt.f64 2) (pow.f64 a1 2))))) (+.f64 (*.f64 -1/720 (/.f64 (sqrt.f64 2) (pow.f64 a1 2))) (*.f64 1/48 (/.f64 (sqrt.f64 2) (pow.f64 a1 2))))) (pow.f64 th 6))))))
(/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(*.f64 (pow.f64 a1 2) (cos.f64 th))
(*.f64 (pow.f64 a1 2) (cos.f64 th))
(*.f64 (pow.f64 a1 2) (cos.f64 th))
(*.f64 (pow.f64 a1 2) (cos.f64 th))
(*.f64 (pow.f64 a1 2) (cos.f64 th))
(*.f64 (pow.f64 a1 2) (cos.f64 th))
(*.f64 (pow.f64 a1 2) (cos.f64 th))
(*.f64 (pow.f64 a1 2) (cos.f64 th))
(*.f64 (pow.f64 a1 2) (cos.f64 th))
(*.f64 (pow.f64 a1 2) (cos.f64 th))
(*.f64 (pow.f64 a1 2) (cos.f64 th))
(*.f64 (pow.f64 a1 2) (cos.f64 th))
(pow.f64 a1 2)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 a1 2) (pow.f64 th 2))) (pow.f64 a1 2))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 a1 2) (pow.f64 th 2))) (+.f64 (pow.f64 a1 2) (*.f64 1/24 (*.f64 (pow.f64 a1 2) (pow.f64 th 4)))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 a1 2) (pow.f64 th 2))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 a1 2) (pow.f64 th 6))) (+.f64 (pow.f64 a1 2) (*.f64 1/24 (*.f64 (pow.f64 a1 2) (pow.f64 th 4))))))
(*.f64 (pow.f64 a1 2) (cos.f64 th))
(*.f64 (pow.f64 a1 2) (cos.f64 th))
(*.f64 (pow.f64 a1 2) (cos.f64 th))
(*.f64 (pow.f64 a1 2) (cos.f64 th))
(*.f64 (pow.f64 a1 2) (cos.f64 th))
(*.f64 (pow.f64 a1 2) (cos.f64 th))
(*.f64 (pow.f64 a1 2) (cos.f64 th))
(*.f64 (pow.f64 a1 2) (cos.f64 th))
Outputs
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (cos.f64 th) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (cos.f64 th) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (cos.f64 th) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (cos.f64 th) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (cos.f64 th) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (cos.f64 th) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (cos.f64 th) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (cos.f64 th) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (cos.f64 th) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (cos.f64 th) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (cos.f64 th) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (cos.f64 th) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(/.f64 (*.f64 a1 a1) (sqrt.f64 2))
(/.f64 a1 (/.f64 (sqrt.f64 2) a1))
(*.f64 (/.f64 a1 (sqrt.f64 2)) a1)
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))
(fma.f64 -1/2 (/.f64 (*.f64 (*.f64 a1 a1) (*.f64 th th)) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))
(fma.f64 -1/2 (*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (*.f64 th th)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))
(fma.f64 -1/2 (*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (*.f64 th th)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))
(fma.f64 -1/2 (*.f64 (/.f64 a1 (sqrt.f64 2)) (*.f64 th (*.f64 a1 th))) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 4)) (sqrt.f64 2))) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))))
(fma.f64 -1/2 (/.f64 (*.f64 (*.f64 a1 a1) (*.f64 th th)) (sqrt.f64 2)) (fma.f64 1/24 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (pow.f64 th 4))) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))))
(fma.f64 -1/2 (*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (*.f64 th th)) (fma.f64 1/24 (*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (pow.f64 th 4)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))))
(fma.f64 -1/2 (*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (*.f64 th th)) (fma.f64 1/24 (/.f64 (*.f64 a1 (*.f64 a1 (pow.f64 th 4))) (sqrt.f64 2)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))))
(+.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (*.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (+.f64 (*.f64 th (*.f64 th -1/2)) (*.f64 1/24 (pow.f64 th 4)))))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (+.f64 (*.f64 -1/720 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 6)) (sqrt.f64 2))) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 4)) (sqrt.f64 2))) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))))
(fma.f64 -1/2 (/.f64 (*.f64 (*.f64 a1 a1) (*.f64 th th)) (sqrt.f64 2)) (fma.f64 -1/720 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (pow.f64 th 6))) (fma.f64 1/24 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (pow.f64 th 4))) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))))
(fma.f64 -1/2 (*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (*.f64 th th)) (fma.f64 -1/720 (/.f64 (*.f64 (*.f64 (pow.f64 th 6) a1) a1) (sqrt.f64 2)) (fma.f64 1/24 (*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (pow.f64 th 4)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))))
(fma.f64 -1/2 (*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (*.f64 th th)) (fma.f64 1/24 (/.f64 (*.f64 a1 (*.f64 a1 (pow.f64 th 4))) (sqrt.f64 2)) (fma.f64 -1/720 (*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (pow.f64 th 6)) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)))))
(+.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (fma.f64 -1/2 (*.f64 (/.f64 a1 (sqrt.f64 2)) (*.f64 th (*.f64 a1 th))) (*.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (+.f64 (*.f64 1/24 (pow.f64 th 4)) (*.f64 -1/720 (pow.f64 th 6))))))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (cos.f64 th) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (cos.f64 th) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (cos.f64 th) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (cos.f64 th) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (cos.f64 th) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (cos.f64 th) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (cos.f64 th) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (cos.f64 th) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))
(/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 a1 (*.f64 a1 (cos.f64 th))))
(/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 a1 (*.f64 a1 (cos.f64 th))))
(/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 a1 (*.f64 a1 (cos.f64 th))))
(/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 a1 (*.f64 a1 (cos.f64 th))))
(/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 a1 (*.f64 a1 (cos.f64 th))))
(/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 a1 (*.f64 a1 (cos.f64 th))))
(/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 a1 (*.f64 a1 (cos.f64 th))))
(/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 a1 (*.f64 a1 (cos.f64 th))))
(/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 a1 (*.f64 a1 (cos.f64 th))))
(/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 a1 (*.f64 a1 (cos.f64 th))))
(/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 a1 (*.f64 a1 (cos.f64 th))))
(/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 a1 (*.f64 a1 (cos.f64 th))))
(/.f64 (sqrt.f64 2) (pow.f64 a1 2))
(/.f64 (sqrt.f64 2) (*.f64 a1 a1))
(+.f64 (/.f64 (sqrt.f64 2) (pow.f64 a1 2)) (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 th 2)) (pow.f64 a1 2))))
(+.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)) (*.f64 1/2 (/.f64 (sqrt.f64 2) (/.f64 (*.f64 a1 a1) (*.f64 th th)))))
(fma.f64 1/2 (/.f64 (sqrt.f64 2) (*.f64 (/.f64 a1 th) (/.f64 a1 th))) (/.f64 (sqrt.f64 2) (*.f64 a1 a1)))
(fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) a1) (*.f64 (/.f64 th a1) th)) (/.f64 (sqrt.f64 2) (*.f64 a1 a1)))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 1/24 (/.f64 (sqrt.f64 2) (pow.f64 a1 2))) (*.f64 -1/4 (/.f64 (sqrt.f64 2) (pow.f64 a1 2)))) (pow.f64 th 4))) (+.f64 (/.f64 (sqrt.f64 2) (pow.f64 a1 2)) (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 th 2)) (pow.f64 a1 2)))))
(fma.f64 -1 (*.f64 (pow.f64 th 4) (*.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)) -5/24)) (+.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)) (*.f64 1/2 (/.f64 (sqrt.f64 2) (/.f64 (*.f64 a1 a1) (*.f64 th th))))))
(-.f64 (fma.f64 1/2 (/.f64 (sqrt.f64 2) (*.f64 (/.f64 a1 th) (/.f64 a1 th))) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))) (*.f64 (pow.f64 th 4) (/.f64 (*.f64 (sqrt.f64 2) -5/24) (*.f64 a1 a1))))
(fma.f64 (pow.f64 th 4) (*.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)) 5/24) (fma.f64 1/2 (/.f64 (sqrt.f64 2) (*.f64 (/.f64 a1 th) (/.f64 a1 th))) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))))
(+.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)) (*.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)) (-.f64 (*.f64 (*.f64 1/2 th) th) (*.f64 (pow.f64 th 4) -5/24))))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 1/24 (/.f64 (sqrt.f64 2) (pow.f64 a1 2))) (*.f64 -1/4 (/.f64 (sqrt.f64 2) (pow.f64 a1 2)))) (pow.f64 th 4))) (+.f64 (/.f64 (sqrt.f64 2) (pow.f64 a1 2)) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 th 2)) (pow.f64 a1 2))) (*.f64 -1 (*.f64 (+.f64 (*.f64 1/2 (+.f64 (*.f64 1/24 (/.f64 (sqrt.f64 2) (pow.f64 a1 2))) (*.f64 -1/4 (/.f64 (sqrt.f64 2) (pow.f64 a1 2))))) (+.f64 (*.f64 -1/720 (/.f64 (sqrt.f64 2) (pow.f64 a1 2))) (*.f64 1/48 (/.f64 (sqrt.f64 2) (pow.f64 a1 2))))) (pow.f64 th 6))))))
(fma.f64 -1 (*.f64 (pow.f64 th 4) (*.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)) -5/24)) (+.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)) (fma.f64 1/2 (/.f64 (sqrt.f64 2) (/.f64 (*.f64 a1 a1) (*.f64 th th))) (neg.f64 (*.f64 (pow.f64 th 6) (fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)) -5/24) (*.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)) 7/360)))))))
(-.f64 (-.f64 (fma.f64 1/2 (/.f64 (sqrt.f64 2) (*.f64 (/.f64 a1 th) (/.f64 a1 th))) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))) (*.f64 (pow.f64 th 6) (fma.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)) 7/360 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)) -5/48)))) (*.f64 (pow.f64 th 4) (/.f64 (*.f64 (sqrt.f64 2) -5/24) (*.f64 a1 a1))))
(-.f64 (fma.f64 (pow.f64 th 4) (*.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)) 5/24) (fma.f64 1/2 (/.f64 (sqrt.f64 2) (*.f64 (/.f64 a1 th) (/.f64 a1 th))) (/.f64 (sqrt.f64 2) (*.f64 a1 a1)))) (*.f64 (pow.f64 th 6) (*.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)) -61/720)))
(+.f64 (fma.f64 (pow.f64 th 6) (*.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)) 61/720) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))) (*.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)) (-.f64 (*.f64 (*.f64 1/2 th) th) (*.f64 (pow.f64 th 4) -5/24))))
(/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 a1 (*.f64 a1 (cos.f64 th))))
(/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 a1 (*.f64 a1 (cos.f64 th))))
(/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 a1 (*.f64 a1 (cos.f64 th))))
(/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 a1 (*.f64 a1 (cos.f64 th))))
(/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 a1 (*.f64 a1 (cos.f64 th))))
(/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 a1 (*.f64 a1 (cos.f64 th))))
(/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 a1 (*.f64 a1 (cos.f64 th))))
(/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 a1 (*.f64 a1 (cos.f64 th))))
(*.f64 (pow.f64 a1 2) (cos.f64 th))
(*.f64 (*.f64 a1 a1) (cos.f64 th))
(*.f64 a1 (*.f64 a1 (cos.f64 th)))
(*.f64 (pow.f64 a1 2) (cos.f64 th))
(*.f64 (*.f64 a1 a1) (cos.f64 th))
(*.f64 a1 (*.f64 a1 (cos.f64 th)))
(*.f64 (pow.f64 a1 2) (cos.f64 th))
(*.f64 (*.f64 a1 a1) (cos.f64 th))
(*.f64 a1 (*.f64 a1 (cos.f64 th)))
(*.f64 (pow.f64 a1 2) (cos.f64 th))
(*.f64 (*.f64 a1 a1) (cos.f64 th))
(*.f64 a1 (*.f64 a1 (cos.f64 th)))
(*.f64 (pow.f64 a1 2) (cos.f64 th))
(*.f64 (*.f64 a1 a1) (cos.f64 th))
(*.f64 a1 (*.f64 a1 (cos.f64 th)))
(*.f64 (pow.f64 a1 2) (cos.f64 th))
(*.f64 (*.f64 a1 a1) (cos.f64 th))
(*.f64 a1 (*.f64 a1 (cos.f64 th)))
(*.f64 (pow.f64 a1 2) (cos.f64 th))
(*.f64 (*.f64 a1 a1) (cos.f64 th))
(*.f64 a1 (*.f64 a1 (cos.f64 th)))
(*.f64 (pow.f64 a1 2) (cos.f64 th))
(*.f64 (*.f64 a1 a1) (cos.f64 th))
(*.f64 a1 (*.f64 a1 (cos.f64 th)))
(*.f64 (pow.f64 a1 2) (cos.f64 th))
(*.f64 (*.f64 a1 a1) (cos.f64 th))
(*.f64 a1 (*.f64 a1 (cos.f64 th)))
(*.f64 (pow.f64 a1 2) (cos.f64 th))
(*.f64 (*.f64 a1 a1) (cos.f64 th))
(*.f64 a1 (*.f64 a1 (cos.f64 th)))
(*.f64 (pow.f64 a1 2) (cos.f64 th))
(*.f64 (*.f64 a1 a1) (cos.f64 th))
(*.f64 a1 (*.f64 a1 (cos.f64 th)))
(*.f64 (pow.f64 a1 2) (cos.f64 th))
(*.f64 (*.f64 a1 a1) (cos.f64 th))
(*.f64 a1 (*.f64 a1 (cos.f64 th)))
(pow.f64 a1 2)
(*.f64 a1 a1)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 a1 2) (pow.f64 th 2))) (pow.f64 a1 2))
(fma.f64 -1/2 (*.f64 (*.f64 a1 a1) (*.f64 th th)) (*.f64 a1 a1))
(fma.f64 -1/2 (*.f64 (*.f64 (*.f64 th th) a1) a1) (*.f64 a1 a1))
(*.f64 (+.f64 (*.f64 -1/2 (*.f64 th th)) 1) (*.f64 a1 a1))
(*.f64 a1 (+.f64 a1 (*.f64 -1/2 (*.f64 th (*.f64 a1 th)))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 a1 2) (pow.f64 th 2))) (+.f64 (pow.f64 a1 2) (*.f64 1/24 (*.f64 (pow.f64 a1 2) (pow.f64 th 4)))))
(+.f64 (fma.f64 -1/2 (*.f64 (*.f64 a1 a1) (*.f64 th th)) (*.f64 a1 a1)) (*.f64 (*.f64 1/24 (*.f64 a1 a1)) (pow.f64 th 4)))
(fma.f64 -1/2 (*.f64 (*.f64 (*.f64 th th) a1) a1) (fma.f64 a1 a1 (*.f64 (pow.f64 th 4) (*.f64 (*.f64 a1 a1) 1/24))))
(fma.f64 a1 a1 (*.f64 (*.f64 a1 a1) (+.f64 (*.f64 -1/2 (*.f64 th th)) (*.f64 1/24 (pow.f64 th 4)))))
(*.f64 (*.f64 a1 a1) (+.f64 (*.f64 th (*.f64 th -1/2)) (+.f64 (*.f64 1/24 (pow.f64 th 4)) 1)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 a1 2) (pow.f64 th 2))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 a1 2) (pow.f64 th 6))) (+.f64 (pow.f64 a1 2) (*.f64 1/24 (*.f64 (pow.f64 a1 2) (pow.f64 th 4))))))
(fma.f64 -1/2 (*.f64 (*.f64 a1 a1) (*.f64 th th)) (fma.f64 -1/720 (*.f64 (*.f64 a1 a1) (pow.f64 th 6)) (+.f64 (*.f64 a1 a1) (*.f64 (*.f64 1/24 (*.f64 a1 a1)) (pow.f64 th 4)))))
(fma.f64 -1/2 (*.f64 (*.f64 (*.f64 th th) a1) a1) (fma.f64 -1/720 (*.f64 (*.f64 (pow.f64 th 6) a1) a1) (fma.f64 a1 a1 (*.f64 (pow.f64 th 4) (*.f64 (*.f64 a1 a1) 1/24)))))
(fma.f64 (*.f64 a1 a1) (*.f64 -1/2 (*.f64 th th)) (fma.f64 a1 a1 (*.f64 (*.f64 a1 a1) (+.f64 (*.f64 -1/720 (pow.f64 th 6)) (*.f64 1/24 (pow.f64 th 4))))))
(+.f64 (*.f64 a1 a1) (*.f64 (*.f64 a1 a1) (+.f64 (*.f64 th (*.f64 th -1/2)) (+.f64 (*.f64 1/24 (pow.f64 th 4)) (*.f64 -1/720 (pow.f64 th 6))))))
(*.f64 (pow.f64 a1 2) (cos.f64 th))
(*.f64 (*.f64 a1 a1) (cos.f64 th))
(*.f64 a1 (*.f64 a1 (cos.f64 th)))
(*.f64 (pow.f64 a1 2) (cos.f64 th))
(*.f64 (*.f64 a1 a1) (cos.f64 th))
(*.f64 a1 (*.f64 a1 (cos.f64 th)))
(*.f64 (pow.f64 a1 2) (cos.f64 th))
(*.f64 (*.f64 a1 a1) (cos.f64 th))
(*.f64 a1 (*.f64 a1 (cos.f64 th)))
(*.f64 (pow.f64 a1 2) (cos.f64 th))
(*.f64 (*.f64 a1 a1) (cos.f64 th))
(*.f64 a1 (*.f64 a1 (cos.f64 th)))
(*.f64 (pow.f64 a1 2) (cos.f64 th))
(*.f64 (*.f64 a1 a1) (cos.f64 th))
(*.f64 a1 (*.f64 a1 (cos.f64 th)))
(*.f64 (pow.f64 a1 2) (cos.f64 th))
(*.f64 (*.f64 a1 a1) (cos.f64 th))
(*.f64 a1 (*.f64 a1 (cos.f64 th)))
(*.f64 (pow.f64 a1 2) (cos.f64 th))
(*.f64 (*.f64 a1 a1) (cos.f64 th))
(*.f64 a1 (*.f64 a1 (cos.f64 th)))
(*.f64 (pow.f64 a1 2) (cos.f64 th))
(*.f64 (*.f64 a1 a1) (cos.f64 th))
(*.f64 a1 (*.f64 a1 (cos.f64 th)))

eval346.0ms (1.9%)

Compiler

Compiled 8942 to 5501 computations (38.5% saved)

prune220.0ms (1.2%)

Pruning

32 alts after pruning (26 fresh and 6 done)

PrunedKeptTotal
New54515560
Fresh61117
Picked011
Done156
Total55232584
Error
0b
Counts
584 → 32
Alt Table
Click to see full alt table
StatusErrorProgram
25.2b
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
41.6b
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)))
28.2b
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
28.5b
(*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (cos.f64 th))
41.5b
(*.f64 (/.f64 a1 (sqrt.f64 2)) a1)
0.8b
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
28.5b
(*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (cos.f64 th))
39.5b
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
28.2b
(*.f64 (pow.f64 2 -1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))
25.2b
(*.f64 (/.f64 1 (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
41.5b
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
28.2b
(*.f64 (cos.f64 th) (*.f64 a2 (/.f64 a2 (sqrt.f64 2))))
28.5b
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (cos.f64 th))))
39.5b
(/.f64 a2 (/.f64 (sqrt.f64 2) a2))
28.5b
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1))
25.2b
(/.f64 1 (/.f64 (sqrt.f64 2) (fma.f64 a2 a2 (*.f64 a1 a1))))
44.3b
(-.f64 (+.f64 1 (*.f64 a2 (/.f64 a2 (sqrt.f64 2)))) 1)
27.9b
(*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th)))
0.7b
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))))
28.5b
(*.f64 (*.f64 a1 a1) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
43.1b
(*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (+.f64 1 (*.f64 th (*.f64 th -1/2)))))
0.7b
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
44.9b
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 a1 (+.f64 a1 (*.f64 -1/2 (*.f64 th (*.f64 a1 th)))))))
28.0b
(*.f64 a2 (*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2))))
39.5b
(*.f64 a2 (*.f64 (pow.f64 2 -1/2) a2))
42.3b
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (+.f64 1 (*.f64 -1/2 (*.f64 th th))))
28.2b
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)))
28.5b
(*.f64 (*.f64 (pow.f64 2 -1/2) a1) (*.f64 a1 (cos.f64 th)))
39.5b
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
39.5b
(*.f64 a2 (pow.f64 (/.f64 (sqrt.f64 2) a2) -1))
39.5b
(*.f64 a2 (sqrt.f64 (/.f64 (*.f64 a2 a2) 2)))
39.5b
(*.f64 a2 (/.f64 a2 (sqrt.f64 2)))
Compiler

Compiled 733 to 556 computations (24.1% saved)

localize23.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
0.2b
(*.f64 (cos.f64 th) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
0.2b
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))))
0.6b
(/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))))
Compiler

Compiled 63 to 20 computations (68.3% saved)

series12.0ms (0.1%)

Counts
3 → 108
Calls

27 calls:

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

rewrite102.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
861×prod-diff_binary64
712×log-prod_binary64
275×fma-def_binary64
248×expm1-udef_binary64
248×log1p-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify114.0ms (0.6%)

Algorithm
egg-herbie
Rules
690×fma-def_binary64
607×times-frac_binary64
480×associate-/l*_binary64
412×associate-/r*_binary64
368×associate-*r*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01423162
14542957
215102759
376972759
Stop Event
node limit
Counts
267 → 220
Calls
Call 1
Inputs
(/.f64 (sqrt.f64 2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 th 2)) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)))) (/.f64 (sqrt.f64 2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2))))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 th 2)) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)))) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 1/24 (/.f64 (sqrt.f64 2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)))) (*.f64 -1/4 (/.f64 (sqrt.f64 2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2))))) (pow.f64 th 4))) (/.f64 (sqrt.f64 2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)))))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 1/2 (+.f64 (*.f64 1/24 (/.f64 (sqrt.f64 2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)))) (*.f64 -1/4 (/.f64 (sqrt.f64 2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)))))) (+.f64 (*.f64 -1/720 (/.f64 (sqrt.f64 2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)))) (*.f64 1/48 (/.f64 (sqrt.f64 2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)))))) (pow.f64 th 6))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 th 2)) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)))) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 1/24 (/.f64 (sqrt.f64 2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)))) (*.f64 -1/4 (/.f64 (sqrt.f64 2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2))))) (pow.f64 th 4))) (/.f64 (sqrt.f64 2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2))))))
(/.f64 (sqrt.f64 2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 4) (cos.f64 th)))) (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 4) (cos.f64 th)))) (+.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 4)) (*.f64 (pow.f64 a1 6) (cos.f64 th))) (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 4) (cos.f64 th)))) (+.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 4)) (*.f64 (pow.f64 a1 6) (cos.f64 th))) (+.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 6)) (*.f64 (pow.f64 a1 8) (cos.f64 th)))))))
(/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(+.f64 (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (pow.f64 a2 2))) (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a1 2)) (*.f64 (cos.f64 th) (pow.f64 a2 4)))))
(+.f64 (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (pow.f64 a2 2))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a1 2)) (*.f64 (cos.f64 th) (pow.f64 a2 4)))) (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a1 4)) (*.f64 (pow.f64 a2 6) (cos.f64 th)))))
(+.f64 (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (pow.f64 a2 2))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a1 2)) (*.f64 (cos.f64 th) (pow.f64 a2 4)))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a1 6)) (*.f64 (cos.f64 th) (pow.f64 a2 8)))) (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a1 4)) (*.f64 (cos.f64 th) (pow.f64 a2 6))))))
(/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(+.f64 (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (pow.f64 a2 2))) (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a1 2)) (*.f64 (cos.f64 th) (pow.f64 a2 4)))))
(+.f64 (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (pow.f64 a2 2))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a1 2)) (*.f64 (cos.f64 th) (pow.f64 a2 4)))) (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a1 4)) (*.f64 (pow.f64 a2 6) (cos.f64 th)))))
(+.f64 (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (pow.f64 a2 2))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a1 2)) (*.f64 (cos.f64 th) (pow.f64 a2 4)))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a1 6)) (*.f64 (cos.f64 th) (pow.f64 a2 8)))) (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a1 4)) (*.f64 (cos.f64 th) (pow.f64 a2 6))))))
(/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a1 2)) (*.f64 (pow.f64 a2 4) (cos.f64 th)))) (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (pow.f64 a2 2))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a1 2)) (*.f64 (pow.f64 a2 4) (cos.f64 th)))) (+.f64 (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (pow.f64 a2 2))) (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a1 4)) (*.f64 (cos.f64 th) (pow.f64 a2 6)))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a1 2)) (*.f64 (pow.f64 a2 4) (cos.f64 th)))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a1 6)) (*.f64 (pow.f64 a2 8) (cos.f64 th)))) (+.f64 (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (pow.f64 a2 2))) (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a1 4)) (*.f64 (pow.f64 a2 6) (cos.f64 th))))))
(/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 4) (cos.f64 th)))) (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 4) (cos.f64 th)))) (+.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 4)) (*.f64 (pow.f64 a1 6) (cos.f64 th))) (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 4) (cos.f64 th)))) (+.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 4)) (*.f64 (pow.f64 a1 6) (cos.f64 th))) (+.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 6)) (*.f64 (pow.f64 a1 8) (cos.f64 th)))))))
(/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 4) (cos.f64 th)))) (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 4) (cos.f64 th)))) (+.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 4)) (*.f64 (pow.f64 a1 6) (cos.f64 th))) (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 4) (cos.f64 th)))) (+.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 4)) (*.f64 (pow.f64 a1 6) (cos.f64 th))) (+.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 6)) (*.f64 (pow.f64 a1 8) (cos.f64 th)))))))
(/.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 a1 2) (cos.f64 th)) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (pow.f64 a2 2) (+.f64 (pow.f64 a1 2) (*.f64 -1/2 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)))))
(+.f64 (pow.f64 a2 2) (+.f64 (pow.f64 a1 2) (+.f64 (*.f64 -1/2 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2))) (*.f64 1/24 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 4))))))
(+.f64 (pow.f64 a2 2) (+.f64 (pow.f64 a1 2) (+.f64 (*.f64 -1/2 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2))) (+.f64 (*.f64 1/24 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 4))) (*.f64 -1/720 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 6)))))))
(*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))
(*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))
(*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))
(*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))
(*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))
(*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))
(*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))
(*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))
(*.f64 (pow.f64 a1 2) (cos.f64 th))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(*.f64 (pow.f64 a1 2) (cos.f64 th))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(*.f64 (pow.f64 a1 2) (cos.f64 th))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
Outputs
(/.f64 (sqrt.f64 2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)))
(/.f64 (sqrt.f64 2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(/.f64 (sqrt.f64 2) (fma.f64 a2 a2 (*.f64 a1 a1)))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 th 2)) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)))) (/.f64 (sqrt.f64 2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2))))
(fma.f64 1/2 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 th th)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) (/.f64 (sqrt.f64 2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))))
(fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (fma.f64 a2 a2 (*.f64 a1 a1))) (*.f64 th th)) (/.f64 (sqrt.f64 2) (fma.f64 a2 a2 (*.f64 a1 a1))))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 th 2)) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)))) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 1/24 (/.f64 (sqrt.f64 2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)))) (*.f64 -1/4 (/.f64 (sqrt.f64 2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2))))) (pow.f64 th 4))) (/.f64 (sqrt.f64 2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)))))
(fma.f64 1/2 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 th th)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) (fma.f64 -1 (*.f64 (*.f64 (/.f64 (sqrt.f64 2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) -5/24) (pow.f64 th 4)) (/.f64 (sqrt.f64 2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))))
(fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (fma.f64 a2 a2 (*.f64 a1 a1))) (*.f64 th th)) (-.f64 (/.f64 (sqrt.f64 2) (fma.f64 a2 a2 (*.f64 a1 a1))) (*.f64 (/.f64 (sqrt.f64 2) (fma.f64 a2 a2 (*.f64 a1 a1))) (*.f64 -5/24 (pow.f64 th 4)))))
(fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (fma.f64 a2 a2 (*.f64 a1 a1))) (*.f64 th th)) (fma.f64 (pow.f64 th 4) (*.f64 (/.f64 (sqrt.f64 2) (fma.f64 a2 a2 (*.f64 a1 a1))) 5/24) (/.f64 (sqrt.f64 2) (fma.f64 a2 a2 (*.f64 a1 a1)))))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 1/2 (+.f64 (*.f64 1/24 (/.f64 (sqrt.f64 2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)))) (*.f64 -1/4 (/.f64 (sqrt.f64 2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)))))) (+.f64 (*.f64 -1/720 (/.f64 (sqrt.f64 2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)))) (*.f64 1/48 (/.f64 (sqrt.f64 2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)))))) (pow.f64 th 6))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 th 2)) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)))) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 1/24 (/.f64 (sqrt.f64 2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)))) (*.f64 -1/4 (/.f64 (sqrt.f64 2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2))))) (pow.f64 th 4))) (/.f64 (sqrt.f64 2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2))))))
(fma.f64 -1 (*.f64 (fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) -5/24) (*.f64 (/.f64 (sqrt.f64 2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) 7/360)) (pow.f64 th 6)) (fma.f64 1/2 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 th th)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) (fma.f64 -1 (*.f64 (*.f64 (/.f64 (sqrt.f64 2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) -5/24) (pow.f64 th 4)) (/.f64 (sqrt.f64 2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))))))
(fma.f64 (neg.f64 (fma.f64 (/.f64 (sqrt.f64 2) (fma.f64 a2 a2 (*.f64 a1 a1))) 7/360 (*.f64 (/.f64 (sqrt.f64 2) (fma.f64 a2 a2 (*.f64 a1 a1))) -5/48))) (pow.f64 th 6) (fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (fma.f64 a2 a2 (*.f64 a1 a1))) (*.f64 th th)) (-.f64 (/.f64 (sqrt.f64 2) (fma.f64 a2 a2 (*.f64 a1 a1))) (*.f64 (/.f64 (sqrt.f64 2) (fma.f64 a2 a2 (*.f64 a1 a1))) (*.f64 -5/24 (pow.f64 th 4))))))
(fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (fma.f64 a2 a2 (*.f64 a1 a1))) (*.f64 th th)) (-.f64 (fma.f64 (pow.f64 th 4) (*.f64 (/.f64 (sqrt.f64 2) (fma.f64 a2 a2 (*.f64 a1 a1))) 5/24) (/.f64 (sqrt.f64 2) (fma.f64 a2 a2 (*.f64 a1 a1)))) (*.f64 (*.f64 (/.f64 (sqrt.f64 2) (fma.f64 a2 a2 (*.f64 a1 a1))) -61/720) (pow.f64 th 6))))
(/.f64 (sqrt.f64 2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(/.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)) (cos.f64 th))
(/.f64 (sqrt.f64 2) (*.f64 a1 (*.f64 a1 (cos.f64 th))))
(/.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (*.f64 a1 a1))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 4) (cos.f64 th)))) (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th))))
(fma.f64 -1 (*.f64 (/.f64 (sqrt.f64 2) (pow.f64 a1 4)) (/.f64 (*.f64 a2 a2) (cos.f64 th))) (/.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)) (cos.f64 th)))
(-.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 (*.f64 a1 (cos.f64 th)))) (/.f64 (*.f64 a2 a2) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 4)) (sqrt.f64 2))))
(-.f64 (/.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (*.f64 a1 a1)) (/.f64 (*.f64 a2 a2) (*.f64 (cos.f64 th) (/.f64 (pow.f64 a1 4) (sqrt.f64 2)))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 4) (cos.f64 th)))) (+.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 4)) (*.f64 (pow.f64 a1 6) (cos.f64 th))) (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))))
(fma.f64 -1 (*.f64 (/.f64 (sqrt.f64 2) (pow.f64 a1 4)) (/.f64 (*.f64 a2 a2) (cos.f64 th))) (+.f64 (/.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)) (cos.f64 th)) (*.f64 (/.f64 (sqrt.f64 2) (pow.f64 a1 6)) (/.f64 (pow.f64 a2 4) (cos.f64 th)))))
(-.f64 (fma.f64 (/.f64 (sqrt.f64 2) (pow.f64 a1 6)) (/.f64 (pow.f64 a2 4) (cos.f64 th)) (/.f64 (sqrt.f64 2) (*.f64 a1 (*.f64 a1 (cos.f64 th))))) (/.f64 (*.f64 a2 a2) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 4)) (sqrt.f64 2))))
(-.f64 (fma.f64 (/.f64 (sqrt.f64 2) (pow.f64 a1 6)) (/.f64 (pow.f64 a2 4) (cos.f64 th)) (/.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (*.f64 a1 a1))) (/.f64 (*.f64 a2 a2) (*.f64 (cos.f64 th) (/.f64 (pow.f64 a1 4) (sqrt.f64 2)))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 4) (cos.f64 th)))) (+.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 4)) (*.f64 (pow.f64 a1 6) (cos.f64 th))) (+.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 6)) (*.f64 (pow.f64 a1 8) (cos.f64 th)))))))
(fma.f64 -1 (*.f64 (/.f64 (sqrt.f64 2) (pow.f64 a1 4)) (/.f64 (*.f64 a2 a2) (cos.f64 th))) (+.f64 (*.f64 (/.f64 (sqrt.f64 2) (pow.f64 a1 6)) (/.f64 (pow.f64 a2 4) (cos.f64 th))) (+.f64 (/.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)) (cos.f64 th)) (neg.f64 (*.f64 (/.f64 (sqrt.f64 2) (pow.f64 a1 8)) (/.f64 (pow.f64 a2 6) (cos.f64 th)))))))
(-.f64 (-.f64 (fma.f64 (/.f64 (sqrt.f64 2) (pow.f64 a1 6)) (/.f64 (pow.f64 a2 4) (cos.f64 th)) (/.f64 (sqrt.f64 2) (*.f64 a1 (*.f64 a1 (cos.f64 th))))) (*.f64 (/.f64 (sqrt.f64 2) (pow.f64 a1 8)) (/.f64 (pow.f64 a2 6) (cos.f64 th)))) (/.f64 (*.f64 a2 a2) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 4)) (sqrt.f64 2))))
(+.f64 (fma.f64 (/.f64 (sqrt.f64 2) (pow.f64 a1 6)) (/.f64 (pow.f64 a2 4) (cos.f64 th)) (/.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (*.f64 a1 a1))) (*.f64 (/.f64 -1 (cos.f64 th)) (+.f64 (*.f64 (pow.f64 a2 6) (/.f64 (sqrt.f64 2) (pow.f64 a1 8))) (*.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (pow.f64 a1 4))))))
(/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (*.f64 a2 a2) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))
(/.f64 (/.f64 (sqrt.f64 2) (*.f64 a2 a2)) (cos.f64 th))
(+.f64 (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (pow.f64 a2 2))) (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a1 2)) (*.f64 (cos.f64 th) (pow.f64 a2 4)))))
(fma.f64 -1 (/.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 a1 a1)) (cos.f64 th)) (pow.f64 a2 4)) (/.f64 (sqrt.f64 2) (*.f64 (*.f64 a2 a2) (cos.f64 th))))
(-.f64 (/.f64 (sqrt.f64 2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) (/.f64 (/.f64 (sqrt.f64 2) (/.f64 (cos.f64 th) (*.f64 a1 a1))) (pow.f64 a2 4)))
(fma.f64 (/.f64 (neg.f64 (sqrt.f64 2)) (pow.f64 a2 4)) (/.f64 (*.f64 a1 a1) (cos.f64 th)) (/.f64 (/.f64 (sqrt.f64 2) (*.f64 a2 a2)) (cos.f64 th)))
(+.f64 (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (pow.f64 a2 2))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a1 2)) (*.f64 (cos.f64 th) (pow.f64 a2 4)))) (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a1 4)) (*.f64 (pow.f64 a2 6) (cos.f64 th)))))
(+.f64 (/.f64 (sqrt.f64 2) (*.f64 (*.f64 a2 a2) (cos.f64 th))) (fma.f64 -1 (/.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 a1 a1)) (cos.f64 th)) (pow.f64 a2 4)) (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (/.f64 (pow.f64 a1 4) (pow.f64 a2 6)))))
(-.f64 (fma.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (/.f64 (pow.f64 a1 4) (pow.f64 a2 6)) (/.f64 (sqrt.f64 2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))) (/.f64 (/.f64 (sqrt.f64 2) (/.f64 (cos.f64 th) (*.f64 a1 a1))) (pow.f64 a2 4)))
(+.f64 (/.f64 (/.f64 (sqrt.f64 2) (*.f64 a2 a2)) (cos.f64 th)) (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (-.f64 (/.f64 (pow.f64 a1 4) (pow.f64 a2 6)) (*.f64 (/.f64 a1 (pow.f64 a2 4)) a1))))
(+.f64 (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (pow.f64 a2 2))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a1 2)) (*.f64 (cos.f64 th) (pow.f64 a2 4)))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a1 6)) (*.f64 (cos.f64 th) (pow.f64 a2 8)))) (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a1 4)) (*.f64 (cos.f64 th) (pow.f64 a2 6))))))
(+.f64 (/.f64 (sqrt.f64 2) (*.f64 (*.f64 a2 a2) (cos.f64 th))) (fma.f64 -1 (/.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 a1 a1)) (cos.f64 th)) (pow.f64 a2 4)) (fma.f64 -1 (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (/.f64 (pow.f64 a1 6) (pow.f64 a2 8))) (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (/.f64 (pow.f64 a1 4) (pow.f64 a2 6))))))
(-.f64 (-.f64 (fma.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (/.f64 (pow.f64 a1 4) (pow.f64 a2 6)) (/.f64 (sqrt.f64 2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))) (*.f64 (/.f64 (sqrt.f64 2) (pow.f64 a2 8)) (/.f64 (pow.f64 a1 6) (cos.f64 th)))) (/.f64 (/.f64 (sqrt.f64 2) (/.f64 (cos.f64 th) (*.f64 a1 a1))) (pow.f64 a2 4)))
(-.f64 (fma.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (/.f64 (pow.f64 a1 4) (pow.f64 a2 6)) (/.f64 (/.f64 (sqrt.f64 2) (*.f64 a2 a2)) (cos.f64 th))) (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (+.f64 (*.f64 (/.f64 a1 (pow.f64 a2 4)) a1) (/.f64 (pow.f64 a1 6) (pow.f64 a2 8)))))
(/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (*.f64 a2 a2) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))
(/.f64 (/.f64 (sqrt.f64 2) (*.f64 a2 a2)) (cos.f64 th))
(+.f64 (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (pow.f64 a2 2))) (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a1 2)) (*.f64 (cos.f64 th) (pow.f64 a2 4)))))
(fma.f64 -1 (/.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 a1 a1)) (cos.f64 th)) (pow.f64 a2 4)) (/.f64 (sqrt.f64 2) (*.f64 (*.f64 a2 a2) (cos.f64 th))))
(-.f64 (/.f64 (sqrt.f64 2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) (/.f64 (/.f64 (sqrt.f64 2) (/.f64 (cos.f64 th) (*.f64 a1 a1))) (pow.f64 a2 4)))
(fma.f64 (/.f64 (neg.f64 (sqrt.f64 2)) (pow.f64 a2 4)) (/.f64 (*.f64 a1 a1) (cos.f64 th)) (/.f64 (/.f64 (sqrt.f64 2) (*.f64 a2 a2)) (cos.f64 th)))
(+.f64 (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (pow.f64 a2 2))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a1 2)) (*.f64 (cos.f64 th) (pow.f64 a2 4)))) (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a1 4)) (*.f64 (pow.f64 a2 6) (cos.f64 th)))))
(+.f64 (/.f64 (sqrt.f64 2) (*.f64 (*.f64 a2 a2) (cos.f64 th))) (fma.f64 -1 (/.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 a1 a1)) (cos.f64 th)) (pow.f64 a2 4)) (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (/.f64 (pow.f64 a1 4) (pow.f64 a2 6)))))
(-.f64 (fma.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (/.f64 (pow.f64 a1 4) (pow.f64 a2 6)) (/.f64 (sqrt.f64 2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))) (/.f64 (/.f64 (sqrt.f64 2) (/.f64 (cos.f64 th) (*.f64 a1 a1))) (pow.f64 a2 4)))
(+.f64 (/.f64 (/.f64 (sqrt.f64 2) (*.f64 a2 a2)) (cos.f64 th)) (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (-.f64 (/.f64 (pow.f64 a1 4) (pow.f64 a2 6)) (*.f64 (/.f64 a1 (pow.f64 a2 4)) a1))))
(+.f64 (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (pow.f64 a2 2))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a1 2)) (*.f64 (cos.f64 th) (pow.f64 a2 4)))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a1 6)) (*.f64 (cos.f64 th) (pow.f64 a2 8)))) (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a1 4)) (*.f64 (cos.f64 th) (pow.f64 a2 6))))))
(+.f64 (/.f64 (sqrt.f64 2) (*.f64 (*.f64 a2 a2) (cos.f64 th))) (fma.f64 -1 (/.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 a1 a1)) (cos.f64 th)) (pow.f64 a2 4)) (fma.f64 -1 (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (/.f64 (pow.f64 a1 6) (pow.f64 a2 8))) (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (/.f64 (pow.f64 a1 4) (pow.f64 a2 6))))))
(-.f64 (-.f64 (fma.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (/.f64 (pow.f64 a1 4) (pow.f64 a2 6)) (/.f64 (sqrt.f64 2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))) (*.f64 (/.f64 (sqrt.f64 2) (pow.f64 a2 8)) (/.f64 (pow.f64 a1 6) (cos.f64 th)))) (/.f64 (/.f64 (sqrt.f64 2) (/.f64 (cos.f64 th) (*.f64 a1 a1))) (pow.f64 a2 4)))
(-.f64 (fma.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (/.f64 (pow.f64 a1 4) (pow.f64 a2 6)) (/.f64 (/.f64 (sqrt.f64 2) (*.f64 a2 a2)) (cos.f64 th))) (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (+.f64 (*.f64 (/.f64 a1 (pow.f64 a2 4)) a1) (/.f64 (pow.f64 a1 6) (pow.f64 a2 8)))))
(/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 (*.f64 a2 a2) (cos.f64 th)))
(/.f64 (sqrt.f64 2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))
(/.f64 (/.f64 (sqrt.f64 2) (*.f64 a2 a2)) (cos.f64 th))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a1 2)) (*.f64 (pow.f64 a2 4) (cos.f64 th)))) (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (pow.f64 a2 2))))
(fma.f64 -1 (/.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 a1 a1)) (cos.f64 th)) (pow.f64 a2 4)) (/.f64 (sqrt.f64 2) (*.f64 (*.f64 a2 a2) (cos.f64 th))))
(-.f64 (/.f64 (sqrt.f64 2) (*.f64 a2 (*.f64 a2 (cos.f64 th)))) (/.f64 (/.f64 (sqrt.f64 2) (/.f64 (cos.f64 th) (*.f64 a1 a1))) (pow.f64 a2 4)))
(fma.f64 (/.f64 (neg.f64 (sqrt.f64 2)) (pow.f64 a2 4)) (/.f64 (*.f64 a1 a1) (cos.f64 th)) (/.f64 (/.f64 (sqrt.f64 2) (*.f64 a2 a2)) (cos.f64 th)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a1 2)) (*.f64 (pow.f64 a2 4) (cos.f64 th)))) (+.f64 (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (pow.f64 a2 2))) (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a1 4)) (*.f64 (cos.f64 th) (pow.f64 a2 6)))))
(+.f64 (/.f64 (sqrt.f64 2) (*.f64 (*.f64 a2 a2) (cos.f64 th))) (fma.f64 -1 (/.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 a1 a1)) (cos.f64 th)) (pow.f64 a2 4)) (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (/.f64 (pow.f64 a1 4) (pow.f64 a2 6)))))
(-.f64 (fma.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (/.f64 (pow.f64 a1 4) (pow.f64 a2 6)) (/.f64 (sqrt.f64 2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))) (/.f64 (/.f64 (sqrt.f64 2) (/.f64 (cos.f64 th) (*.f64 a1 a1))) (pow.f64 a2 4)))
(+.f64 (/.f64 (/.f64 (sqrt.f64 2) (*.f64 a2 a2)) (cos.f64 th)) (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (-.f64 (/.f64 (pow.f64 a1 4) (pow.f64 a2 6)) (*.f64 (/.f64 a1 (pow.f64 a2 4)) a1))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a1 2)) (*.f64 (pow.f64 a2 4) (cos.f64 th)))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a1 6)) (*.f64 (pow.f64 a2 8) (cos.f64 th)))) (+.f64 (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (pow.f64 a2 2))) (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a1 4)) (*.f64 (pow.f64 a2 6) (cos.f64 th))))))
(+.f64 (/.f64 (sqrt.f64 2) (*.f64 (*.f64 a2 a2) (cos.f64 th))) (fma.f64 -1 (/.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 a1 a1)) (cos.f64 th)) (pow.f64 a2 4)) (fma.f64 -1 (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (/.f64 (pow.f64 a1 6) (pow.f64 a2 8))) (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (/.f64 (pow.f64 a1 4) (pow.f64 a2 6))))))
(-.f64 (-.f64 (fma.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (/.f64 (pow.f64 a1 4) (pow.f64 a2 6)) (/.f64 (sqrt.f64 2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))) (*.f64 (/.f64 (sqrt.f64 2) (pow.f64 a2 8)) (/.f64 (pow.f64 a1 6) (cos.f64 th)))) (/.f64 (/.f64 (sqrt.f64 2) (/.f64 (cos.f64 th) (*.f64 a1 a1))) (pow.f64 a2 4)))
(-.f64 (fma.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (/.f64 (pow.f64 a1 4) (pow.f64 a2 6)) (/.f64 (/.f64 (sqrt.f64 2) (*.f64 a2 a2)) (cos.f64 th))) (*.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (+.f64 (*.f64 (/.f64 a1 (pow.f64 a2 4)) a1) (/.f64 (pow.f64 a1 6) (pow.f64 a2 8)))))
(/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(/.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)) (cos.f64 th))
(/.f64 (sqrt.f64 2) (*.f64 a1 (*.f64 a1 (cos.f64 th))))
(/.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (*.f64 a1 a1))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 4) (cos.f64 th)))) (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th))))
(fma.f64 -1 (*.f64 (/.f64 (sqrt.f64 2) (pow.f64 a1 4)) (/.f64 (*.f64 a2 a2) (cos.f64 th))) (/.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)) (cos.f64 th)))
(-.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 (*.f64 a1 (cos.f64 th)))) (/.f64 (*.f64 a2 a2) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 4)) (sqrt.f64 2))))
(-.f64 (/.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (*.f64 a1 a1)) (/.f64 (*.f64 a2 a2) (*.f64 (cos.f64 th) (/.f64 (pow.f64 a1 4) (sqrt.f64 2)))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 4) (cos.f64 th)))) (+.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 4)) (*.f64 (pow.f64 a1 6) (cos.f64 th))) (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))))
(fma.f64 -1 (*.f64 (/.f64 (sqrt.f64 2) (pow.f64 a1 4)) (/.f64 (*.f64 a2 a2) (cos.f64 th))) (+.f64 (/.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)) (cos.f64 th)) (*.f64 (/.f64 (sqrt.f64 2) (pow.f64 a1 6)) (/.f64 (pow.f64 a2 4) (cos.f64 th)))))
(-.f64 (fma.f64 (/.f64 (sqrt.f64 2) (pow.f64 a1 6)) (/.f64 (pow.f64 a2 4) (cos.f64 th)) (/.f64 (sqrt.f64 2) (*.f64 a1 (*.f64 a1 (cos.f64 th))))) (/.f64 (*.f64 a2 a2) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 4)) (sqrt.f64 2))))
(-.f64 (fma.f64 (/.f64 (sqrt.f64 2) (pow.f64 a1 6)) (/.f64 (pow.f64 a2 4) (cos.f64 th)) (/.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (*.f64 a1 a1))) (/.f64 (*.f64 a2 a2) (*.f64 (cos.f64 th) (/.f64 (pow.f64 a1 4) (sqrt.f64 2)))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 4) (cos.f64 th)))) (+.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 4)) (*.f64 (pow.f64 a1 6) (cos.f64 th))) (+.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 6)) (*.f64 (pow.f64 a1 8) (cos.f64 th)))))))
(fma.f64 -1 (*.f64 (/.f64 (sqrt.f64 2) (pow.f64 a1 4)) (/.f64 (*.f64 a2 a2) (cos.f64 th))) (+.f64 (*.f64 (/.f64 (sqrt.f64 2) (pow.f64 a1 6)) (/.f64 (pow.f64 a2 4) (cos.f64 th))) (+.f64 (/.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)) (cos.f64 th)) (neg.f64 (*.f64 (/.f64 (sqrt.f64 2) (pow.f64 a1 8)) (/.f64 (pow.f64 a2 6) (cos.f64 th)))))))
(-.f64 (-.f64 (fma.f64 (/.f64 (sqrt.f64 2) (pow.f64 a1 6)) (/.f64 (pow.f64 a2 4) (cos.f64 th)) (/.f64 (sqrt.f64 2) (*.f64 a1 (*.f64 a1 (cos.f64 th))))) (*.f64 (/.f64 (sqrt.f64 2) (pow.f64 a1 8)) (/.f64 (pow.f64 a2 6) (cos.f64 th)))) (/.f64 (*.f64 a2 a2) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 4)) (sqrt.f64 2))))
(+.f64 (fma.f64 (/.f64 (sqrt.f64 2) (pow.f64 a1 6)) (/.f64 (pow.f64 a2 4) (cos.f64 th)) (/.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (*.f64 a1 a1))) (*.f64 (/.f64 -1 (cos.f64 th)) (+.f64 (*.f64 (pow.f64 a2 6) (/.f64 (sqrt.f64 2) (pow.f64 a1 8))) (*.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (pow.f64 a1 4))))))
(/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(/.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)) (cos.f64 th))
(/.f64 (sqrt.f64 2) (*.f64 a1 (*.f64 a1 (cos.f64 th))))
(/.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (*.f64 a1 a1))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 4) (cos.f64 th)))) (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th))))
(fma.f64 -1 (*.f64 (/.f64 (sqrt.f64 2) (pow.f64 a1 4)) (/.f64 (*.f64 a2 a2) (cos.f64 th))) (/.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)) (cos.f64 th)))
(-.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 (*.f64 a1 (cos.f64 th)))) (/.f64 (*.f64 a2 a2) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 4)) (sqrt.f64 2))))
(-.f64 (/.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (*.f64 a1 a1)) (/.f64 (*.f64 a2 a2) (*.f64 (cos.f64 th) (/.f64 (pow.f64 a1 4) (sqrt.f64 2)))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 4) (cos.f64 th)))) (+.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 4)) (*.f64 (pow.f64 a1 6) (cos.f64 th))) (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))))
(fma.f64 -1 (*.f64 (/.f64 (sqrt.f64 2) (pow.f64 a1 4)) (/.f64 (*.f64 a2 a2) (cos.f64 th))) (+.f64 (/.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)) (cos.f64 th)) (*.f64 (/.f64 (sqrt.f64 2) (pow.f64 a1 6)) (/.f64 (pow.f64 a2 4) (cos.f64 th)))))
(-.f64 (fma.f64 (/.f64 (sqrt.f64 2) (pow.f64 a1 6)) (/.f64 (pow.f64 a2 4) (cos.f64 th)) (/.f64 (sqrt.f64 2) (*.f64 a1 (*.f64 a1 (cos.f64 th))))) (/.f64 (*.f64 a2 a2) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 4)) (sqrt.f64 2))))
(-.f64 (fma.f64 (/.f64 (sqrt.f64 2) (pow.f64 a1 6)) (/.f64 (pow.f64 a2 4) (cos.f64 th)) (/.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (*.f64 a1 a1))) (/.f64 (*.f64 a2 a2) (*.f64 (cos.f64 th) (/.f64 (pow.f64 a1 4) (sqrt.f64 2)))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 4) (cos.f64 th)))) (+.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 4)) (*.f64 (pow.f64 a1 6) (cos.f64 th))) (+.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 -1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 6)) (*.f64 (pow.f64 a1 8) (cos.f64 th)))))))
(fma.f64 -1 (*.f64 (/.f64 (sqrt.f64 2) (pow.f64 a1 4)) (/.f64 (*.f64 a2 a2) (cos.f64 th))) (+.f64 (*.f64 (/.f64 (sqrt.f64 2) (pow.f64 a1 6)) (/.f64 (pow.f64 a2 4) (cos.f64 th))) (+.f64 (/.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)) (cos.f64 th)) (neg.f64 (*.f64 (/.f64 (sqrt.f64 2) (pow.f64 a1 8)) (/.f64 (pow.f64 a2 6) (cos.f64 th)))))))
(-.f64 (-.f64 (fma.f64 (/.f64 (sqrt.f64 2) (pow.f64 a1 6)) (/.f64 (pow.f64 a2 4) (cos.f64 th)) (/.f64 (sqrt.f64 2) (*.f64 a1 (*.f64 a1 (cos.f64 th))))) (*.f64 (/.f64 (sqrt.f64 2) (pow.f64 a1 8)) (/.f64 (pow.f64 a2 6) (cos.f64 th)))) (/.f64 (*.f64 a2 a2) (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 4)) (sqrt.f64 2))))
(+.f64 (fma.f64 (/.f64 (sqrt.f64 2) (pow.f64 a1 6)) (/.f64 (pow.f64 a2 4) (cos.f64 th)) (/.f64 (/.f64 (sqrt.f64 2) (cos.f64 th)) (*.f64 a1 a1))) (*.f64 (/.f64 -1 (cos.f64 th)) (+.f64 (*.f64 (pow.f64 a2 6) (/.f64 (sqrt.f64 2) (pow.f64 a1 8))) (*.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (pow.f64 a1 4))))))
(/.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (sqrt.f64 2))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (sqrt.f64 2))
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2))
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (/.f64 (pow.f64 a1 2) (sqrt.f64 2)) (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)) (sqrt.f64 2)))))
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (*.f64 -1/2 (/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (*.f64 th th))))))
(+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (fma.f64 -1/2 (*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (*.f64 th th)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))))
(+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (fma.f64 -1/2 (*.f64 (*.f64 th th) (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2))) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))))
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (/.f64 (pow.f64 a1 2) (sqrt.f64 2)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)) (sqrt.f64 2))) (*.f64 1/24 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 4)) (sqrt.f64 2))))))
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (fma.f64 -1/2 (/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (*.f64 th th))) (*.f64 1/24 (/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (pow.f64 th 4)))))))
(+.f64 (fma.f64 -1/2 (*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (*.f64 th th)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) (+.f64 (*.f64 1/24 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (pow.f64 th 4)))) (/.f64 a2 (/.f64 (sqrt.f64 2) a2))))
(+.f64 (fma.f64 -1/2 (*.f64 (*.f64 th th) (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2))) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))) (fma.f64 1/24 (*.f64 (pow.f64 th 4) (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2))) (*.f64 (/.f64 a2 (sqrt.f64 2)) a2)))
(+.f64 (*.f64 -1/720 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 6)) (sqrt.f64 2))) (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (/.f64 (pow.f64 a1 2) (sqrt.f64 2)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)) (sqrt.f64 2))) (*.f64 1/24 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 4)) (sqrt.f64 2)))))))
(fma.f64 -1/720 (/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (pow.f64 th 6))) (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (fma.f64 -1/2 (/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (*.f64 th th))) (*.f64 1/24 (/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (pow.f64 th 4))))))))
(+.f64 (+.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (fma.f64 1/24 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (pow.f64 th 4))) (/.f64 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 th th)) (/.f64 (sqrt.f64 2) -1/2)))) (fma.f64 -1/720 (*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (pow.f64 th 6)) (/.f64 a2 (/.f64 (sqrt.f64 2) a2))))
(+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (fma.f64 -1/720 (*.f64 (pow.f64 th 6) (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2))) (fma.f64 1/24 (*.f64 (pow.f64 th 4) (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2))) (fma.f64 -1/2 (*.f64 (*.f64 th th) (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2))) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))))))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (cos.f64 th) (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (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 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (cos.f64 th) (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (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 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (cos.f64 th) (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (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 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (cos.f64 th) (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (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 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (cos.f64 th) (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (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 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (cos.f64 th) (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (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 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (cos.f64 th) (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (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 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (cos.f64 th) (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))))
(+.f64 (*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th)) (/.f64 (*.f64 a2 (*.f64 a2 (cos.f64 th))) (sqrt.f64 2)))
(*.f64 (cos.f64 th) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))))
(+.f64 (*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th)) (/.f64 (*.f64 a2 (*.f64 a2 (cos.f64 th))) (sqrt.f64 2)))
(*.f64 (cos.f64 th) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))))
(+.f64 (*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th)) (/.f64 (*.f64 a2 (*.f64 a2 (cos.f64 th))) (sqrt.f64 2)))
(*.f64 (cos.f64 th) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(/.f64 (*.f64 a2 (*.f64 a2 (cos.f64 th))) (sqrt.f64 2))
(*.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 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))))
(+.f64 (*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th)) (/.f64 (*.f64 a2 (*.f64 a2 (cos.f64 th))) (sqrt.f64 2)))
(*.f64 (cos.f64 th) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))))
(+.f64 (*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th)) (/.f64 (*.f64 a2 (*.f64 a2 (cos.f64 th))) (sqrt.f64 2)))
(*.f64 (cos.f64 th) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))))
(+.f64 (*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th)) (/.f64 (*.f64 a2 (*.f64 a2 (cos.f64 th))) (sqrt.f64 2)))
(*.f64 (cos.f64 th) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(/.f64 (*.f64 a2 (*.f64 a2 (cos.f64 th))) (sqrt.f64 2))
(*.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 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))))
(+.f64 (*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th)) (/.f64 (*.f64 a2 (*.f64 a2 (cos.f64 th))) (sqrt.f64 2)))
(*.f64 (cos.f64 th) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))))
(+.f64 (*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th)) (/.f64 (*.f64 a2 (*.f64 a2 (cos.f64 th))) (sqrt.f64 2)))
(*.f64 (cos.f64 th) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))))
(+.f64 (*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th)) (/.f64 (*.f64 a2 (*.f64 a2 (cos.f64 th))) (sqrt.f64 2)))
(*.f64 (cos.f64 th) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(/.f64 (*.f64 a2 (*.f64 a2 (cos.f64 th))) (sqrt.f64 2))
(*.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 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))))
(+.f64 (*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th)) (/.f64 (*.f64 a2 (*.f64 a2 (cos.f64 th))) (sqrt.f64 2)))
(*.f64 (cos.f64 th) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))))
(+.f64 (*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th)) (/.f64 (*.f64 a2 (*.f64 a2 (cos.f64 th))) (sqrt.f64 2)))
(*.f64 (cos.f64 th) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))))
(+.f64 (*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th)) (/.f64 (*.f64 a2 (*.f64 a2 (cos.f64 th))) (sqrt.f64 2)))
(*.f64 (cos.f64 th) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))))
(+.f64 (*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th)) (/.f64 (*.f64 a2 (*.f64 a2 (cos.f64 th))) (sqrt.f64 2)))
(*.f64 (cos.f64 th) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))))
(+.f64 (*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th)) (/.f64 (*.f64 a2 (*.f64 a2 (cos.f64 th))) (sqrt.f64 2)))
(*.f64 (cos.f64 th) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))))
(+.f64 (*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th)) (/.f64 (*.f64 a2 (*.f64 a2 (cos.f64 th))) (sqrt.f64 2)))
(*.f64 (cos.f64 th) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))))
(+.f64 (*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th)) (/.f64 (*.f64 a2 (*.f64 a2 (cos.f64 th))) (sqrt.f64 2)))
(*.f64 (cos.f64 th) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))))
(+.f64 (*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th)) (/.f64 (*.f64 a2 (*.f64 a2 (cos.f64 th))) (sqrt.f64 2)))
(*.f64 (cos.f64 th) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (*.f64 a2 a2))))
(+.f64 (*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th)) (/.f64 (*.f64 a2 (*.f64 a2 (cos.f64 th))) (sqrt.f64 2)))
(*.f64 (cos.f64 th) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))))
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a2 a2 (*.f64 a1 a1))
(+.f64 (pow.f64 a2 2) (+.f64 (pow.f64 a1 2) (*.f64 -1/2 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)))))
(+.f64 (*.f64 a2 a2) (+.f64 (*.f64 a1 a1) (*.f64 -1/2 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (*.f64 th th)))))
(fma.f64 a2 a2 (fma.f64 -1/2 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 th th)) (*.f64 a1 a1)))
(*.f64 (+.f64 (*.f64 th (*.f64 th -1/2)) 1) (fma.f64 a2 a2 (*.f64 a1 a1)))
(+.f64 (pow.f64 a2 2) (+.f64 (pow.f64 a1 2) (+.f64 (*.f64 -1/2 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2))) (*.f64 1/24 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 4))))))
(+.f64 (*.f64 a2 a2) (+.f64 (*.f64 a1 a1) (fma.f64 -1/2 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (*.f64 th th)) (*.f64 1/24 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (pow.f64 th 4))))))
(fma.f64 a2 a2 (fma.f64 a1 a1 (fma.f64 1/24 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (pow.f64 th 4)) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (*.f64 th th) -1/2)))))
(fma.f64 a2 a2 (fma.f64 a1 a1 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (+.f64 (*.f64 th (*.f64 th -1/2)) (*.f64 1/24 (pow.f64 th 4))))))
(+.f64 (pow.f64 a2 2) (+.f64 (pow.f64 a1 2) (+.f64 (*.f64 -1/2 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2))) (+.f64 (*.f64 1/24 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 4))) (*.f64 -1/720 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 6)))))))
(+.f64 (*.f64 a2 a2) (+.f64 (*.f64 a1 a1) (fma.f64 -1/2 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (*.f64 th th)) (fma.f64 1/24 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (pow.f64 th 4)) (*.f64 -1/720 (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (pow.f64 th 6)))))))
(fma.f64 a2 a2 (fma.f64 a1 a1 (fma.f64 -1/2 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 th th)) (fma.f64 1/24 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (pow.f64 th 4)) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (pow.f64 th 6) -1/720))))))
(+.f64 (*.f64 (+.f64 (*.f64 th (*.f64 th -1/2)) 1) (fma.f64 a2 a2 (*.f64 a1 a1))) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (+.f64 (*.f64 1/24 (pow.f64 th 4)) (*.f64 -1/720 (pow.f64 th 6)))))
(*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))
(*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))
(*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))
(*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))
(*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))
(*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))
(*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))
(*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))
(*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))
(*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))
(*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))
(*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))
(*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))
(*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))
(*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th))
(*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))
(*.f64 (pow.f64 a1 2) (cos.f64 th))
(*.f64 (*.f64 a1 a1) (cos.f64 th))
(*.f64 a1 (*.f64 a1 (cos.f64 th)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(*.f64 (*.f64 a2 a2) (cos.f64 th))
(*.f64 a2 (*.f64 a2 (cos.f64 th)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(*.f64 (*.f64 a2 a2) (cos.f64 th))
(*.f64 a2 (*.f64 a2 (cos.f64 th)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(*.f64 (*.f64 a2 a2) (cos.f64 th))
(*.f64 a2 (*.f64 a2 (cos.f64 th)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))
(*.f64 (pow.f64 a1 2) (cos.f64 th))
(*.f64 (*.f64 a1 a1) (cos.f64 th))
(*.f64 a1 (*.f64 a1 (cos.f64 th)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))
(*.f64 (pow.f64 a1 2) (cos.f64 th))
(*.f64 (*.f64 a1 a1) (cos.f64 th))
(*.f64 a1 (*.f64 a1 (cos.f64 th)))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))
(+.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th))

localize9.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (/.f64 a1 (sqrt.f64 2)) a1)
0.4b
(/.f64 a1 (sqrt.f64 2))
Compiler

Compiled 17 to 13 computations (23.5% saved)

series3.0ms (0%)

Counts
2 → 12
Calls

6 calls:

TimeVariablePointExpression
1.0ms
a1
@inf
(/.f64 a1 (sqrt.f64 2))
1.0ms
a1
@0
(/.f64 a1 (sqrt.f64 2))
0.0ms
a1
@-inf
(/.f64 a1 (sqrt.f64 2))
0.0ms
a1
@inf
(*.f64 (/.f64 a1 (sqrt.f64 2)) a1)
0.0ms
a1
@0
(*.f64 (/.f64 a1 (sqrt.f64 2)) a1)

rewrite56.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
618×pow1_binary64
576×add-log-exp_binary64
576×log1p-expm1-u_binary64
576×expm1-log1p-u_binary64
564×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0615
112715
2156615
Stop Event
node limit
Counts
2 → 50
Calls
Call 1
Inputs
(/.f64 a1 (sqrt.f64 2))
(*.f64 (/.f64 a1 (sqrt.f64 2)) a1)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 a1 (sqrt.f64 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 a1 (pow.f64 2 -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a1 (sqrt.f64 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 a1 (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 a1 (sqrt.f64 2))) (cbrt.f64 (/.f64 (*.f64 a1 a1) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 a1 a1) 2)) (cbrt.f64 (/.f64 a1 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 a1) 2) (*.f64 (cbrt.f64 a1) (pow.f64 2 -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 a1 (sqrt.f64 2))) (sqrt.f64 (/.f64 a1 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 a1) (*.f64 (sqrt.f64 a1) (pow.f64 2 -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 a1) (/.f64 1 (neg.f64 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 2 -1/2) a1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 a1) 2) 1) (/.f64 (cbrt.f64 a1) (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 a1) 1) (/.f64 (sqrt.f64 a1) (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 2)) (/.f64 a1 (cbrt.f64 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 a1) 2) (cbrt.f64 2)) (cbrt.f64 (/.f64 a1 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 a1) (cbrt.f64 2)) (/.f64 (sqrt.f64 a1) (cbrt.f64 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 2 1/4)) (/.f64 a1 (pow.f64 2 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 a1) 2) (pow.f64 2 1/4)) (/.f64 (cbrt.f64 a1) (pow.f64 2 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 a1 (sqrt.f64 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 a1 (sqrt.f64 2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 a1 (sqrt.f64 2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 a1 (sqrt.f64 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 2) a1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 a1 (neg.f64 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 (*.f64 a1 a1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 a1 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 a1 (sqrt.f64 2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 a1 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 a1 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 a1 (sqrt.f64 2))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 a1 (/.f64 (sqrt.f64 2) a1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a1 a1) (sqrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 a1 a1)) (neg.f64 (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 a1) a1) (neg.f64 (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a1 (neg.f64 a1)) (neg.f64 (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 a1 a1) 1) (sqrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 a1 a1) (cbrt.f64 2)) (cbrt.f64 (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 a1 a1) (pow.f64 2 1/4)) (pow.f64 2 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 a1 (pow.f64 2 1/4)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 a1) (/.f64 a1 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))))))))

simplify110.0ms (0.6%)

Algorithm
egg-herbie
Rules
759×sqr-pow_binary64
434×unswap-sqr_binary64
423×*-commutative_binary64
423×associate-*r/_binary64
393×associate-/r/_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
06108
111108
220108
337108
483108
5266108
61091108
73478108
84280108
94465108
104681108
115028108
125456108
135935108
146584108
157273108
Stop Event
node limit
Counts
62 → 52
Calls
Call 1
Inputs
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
Outputs
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(/.f64 (*.f64 a1 a1) (sqrt.f64 2))
(/.f64 a1 (/.f64 (sqrt.f64 2) a1))
(*.f64 (/.f64 a1 (sqrt.f64 2)) a1)
(*.f64 a1 (/.f64 a1 (sqrt.f64 2)))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(/.f64 (*.f64 a1 a1) (sqrt.f64 2))
(/.f64 a1 (/.f64 (sqrt.f64 2) a1))
(*.f64 (/.f64 a1 (sqrt.f64 2)) a1)
(*.f64 a1 (/.f64 a1 (sqrt.f64 2)))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(/.f64 (*.f64 a1 a1) (sqrt.f64 2))
(/.f64 a1 (/.f64 (sqrt.f64 2) a1))
(*.f64 (/.f64 a1 (sqrt.f64 2)) a1)
(*.f64 a1 (/.f64 a1 (sqrt.f64 2)))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(/.f64 (*.f64 a1 a1) (sqrt.f64 2))
(/.f64 a1 (/.f64 (sqrt.f64 2) a1))
(*.f64 (/.f64 a1 (sqrt.f64 2)) a1)
(*.f64 a1 (/.f64 a1 (sqrt.f64 2)))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(/.f64 (*.f64 a1 a1) (sqrt.f64 2))
(/.f64 a1 (/.f64 (sqrt.f64 2) a1))
(*.f64 (/.f64 a1 (sqrt.f64 2)) a1)
(*.f64 a1 (/.f64 a1 (sqrt.f64 2)))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(/.f64 (*.f64 a1 a1) (sqrt.f64 2))
(/.f64 a1 (/.f64 (sqrt.f64 2) a1))
(*.f64 (/.f64 a1 (sqrt.f64 2)) a1)
(*.f64 a1 (/.f64 a1 (sqrt.f64 2)))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(/.f64 (*.f64 a1 a1) (sqrt.f64 2))
(/.f64 a1 (/.f64 (sqrt.f64 2) a1))
(*.f64 (/.f64 a1 (sqrt.f64 2)) a1)
(*.f64 a1 (/.f64 a1 (sqrt.f64 2)))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(/.f64 (*.f64 a1 a1) (sqrt.f64 2))
(/.f64 a1 (/.f64 (sqrt.f64 2) a1))
(*.f64 (/.f64 a1 (sqrt.f64 2)) a1)
(*.f64 a1 (/.f64 a1 (sqrt.f64 2)))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(/.f64 (*.f64 a1 a1) (sqrt.f64 2))
(/.f64 a1 (/.f64 (sqrt.f64 2) a1))
(*.f64 (/.f64 a1 (sqrt.f64 2)) a1)
(*.f64 a1 (/.f64 a1 (sqrt.f64 2)))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(/.f64 (*.f64 a1 a1) (sqrt.f64 2))
(/.f64 a1 (/.f64 (sqrt.f64 2) a1))
(*.f64 (/.f64 a1 (sqrt.f64 2)) a1)
(*.f64 a1 (/.f64 a1 (sqrt.f64 2)))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(/.f64 (*.f64 a1 a1) (sqrt.f64 2))
(/.f64 a1 (/.f64 (sqrt.f64 2) a1))
(*.f64 (/.f64 a1 (sqrt.f64 2)) a1)
(*.f64 a1 (/.f64 a1 (sqrt.f64 2)))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(/.f64 (*.f64 a1 a1) (sqrt.f64 2))
(/.f64 a1 (/.f64 (sqrt.f64 2) a1))
(*.f64 (/.f64 a1 (sqrt.f64 2)) a1)
(*.f64 a1 (/.f64 a1 (sqrt.f64 2)))

localize11.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.5b
(/.f64 (sqrt.f64 2) (*.f64 a2 a2))
0.7b
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
Compiler

Compiled 25 to 16 computations (36% saved)

series3.0ms (0%)

Counts
2 → 24
Calls

6 calls:

TimeVariablePointExpression
1.0ms
a2
@0
(/.f64 (sqrt.f64 2) (*.f64 a2 a2))
0.0ms
a2
@0
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
0.0ms
a2
@inf
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
0.0ms
a2
@-inf
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
0.0ms
a2
@inf
(/.f64 (sqrt.f64 2) (*.f64 a2 a2))

rewrite66.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
760×pow1_binary64
708×add-log-exp_binary64
708×log1p-expm1-u_binary64
708×expm1-log1p-u_binary64
690×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0821
116818
2207218
Stop Event
node limit
Counts
2 → 69
Calls
Call 1
Inputs
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(/.f64 (sqrt.f64 2) (*.f64 a2 a2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 (*.f64 a2 a2) (sqrt.f64 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 a2 a2) (pow.f64 2 -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2))) (cbrt.f64 (/.f64 1 (/.f64 2 (pow.f64 a2 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 1 (/.f64 2 (pow.f64 a2 4)))) (cbrt.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (pow.f64 2 -1/2)) a2) (*.f64 (sqrt.f64 (pow.f64 2 -1/2)) a2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 1 (*.f64 (neg.f64 (sqrt.f64 2)) (pow.f64 a2 -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 2 -1/2) (*.f64 a2 a2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 2 -1/2) (pow.f64 (pow.f64 a2 -2) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 2 (pow.f64 a2 4))) -1) (pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 -2))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (pow.f64 2 1/4) a2) -1) (pow.f64 (/.f64 (pow.f64 2 1/4) a2) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a2 1) (/.f64 a2 (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 a2 4)) 1) (/.f64 (pow.f64 (cbrt.f64 a2) 2) (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 2)) (/.f64 (*.f64 a2 a2) (cbrt.f64 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a2 (cbrt.f64 2)) (/.f64 a2 (cbrt.f64 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 a2 4)) (cbrt.f64 2)) (/.f64 (pow.f64 (cbrt.f64 a2) 2) (cbrt.f64 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 2 1/4)) (/.f64 (*.f64 a2 a2) (pow.f64 2 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a2 (pow.f64 2 1/4)) (/.f64 a2 (pow.f64 2 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 a2 4)) (pow.f64 2 1/4)) (/.f64 (pow.f64 (cbrt.f64 a2) 2) (pow.f64 2 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (neg.f64 (sqrt.f64 2))) (*.f64 a2 (neg.f64 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 (sqrt.f64 2) a2)) a2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 2 -1/2) 1) (*.f64 a2 a2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 2 -1/2) a2) a2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 2 -1/2) (cbrt.f64 (pow.f64 a2 4))) (pow.f64 (cbrt.f64 a2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 -2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 (pow.f64 2 -1/2)) a2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 1 (/.f64 2 (pow.f64 a2 4))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (*.f64 a2 a2) 3) (*.f64 2 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (pow.f64 a2 -2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (sqrt.f64 2) (pow.f64 a2 -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 2) (pow.f64 a2 -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 -2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 -2))) (cbrt.f64 (/.f64 2 (pow.f64 a2 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 2 (pow.f64 a2 4))) (cbrt.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 2) (*.f64 (cbrt.f64 (sqrt.f64 2)) (pow.f64 a2 -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 2 1/4) a2) (/.f64 (pow.f64 2 1/4) a2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 2 1/4) (*.f64 (pow.f64 2 1/4) (pow.f64 a2 -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 2)) (/.f64 1 (*.f64 a2 (neg.f64 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 a2 -2) (sqrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 2) a2) (/.f64 1 a2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 2) 1) (/.f64 (cbrt.f64 (sqrt.f64 2)) (*.f64 a2 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 2 1/4) 1) (/.f64 (pow.f64 2 1/4) (*.f64 a2 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 a2) (/.f64 (sqrt.f64 2) a2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 2) a2) (/.f64 (cbrt.f64 (sqrt.f64 2)) a2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (pow.f64 a2 4))) (/.f64 (sqrt.f64 2) (pow.f64 (cbrt.f64 a2) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 2) (cbrt.f64 (pow.f64 a2 4))) (cbrt.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 2 1/4) (cbrt.f64 (pow.f64 a2 4))) (/.f64 (pow.f64 2 1/4) (pow.f64 (cbrt.f64 a2) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 -2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 -2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 -2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 2 1/4) a2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (sqrt.f64 2) (*.f64 a2 (neg.f64 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 2 (pow.f64 a2 4)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sqrt.f64 2)) (pow.f64 a2 -2)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 -2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (*.f64 2 (sqrt.f64 2)) (pow.f64 (*.f64 a2 a2) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 -2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 -2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sqrt.f64 2) (pow.f64 a2 -2))))))))

simplify130.0ms (0.7%)

Algorithm
egg-herbie
Rules
759×sqr-pow_binary64
436×cube-prod_binary64
434×unswap-sqr_binary64
423×*-commutative_binary64
423×associate-*r/_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
07216
112216
222216
340216
491216
5286216
61137216
73130216
83932216
94117216
104333216
114674216
125101216
135580216
146229216
156918216
167753216
Stop Event
node limit
Counts
93 → 73
Calls
Call 1
Inputs
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (sqrt.f64 2) (pow.f64 a2 2))
(/.f64 (sqrt.f64 2) (pow.f64 a2 2))
(/.f64 (sqrt.f64 2) (pow.f64 a2 2))
(/.f64 (sqrt.f64 2) (pow.f64 a2 2))
(/.f64 (sqrt.f64 2) (pow.f64 a2 2))
(/.f64 (sqrt.f64 2) (pow.f64 a2 2))
(/.f64 (sqrt.f64 2) (pow.f64 a2 2))
(/.f64 (sqrt.f64 2) (pow.f64 a2 2))
(/.f64 (sqrt.f64 2) (pow.f64 a2 2))
(/.f64 (sqrt.f64 2) (pow.f64 a2 2))
(/.f64 (sqrt.f64 2) (pow.f64 a2 2))
(/.f64 (sqrt.f64 2) (pow.f64 a2 2))
Outputs
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(*.f64 (/.f64 a2 (sqrt.f64 2)) a2)
(*.f64 a2 (/.f64 a2 (sqrt.f64 2)))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(*.f64 (/.f64 a2 (sqrt.f64 2)) a2)
(*.f64 a2 (/.f64 a2 (sqrt.f64 2)))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(*.f64 (/.f64 a2 (sqrt.f64 2)) a2)
(*.f64 a2 (/.f64 a2 (sqrt.f64 2)))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(*.f64 (/.f64 a2 (sqrt.f64 2)) a2)
(*.f64 a2 (/.f64 a2 (sqrt.f64 2)))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(*.f64 (/.f64 a2 (sqrt.f64 2)) a2)
(*.f64 a2 (/.f64 a2 (sqrt.f64 2)))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(*.f64 (/.f64 a2 (sqrt.f64 2)) a2)
(*.f64 a2 (/.f64 a2 (sqrt.f64 2)))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(*.f64 (/.f64 a2 (sqrt.f64 2)) a2)
(*.f64 a2 (/.f64 a2 (sqrt.f64 2)))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(*.f64 (/.f64 a2 (sqrt.f64 2)) a2)
(*.f64 a2 (/.f64 a2 (sqrt.f64 2)))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(*.f64 (/.f64 a2 (sqrt.f64 2)) a2)
(*.f64 a2 (/.f64 a2 (sqrt.f64 2)))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(*.f64 (/.f64 a2 (sqrt.f64 2)) a2)
(*.f64 a2 (/.f64 a2 (sqrt.f64 2)))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(*.f64 (/.f64 a2 (sqrt.f64 2)) a2)
(*.f64 a2 (/.f64 a2 (sqrt.f64 2)))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(*.f64 (/.f64 a2 (sqrt.f64 2)) a2)
(*.f64 a2 (/.f64 a2 (sqrt.f64 2)))
(/.f64 (sqrt.f64 2) (pow.f64 a2 2))
(/.f64 (sqrt.f64 2) (*.f64 a2 a2))
(/.f64 (/.f64 (sqrt.f64 2) a2) a2)
(/.f64 (sqrt.f64 2) (pow.f64 a2 2))
(/.f64 (sqrt.f64 2) (*.f64 a2 a2))
(/.f64 (/.f64 (sqrt.f64 2) a2) a2)
(/.f64 (sqrt.f64 2) (pow.f64 a2 2))
(/.f64 (sqrt.f64 2) (*.f64 a2 a2))
(/.f64 (/.f64 (sqrt.f64 2) a2) a2)
(/.f64 (sqrt.f64 2) (pow.f64 a2 2))
(/.f64 (sqrt.f64 2) (*.f64 a2 a2))
(/.f64 (/.f64 (sqrt.f64 2) a2) a2)
(/.f64 (sqrt.f64 2) (pow.f64 a2 2))
(/.f64 (sqrt.f64 2) (*.f64 a2 a2))
(/.f64 (/.f64 (sqrt.f64 2) a2) a2)
(/.f64 (sqrt.f64 2) (pow.f64 a2 2))
(/.f64 (sqrt.f64 2) (*.f64 a2 a2))
(/.f64 (/.f64 (sqrt.f64 2) a2) a2)
(/.f64 (sqrt.f64 2) (pow.f64 a2 2))
(/.f64 (sqrt.f64 2) (*.f64 a2 a2))
(/.f64 (/.f64 (sqrt.f64 2) a2) a2)
(/.f64 (sqrt.f64 2) (pow.f64 a2 2))
(/.f64 (sqrt.f64 2) (*.f64 a2 a2))
(/.f64 (/.f64 (sqrt.f64 2) a2) a2)
(/.f64 (sqrt.f64 2) (pow.f64 a2 2))
(/.f64 (sqrt.f64 2) (*.f64 a2 a2))
(/.f64 (/.f64 (sqrt.f64 2) a2) a2)
(/.f64 (sqrt.f64 2) (pow.f64 a2 2))
(/.f64 (sqrt.f64 2) (*.f64 a2 a2))
(/.f64 (/.f64 (sqrt.f64 2) a2) a2)
(/.f64 (sqrt.f64 2) (pow.f64 a2 2))
(/.f64 (sqrt.f64 2) (*.f64 a2 a2))
(/.f64 (/.f64 (sqrt.f64 2) a2) a2)
(/.f64 (sqrt.f64 2) (pow.f64 a2 2))
(/.f64 (sqrt.f64 2) (*.f64 a2 a2))
(/.f64 (/.f64 (sqrt.f64 2) a2) a2)

localize28.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 -1/2 (*.f64 th (*.f64 a1 th)))
0.3b
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 a1 (+.f64 a1 (*.f64 -1/2 (*.f64 th (*.f64 a1 th)))))))
0.9b
(/.f64 (sqrt.f64 2) (*.f64 a1 (+.f64 a1 (*.f64 -1/2 (*.f64 th (*.f64 a1 th))))))
2.4b
(*.f64 a1 (+.f64 a1 (*.f64 -1/2 (*.f64 th (*.f64 a1 th)))))
Compiler

Compiled 75 to 35 computations (53.3% saved)

series18.0ms (0.1%)

Counts
4 → 96
Calls

24 calls:

TimeVariablePointExpression
3.0ms
th
@inf
(/.f64 (sqrt.f64 2) (*.f64 a1 (+.f64 a1 (*.f64 -1/2 (*.f64 th (*.f64 a1 th))))))
1.0ms
a1
@0
(*.f64 a1 (+.f64 a1 (*.f64 -1/2 (*.f64 th (*.f64 a1 th)))))
1.0ms
a1
@0
(/.f64 (sqrt.f64 2) (*.f64 a1 (+.f64 a1 (*.f64 -1/2 (*.f64 th (*.f64 a1 th))))))
1.0ms
a1
@-inf
(/.f64 (sqrt.f64 2) (*.f64 a1 (+.f64 a1 (*.f64 -1/2 (*.f64 th (*.f64 a1 th))))))
1.0ms
a1
@-inf
(*.f64 a1 (+.f64 a1 (*.f64 -1/2 (*.f64 th (*.f64 a1 th)))))

rewrite93.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
778×log-prod_binary64
371×pow2_binary64
343×fma-def_binary64
263×pow1/3_binary64
255×expm1-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01471
130662
2415362
Stop Event
node limit
Counts
4 → 179
Calls
Call 1
Inputs
(*.f64 a1 (+.f64 a1 (*.f64 -1/2 (*.f64 th (*.f64 a1 th)))))
(/.f64 (sqrt.f64 2) (*.f64 a1 (+.f64 a1 (*.f64 -1/2 (*.f64 th (*.f64 a1 th))))))
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 a1 (+.f64 a1 (*.f64 -1/2 (*.f64 th (*.f64 a1 th)))))))
(*.f64 -1/2 (*.f64 th (*.f64 a1 th)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 a1 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 a1 a1) (*.f64 -1/2 (pow.f64 (*.f64 a1 th) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -1/2 (pow.f64 (*.f64 a1 th) 2)) (*.f64 a1 a1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 a1 a1) 1) (*.f64 (*.f64 -1/2 (pow.f64 (*.f64 a1 th) 2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 a1) (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 a1) (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 a1) (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 a1) (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 a1 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 a1 a1) 3) (pow.f64 (*.f64 -1/2 (pow.f64 (*.f64 a1 th) 2)) 3)) (+.f64 (pow.f64 (*.f64 a1 a1) 2) (-.f64 (pow.f64 (*.f64 -1/2 (pow.f64 (*.f64 a1 th) 2)) 2) (*.f64 (*.f64 a1 a1) (*.f64 -1/2 (pow.f64 (*.f64 a1 th) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 a1 a1) 2) (pow.f64 (*.f64 -1/2 (pow.f64 (*.f64 a1 th) 2)) 2)) (-.f64 (*.f64 a1 a1) (*.f64 -1/2 (pow.f64 (*.f64 a1 th) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 (pow.f64 (*.f64 a1 (*.f64 th th)) 3) -1/8 (pow.f64 a1 3)) a1) (-.f64 (fma.f64 a1 a1 (pow.f64 (*.f64 (*.f64 a1 th) (*.f64 -1/2 th)) 2)) (*.f64 -1/2 (pow.f64 (*.f64 a1 th) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 a1 a1) (pow.f64 (*.f64 (*.f64 a1 th) (*.f64 -1/2 th)) 2)) a1) (-.f64 a1 (*.f64 (*.f64 a1 th) (*.f64 -1/2 th))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a1 (fma.f64 (pow.f64 (*.f64 a1 (*.f64 th th)) 3) -1/8 (pow.f64 a1 3))) (-.f64 (fma.f64 a1 a1 (pow.f64 (*.f64 (*.f64 a1 th) (*.f64 -1/2 th)) 2)) (*.f64 -1/2 (pow.f64 (*.f64 a1 th) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a1 (-.f64 (*.f64 a1 a1) (pow.f64 (*.f64 (*.f64 a1 th) (*.f64 -1/2 th)) 2))) (-.f64 a1 (*.f64 (*.f64 a1 th) (*.f64 -1/2 th))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 a1 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 a1 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 a1 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (hypot.f64 a1 (sqrt.f64 (*.f64 -1/2 (pow.f64 (*.f64 a1 th) 2)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 a1 3) (pow.f64 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1) 3) (pow.f64 a1 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 a1 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 a1) (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 a1 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 -1/2 (pow.f64 (*.f64 a1 th) 2))) (exp.f64 (*.f64 a1 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 a1 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 a1 3) (pow.f64 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1) 3) (pow.f64 a1 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 a1 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 a1 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 a1 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 a1 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a1 a1 (*.f64 -1/2 (pow.f64 (*.f64 a1 th) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a1 (*.f64 (*.f64 a1 th) (*.f64 -1/2 th)) (*.f64 a1 a1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1/2 (pow.f64 (*.f64 a1 th) 2) (*.f64 a1 a1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a1 (*.f64 th th)) (*.f64 -1/2 a1) (*.f64 a1 a1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 a1 th) (*.f64 -1/2 th)) a1 (*.f64 a1 a1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 a1 a1) (*.f64 -1/2 (pow.f64 (*.f64 a1 th) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 -1/2 (pow.f64 (*.f64 a1 th) 2)) (*.f64 a1 a1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (*.f64 a1 th) 2) -1/2 (*.f64 a1 a1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a1 a1) 1 (*.f64 (*.f64 -1/2 (pow.f64 (*.f64 a1 th) 2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 a1 a1)) (*.f64 (cbrt.f64 a1) a1) (*.f64 -1/2 (pow.f64 (*.f64 a1 th) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 a1 a1)) (*.f64 (cbrt.f64 a1) (*.f64 (*.f64 a1 th) (*.f64 -1/2 th))) (*.f64 a1 a1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 a1 th) (*.f64 -1/2 th))) 2) (*.f64 (cbrt.f64 (*.f64 (*.f64 a1 th) (*.f64 -1/2 th))) a1) (*.f64 a1 a1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 a1) (*.f64 (sqrt.f64 a1) a1) (*.f64 -1/2 (pow.f64 (*.f64 a1 th) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 a1) (*.f64 (sqrt.f64 a1) (*.f64 (*.f64 a1 th) (*.f64 -1/2 th))) (*.f64 a1 a1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (*.f64 a1 th) (*.f64 -1/2 th))) (*.f64 (sqrt.f64 (*.f64 (*.f64 a1 th) (*.f64 -1/2 th))) a1) (*.f64 a1 a1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/2 th) (*.f64 (*.f64 a1 th) a1) (*.f64 a1 a1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a1 (sqrt.f64 a1)) (sqrt.f64 a1) (*.f64 -1/2 (pow.f64 (*.f64 a1 th) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 a1 a1)) 2) (cbrt.f64 (*.f64 a1 a1)) (*.f64 -1/2 (pow.f64 (*.f64 a1 th) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 -1/2 (pow.f64 (*.f64 a1 th) 2))) 2) (cbrt.f64 (*.f64 -1/2 (pow.f64 (*.f64 a1 th) 2))) (*.f64 a1 a1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 -1/2 (pow.f64 (*.f64 a1 th) 2))) (sqrt.f64 (*.f64 -1/2 (pow.f64 (*.f64 a1 th) 2))) (*.f64 a1 a1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (*.f64 (*.f64 a1 th) (*.f64 -1/2 th))) (sqrt.f64 a1)) (*.f64 (sqrt.f64 (*.f64 (*.f64 a1 th) (*.f64 -1/2 th))) (sqrt.f64 a1)) (*.f64 a1 a1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 a1) (sqrt.f64 (*.f64 (*.f64 a1 th) (*.f64 -1/2 th)))) (*.f64 (sqrt.f64 a1) (sqrt.f64 (*.f64 (*.f64 a1 th) (*.f64 -1/2 th)))) (*.f64 a1 a1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a1 (cbrt.f64 (*.f64 a1 a1))) (cbrt.f64 a1) (*.f64 -1/2 (pow.f64 (*.f64 a1 th) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 (*.f64 a1 th) (*.f64 -1/2 th)) (cbrt.f64 (*.f64 a1 a1))) (cbrt.f64 a1) (*.f64 a1 a1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 (*.f64 a1 th) (*.f64 -1/2 th)) (sqrt.f64 a1)) (sqrt.f64 a1) (*.f64 a1 a1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a1 -1/2) (*.f64 a1 (*.f64 th th)) (*.f64 a1 a1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a1 (pow.f64 (cbrt.f64 (*.f64 (*.f64 a1 th) (*.f64 -1/2 th))) 2)) (cbrt.f64 (*.f64 (*.f64 a1 th) (*.f64 -1/2 th))) (*.f64 a1 a1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a1 (sqrt.f64 (*.f64 (*.f64 a1 th) (*.f64 -1/2 th)))) (sqrt.f64 (*.f64 (*.f64 a1 th) (*.f64 -1/2 th))) (*.f64 a1 a1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a1 (*.f64 -1/2 th)) (*.f64 a1 th) (*.f64 a1 a1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (sqrt.f64 2) (*.f64 a1 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1)))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 2) (/.f64 (/.f64 1 a1) (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (sqrt.f64 2) (*.f64 a1 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 2) (*.f64 (cbrt.f64 (sqrt.f64 2)) (/.f64 (/.f64 1 a1) (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1)))) (cbrt.f64 (/.f64 2 (pow.f64 (*.f64 a1 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 2 (pow.f64 (*.f64 a1 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1)) 2))) (cbrt.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 2 1/4) (*.f64 (pow.f64 2 1/4) (/.f64 (/.f64 1 a1) (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 2 1/4) (hypot.f64 a1 (sqrt.f64 (*.f64 -1/2 (pow.f64 (*.f64 a1 th) 2))))) (/.f64 (pow.f64 2 1/4) (hypot.f64 a1 (sqrt.f64 (*.f64 -1/2 (pow.f64 (*.f64 a1 th) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 2)) (/.f64 1 (*.f64 a1 (neg.f64 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1 a1) (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1)) (sqrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 2) a1) (/.f64 1 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 a1) (/.f64 (sqrt.f64 2) (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 2) a1) (/.f64 (cbrt.f64 (sqrt.f64 2)) (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 2 1/4) a1) (/.f64 (pow.f64 2 1/4) (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 2 1/4) (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1)) (/.f64 (pow.f64 2 1/4) a1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1)) (/.f64 (sqrt.f64 2) a1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 2) (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1)) (/.f64 (cbrt.f64 (sqrt.f64 2)) a1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 2) 1) (/.f64 (cbrt.f64 (sqrt.f64 2)) (*.f64 a1 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 2 1/4) 1) (/.f64 (pow.f64 2 1/4) (*.f64 a1 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (*.f64 a1 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1))) 2)) (/.f64 (sqrt.f64 2) (cbrt.f64 (*.f64 a1 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 2) (pow.f64 (cbrt.f64 (*.f64 a1 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1))) 2)) (cbrt.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 2 1/4) (pow.f64 (cbrt.f64 (*.f64 a1 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1))) 2)) (/.f64 (pow.f64 2 1/4) (cbrt.f64 (*.f64 a1 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (hypot.f64 a1 (sqrt.f64 (*.f64 -1/2 (pow.f64 (*.f64 a1 th) 2))))) (/.f64 (sqrt.f64 2) (hypot.f64 a1 (sqrt.f64 (*.f64 -1/2 (pow.f64 (*.f64 a1 th) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 2) (hypot.f64 a1 (sqrt.f64 (*.f64 -1/2 (pow.f64 (*.f64 a1 th) 2))))) (/.f64 (cbrt.f64 (sqrt.f64 2)) (hypot.f64 a1 (sqrt.f64 (*.f64 -1/2 (pow.f64 (*.f64 a1 th) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 (sqrt.f64 2) a1) (fma.f64 (pow.f64 (*.f64 a1 (*.f64 th th)) 3) -1/8 (pow.f64 a1 3))) (-.f64 (fma.f64 a1 a1 (pow.f64 (*.f64 (*.f64 a1 th) (*.f64 -1/2 th)) 2)) (*.f64 -1/2 (pow.f64 (*.f64 a1 th) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 (sqrt.f64 2) a1) (-.f64 (*.f64 a1 a1) (pow.f64 (*.f64 (*.f64 a1 th) (*.f64 -1/2 th)) 2))) (-.f64 a1 (*.f64 (*.f64 a1 th) (*.f64 -1/2 th))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 2 1/4) (hypot.f64 a1 (sqrt.f64 (*.f64 -1/2 (pow.f64 (*.f64 a1 th) 2))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 2 (sqrt.f64 2)) (pow.f64 (*.f64 a1 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1)) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1))) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 (neg.f64 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 2 (pow.f64 (*.f64 a1 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (*.f64 2 (sqrt.f64 2)) (pow.f64 (*.f64 a1 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1)))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 a1 (/.f64 (sqrt.f64 2) (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 a1 a1) (pow.f64 2 -1/2)) (*.f64 (*.f64 -1/2 (pow.f64 (*.f64 a1 th) 2)) (pow.f64 2 -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 2 -1/2) (*.f64 a1 a1)) (*.f64 (pow.f64 2 -1/2) (*.f64 -1/2 (pow.f64 (*.f64 a1 th) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1)))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 a1 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1)) (pow.f64 2 -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 a1 (/.f64 (sqrt.f64 2) (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1)))) (pow.f64 (cbrt.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1)))) 2) (cbrt.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1)))) (sqrt.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 1 (/.f64 (neg.f64 (sqrt.f64 2)) (*.f64 a1 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 2 -1/2) (*.f64 a1 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 2 -1/2) (/.f64 1 (/.f64 (/.f64 1 a1) (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a1 1) (/.f64 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1) (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1) 1) (/.f64 a1 (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 a1 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1))) 2) 1) (/.f64 (cbrt.f64 (*.f64 a1 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1))) (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (hypot.f64 a1 (sqrt.f64 (*.f64 -1/2 (pow.f64 (*.f64 a1 th) 2)))) 1) (/.f64 (hypot.f64 a1 (sqrt.f64 (*.f64 -1/2 (pow.f64 (*.f64 a1 th) 2)))) (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a1 (cbrt.f64 2)) (/.f64 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1) (cbrt.f64 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1) (cbrt.f64 2)) (/.f64 a1 (cbrt.f64 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 2)) (/.f64 (*.f64 a1 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1)) (cbrt.f64 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 a1 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1))) 2) (cbrt.f64 2)) (/.f64 (cbrt.f64 (*.f64 a1 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1))) (cbrt.f64 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (hypot.f64 a1 (sqrt.f64 (*.f64 -1/2 (pow.f64 (*.f64 a1 th) 2)))) (cbrt.f64 2)) (/.f64 (hypot.f64 a1 (sqrt.f64 (*.f64 -1/2 (pow.f64 (*.f64 a1 th) 2)))) (cbrt.f64 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a1 (pow.f64 2 1/4)) (/.f64 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1) (pow.f64 2 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1) (pow.f64 2 1/4)) (/.f64 a1 (pow.f64 2 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 2 1/4)) (/.f64 (*.f64 a1 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1)) (pow.f64 2 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 a1 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1))) 2) (pow.f64 2 1/4)) (/.f64 (cbrt.f64 (*.f64 a1 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1))) (pow.f64 2 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (hypot.f64 a1 (sqrt.f64 (*.f64 -1/2 (pow.f64 (*.f64 a1 th) 2)))) (pow.f64 2 1/4)) (/.f64 (hypot.f64 a1 (sqrt.f64 (*.f64 -1/2 (pow.f64 (*.f64 a1 th) 2)))) (pow.f64 2 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (neg.f64 (sqrt.f64 2))) (*.f64 a1 (neg.f64 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 (sqrt.f64 2) a1)) (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (/.f64 2 (pow.f64 (*.f64 a1 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1)) 2)))) (cbrt.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 2 -1/2) a1) (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 2 -1/2) (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1)) a1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 2 -1/2) 1) (*.f64 a1 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 2 -1/2) (pow.f64 (cbrt.f64 (*.f64 a1 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1))) 2)) (cbrt.f64 (*.f64 a1 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 2 -1/2) (hypot.f64 a1 (sqrt.f64 (*.f64 -1/2 (pow.f64 (*.f64 a1 th) 2))))) (hypot.f64 a1 (sqrt.f64 (*.f64 -1/2 (pow.f64 (*.f64 a1 th) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (*.f64 a1 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1)) 3) (*.f64 2 (sqrt.f64 2))) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (neg.f64 (/.f64 (neg.f64 (sqrt.f64 2)) (*.f64 a1 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (hypot.f64 a1 (sqrt.f64 (*.f64 -1/2 (pow.f64 (*.f64 a1 th) 2)))) (pow.f64 2 1/4)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (*.f64 a1 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1)) 3) (*.f64 2 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1)))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) (fma.f64 (*.f64 (*.f64 -1/2 th) a1) th a1)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a1 a1) (pow.f64 2 -1/2) (*.f64 (*.f64 -1/2 (pow.f64 (*.f64 a1 th) 2)) (pow.f64 2 -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 2 -1/2) (*.f64 a1 a1) (*.f64 (pow.f64 2 -1/2) (*.f64 -1/2 (pow.f64 (*.f64 a1 th) 2))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (*.f64 a1 th) (*.f64 -1/2 th)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 a1) th) th) -1/2)) 2)) (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 a1) th) th) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 a1) th) th) -1/2))) (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 a1) th) th) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (*.f64 a1 th) (*.f64 -1/2 th)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 a1 th) (*.f64 -1/2 th)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (*.f64 a1 th) (*.f64 -1/2 th))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (*.f64 a1 th) (*.f64 -1/2 th))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (*.f64 a1 th) (*.f64 -1/2 th)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (*.f64 a1 th) (*.f64 -1/2 th)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 a1) th) th) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (*.f64 a1 th) (*.f64 -1/2 th)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (*.f64 a1 th) (*.f64 -1/2 th)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (*.f64 a1 th) (*.f64 -1/2 th))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (*.f64 a1 th) (*.f64 -1/2 th))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (*.f64 a1 th) (*.f64 -1/2 th))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 a1 th) (*.f64 -1/2 th))) 1))))))

simplify92.0ms (0.5%)

Algorithm
egg-herbie
Rules
634×associate-*l/_binary64
493×associate-/l/_binary64
451×associate-/r/_binary64
386×associate-*r/_binary64
304×unswap-sqr_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0741854
11931748
26101680
326261626
466981626
Stop Event
node limit
Counts
275 → 217
Calls
Call 1
Inputs
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (pow.f64 a1 2))
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (pow.f64 a1 2))
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (pow.f64 a1 2))
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (pow.f64 a1 2))
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (pow.f64 a1 2))
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (pow.f64 a1 2))
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (pow.f64 a1 2))
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (pow.f64 a1 2))
(*.f64 -1 (*.f64 (pow.f64 a1 2) (-.f64 (*.f64 1/2 (pow.f64 th 2)) 1)))
(*.f64 -1 (*.f64 (pow.f64 a1 2) (-.f64 (*.f64 1/2 (pow.f64 th 2)) 1)))
(*.f64 -1 (*.f64 (pow.f64 a1 2) (-.f64 (*.f64 1/2 (pow.f64 th 2)) 1)))
(*.f64 -1 (*.f64 (pow.f64 a1 2) (-.f64 (*.f64 1/2 (pow.f64 th 2)) 1)))
(pow.f64 a1 2)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 a1 2) (pow.f64 th 2))) (pow.f64 a1 2))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 a1 2) (pow.f64 th 2))) (pow.f64 a1 2))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 a1 2) (pow.f64 th 2))) (pow.f64 a1 2))
(*.f64 -1/2 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 a1 2) (pow.f64 th 2))) (pow.f64 a1 2))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 a1 2) (pow.f64 th 2))) (pow.f64 a1 2))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 a1 2) (pow.f64 th 2))) (pow.f64 a1 2))
(*.f64 -1/2 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 a1 2) (pow.f64 th 2))) (pow.f64 a1 2))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 a1 2) (pow.f64 th 2))) (pow.f64 a1 2))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 a1 2) (pow.f64 th 2))) (pow.f64 a1 2))
(/.f64 (sqrt.f64 2) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (pow.f64 a1 2)))
(/.f64 (sqrt.f64 2) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (pow.f64 a1 2)))
(/.f64 (sqrt.f64 2) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (pow.f64 a1 2)))
(/.f64 (sqrt.f64 2) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (pow.f64 a1 2)))
(/.f64 (sqrt.f64 2) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (pow.f64 a1 2)))
(/.f64 (sqrt.f64 2) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (pow.f64 a1 2)))
(/.f64 (sqrt.f64 2) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (pow.f64 a1 2)))
(/.f64 (sqrt.f64 2) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (pow.f64 a1 2)))
(*.f64 -1 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (-.f64 (*.f64 1/2 (pow.f64 th 2)) 1))))
(*.f64 -1 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (-.f64 (*.f64 1/2 (pow.f64 th 2)) 1))))
(*.f64 -1 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (-.f64 (*.f64 1/2 (pow.f64 th 2)) 1))))
(*.f64 -1 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (-.f64 (*.f64 1/2 (pow.f64 th 2)) 1))))
(/.f64 (sqrt.f64 2) (pow.f64 a1 2))
(+.f64 (/.f64 (sqrt.f64 2) (pow.f64 a1 2)) (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 th 2)) (pow.f64 a1 2))))
(+.f64 (*.f64 1/4 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 th 4)) (pow.f64 a1 2))) (+.f64 (/.f64 (sqrt.f64 2) (pow.f64 a1 2)) (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 th 2)) (pow.f64 a1 2)))))
(+.f64 (*.f64 1/8 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 th 6)) (pow.f64 a1 2))) (+.f64 (*.f64 1/4 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 th 4)) (pow.f64 a1 2))) (+.f64 (/.f64 (sqrt.f64 2) (pow.f64 a1 2)) (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 th 2)) (pow.f64 a1 2))))))
(*.f64 -2 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (pow.f64 th 2))))
(+.f64 (*.f64 -2 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (pow.f64 th 2)))) (*.f64 -4 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (pow.f64 th 4)))))
(+.f64 (*.f64 -8 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (pow.f64 th 6)))) (+.f64 (*.f64 -2 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (pow.f64 th 2)))) (*.f64 -4 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (pow.f64 th 4))))))
(+.f64 (*.f64 -8 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (pow.f64 th 6)))) (+.f64 (*.f64 -2 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (pow.f64 th 2)))) (+.f64 (*.f64 -16 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (pow.f64 th 8)))) (*.f64 -4 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (pow.f64 th 4)))))))
(*.f64 -2 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (pow.f64 th 2))))
(+.f64 (*.f64 -2 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (pow.f64 th 2)))) (*.f64 -4 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (pow.f64 th 4)))))
(+.f64 (*.f64 -8 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (pow.f64 th 6)))) (+.f64 (*.f64 -2 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (pow.f64 th 2)))) (*.f64 -4 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (pow.f64 th 4))))))
(+.f64 (*.f64 -8 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (pow.f64 th 6)))) (+.f64 (*.f64 -2 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (pow.f64 th 2)))) (+.f64 (*.f64 -16 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (pow.f64 th 8)))) (*.f64 -4 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (pow.f64 th 4)))))))
(/.f64 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (pow.f64 a1 2)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (pow.f64 a1 2)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (pow.f64 a1 2)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (pow.f64 a1 2)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (pow.f64 a1 2)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (pow.f64 a1 2)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (pow.f64 a1 2)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (pow.f64 a1 2)) (sqrt.f64 2))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 a1 2) (-.f64 (*.f64 1/2 (pow.f64 th 2)) 1)) (sqrt.f64 2)))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 a1 2) (-.f64 (*.f64 1/2 (pow.f64 th 2)) 1)) (sqrt.f64 2)))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 a1 2) (-.f64 (*.f64 1/2 (pow.f64 th 2)) 1)) (sqrt.f64 2)))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 a1 2) (-.f64 (*.f64 1/2 (pow.f64 th 2)) 1)) (sqrt.f64 2)))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2)))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2)))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))
(*.f64 -1/2 (*.f64 a1 (pow.f64 th 2)))
(*.f64 -1/2 (*.f64 a1 (pow.f64 th 2)))
(*.f64 -1/2 (*.f64 a1 (pow.f64 th 2)))
(*.f64 -1/2 (*.f64 a1 (pow.f64 th 2)))
(*.f64 -1/2 (*.f64 a1 (pow.f64 th 2)))
(*.f64 -1/2 (*.f64 a1 (pow.f64 th 2)))
(*.f64 -1/2 (*.f64 a1 (pow.f64 th 2)))
(*.f64 -1/2 (*.f64 a1 (pow.f64 th 2)))
(*.f64 -1/2 (*.f64 a1 (pow.f64 th 2)))
(*.f64 -1/2 (*.f64 a1 (pow.f64 th 2)))
(*.f64 -1/2 (*.f64 a1 (pow.f64 th 2)))
(*.f64 -1/2 (*.f64 a1 (pow.f64 th 2)))
(*.f64 -1/2 (*.f64 a1 (pow.f64 th 2)))
(*.f64 -1/2 (*.f64 a1 (pow.f64 th 2)))
(*.f64 -1/2 (*.f64 a1 (pow.f64 th 2)))
(*.f64 -1/2 (*.f64 a1 (pow.f64 th 2)))
(*.f64 -1/2 (*.f64 a1 (pow.f64 th 2)))
(*.f64 -1/2 (*.f64 a1 (pow.f64 th 2)))
(*.f64 -1/2 (*.f64 a1 (pow.f64 th 2)))
(*.f64 -1/2 (*.f64 a1 (pow.f64 th 2)))
(*.f64 -1/2 (*.f64 a1 (pow.f64 th 2)))
(*.f64 -1/2 (*.f64 a1 (pow.f64 th 2)))
(*.f64 -1/2 (*.f64 a1 (pow.f64 th 2)))
(*.f64 -1/2 (*.f64 a1 (pow.f64 th 2)))
Outputs
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (pow.f64 a1 2))
(*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 a1 a1))
(*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (*.f64 a1 a1))
(*.f64 a1 (*.f64 a1 (fma.f64 -1/2 (*.f64 th th) 1)))
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (pow.f64 a1 2))
(*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 a1 a1))
(*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (*.f64 a1 a1))
(*.f64 a1 (*.f64 a1 (fma.f64 -1/2 (*.f64 th th) 1)))
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (pow.f64 a1 2))
(*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 a1 a1))
(*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (*.f64 a1 a1))
(*.f64 a1 (*.f64 a1 (fma.f64 -1/2 (*.f64 th th) 1)))
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (pow.f64 a1 2))
(*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 a1 a1))
(*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (*.f64 a1 a1))
(*.f64 a1 (*.f64 a1 (fma.f64 -1/2 (*.f64 th th) 1)))
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (pow.f64 a1 2))
(*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 a1 a1))
(*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (*.f64 a1 a1))
(*.f64 a1 (*.f64 a1 (fma.f64 -1/2 (*.f64 th th) 1)))
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (pow.f64 a1 2))
(*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 a1 a1))
(*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (*.f64 a1 a1))
(*.f64 a1 (*.f64 a1 (fma.f64 -1/2 (*.f64 th th) 1)))
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (pow.f64 a1 2))
(*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 a1 a1))
(*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (*.f64 a1 a1))
(*.f64 a1 (*.f64 a1 (fma.f64 -1/2 (*.f64 th th) 1)))
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (pow.f64 a1 2))
(*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 a1 a1))
(*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (*.f64 a1 a1))
(*.f64 a1 (*.f64 a1 (fma.f64 -1/2 (*.f64 th th) 1)))
(*.f64 -1 (*.f64 (pow.f64 a1 2) (-.f64 (*.f64 1/2 (pow.f64 th 2)) 1)))
(*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 a1 a1))
(*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (*.f64 a1 a1))
(*.f64 a1 (*.f64 a1 (fma.f64 -1/2 (*.f64 th th) 1)))
(*.f64 -1 (*.f64 (pow.f64 a1 2) (-.f64 (*.f64 1/2 (pow.f64 th 2)) 1)))
(*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 a1 a1))
(*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (*.f64 a1 a1))
(*.f64 a1 (*.f64 a1 (fma.f64 -1/2 (*.f64 th th) 1)))
(*.f64 -1 (*.f64 (pow.f64 a1 2) (-.f64 (*.f64 1/2 (pow.f64 th 2)) 1)))
(*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 a1 a1))
(*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (*.f64 a1 a1))
(*.f64 a1 (*.f64 a1 (fma.f64 -1/2 (*.f64 th th) 1)))
(*.f64 -1 (*.f64 (pow.f64 a1 2) (-.f64 (*.f64 1/2 (pow.f64 th 2)) 1)))
(*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 a1 a1))
(*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (*.f64 a1 a1))
(*.f64 a1 (*.f64 a1 (fma.f64 -1/2 (*.f64 th th) 1)))
(pow.f64 a1 2)
(*.f64 a1 a1)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 a1 2) (pow.f64 th 2))) (pow.f64 a1 2))
(*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 a1 a1))
(*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (*.f64 a1 a1))
(*.f64 a1 (*.f64 a1 (fma.f64 -1/2 (*.f64 th th) 1)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 a1 2) (pow.f64 th 2))) (pow.f64 a1 2))
(*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 a1 a1))
(*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (*.f64 a1 a1))
(*.f64 a1 (*.f64 a1 (fma.f64 -1/2 (*.f64 th th) 1)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 a1 2) (pow.f64 th 2))) (pow.f64 a1 2))
(*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 a1 a1))
(*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (*.f64 a1 a1))
(*.f64 a1 (*.f64 a1 (fma.f64 -1/2 (*.f64 th th) 1)))
(*.f64 -1/2 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)))
(*.f64 -1/2 (*.f64 (*.f64 th th) (*.f64 a1 a1)))
(*.f64 -1/2 (*.f64 th (*.f64 th (*.f64 a1 a1))))
(*.f64 th (*.f64 -1/2 (*.f64 th (*.f64 a1 a1))))
(*.f64 (*.f64 th th) (*.f64 -1/2 (*.f64 a1 a1)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 a1 2) (pow.f64 th 2))) (pow.f64 a1 2))
(*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 a1 a1))
(*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (*.f64 a1 a1))
(*.f64 a1 (*.f64 a1 (fma.f64 -1/2 (*.f64 th th) 1)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 a1 2) (pow.f64 th 2))) (pow.f64 a1 2))
(*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 a1 a1))
(*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (*.f64 a1 a1))
(*.f64 a1 (*.f64 a1 (fma.f64 -1/2 (*.f64 th th) 1)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 a1 2) (pow.f64 th 2))) (pow.f64 a1 2))
(*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 a1 a1))
(*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (*.f64 a1 a1))
(*.f64 a1 (*.f64 a1 (fma.f64 -1/2 (*.f64 th th) 1)))
(*.f64 -1/2 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)))
(*.f64 -1/2 (*.f64 (*.f64 th th) (*.f64 a1 a1)))
(*.f64 -1/2 (*.f64 th (*.f64 th (*.f64 a1 a1))))
(*.f64 th (*.f64 -1/2 (*.f64 th (*.f64 a1 a1))))
(*.f64 (*.f64 th th) (*.f64 -1/2 (*.f64 a1 a1)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 a1 2) (pow.f64 th 2))) (pow.f64 a1 2))
(*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 a1 a1))
(*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (*.f64 a1 a1))
(*.f64 a1 (*.f64 a1 (fma.f64 -1/2 (*.f64 th th) 1)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 a1 2) (pow.f64 th 2))) (pow.f64 a1 2))
(*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 a1 a1))
(*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (*.f64 a1 a1))
(*.f64 a1 (*.f64 a1 (fma.f64 -1/2 (*.f64 th th) 1)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 a1 2) (pow.f64 th 2))) (pow.f64 a1 2))
(*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 a1 a1))
(*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (*.f64 a1 a1))
(*.f64 a1 (*.f64 a1 (fma.f64 -1/2 (*.f64 th th) 1)))
(/.f64 (sqrt.f64 2) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (pow.f64 a1 2)))
(/.f64 (sqrt.f64 2) (*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 a1 a1)))
(/.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)) (fma.f64 -1/2 (*.f64 th th) 1))
(/.f64 (sqrt.f64 2) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (pow.f64 a1 2)))
(/.f64 (sqrt.f64 2) (*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 a1 a1)))
(/.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)) (fma.f64 -1/2 (*.f64 th th) 1))
(/.f64 (sqrt.f64 2) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (pow.f64 a1 2)))
(/.f64 (sqrt.f64 2) (*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 a1 a1)))
(/.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)) (fma.f64 -1/2 (*.f64 th th) 1))
(/.f64 (sqrt.f64 2) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (pow.f64 a1 2)))
(/.f64 (sqrt.f64 2) (*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 a1 a1)))
(/.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)) (fma.f64 -1/2 (*.f64 th th) 1))
(/.f64 (sqrt.f64 2) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (pow.f64 a1 2)))
(/.f64 (sqrt.f64 2) (*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 a1 a1)))
(/.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)) (fma.f64 -1/2 (*.f64 th th) 1))
(/.f64 (sqrt.f64 2) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (pow.f64 a1 2)))
(/.f64 (sqrt.f64 2) (*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 a1 a1)))
(/.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)) (fma.f64 -1/2 (*.f64 th th) 1))
(/.f64 (sqrt.f64 2) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (pow.f64 a1 2)))
(/.f64 (sqrt.f64 2) (*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 a1 a1)))
(/.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)) (fma.f64 -1/2 (*.f64 th th) 1))
(/.f64 (sqrt.f64 2) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (pow.f64 a1 2)))
(/.f64 (sqrt.f64 2) (*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 a1 a1)))
(/.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)) (fma.f64 -1/2 (*.f64 th th) 1))
(*.f64 -1 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (-.f64 (*.f64 1/2 (pow.f64 th 2)) 1))))
(neg.f64 (/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (fma.f64 1/2 (*.f64 th th) -1))))
(/.f64 (neg.f64 (sqrt.f64 2)) (*.f64 a1 (*.f64 a1 (fma.f64 (*.f64 th th) 1/2 -1))))
(/.f64 (neg.f64 (sqrt.f64 2)) (*.f64 a1 (*.f64 a1 (fma.f64 th (*.f64 th 1/2) -1))))
(/.f64 (neg.f64 (sqrt.f64 2)) (*.f64 (*.f64 a1 a1) (fma.f64 th (*.f64 th 1/2) -1)))
(*.f64 -1 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (-.f64 (*.f64 1/2 (pow.f64 th 2)) 1))))
(neg.f64 (/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (fma.f64 1/2 (*.f64 th th) -1))))
(/.f64 (neg.f64 (sqrt.f64 2)) (*.f64 a1 (*.f64 a1 (fma.f64 (*.f64 th th) 1/2 -1))))
(/.f64 (neg.f64 (sqrt.f64 2)) (*.f64 a1 (*.f64 a1 (fma.f64 th (*.f64 th 1/2) -1))))
(/.f64 (neg.f64 (sqrt.f64 2)) (*.f64 (*.f64 a1 a1) (fma.f64 th (*.f64 th 1/2) -1)))
(*.f64 -1 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (-.f64 (*.f64 1/2 (pow.f64 th 2)) 1))))
(neg.f64 (/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (fma.f64 1/2 (*.f64 th th) -1))))
(/.f64 (neg.f64 (sqrt.f64 2)) (*.f64 a1 (*.f64 a1 (fma.f64 (*.f64 th th) 1/2 -1))))
(/.f64 (neg.f64 (sqrt.f64 2)) (*.f64 a1 (*.f64 a1 (fma.f64 th (*.f64 th 1/2) -1))))
(/.f64 (neg.f64 (sqrt.f64 2)) (*.f64 (*.f64 a1 a1) (fma.f64 th (*.f64 th 1/2) -1)))
(*.f64 -1 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (-.f64 (*.f64 1/2 (pow.f64 th 2)) 1))))
(neg.f64 (/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (fma.f64 1/2 (*.f64 th th) -1))))
(/.f64 (neg.f64 (sqrt.f64 2)) (*.f64 a1 (*.f64 a1 (fma.f64 (*.f64 th th) 1/2 -1))))
(/.f64 (neg.f64 (sqrt.f64 2)) (*.f64 a1 (*.f64 a1 (fma.f64 th (*.f64 th 1/2) -1))))
(/.f64 (neg.f64 (sqrt.f64 2)) (*.f64 (*.f64 a1 a1) (fma.f64 th (*.f64 th 1/2) -1)))
(/.f64 (sqrt.f64 2) (pow.f64 a1 2))
(/.f64 (sqrt.f64 2) (*.f64 a1 a1))
(+.f64 (/.f64 (sqrt.f64 2) (pow.f64 a1 2)) (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 th 2)) (pow.f64 a1 2))))
(+.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)) (*.f64 1/2 (/.f64 (sqrt.f64 2) (/.f64 (*.f64 a1 a1) (*.f64 th th)))))
(fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)) (*.f64 th th)) (/.f64 (sqrt.f64 2) (*.f64 a1 a1)))
(fma.f64 1/2 (*.f64 (*.f64 th th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))) (/.f64 (sqrt.f64 2) (*.f64 a1 a1)))
(+.f64 (*.f64 1/4 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 th 4)) (pow.f64 a1 2))) (+.f64 (/.f64 (sqrt.f64 2) (pow.f64 a1 2)) (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 th 2)) (pow.f64 a1 2)))))
(fma.f64 1/4 (/.f64 (sqrt.f64 2) (/.f64 (*.f64 a1 a1) (pow.f64 th 4))) (+.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)) (*.f64 1/2 (/.f64 (sqrt.f64 2) (/.f64 (*.f64 a1 a1) (*.f64 th th))))))
(fma.f64 1/4 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)) (pow.f64 th 4)) (fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)) (*.f64 th th)) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))))
(fma.f64 1/2 (*.f64 (*.f64 th th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))) (fma.f64 (/.f64 1/4 a1) (/.f64 (sqrt.f64 2) (/.f64 a1 (pow.f64 th 4))) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))))
(+.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)) (*.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)) (+.f64 (*.f64 th (*.f64 th 1/2)) (*.f64 1/4 (pow.f64 th 4)))))
(+.f64 (*.f64 1/8 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 th 6)) (pow.f64 a1 2))) (+.f64 (*.f64 1/4 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 th 4)) (pow.f64 a1 2))) (+.f64 (/.f64 (sqrt.f64 2) (pow.f64 a1 2)) (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 th 2)) (pow.f64 a1 2))))))
(fma.f64 1/8 (/.f64 (sqrt.f64 2) (/.f64 (*.f64 a1 a1) (pow.f64 th 6))) (fma.f64 1/4 (/.f64 (sqrt.f64 2) (/.f64 (*.f64 a1 a1) (pow.f64 th 4))) (+.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)) (*.f64 1/2 (/.f64 (sqrt.f64 2) (/.f64 (*.f64 a1 a1) (*.f64 th th)))))))
(fma.f64 1/8 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)) (pow.f64 th 6)) (fma.f64 1/4 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)) (pow.f64 th 4)) (fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)) (*.f64 th th)) (/.f64 (sqrt.f64 2) (*.f64 a1 a1)))))
(fma.f64 1/4 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)) (pow.f64 th 4)) (fma.f64 1/8 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)) (pow.f64 th 6)) (fma.f64 1/2 (*.f64 (*.f64 th th) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))) (/.f64 (sqrt.f64 2) (*.f64 a1 a1)))))
(+.f64 (fma.f64 1/4 (/.f64 (sqrt.f64 2) (*.f64 (/.f64 a1 (pow.f64 th 4)) a1)) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))) (*.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)) (+.f64 (*.f64 th (*.f64 th 1/2)) (*.f64 1/8 (pow.f64 th 6)))))
(*.f64 -2 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (pow.f64 th 2))))
(*.f64 -2 (/.f64 (sqrt.f64 2) (*.f64 (*.f64 th th) (*.f64 a1 a1))))
(*.f64 -2 (/.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)) (*.f64 th th)))
(*.f64 -2 (/.f64 (/.f64 (sqrt.f64 2) (*.f64 th th)) (*.f64 a1 a1)))
(*.f64 (/.f64 (sqrt.f64 2) (*.f64 (*.f64 th th) a1)) (/.f64 -2 a1))
(+.f64 (*.f64 -2 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (pow.f64 th 2)))) (*.f64 -4 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (pow.f64 th 4)))))
(fma.f64 -2 (/.f64 (sqrt.f64 2) (*.f64 (*.f64 th th) (*.f64 a1 a1))) (*.f64 -4 (/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (pow.f64 th 4)))))
(fma.f64 -2 (/.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)) (*.f64 th th)) (/.f64 (/.f64 (*.f64 (sqrt.f64 2) -4) (pow.f64 th 4)) (*.f64 a1 a1)))
(*.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)) (+.f64 (/.f64 -2 (*.f64 th th)) (/.f64 -4 (pow.f64 th 4))))
(*.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)) (+.f64 (/.f64 -4 (pow.f64 th 4)) (/.f64 -2 (*.f64 th th))))
(+.f64 (*.f64 -8 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (pow.f64 th 6)))) (+.f64 (*.f64 -2 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (pow.f64 th 2)))) (*.f64 -4 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (pow.f64 th 4))))))
(fma.f64 -8 (/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (pow.f64 th 6))) (fma.f64 -2 (/.f64 (sqrt.f64 2) (*.f64 (*.f64 th th) (*.f64 a1 a1))) (*.f64 -4 (/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (pow.f64 th 4))))))
(fma.f64 -8 (/.f64 (sqrt.f64 2) (*.f64 a1 (*.f64 a1 (pow.f64 th 6)))) (fma.f64 -2 (/.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)) (*.f64 th th)) (/.f64 (/.f64 (*.f64 (sqrt.f64 2) -4) (pow.f64 th 4)) (*.f64 a1 a1))))
(fma.f64 -2 (/.f64 (/.f64 (sqrt.f64 2) (*.f64 th th)) (*.f64 a1 a1)) (*.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)) (+.f64 (/.f64 -4 (pow.f64 th 4)) (/.f64 -8 (pow.f64 th 6)))))
(*.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)) (+.f64 (/.f64 -2 (*.f64 th th)) (+.f64 (/.f64 -4 (pow.f64 th 4)) (/.f64 -8 (pow.f64 th 6)))))
(+.f64 (*.f64 -8 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (pow.f64 th 6)))) (+.f64 (*.f64 -2 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (pow.f64 th 2)))) (+.f64 (*.f64 -16 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (pow.f64 th 8)))) (*.f64 -4 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (pow.f64 th 4)))))))
(fma.f64 -8 (/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (pow.f64 th 6))) (fma.f64 -2 (/.f64 (sqrt.f64 2) (*.f64 (*.f64 th th) (*.f64 a1 a1))) (fma.f64 -16 (/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (pow.f64 th 8))) (*.f64 -4 (/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (pow.f64 th 4)))))))
(fma.f64 -8 (/.f64 (sqrt.f64 2) (*.f64 a1 (*.f64 a1 (pow.f64 th 6)))) (fma.f64 -2 (/.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)) (*.f64 th th)) (fma.f64 -4 (/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (pow.f64 th 4))) (*.f64 -16 (/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (pow.f64 th 8)))))))
(+.f64 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)) (+.f64 (/.f64 -16 (pow.f64 th 8)) (/.f64 -4 (pow.f64 th 4)))) (*.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)) (+.f64 (/.f64 -2 (*.f64 th th)) (/.f64 -8 (pow.f64 th 6)))))
(*.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)) (+.f64 (+.f64 (/.f64 -8 (pow.f64 th 6)) (/.f64 -2 (*.f64 th th))) (+.f64 (/.f64 -16 (pow.f64 th 8)) (/.f64 -4 (pow.f64 th 4)))))
(*.f64 -2 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (pow.f64 th 2))))
(*.f64 -2 (/.f64 (sqrt.f64 2) (*.f64 (*.f64 th th) (*.f64 a1 a1))))
(*.f64 -2 (/.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)) (*.f64 th th)))
(*.f64 -2 (/.f64 (/.f64 (sqrt.f64 2) (*.f64 th th)) (*.f64 a1 a1)))
(*.f64 (/.f64 (sqrt.f64 2) (*.f64 (*.f64 th th) a1)) (/.f64 -2 a1))
(+.f64 (*.f64 -2 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (pow.f64 th 2)))) (*.f64 -4 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (pow.f64 th 4)))))
(fma.f64 -2 (/.f64 (sqrt.f64 2) (*.f64 (*.f64 th th) (*.f64 a1 a1))) (*.f64 -4 (/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (pow.f64 th 4)))))
(fma.f64 -2 (/.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)) (*.f64 th th)) (/.f64 (/.f64 (*.f64 (sqrt.f64 2) -4) (pow.f64 th 4)) (*.f64 a1 a1)))
(*.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)) (+.f64 (/.f64 -2 (*.f64 th th)) (/.f64 -4 (pow.f64 th 4))))
(*.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)) (+.f64 (/.f64 -4 (pow.f64 th 4)) (/.f64 -2 (*.f64 th th))))
(+.f64 (*.f64 -8 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (pow.f64 th 6)))) (+.f64 (*.f64 -2 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (pow.f64 th 2)))) (*.f64 -4 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (pow.f64 th 4))))))
(fma.f64 -8 (/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (pow.f64 th 6))) (fma.f64 -2 (/.f64 (sqrt.f64 2) (*.f64 (*.f64 th th) (*.f64 a1 a1))) (*.f64 -4 (/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (pow.f64 th 4))))))
(fma.f64 -8 (/.f64 (sqrt.f64 2) (*.f64 a1 (*.f64 a1 (pow.f64 th 6)))) (fma.f64 -2 (/.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)) (*.f64 th th)) (/.f64 (/.f64 (*.f64 (sqrt.f64 2) -4) (pow.f64 th 4)) (*.f64 a1 a1))))
(fma.f64 -2 (/.f64 (/.f64 (sqrt.f64 2) (*.f64 th th)) (*.f64 a1 a1)) (*.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)) (+.f64 (/.f64 -4 (pow.f64 th 4)) (/.f64 -8 (pow.f64 th 6)))))
(*.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)) (+.f64 (/.f64 -2 (*.f64 th th)) (+.f64 (/.f64 -4 (pow.f64 th 4)) (/.f64 -8 (pow.f64 th 6)))))
(+.f64 (*.f64 -8 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (pow.f64 th 6)))) (+.f64 (*.f64 -2 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (pow.f64 th 2)))) (+.f64 (*.f64 -16 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (pow.f64 th 8)))) (*.f64 -4 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 a1 2) (pow.f64 th 4)))))))
(fma.f64 -8 (/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (pow.f64 th 6))) (fma.f64 -2 (/.f64 (sqrt.f64 2) (*.f64 (*.f64 th th) (*.f64 a1 a1))) (fma.f64 -16 (/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (pow.f64 th 8))) (*.f64 -4 (/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (pow.f64 th 4)))))))
(fma.f64 -8 (/.f64 (sqrt.f64 2) (*.f64 a1 (*.f64 a1 (pow.f64 th 6)))) (fma.f64 -2 (/.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)) (*.f64 th th)) (fma.f64 -4 (/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (pow.f64 th 4))) (*.f64 -16 (/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (pow.f64 th 8)))))))
(+.f64 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)) (+.f64 (/.f64 -16 (pow.f64 th 8)) (/.f64 -4 (pow.f64 th 4)))) (*.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)) (+.f64 (/.f64 -2 (*.f64 th th)) (/.f64 -8 (pow.f64 th 6)))))
(*.f64 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)) (+.f64 (+.f64 (/.f64 -8 (pow.f64 th 6)) (/.f64 -2 (*.f64 th th))) (+.f64 (/.f64 -16 (pow.f64 th 8)) (/.f64 -4 (pow.f64 th 4)))))
(/.f64 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (pow.f64 a1 2)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 a1 a1)) (sqrt.f64 2))
(*.f64 (/.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 2)) (*.f64 a1 a1))
(*.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (fma.f64 -1/2 (*.f64 th th) 1))
(*.f64 (*.f64 a1 a1) (/.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (pow.f64 a1 2)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 a1 a1)) (sqrt.f64 2))
(*.f64 (/.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 2)) (*.f64 a1 a1))
(*.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (fma.f64 -1/2 (*.f64 th th) 1))
(*.f64 (*.f64 a1 a1) (/.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (pow.f64 a1 2)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 a1 a1)) (sqrt.f64 2))
(*.f64 (/.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 2)) (*.f64 a1 a1))
(*.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (fma.f64 -1/2 (*.f64 th th) 1))
(*.f64 (*.f64 a1 a1) (/.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (pow.f64 a1 2)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 a1 a1)) (sqrt.f64 2))
(*.f64 (/.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 2)) (*.f64 a1 a1))
(*.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (fma.f64 -1/2 (*.f64 th th) 1))
(*.f64 (*.f64 a1 a1) (/.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (pow.f64 a1 2)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 a1 a1)) (sqrt.f64 2))
(*.f64 (/.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 2)) (*.f64 a1 a1))
(*.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (fma.f64 -1/2 (*.f64 th th) 1))
(*.f64 (*.f64 a1 a1) (/.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (pow.f64 a1 2)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 a1 a1)) (sqrt.f64 2))
(*.f64 (/.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 2)) (*.f64 a1 a1))
(*.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (fma.f64 -1/2 (*.f64 th th) 1))
(*.f64 (*.f64 a1 a1) (/.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (pow.f64 a1 2)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 a1 a1)) (sqrt.f64 2))
(*.f64 (/.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 2)) (*.f64 a1 a1))
(*.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (fma.f64 -1/2 (*.f64 th th) 1))
(*.f64 (*.f64 a1 a1) (/.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (pow.f64 a1 2)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 a1 a1)) (sqrt.f64 2))
(*.f64 (/.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 2)) (*.f64 a1 a1))
(*.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (fma.f64 -1/2 (*.f64 th th) 1))
(*.f64 (*.f64 a1 a1) (/.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 2)))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 a1 2) (-.f64 (*.f64 1/2 (pow.f64 th 2)) 1)) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 a1 a1)) (sqrt.f64 2))
(*.f64 (/.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 2)) (*.f64 a1 a1))
(*.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (fma.f64 -1/2 (*.f64 th th) 1))
(*.f64 (*.f64 a1 a1) (/.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 2)))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 a1 2) (-.f64 (*.f64 1/2 (pow.f64 th 2)) 1)) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 a1 a1)) (sqrt.f64 2))
(*.f64 (/.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 2)) (*.f64 a1 a1))
(*.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (fma.f64 -1/2 (*.f64 th th) 1))
(*.f64 (*.f64 a1 a1) (/.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 2)))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 a1 2) (-.f64 (*.f64 1/2 (pow.f64 th 2)) 1)) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 a1 a1)) (sqrt.f64 2))
(*.f64 (/.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 2)) (*.f64 a1 a1))
(*.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (fma.f64 -1/2 (*.f64 th th) 1))
(*.f64 (*.f64 a1 a1) (/.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 2)))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 a1 2) (-.f64 (*.f64 1/2 (pow.f64 th 2)) 1)) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 a1 a1)) (sqrt.f64 2))
(*.f64 (/.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 2)) (*.f64 a1 a1))
(*.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (fma.f64 -1/2 (*.f64 th th) 1))
(*.f64 (*.f64 a1 a1) (/.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 2)))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(/.f64 (*.f64 a1 a1) (sqrt.f64 2))
(/.f64 a1 (/.f64 (sqrt.f64 2) a1))
(*.f64 (/.f64 a1 (sqrt.f64 2)) a1)
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 a1 a1)) (sqrt.f64 2))
(*.f64 (/.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 2)) (*.f64 a1 a1))
(*.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (fma.f64 -1/2 (*.f64 th th) 1))
(*.f64 (*.f64 a1 a1) (/.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 2)))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 a1 a1)) (sqrt.f64 2))
(*.f64 (/.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 2)) (*.f64 a1 a1))
(*.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (fma.f64 -1/2 (*.f64 th th) 1))
(*.f64 (*.f64 a1 a1) (/.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 2)))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 a1 a1)) (sqrt.f64 2))
(*.f64 (/.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 2)) (*.f64 a1 a1))
(*.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (fma.f64 -1/2 (*.f64 th th) 1))
(*.f64 (*.f64 a1 a1) (/.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 2)))
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2)))
(*.f64 -1/2 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (*.f64 th th))))
(*.f64 -1/2 (*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (*.f64 th th)))
(*.f64 -1/2 (/.f64 th (/.f64 (sqrt.f64 2) (*.f64 th (*.f64 a1 a1)))))
(*.f64 -1/2 (*.f64 (/.f64 a1 (sqrt.f64 2)) (*.f64 (*.f64 th th) a1)))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 a1 a1)) (sqrt.f64 2))
(*.f64 (/.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 2)) (*.f64 a1 a1))
(*.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (fma.f64 -1/2 (*.f64 th th) 1))
(*.f64 (*.f64 a1 a1) (/.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 2)))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 a1 a1)) (sqrt.f64 2))
(*.f64 (/.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 2)) (*.f64 a1 a1))
(*.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (fma.f64 -1/2 (*.f64 th th) 1))
(*.f64 (*.f64 a1 a1) (/.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 2)))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 a1 a1)) (sqrt.f64 2))
(*.f64 (/.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 2)) (*.f64 a1 a1))
(*.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (fma.f64 -1/2 (*.f64 th th) 1))
(*.f64 (*.f64 a1 a1) (/.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 2)))
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2)))
(*.f64 -1/2 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (*.f64 th th))))
(*.f64 -1/2 (*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (*.f64 th th)))
(*.f64 -1/2 (/.f64 th (/.f64 (sqrt.f64 2) (*.f64 th (*.f64 a1 a1)))))
(*.f64 -1/2 (*.f64 (/.f64 a1 (sqrt.f64 2)) (*.f64 (*.f64 th th) a1)))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 a1 a1)) (sqrt.f64 2))
(*.f64 (/.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 2)) (*.f64 a1 a1))
(*.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (fma.f64 -1/2 (*.f64 th th) 1))
(*.f64 (*.f64 a1 a1) (/.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 2)))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 a1 a1)) (sqrt.f64 2))
(*.f64 (/.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 2)) (*.f64 a1 a1))
(*.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (fma.f64 -1/2 (*.f64 th th) 1))
(*.f64 (*.f64 a1 a1) (/.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 2)))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))
(/.f64 (*.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 a1 a1)) (sqrt.f64 2))
(*.f64 (/.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 2)) (*.f64 a1 a1))
(*.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (fma.f64 -1/2 (*.f64 th th) 1))
(*.f64 (*.f64 a1 a1) (/.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 2)))
(*.f64 -1/2 (*.f64 a1 (pow.f64 th 2)))
(*.f64 -1/2 (*.f64 (*.f64 th th) a1))
(*.f64 -1/2 (*.f64 th (*.f64 th a1)))
(*.f64 -1/2 (*.f64 a1 (pow.f64 th 2)))
(*.f64 -1/2 (*.f64 (*.f64 th th) a1))
(*.f64 -1/2 (*.f64 th (*.f64 th a1)))
(*.f64 -1/2 (*.f64 a1 (pow.f64 th 2)))
(*.f64 -1/2 (*.f64 (*.f64 th th) a1))
(*.f64 -1/2 (*.f64 th (*.f64 th a1)))
(*.f64 -1/2 (*.f64 a1 (pow.f64 th 2)))
(*.f64 -1/2 (*.f64 (*.f64 th th) a1))
(*.f64 -1/2 (*.f64 th (*.f64 th a1)))
(*.f64 -1/2 (*.f64 a1 (pow.f64 th 2)))
(*.f64 -1/2 (*.f64 (*.f64 th th) a1))
(*.f64 -1/2 (*.f64 th (*.f64 th a1)))
(*.f64 -1/2 (*.f64 a1 (pow.f64 th 2)))
(*.f64 -1/2 (*.f64 (*.f64 th th) a1))
(*.f64 -1/2 (*.f64 th (*.f64 th a1)))
(*.f64 -1/2 (*.f64 a1 (pow.f64 th 2)))
(*.f64 -1/2 (*.f64 (*.f64 th th) a1))
(*.f64 -1/2 (*.f64 th (*.f64 th a1)))
(*.f64 -1/2 (*.f64 a1 (pow.f64 th 2)))
(*.f64 -1/2 (*.f64 (*.f64 th th) a1))
(*.f64 -1/2 (*.f64 th (*.f64 th a1)))
(*.f64 -1/2 (*.f64 a1 (pow.f64 th 2)))
(*.f64 -1/2 (*.f64 (*.f64 th th) a1))
(*.f64 -1/2 (*.f64 th (*.f64 th a1)))
(*.f64 -1/2 (*.f64 a1 (pow.f64 th 2)))
(*.f64 -1/2 (*.f64 (*.f64 th th) a1))
(*.f64 -1/2 (*.f64 th (*.f64 th a1)))
(*.f64 -1/2 (*.f64 a1 (pow.f64 th 2)))
(*.f64 -1/2 (*.f64 (*.f64 th th) a1))
(*.f64 -1/2 (*.f64 th (*.f64 th a1)))
(*.f64 -1/2 (*.f64 a1 (pow.f64 th 2)))
(*.f64 -1/2 (*.f64 (*.f64 th th) a1))
(*.f64 -1/2 (*.f64 th (*.f64 th a1)))
(*.f64 -1/2 (*.f64 a1 (pow.f64 th 2)))
(*.f64 -1/2 (*.f64 (*.f64 th th) a1))
(*.f64 -1/2 (*.f64 th (*.f64 th a1)))
(*.f64 -1/2 (*.f64 a1 (pow.f64 th 2)))
(*.f64 -1/2 (*.f64 (*.f64 th th) a1))
(*.f64 -1/2 (*.f64 th (*.f64 th a1)))
(*.f64 -1/2 (*.f64 a1 (pow.f64 th 2)))
(*.f64 -1/2 (*.f64 (*.f64 th th) a1))
(*.f64 -1/2 (*.f64 th (*.f64 th a1)))
(*.f64 -1/2 (*.f64 a1 (pow.f64 th 2)))
(*.f64 -1/2 (*.f64 (*.f64 th th) a1))
(*.f64 -1/2 (*.f64 th (*.f64 th a1)))
(*.f64 -1/2 (*.f64 a1 (pow.f64 th 2)))
(*.f64 -1/2 (*.f64 (*.f64 th th) a1))
(*.f64 -1/2 (*.f64 th (*.f64 th a1)))
(*.f64 -1/2 (*.f64 a1 (pow.f64 th 2)))
(*.f64 -1/2 (*.f64 (*.f64 th th) a1))
(*.f64 -1/2 (*.f64 th (*.f64 th a1)))
(*.f64 -1/2 (*.f64 a1 (pow.f64 th 2)))
(*.f64 -1/2 (*.f64 (*.f64 th th) a1))
(*.f64 -1/2 (*.f64 th (*.f64 th a1)))
(*.f64 -1/2 (*.f64 a1 (pow.f64 th 2)))
(*.f64 -1/2 (*.f64 (*.f64 th th) a1))
(*.f64 -1/2 (*.f64 th (*.f64 th a1)))
(*.f64 -1/2 (*.f64 a1 (pow.f64 th 2)))
(*.f64 -1/2 (*.f64 (*.f64 th th) a1))
(*.f64 -1/2 (*.f64 th (*.f64 th a1)))
(*.f64 -1/2 (*.f64 a1 (pow.f64 th 2)))
(*.f64 -1/2 (*.f64 (*.f64 th th) a1))
(*.f64 -1/2 (*.f64 th (*.f64 th a1)))
(*.f64 -1/2 (*.f64 a1 (pow.f64 th 2)))
(*.f64 -1/2 (*.f64 (*.f64 th th) a1))
(*.f64 -1/2 (*.f64 th (*.f64 th a1)))
(*.f64 -1/2 (*.f64 a1 (pow.f64 th 2)))
(*.f64 -1/2 (*.f64 (*.f64 th th) a1))
(*.f64 -1/2 (*.f64 th (*.f64 th a1)))

localize18.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (cos.f64 th))
0.2b
(*.f64 a1 (/.f64 a1 (sqrt.f64 2)))
0.4b
(/.f64 a1 (sqrt.f64 2))
Compiler

Compiled 29 to 19 computations (34.5% saved)

series3.0ms (0%)

Counts
2 → 36
Calls

9 calls:

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

rewrite86.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
931×pow1_binary64
861×add-log-exp_binary64
861×log1p-expm1-u_binary64
861×expm1-log1p-u_binary64
842×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify140.0ms (0.7%)

Algorithm
egg-herbie
Rules
1132×unswap-sqr_binary64
659×associate-*l/_binary64
607×fma-def_binary64
494×associate-*r/_binary64
371×*-commutative_binary64
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
032532
183532
2230532
3856514
42738495
54352483
65669483
75975483
86203483
96412483
Stop Event
node limit
Counts
73 → 47
Calls
Call 1
Inputs
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 4)) (sqrt.f64 2))) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (+.f64 (*.f64 -1/720 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 6)) (sqrt.f64 2))) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 4)) (sqrt.f64 2))) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
Outputs
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(/.f64 (*.f64 a1 a1) (sqrt.f64 2))
(*.f64 a1 (/.f64 a1 (sqrt.f64 2)))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(/.f64 (*.f64 a1 a1) (sqrt.f64 2))
(*.f64 a1 (/.f64 a1 (sqrt.f64 2)))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(/.f64 (*.f64 a1 a1) (sqrt.f64 2))
(*.f64 a1 (/.f64 a1 (sqrt.f64 2)))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(/.f64 (*.f64 a1 a1) (sqrt.f64 2))
(*.f64 a1 (/.f64 a1 (sqrt.f64 2)))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(/.f64 (*.f64 a1 a1) (sqrt.f64 2))
(*.f64 a1 (/.f64 a1 (sqrt.f64 2)))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(/.f64 (*.f64 a1 a1) (sqrt.f64 2))
(*.f64 a1 (/.f64 a1 (sqrt.f64 2)))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(/.f64 (*.f64 a1 a1) (sqrt.f64 2))
(*.f64 a1 (/.f64 a1 (sqrt.f64 2)))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(/.f64 (*.f64 a1 a1) (sqrt.f64 2))
(*.f64 a1 (/.f64 a1 (sqrt.f64 2)))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(/.f64 (*.f64 a1 a1) (sqrt.f64 2))
(*.f64 a1 (/.f64 a1 (sqrt.f64 2)))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(/.f64 (*.f64 a1 a1) (sqrt.f64 2))
(*.f64 a1 (/.f64 a1 (sqrt.f64 2)))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(/.f64 (*.f64 a1 a1) (sqrt.f64 2))
(*.f64 a1 (/.f64 a1 (sqrt.f64 2)))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(/.f64 (*.f64 a1 a1) (sqrt.f64 2))
(*.f64 a1 (/.f64 a1 (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (cos.f64 th))
(*.f64 a1 (*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2))))
(*.f64 a1 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) a1)))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (cos.f64 th))
(*.f64 a1 (*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2))))
(*.f64 a1 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) a1)))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (cos.f64 th))
(*.f64 a1 (*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2))))
(*.f64 a1 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) a1)))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (cos.f64 th))
(*.f64 a1 (*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2))))
(*.f64 a1 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) a1)))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (cos.f64 th))
(*.f64 a1 (*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2))))
(*.f64 a1 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) a1)))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (cos.f64 th))
(*.f64 a1 (*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2))))
(*.f64 a1 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) a1)))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (cos.f64 th))
(*.f64 a1 (*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2))))
(*.f64 a1 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) a1)))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (cos.f64 th))
(*.f64 a1 (*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2))))
(*.f64 a1 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) a1)))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (cos.f64 th))
(*.f64 a1 (*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2))))
(*.f64 a1 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) a1)))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (cos.f64 th))
(*.f64 a1 (*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2))))
(*.f64 a1 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) a1)))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (cos.f64 th))
(*.f64 a1 (*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2))))
(*.f64 a1 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) a1)))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (cos.f64 th))
(*.f64 a1 (*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2))))
(*.f64 a1 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) a1)))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(/.f64 (*.f64 a1 a1) (sqrt.f64 2))
(*.f64 a1 (/.f64 a1 (sqrt.f64 2)))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))
(fma.f64 -1/2 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (*.f64 th th))) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))
(fma.f64 -1/2 (*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (*.f64 th th)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))
(fma.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (*.f64 th (*.f64 th -1/2)) (*.f64 a1 (/.f64 a1 (sqrt.f64 2))))
(*.f64 (+.f64 (*.f64 th (*.f64 th -1/2)) 1) (*.f64 a1 (/.f64 a1 (sqrt.f64 2))))
(*.f64 (+.f64 1 (*.f64 th (*.f64 th -1/2))) (*.f64 a1 (/.f64 a1 (sqrt.f64 2))))
(*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (+.f64 1 (*.f64 th (*.f64 th -1/2))))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 4)) (sqrt.f64 2))) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))))
(fma.f64 -1/2 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (*.f64 th th))) (fma.f64 1/24 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (pow.f64 th 4))) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))))
(fma.f64 -1/2 (*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (*.f64 th th)) (fma.f64 1/24 (*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (pow.f64 th 4)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))))
(fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (+.f64 (*.f64 th (*.f64 th -1/2)) (*.f64 1/24 (pow.f64 th 4)))))
(fma.f64 a1 (/.f64 a1 (sqrt.f64 2)) (*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (fma.f64 th (*.f64 th -1/2) (*.f64 1/24 (pow.f64 th 4)))))
(*.f64 (+.f64 (fma.f64 th (*.f64 th -1/2) (*.f64 1/24 (pow.f64 th 4))) 1) (*.f64 a1 (/.f64 a1 (sqrt.f64 2))))
(*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (+.f64 1 (fma.f64 th (*.f64 th -1/2) (*.f64 1/24 (pow.f64 th 4)))))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (+.f64 (*.f64 -1/720 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 6)) (sqrt.f64 2))) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 4)) (sqrt.f64 2))) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))))
(fma.f64 -1/2 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (*.f64 th th))) (fma.f64 -1/720 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (pow.f64 th 6))) (fma.f64 1/24 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (pow.f64 th 4))) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))))
(fma.f64 -1/2 (*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (*.f64 th th)) (fma.f64 -1/720 (*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (pow.f64 th 6)) (fma.f64 1/24 (*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (pow.f64 th 4)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))))
(fma.f64 -1/2 (*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (*.f64 th th)) (fma.f64 1/24 (*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (pow.f64 th 4)) (fma.f64 -1/720 (*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (pow.f64 th 6)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))))
(fma.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (*.f64 1/24 (pow.f64 th 4)) (fma.f64 (/.f64 a1 (sqrt.f64 2)) a1 (*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (+.f64 (*.f64 th (*.f64 th -1/2)) (*.f64 -1/720 (pow.f64 th 6))))))
(fma.f64 a1 (/.f64 a1 (sqrt.f64 2)) (*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (+.f64 (*.f64 th (*.f64 th -1/2)) (fma.f64 -1/720 (pow.f64 th 6) (*.f64 1/24 (pow.f64 th 4))))))
(*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (+.f64 (+.f64 1 (*.f64 th (*.f64 th -1/2))) (fma.f64 -1/720 (pow.f64 th 6) (*.f64 1/24 (pow.f64 th 4)))))
(*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (+.f64 1 (+.f64 (*.f64 th (*.f64 th -1/2)) (fma.f64 -1/720 (pow.f64 th 6) (*.f64 1/24 (pow.f64 th 4))))))
(*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (+.f64 1 (+.f64 (*.f64 1/24 (pow.f64 th 4)) (fma.f64 th (*.f64 th -1/2) (*.f64 -1/720 (pow.f64 th 6))))))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (cos.f64 th))
(*.f64 a1 (*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2))))
(*.f64 a1 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) a1)))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (cos.f64 th))
(*.f64 a1 (*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2))))
(*.f64 a1 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) a1)))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (cos.f64 th))
(*.f64 a1 (*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2))))
(*.f64 a1 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) a1)))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (cos.f64 th))
(*.f64 a1 (*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2))))
(*.f64 a1 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) a1)))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (cos.f64 th))
(*.f64 a1 (*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2))))
(*.f64 a1 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) a1)))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (cos.f64 th))
(*.f64 a1 (*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2))))
(*.f64 a1 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) a1)))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (cos.f64 th))
(*.f64 a1 (*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2))))
(*.f64 a1 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) a1)))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (cos.f64 th))
(*.f64 a1 (*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2))))
(*.f64 a1 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) a1)))

eval502.0ms (2.7%)

Compiler

Compiled 12862 to 8360 computations (35% saved)

prune199.0ms (1.1%)

Pruning

40 alts after pruning (30 fresh and 10 done)

PrunedKeptTotal
New68017697
Fresh81321
Picked011
Done1910
Total68940729
Error
0b
Counts
729 → 40
Alt Table
Click to see full alt table
StatusErrorProgram
46.3b
(-.f64 (+.f64 1 (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) 1)
25.2b
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
39.5b
(*.f64 (/.f64 1 (/.f64 (sqrt.f64 2) a2)) a2)
28.2b
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
39.5b
(*.f64 (/.f64 1 (neg.f64 (sqrt.f64 2))) (*.f64 a2 (neg.f64 a2)))
28.2b
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)))
41.5b
(*.f64 (/.f64 a1 (sqrt.f64 2)) a1)
0.8b
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
44.6b
(*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (+.f64 1 (*.f64 th (*.f64 th -1/2))))
41.5b
(*.f64 (*.f64 (pow.f64 2 -1/2) a1) a1)
28.5b
(*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (cos.f64 th))
39.5b
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
28.2b
(*.f64 (pow.f64 2 -1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))
25.2b
(*.f64 (/.f64 1 (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
25.2b
(/.f64 1 (/.f64 (sqrt.f64 2) (fma.f64 a2 a2 (*.f64 a1 a1))))
28.2b
(*.f64 (cos.f64 th) (*.f64 a2 (/.f64 a2 (sqrt.f64 2))))
39.5b
(/.f64 a2 (/.f64 (sqrt.f64 2) a2))
28.5b
(*.f64 a1 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) a1)))
28.5b
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1))
54.6b
(*.f64 (sqrt.f64 (/.f64 (*.f64 a1 a1) 2)) a1)
39.5b
(/.f64 1 (*.f64 (pow.f64 a2 -2) (sqrt.f64 2)))
28.5b
(*.f64 (*.f64 (pow.f64 2 -1/2) a1) (*.f64 a1 (cos.f64 th)))
41.6b
(*.f64 (pow.f64 (/.f64 (sqrt.f64 2) a1) -1) a1)
47.9b
(sqrt.f64 (/.f64 1 (/.f64 2 (pow.f64 a2 4))))
39.5b
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
0.7b
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))))
28.5b
(*.f64 (*.f64 a1 a1) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
43.1b
(*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (+.f64 1 (*.f64 th (*.f64 th -1/2)))))
0.7b
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
46.1b
(*.f64 (-.f64 (+.f64 1 (/.f64 a1 (sqrt.f64 2))) 1) a1)
39.5b
(*.f64 a2 (/.f64 a2 (sqrt.f64 2)))
41.5b
(/.f64 a1 (/.f64 (sqrt.f64 2) a1))
44.9b
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 a1 (+.f64 a1 (*.f64 -1/2 (*.f64 th (*.f64 a1 th)))))))
39.5b
(*.f64 (pow.f64 2 -1/2) (*.f64 a2 a2))
28.0b
(*.f64 a2 (*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2))))
58.4b
(*.f64 -1/2 (*.f64 (/.f64 a1 (sqrt.f64 2)) (*.f64 (*.f64 th th) a1)))
42.3b
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (+.f64 1 (*.f64 -1/2 (*.f64 th th))))
27.9b
(*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th)))
57.9b
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 (*.f64 th th) (*.f64 -1/2 (*.f64 a1 a1)))))
41.5b
(/.f64 (*.f64 a1 a1) (sqrt.f64 2))
Compiler

Compiled 506 to 388 computations (23.3% saved)

regimes558.0ms (3%)

Counts
71 → 1
Calls
Call 1
Inputs
(/.f64 a1 (/.f64 (sqrt.f64 2) a1))
(/.f64 (*.f64 a1 a1) (sqrt.f64 2))
(*.f64 (/.f64 a1 (sqrt.f64 2)) a1)
(/.f64 a2 (/.f64 (sqrt.f64 2) a2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(*.f64 a2 (/.f64 a2 (sqrt.f64 2)))
(*.f64 (*.f64 (pow.f64 2 -1/2) a1) a1)
(*.f64 (pow.f64 2 -1/2) (*.f64 a2 a2))
(*.f64 a2 (*.f64 (pow.f64 2 -1/2) a2))
(*.f64 (/.f64 1 (/.f64 (sqrt.f64 2) a2)) a2)
(*.f64 (sqrt.f64 (/.f64 (*.f64 a1 a1) 2)) a1)
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)))
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 a2 (sqrt.f64 (/.f64 (*.f64 a2 a2) 2)))
(-.f64 (+.f64 1 (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) 1)
(*.f64 (/.f64 1 (neg.f64 (sqrt.f64 2))) (*.f64 a2 (neg.f64 a2)))
(*.f64 (-.f64 (+.f64 1 (/.f64 a1 (sqrt.f64 2))) 1) a1)
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(-.f64 (+.f64 1 (*.f64 a2 (/.f64 a2 (sqrt.f64 2)))) 1)
(*.f64 -1/2 (*.f64 (/.f64 a1 (sqrt.f64 2)) (*.f64 (*.f64 th th) a1)))
(*.f64 (/.f64 1 (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (+.f64 1 (*.f64 th (*.f64 th -1/2))))
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 (*.f64 th th) (*.f64 -1/2 (*.f64 a1 a1)))))
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (+.f64 1 (*.f64 -1/2 (*.f64 th th))))
(*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (+.f64 1 (*.f64 th (*.f64 th -1/2)))))
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 a1 (+.f64 a1 (*.f64 -1/2 (*.f64 th (*.f64 a1 th)))))))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(/.f64 1 (*.f64 (pow.f64 a2 -2) (sqrt.f64 2)))
(*.f64 (pow.f64 (/.f64 (sqrt.f64 2) a1) -1) a1)
(sqrt.f64 (/.f64 1 (/.f64 2 (pow.f64 a2 4))))
(*.f64 a2 (pow.f64 (/.f64 (sqrt.f64 2) a2) -1))
(*.f64 a1 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) a1)))
(*.f64 (*.f64 a1 a1) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)))
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (cos.f64 th))
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 a2 (cos.f64 th)) a2) (sqrt.f64 2))
(*.f64 (cos.f64 th) (*.f64 a2 (/.f64 a2 (sqrt.f64 2))))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1))
(*.f64 a2 (*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2))))
(*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (cos.f64 th))
(*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (cos.f64 th))
(*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th)))
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2))
(*.f64 (*.f64 (pow.f64 2 -1/2) a1) (*.f64 a1 (cos.f64 th)))
(*.f64 (pow.f64 2 -1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))
(*.f64 (cos.f64 th) (*.f64 (*.f64 a2 a2) (pow.f64 2 -1/2)))
(/.f64 1 (/.f64 (sqrt.f64 2) (fma.f64 a2 a2 (*.f64 a1 a1))))
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (cos.f64 th))))
(/.f64 1 (/.f64 (sqrt.f64 2) (fma.f64 a2 a2 (*.f64 a1 a1))))
(*.f64 (/.f64 1 (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 a1 (/.f64 a1 (sqrt.f64 2))))
(*.f64 (*.f64 (pow.f64 2 -1/2) (cos.f64 th)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))))
(*.f64 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) (+.f64 1 (*.f64 -1/2 (*.f64 th th))))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 (*.f64 (pow.f64 2 -1/2) (cos.f64 th)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(/.f64 (pow.f64 (hypot.f64 a2 a1) 2) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (pow.f64 2 -1/2) (*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a1 a2) 2)))
(*.f64 (cos.f64 th) (*.f64 (pow.f64 2 -1/2) (pow.f64 (hypot.f64 a2 a1) 2)))
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a1 a2) 2))))
(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
(pow.f64 (*.f64 (sqrt.f64 (/.f64 (cos.f64 th) (sqrt.f64 2))) (hypot.f64 a2 a1)) 2)
(/.f64 1 (pow.f64 (/.f64 (sqrt.f64 (/.f64 (sqrt.f64 2) (cos.f64 th))) (hypot.f64 a1 a2)) 2))
(/.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a1 a2) 2)) (pow.f64 2 1/4)) (pow.f64 2 1/4))
(fma.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) a2) a2 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))))
Outputs
(fma.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) a2) a2 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))))
Calls

10 calls:

65.0ms
a2
63.0ms
a1
61.0ms
th
56.0ms
(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
54.0ms
(/.f64 (cos.f64 th) (sqrt.f64 2))
Results
ErrorSegmentsBranch
0.5b1a1
0.5b1a2
0.5b1th
0.5b1(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
0.5b1(/.f64 (cos.f64 th) (sqrt.f64 2))
0.5b1(/.f64 (cos.f64 th) (sqrt.f64 2))
0.5b1(cos.f64 th)
0.5b1(*.f64 a1 a1)
0.5b1(*.f64 a2 a2)
0.5b1(*.f64 a2 a2)
Compiler

Compiled 815 to 485 computations (40.5% saved)

regimes409.0ms (2.2%)

Counts
70 → 1
Calls
Call 1
Inputs
(/.f64 a1 (/.f64 (sqrt.f64 2) a1))
(/.f64 (*.f64 a1 a1) (sqrt.f64 2))
(*.f64 (/.f64 a1 (sqrt.f64 2)) a1)
(/.f64 a2 (/.f64 (sqrt.f64 2) a2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(*.f64 a2 (/.f64 a2 (sqrt.f64 2)))
(*.f64 (*.f64 (pow.f64 2 -1/2) a1) a1)
(*.f64 (pow.f64 2 -1/2) (*.f64 a2 a2))
(*.f64 a2 (*.f64 (pow.f64 2 -1/2) a2))
(*.f64 (/.f64 1 (/.f64 (sqrt.f64 2) a2)) a2)
(*.f64 (sqrt.f64 (/.f64 (*.f64 a1 a1) 2)) a1)
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)))
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 a2 (sqrt.f64 (/.f64 (*.f64 a2 a2) 2)))
(-.f64 (+.f64 1 (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) 1)
(*.f64 (/.f64 1 (neg.f64 (sqrt.f64 2))) (*.f64 a2 (neg.f64 a2)))
(*.f64 (-.f64 (+.f64 1 (/.f64 a1 (sqrt.f64 2))) 1) a1)
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(-.f64 (+.f64 1 (*.f64 a2 (/.f64 a2 (sqrt.f64 2)))) 1)
(*.f64 -1/2 (*.f64 (/.f64 a1 (sqrt.f64 2)) (*.f64 (*.f64 th th) a1)))
(*.f64 (/.f64 1 (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (+.f64 1 (*.f64 th (*.f64 th -1/2))))
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 (*.f64 th th) (*.f64 -1/2 (*.f64 a1 a1)))))
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (+.f64 1 (*.f64 -1/2 (*.f64 th th))))
(*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (+.f64 1 (*.f64 th (*.f64 th -1/2)))))
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 a1 (+.f64 a1 (*.f64 -1/2 (*.f64 th (*.f64 a1 th)))))))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(/.f64 1 (*.f64 (pow.f64 a2 -2) (sqrt.f64 2)))
(*.f64 (pow.f64 (/.f64 (sqrt.f64 2) a1) -1) a1)
(sqrt.f64 (/.f64 1 (/.f64 2 (pow.f64 a2 4))))
(*.f64 a2 (pow.f64 (/.f64 (sqrt.f64 2) a2) -1))
(*.f64 a1 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) a1)))
(*.f64 (*.f64 a1 a1) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)))
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (cos.f64 th))
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 a2 (cos.f64 th)) a2) (sqrt.f64 2))
(*.f64 (cos.f64 th) (*.f64 a2 (/.f64 a2 (sqrt.f64 2))))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1))
(*.f64 a2 (*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2))))
(*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (cos.f64 th))
(*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (cos.f64 th))
(*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th)))
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2))
(*.f64 (*.f64 (pow.f64 2 -1/2) a1) (*.f64 a1 (cos.f64 th)))
(*.f64 (pow.f64 2 -1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))
(*.f64 (cos.f64 th) (*.f64 (*.f64 a2 a2) (pow.f64 2 -1/2)))
(/.f64 1 (/.f64 (sqrt.f64 2) (fma.f64 a2 a2 (*.f64 a1 a1))))
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (cos.f64 th))))
(/.f64 1 (/.f64 (sqrt.f64 2) (fma.f64 a2 a2 (*.f64 a1 a1))))
(*.f64 (/.f64 1 (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 a1 (/.f64 a1 (sqrt.f64 2))))
(*.f64 (*.f64 (pow.f64 2 -1/2) (cos.f64 th)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))))
(*.f64 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) (+.f64 1 (*.f64 -1/2 (*.f64 th th))))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 (*.f64 (pow.f64 2 -1/2) (cos.f64 th)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(/.f64 (pow.f64 (hypot.f64 a2 a1) 2) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (pow.f64 2 -1/2) (*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a1 a2) 2)))
(*.f64 (cos.f64 th) (*.f64 (pow.f64 2 -1/2) (pow.f64 (hypot.f64 a2 a1) 2)))
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a1 a2) 2))))
(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
(pow.f64 (*.f64 (sqrt.f64 (/.f64 (cos.f64 th) (sqrt.f64 2))) (hypot.f64 a2 a1)) 2)
(/.f64 1 (pow.f64 (/.f64 (sqrt.f64 (/.f64 (sqrt.f64 2) (cos.f64 th))) (hypot.f64 a1 a2)) 2))
(/.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a1 a2) 2)) (pow.f64 2 1/4)) (pow.f64 2 1/4))
Outputs
(*.f64 (cos.f64 th) (*.f64 (pow.f64 2 -1/2) (pow.f64 (hypot.f64 a2 a1) 2)))
Calls

11 calls:

41.0ms
th
41.0ms
a1
39.0ms
(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
39.0ms
a2
34.0ms
(*.f64 a2 a2)
Results
ErrorSegmentsBranch
0.7b1a1
0.7b1a2
0.7b1th
0.7b1(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
0.7b1(/.f64 (cos.f64 th) (sqrt.f64 2))
0.7b1(/.f64 (cos.f64 th) (sqrt.f64 2))
0.7b1(cos.f64 th)
0.7b1(*.f64 a1 a1)
0.7b1(*.f64 a1 a1)
0.7b1(*.f64 a2 a2)
0.7b1(*.f64 a2 a2)
Compiler

Compiled 803 to 480 computations (40.2% saved)

regimes276.0ms (1.5%)

Counts
64 → 1
Calls
Call 1
Inputs
(/.f64 a1 (/.f64 (sqrt.f64 2) a1))
(/.f64 (*.f64 a1 a1) (sqrt.f64 2))
(*.f64 (/.f64 a1 (sqrt.f64 2)) a1)
(/.f64 a2 (/.f64 (sqrt.f64 2) a2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(*.f64 a2 (/.f64 a2 (sqrt.f64 2)))
(*.f64 (*.f64 (pow.f64 2 -1/2) a1) a1)
(*.f64 (pow.f64 2 -1/2) (*.f64 a2 a2))
(*.f64 a2 (*.f64 (pow.f64 2 -1/2) a2))
(*.f64 (/.f64 1 (/.f64 (sqrt.f64 2) a2)) a2)
(*.f64 (sqrt.f64 (/.f64 (*.f64 a1 a1) 2)) a1)
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)))
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 a2 (sqrt.f64 (/.f64 (*.f64 a2 a2) 2)))
(-.f64 (+.f64 1 (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) 1)
(*.f64 (/.f64 1 (neg.f64 (sqrt.f64 2))) (*.f64 a2 (neg.f64 a2)))
(*.f64 (-.f64 (+.f64 1 (/.f64 a1 (sqrt.f64 2))) 1) a1)
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(-.f64 (+.f64 1 (*.f64 a2 (/.f64 a2 (sqrt.f64 2)))) 1)
(*.f64 -1/2 (*.f64 (/.f64 a1 (sqrt.f64 2)) (*.f64 (*.f64 th th) a1)))
(*.f64 (/.f64 1 (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (+.f64 1 (*.f64 th (*.f64 th -1/2))))
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 (*.f64 th th) (*.f64 -1/2 (*.f64 a1 a1)))))
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (+.f64 1 (*.f64 -1/2 (*.f64 th th))))
(*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (+.f64 1 (*.f64 th (*.f64 th -1/2)))))
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 a1 (+.f64 a1 (*.f64 -1/2 (*.f64 th (*.f64 a1 th)))))))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(/.f64 1 (*.f64 (pow.f64 a2 -2) (sqrt.f64 2)))
(*.f64 (pow.f64 (/.f64 (sqrt.f64 2) a1) -1) a1)
(sqrt.f64 (/.f64 1 (/.f64 2 (pow.f64 a2 4))))
(*.f64 a2 (pow.f64 (/.f64 (sqrt.f64 2) a2) -1))
(*.f64 a1 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) a1)))
(*.f64 (*.f64 a1 a1) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)))
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (cos.f64 th))
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 a2 (cos.f64 th)) a2) (sqrt.f64 2))
(*.f64 (cos.f64 th) (*.f64 a2 (/.f64 a2 (sqrt.f64 2))))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1))
(*.f64 a2 (*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2))))
(*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (cos.f64 th))
(*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (cos.f64 th))
(*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th)))
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2))
(*.f64 (*.f64 (pow.f64 2 -1/2) a1) (*.f64 a1 (cos.f64 th)))
(*.f64 (pow.f64 2 -1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))
(*.f64 (cos.f64 th) (*.f64 (*.f64 a2 a2) (pow.f64 2 -1/2)))
(/.f64 1 (/.f64 (sqrt.f64 2) (fma.f64 a2 a2 (*.f64 a1 a1))))
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (cos.f64 th))))
(/.f64 1 (/.f64 (sqrt.f64 2) (fma.f64 a2 a2 (*.f64 a1 a1))))
(*.f64 (/.f64 1 (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 a1 (/.f64 a1 (sqrt.f64 2))))
(*.f64 (*.f64 (pow.f64 2 -1/2) (cos.f64 th)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))))
(*.f64 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) (+.f64 1 (*.f64 -1/2 (*.f64 th th))))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 (*.f64 (pow.f64 2 -1/2) (cos.f64 th)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(/.f64 (pow.f64 (hypot.f64 a2 a1) 2) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (pow.f64 2 -1/2) (*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a1 a2) 2)))
Outputs
(*.f64 (*.f64 (pow.f64 2 -1/2) (cos.f64 th)) (fma.f64 a1 a1 (*.f64 a2 a2)))
Calls

9 calls:

39.0ms
a2
36.0ms
a1
33.0ms
th
33.0ms
(/.f64 (cos.f64 th) (sqrt.f64 2))
28.0ms
(/.f64 (cos.f64 th) (sqrt.f64 2))
Results
ErrorSegmentsBranch
0.7b1a1
0.7b1a2
0.7b1th
0.7b1(/.f64 (cos.f64 th) (sqrt.f64 2))
0.7b1(/.f64 (cos.f64 th) (sqrt.f64 2))
0.7b1(cos.f64 th)
0.7b1(*.f64 a1 a1)
0.7b1(*.f64 a1 a1)
0.7b1(*.f64 a2 a2)
Compiler

Compiled 689 to 410 computations (40.5% saved)

regimes251.0ms (1.3%)

Counts
61 → 1
Calls
Call 1
Inputs
(/.f64 a1 (/.f64 (sqrt.f64 2) a1))
(/.f64 (*.f64 a1 a1) (sqrt.f64 2))
(*.f64 (/.f64 a1 (sqrt.f64 2)) a1)
(/.f64 a2 (/.f64 (sqrt.f64 2) a2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(*.f64 a2 (/.f64 a2 (sqrt.f64 2)))
(*.f64 (*.f64 (pow.f64 2 -1/2) a1) a1)
(*.f64 (pow.f64 2 -1/2) (*.f64 a2 a2))
(*.f64 a2 (*.f64 (pow.f64 2 -1/2) a2))
(*.f64 (/.f64 1 (/.f64 (sqrt.f64 2) a2)) a2)
(*.f64 (sqrt.f64 (/.f64 (*.f64 a1 a1) 2)) a1)
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)))
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 a2 (sqrt.f64 (/.f64 (*.f64 a2 a2) 2)))
(-.f64 (+.f64 1 (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) 1)
(*.f64 (/.f64 1 (neg.f64 (sqrt.f64 2))) (*.f64 a2 (neg.f64 a2)))
(*.f64 (-.f64 (+.f64 1 (/.f64 a1 (sqrt.f64 2))) 1) a1)
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(-.f64 (+.f64 1 (*.f64 a2 (/.f64 a2 (sqrt.f64 2)))) 1)
(*.f64 -1/2 (*.f64 (/.f64 a1 (sqrt.f64 2)) (*.f64 (*.f64 th th) a1)))
(*.f64 (/.f64 1 (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (+.f64 1 (*.f64 th (*.f64 th -1/2))))
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 (*.f64 th th) (*.f64 -1/2 (*.f64 a1 a1)))))
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (+.f64 1 (*.f64 -1/2 (*.f64 th th))))
(*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (+.f64 1 (*.f64 th (*.f64 th -1/2)))))
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 a1 (+.f64 a1 (*.f64 -1/2 (*.f64 th (*.f64 a1 th)))))))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(/.f64 1 (*.f64 (pow.f64 a2 -2) (sqrt.f64 2)))
(*.f64 (pow.f64 (/.f64 (sqrt.f64 2) a1) -1) a1)
(sqrt.f64 (/.f64 1 (/.f64 2 (pow.f64 a2 4))))
(*.f64 a2 (pow.f64 (/.f64 (sqrt.f64 2) a2) -1))
(*.f64 a1 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) a1)))
(*.f64 (*.f64 a1 a1) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)))
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (cos.f64 th))
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 a2 (cos.f64 th)) a2) (sqrt.f64 2))
(*.f64 (cos.f64 th) (*.f64 a2 (/.f64 a2 (sqrt.f64 2))))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1))
(*.f64 a2 (*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2))))
(*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (cos.f64 th))
(*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (cos.f64 th))
(*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th)))
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2))
(*.f64 (*.f64 (pow.f64 2 -1/2) a1) (*.f64 a1 (cos.f64 th)))
(*.f64 (pow.f64 2 -1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))
(*.f64 (cos.f64 th) (*.f64 (*.f64 a2 a2) (pow.f64 2 -1/2)))
(/.f64 1 (/.f64 (sqrt.f64 2) (fma.f64 a2 a2 (*.f64 a1 a1))))
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (cos.f64 th))))
(/.f64 1 (/.f64 (sqrt.f64 2) (fma.f64 a2 a2 (*.f64 a1 a1))))
(*.f64 (/.f64 1 (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 a1 (/.f64 a1 (sqrt.f64 2))))
(*.f64 (*.f64 (pow.f64 2 -1/2) (cos.f64 th)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))))
(*.f64 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) (+.f64 1 (*.f64 -1/2 (*.f64 th th))))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2)))
Outputs
(*.f64 (*.f64 (pow.f64 2 -1/2) (cos.f64 th)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
Calls

8 calls:

38.0ms
a1
37.0ms
a2
32.0ms
th
29.0ms
(/.f64 (cos.f64 th) (sqrt.f64 2))
28.0ms
(cos.f64 th)
Results
ErrorSegmentsBranch
0.7b1a1
0.7b1a2
0.7b1th
0.7b1(/.f64 (cos.f64 th) (sqrt.f64 2))
0.7b1(/.f64 (cos.f64 th) (sqrt.f64 2))
0.7b1(cos.f64 th)
0.7b1(*.f64 a1 a1)
0.7b1(*.f64 a2 a2)
Compiler

Compiled 647 to 386 computations (40.3% saved)

regimes201.0ms (1.1%)

Counts
54 → 1
Calls
Call 1
Inputs
(/.f64 a1 (/.f64 (sqrt.f64 2) a1))
(/.f64 (*.f64 a1 a1) (sqrt.f64 2))
(*.f64 (/.f64 a1 (sqrt.f64 2)) a1)
(/.f64 a2 (/.f64 (sqrt.f64 2) a2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(*.f64 a2 (/.f64 a2 (sqrt.f64 2)))
(*.f64 (*.f64 (pow.f64 2 -1/2) a1) a1)
(*.f64 (pow.f64 2 -1/2) (*.f64 a2 a2))
(*.f64 a2 (*.f64 (pow.f64 2 -1/2) a2))
(*.f64 (/.f64 1 (/.f64 (sqrt.f64 2) a2)) a2)
(*.f64 (sqrt.f64 (/.f64 (*.f64 a1 a1) 2)) a1)
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)))
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 a2 (sqrt.f64 (/.f64 (*.f64 a2 a2) 2)))
(-.f64 (+.f64 1 (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) 1)
(*.f64 (/.f64 1 (neg.f64 (sqrt.f64 2))) (*.f64 a2 (neg.f64 a2)))
(*.f64 (-.f64 (+.f64 1 (/.f64 a1 (sqrt.f64 2))) 1) a1)
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(-.f64 (+.f64 1 (*.f64 a2 (/.f64 a2 (sqrt.f64 2)))) 1)
(*.f64 -1/2 (*.f64 (/.f64 a1 (sqrt.f64 2)) (*.f64 (*.f64 th th) a1)))
(*.f64 (/.f64 1 (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (+.f64 1 (*.f64 th (*.f64 th -1/2))))
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 (*.f64 th th) (*.f64 -1/2 (*.f64 a1 a1)))))
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (+.f64 1 (*.f64 -1/2 (*.f64 th th))))
(*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (+.f64 1 (*.f64 th (*.f64 th -1/2)))))
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 a1 (+.f64 a1 (*.f64 -1/2 (*.f64 th (*.f64 a1 th)))))))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(/.f64 1 (*.f64 (pow.f64 a2 -2) (sqrt.f64 2)))
(*.f64 (pow.f64 (/.f64 (sqrt.f64 2) a1) -1) a1)
(sqrt.f64 (/.f64 1 (/.f64 2 (pow.f64 a2 4))))
(*.f64 a2 (pow.f64 (/.f64 (sqrt.f64 2) a2) -1))
(*.f64 a1 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) a1)))
(*.f64 (*.f64 a1 a1) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)))
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (cos.f64 th))
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 a2 (cos.f64 th)) a2) (sqrt.f64 2))
(*.f64 (cos.f64 th) (*.f64 a2 (/.f64 a2 (sqrt.f64 2))))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1))
(*.f64 a2 (*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2))))
(*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (cos.f64 th))
(*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (cos.f64 th))
(*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th)))
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2))
(*.f64 (*.f64 (pow.f64 2 -1/2) a1) (*.f64 a1 (cos.f64 th)))
(*.f64 (pow.f64 2 -1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))
(*.f64 (cos.f64 th) (*.f64 (*.f64 a2 a2) (pow.f64 2 -1/2)))
(/.f64 1 (/.f64 (sqrt.f64 2) (fma.f64 a2 a2 (*.f64 a1 a1))))
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (cos.f64 th))))
(/.f64 1 (/.f64 (sqrt.f64 2) (fma.f64 a2 a2 (*.f64 a1 a1))))
(*.f64 (/.f64 1 (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 a1 (/.f64 a1 (sqrt.f64 2))))
Outputs
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
Calls

7 calls:

35.0ms
a2
33.0ms
a1
28.0ms
th
25.0ms
(/.f64 (cos.f64 th) (sqrt.f64 2))
22.0ms
(cos.f64 th)
Results
ErrorSegmentsBranch
0.8b1a1
0.8b1a2
0.8b1th
0.8b1(/.f64 (cos.f64 th) (sqrt.f64 2))
0.8b1(cos.f64 th)
0.8b1(*.f64 a1 a1)
0.8b1(*.f64 a2 a2)
Compiler

Compiled 547 to 335 computations (38.8% saved)

regimes860.0ms (4.6%)

Counts
52 → 4
Calls
Call 1
Inputs
(/.f64 a1 (/.f64 (sqrt.f64 2) a1))
(/.f64 (*.f64 a1 a1) (sqrt.f64 2))
(*.f64 (/.f64 a1 (sqrt.f64 2)) a1)
(/.f64 a2 (/.f64 (sqrt.f64 2) a2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(*.f64 a2 (/.f64 a2 (sqrt.f64 2)))
(*.f64 (*.f64 (pow.f64 2 -1/2) a1) a1)
(*.f64 (pow.f64 2 -1/2) (*.f64 a2 a2))
(*.f64 a2 (*.f64 (pow.f64 2 -1/2) a2))
(*.f64 (/.f64 1 (/.f64 (sqrt.f64 2) a2)) a2)
(*.f64 (sqrt.f64 (/.f64 (*.f64 a1 a1) 2)) a1)
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)))
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 a2 (sqrt.f64 (/.f64 (*.f64 a2 a2) 2)))
(-.f64 (+.f64 1 (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) 1)
(*.f64 (/.f64 1 (neg.f64 (sqrt.f64 2))) (*.f64 a2 (neg.f64 a2)))
(*.f64 (-.f64 (+.f64 1 (/.f64 a1 (sqrt.f64 2))) 1) a1)
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(-.f64 (+.f64 1 (*.f64 a2 (/.f64 a2 (sqrt.f64 2)))) 1)
(*.f64 -1/2 (*.f64 (/.f64 a1 (sqrt.f64 2)) (*.f64 (*.f64 th th) a1)))
(*.f64 (/.f64 1 (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (+.f64 1 (*.f64 th (*.f64 th -1/2))))
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 (*.f64 th th) (*.f64 -1/2 (*.f64 a1 a1)))))
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (+.f64 1 (*.f64 -1/2 (*.f64 th th))))
(*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (+.f64 1 (*.f64 th (*.f64 th -1/2)))))
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 a1 (+.f64 a1 (*.f64 -1/2 (*.f64 th (*.f64 a1 th)))))))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(/.f64 1 (*.f64 (pow.f64 a2 -2) (sqrt.f64 2)))
(*.f64 (pow.f64 (/.f64 (sqrt.f64 2) a1) -1) a1)
(sqrt.f64 (/.f64 1 (/.f64 2 (pow.f64 a2 4))))
(*.f64 a2 (pow.f64 (/.f64 (sqrt.f64 2) a2) -1))
(*.f64 a1 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) a1)))
(*.f64 (*.f64 a1 a1) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)))
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (cos.f64 th))
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 a2 (cos.f64 th)) a2) (sqrt.f64 2))
(*.f64 (cos.f64 th) (*.f64 a2 (/.f64 a2 (sqrt.f64 2))))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1))
(*.f64 a2 (*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2))))
(*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (cos.f64 th))
(*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (cos.f64 th))
(*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th)))
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2))
(*.f64 (*.f64 (pow.f64 2 -1/2) a1) (*.f64 a1 (cos.f64 th)))
(*.f64 (pow.f64 2 -1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))
(*.f64 (cos.f64 th) (*.f64 (*.f64 a2 a2) (pow.f64 2 -1/2)))
(/.f64 1 (/.f64 (sqrt.f64 2) (fma.f64 a2 a2 (*.f64 a1 a1))))
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 (*.f64 a1 a1) (cos.f64 th))))
(/.f64 1 (/.f64 (sqrt.f64 2) (fma.f64 a2 a2 (*.f64 a1 a1))))
(*.f64 (/.f64 1 (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2)))
Outputs
(*.f64 (*.f64 a1 a1) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 a2 (*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2))))
(*.f64 (*.f64 a1 a1) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)))
Calls

9 calls:

124.0ms
(/.f64 (cos.f64 th) (sqrt.f64 2))
123.0ms
(/.f64 (cos.f64 th) (sqrt.f64 2))
117.0ms
a1
114.0ms
(cos.f64 th)
90.0ms
th
Results
ErrorSegmentsBranch
6.5b4a1
7.5b2a2
13.0b3th
10.0b6(/.f64 (cos.f64 th) (sqrt.f64 2))
10.0b6(/.f64 (cos.f64 th) (sqrt.f64 2))
10.0b6(cos.f64 th)
10.6b4(*.f64 a1 a1)
9.8b4(*.f64 a2 a2)
9.8b4(*.f64 a2 a2)
Compiler

Compiled 535 to 334 computations (37.6% saved)

bsearch181.0ms (1%)

Algorithm
binary-search
Steps
TimeLeftRight
60.0ms
-5.32141684441546e-142
-1.3713458054324266e-143
61.0ms
-7.751057501607333e-115
-8.445871605709741e-118
60.0ms
-9.579056287019564e-92
-2.0662406533546145e-93
Compiler

Compiled 28 to 20 computations (28.6% saved)

regimes668.0ms (3.6%)

Counts
40 → 4
Calls
Call 1
Inputs
(/.f64 a1 (/.f64 (sqrt.f64 2) a1))
(/.f64 (*.f64 a1 a1) (sqrt.f64 2))
(*.f64 (/.f64 a1 (sqrt.f64 2)) a1)
(/.f64 a2 (/.f64 (sqrt.f64 2) a2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(*.f64 a2 (/.f64 a2 (sqrt.f64 2)))
(*.f64 (*.f64 (pow.f64 2 -1/2) a1) a1)
(*.f64 (pow.f64 2 -1/2) (*.f64 a2 a2))
(*.f64 a2 (*.f64 (pow.f64 2 -1/2) a2))
(*.f64 (/.f64 1 (/.f64 (sqrt.f64 2) a2)) a2)
(*.f64 (sqrt.f64 (/.f64 (*.f64 a1 a1) 2)) a1)
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)))
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 a2 (sqrt.f64 (/.f64 (*.f64 a2 a2) 2)))
(-.f64 (+.f64 1 (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) 1)
(*.f64 (/.f64 1 (neg.f64 (sqrt.f64 2))) (*.f64 a2 (neg.f64 a2)))
(*.f64 (-.f64 (+.f64 1 (/.f64 a1 (sqrt.f64 2))) 1) a1)
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(-.f64 (+.f64 1 (*.f64 a2 (/.f64 a2 (sqrt.f64 2)))) 1)
(*.f64 -1/2 (*.f64 (/.f64 a1 (sqrt.f64 2)) (*.f64 (*.f64 th th) a1)))
(*.f64 (/.f64 1 (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (+.f64 1 (*.f64 th (*.f64 th -1/2))))
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 (*.f64 th th) (*.f64 -1/2 (*.f64 a1 a1)))))
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (+.f64 1 (*.f64 -1/2 (*.f64 th th))))
(*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (+.f64 1 (*.f64 th (*.f64 th -1/2)))))
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 a1 (+.f64 a1 (*.f64 -1/2 (*.f64 th (*.f64 a1 th)))))))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(/.f64 1 (*.f64 (pow.f64 a2 -2) (sqrt.f64 2)))
(*.f64 (pow.f64 (/.f64 (sqrt.f64 2) a1) -1) a1)
(sqrt.f64 (/.f64 1 (/.f64 2 (pow.f64 a2 4))))
(*.f64 a2 (pow.f64 (/.f64 (sqrt.f64 2) a2) -1))
(*.f64 a1 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) a1)))
(*.f64 (*.f64 a1 a1) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)))
(*.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (cos.f64 th))
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 a2 (cos.f64 th)) a2) (sqrt.f64 2))
(*.f64 (cos.f64 th) (*.f64 a2 (/.f64 a2 (sqrt.f64 2))))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1))
Outputs
(*.f64 (*.f64 a1 a1) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)))
(*.f64 (*.f64 a1 a1) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)))
Calls

9 calls:

95.0ms
(/.f64 (cos.f64 th) (sqrt.f64 2))
92.0ms
(cos.f64 th)
90.0ms
(/.f64 (cos.f64 th) (sqrt.f64 2))
83.0ms
a1
61.0ms
th
Results
ErrorSegmentsBranch
6.5b4a1
7.7b2a2
13.0b3th
10.0b6(/.f64 (cos.f64 th) (sqrt.f64 2))
10.0b6(/.f64 (cos.f64 th) (sqrt.f64 2))
10.0b6(cos.f64 th)
9.6b6(*.f64 a1 a1)
9.6b6(*.f64 a1 a1)
10.0b4(*.f64 a2 a2)
Compiler

Compiled 416 to 273 computations (34.4% saved)

bsearch194.0ms (1%)

Algorithm
binary-search
Steps
TimeLeftRight
64.0ms
-5.32141684441546e-142
-1.3713458054324266e-143
64.0ms
-7.751057501607333e-115
-8.445871605709741e-118
65.0ms
-4.5640751827832244e-95
-1.7610860796518681e-100
Compiler

Compiled 28 to 20 computations (28.6% saved)

regimes240.0ms (1.3%)

Counts
33 → 2
Calls
Call 1
Inputs
(/.f64 a1 (/.f64 (sqrt.f64 2) a1))
(/.f64 (*.f64 a1 a1) (sqrt.f64 2))
(*.f64 (/.f64 a1 (sqrt.f64 2)) a1)
(/.f64 a2 (/.f64 (sqrt.f64 2) a2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(*.f64 a2 (/.f64 a2 (sqrt.f64 2)))
(*.f64 (*.f64 (pow.f64 2 -1/2) a1) a1)
(*.f64 (pow.f64 2 -1/2) (*.f64 a2 a2))
(*.f64 a2 (*.f64 (pow.f64 2 -1/2) a2))
(*.f64 (/.f64 1 (/.f64 (sqrt.f64 2) a2)) a2)
(*.f64 (sqrt.f64 (/.f64 (*.f64 a1 a1) 2)) a1)
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)))
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 a2 (sqrt.f64 (/.f64 (*.f64 a2 a2) 2)))
(-.f64 (+.f64 1 (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) 1)
(*.f64 (/.f64 1 (neg.f64 (sqrt.f64 2))) (*.f64 a2 (neg.f64 a2)))
(*.f64 (-.f64 (+.f64 1 (/.f64 a1 (sqrt.f64 2))) 1) a1)
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(-.f64 (+.f64 1 (*.f64 a2 (/.f64 a2 (sqrt.f64 2)))) 1)
(*.f64 -1/2 (*.f64 (/.f64 a1 (sqrt.f64 2)) (*.f64 (*.f64 th th) a1)))
(*.f64 (/.f64 1 (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (+.f64 1 (*.f64 th (*.f64 th -1/2))))
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 (*.f64 th th) (*.f64 -1/2 (*.f64 a1 a1)))))
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (+.f64 1 (*.f64 -1/2 (*.f64 th th))))
(*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (+.f64 1 (*.f64 th (*.f64 th -1/2)))))
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 a1 (+.f64 a1 (*.f64 -1/2 (*.f64 th (*.f64 a1 th)))))))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(/.f64 1 (*.f64 (pow.f64 a2 -2) (sqrt.f64 2)))
(*.f64 (pow.f64 (/.f64 (sqrt.f64 2) a1) -1) a1)
(sqrt.f64 (/.f64 1 (/.f64 2 (pow.f64 a2 4))))
(*.f64 a2 (pow.f64 (/.f64 (sqrt.f64 2) a2) -1))
(*.f64 a1 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) a1)))
(*.f64 (*.f64 a1 a1) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
Outputs
(*.f64 (*.f64 a1 a1) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
Calls

6 calls:

58.0ms
a1
52.0ms
th
50.0ms
a2
27.0ms
(cos.f64 th)
20.0ms
(*.f64 a1 a1)
Results
ErrorSegmentsBranch
16.3b2a1
15.2b2a2
13.0b3th
12.9b2(cos.f64 th)
18.3b2(*.f64 a1 a1)
16.4b2(*.f64 a2 a2)
Compiler

Compiled 331 to 224 computations (32.3% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.9928779117134597
0.9995601030367215
Compiler

Compiled 27 to 20 computations (25.9% saved)

regimes335.0ms (1.8%)

Counts
32 → 2
Calls
Call 1
Inputs
(/.f64 a1 (/.f64 (sqrt.f64 2) a1))
(/.f64 (*.f64 a1 a1) (sqrt.f64 2))
(*.f64 (/.f64 a1 (sqrt.f64 2)) a1)
(/.f64 a2 (/.f64 (sqrt.f64 2) a2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(*.f64 a2 (/.f64 a2 (sqrt.f64 2)))
(*.f64 (*.f64 (pow.f64 2 -1/2) a1) a1)
(*.f64 (pow.f64 2 -1/2) (*.f64 a2 a2))
(*.f64 a2 (*.f64 (pow.f64 2 -1/2) a2))
(*.f64 (/.f64 1 (/.f64 (sqrt.f64 2) a2)) a2)
(*.f64 (sqrt.f64 (/.f64 (*.f64 a1 a1) 2)) a1)
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)))
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 a2 (sqrt.f64 (/.f64 (*.f64 a2 a2) 2)))
(-.f64 (+.f64 1 (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) 1)
(*.f64 (/.f64 1 (neg.f64 (sqrt.f64 2))) (*.f64 a2 (neg.f64 a2)))
(*.f64 (-.f64 (+.f64 1 (/.f64 a1 (sqrt.f64 2))) 1) a1)
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(-.f64 (+.f64 1 (*.f64 a2 (/.f64 a2 (sqrt.f64 2)))) 1)
(*.f64 -1/2 (*.f64 (/.f64 a1 (sqrt.f64 2)) (*.f64 (*.f64 th th) a1)))
(*.f64 (/.f64 1 (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (+.f64 1 (*.f64 th (*.f64 th -1/2))))
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 (*.f64 th th) (*.f64 -1/2 (*.f64 a1 a1)))))
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (+.f64 1 (*.f64 -1/2 (*.f64 th th))))
(*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (+.f64 1 (*.f64 th (*.f64 th -1/2)))))
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 a1 (+.f64 a1 (*.f64 -1/2 (*.f64 th (*.f64 a1 th)))))))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(/.f64 1 (*.f64 (pow.f64 a2 -2) (sqrt.f64 2)))
(*.f64 (pow.f64 (/.f64 (sqrt.f64 2) a1) -1) a1)
(sqrt.f64 (/.f64 1 (/.f64 2 (pow.f64 a2 4))))
(*.f64 a2 (pow.f64 (/.f64 (sqrt.f64 2) a2) -1))
(*.f64 a1 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) a1)))
Outputs
(*.f64 a1 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) a1)))
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
Calls

7 calls:

83.0ms
th
55.0ms
a2
47.0ms
(cos.f64 th)
34.0ms
a1
32.0ms
(*.f64 a2 a2)
Results
ErrorSegmentsBranch
16.4b2a1
15.3b2a2
13.1b3th
13.0b2(cos.f64 th)
18.4b2(*.f64 a1 a1)
18.4b2(*.f64 a1 a1)
16.5b2(*.f64 a2 a2)
Compiler

Compiled 328 to 224 computations (31.7% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.9928779117134597
0.9995601030367215
Compiler

Compiled 27 to 20 computations (25.9% saved)

regimes92.0ms (0.5%)

Counts
31 → 1
Calls
Call 1
Inputs
(/.f64 a1 (/.f64 (sqrt.f64 2) a1))
(/.f64 (*.f64 a1 a1) (sqrt.f64 2))
(*.f64 (/.f64 a1 (sqrt.f64 2)) a1)
(/.f64 a2 (/.f64 (sqrt.f64 2) a2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(*.f64 a2 (/.f64 a2 (sqrt.f64 2)))
(*.f64 (*.f64 (pow.f64 2 -1/2) a1) a1)
(*.f64 (pow.f64 2 -1/2) (*.f64 a2 a2))
(*.f64 a2 (*.f64 (pow.f64 2 -1/2) a2))
(*.f64 (/.f64 1 (/.f64 (sqrt.f64 2) a2)) a2)
(*.f64 (sqrt.f64 (/.f64 (*.f64 a1 a1) 2)) a1)
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)))
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 a2 (sqrt.f64 (/.f64 (*.f64 a2 a2) 2)))
(-.f64 (+.f64 1 (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) 1)
(*.f64 (/.f64 1 (neg.f64 (sqrt.f64 2))) (*.f64 a2 (neg.f64 a2)))
(*.f64 (-.f64 (+.f64 1 (/.f64 a1 (sqrt.f64 2))) 1) a1)
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(-.f64 (+.f64 1 (*.f64 a2 (/.f64 a2 (sqrt.f64 2)))) 1)
(*.f64 -1/2 (*.f64 (/.f64 a1 (sqrt.f64 2)) (*.f64 (*.f64 th th) a1)))
(*.f64 (/.f64 1 (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (+.f64 1 (*.f64 th (*.f64 th -1/2))))
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 (*.f64 th th) (*.f64 -1/2 (*.f64 a1 a1)))))
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (+.f64 1 (*.f64 -1/2 (*.f64 th th))))
(*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (+.f64 1 (*.f64 th (*.f64 th -1/2)))))
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 a1 (+.f64 a1 (*.f64 -1/2 (*.f64 th (*.f64 a1 th)))))))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(/.f64 1 (*.f64 (pow.f64 a2 -2) (sqrt.f64 2)))
(*.f64 (pow.f64 (/.f64 (sqrt.f64 2) a1) -1) a1)
(sqrt.f64 (/.f64 1 (/.f64 2 (pow.f64 a2 4))))
(*.f64 a2 (pow.f64 (/.f64 (sqrt.f64 2) a2) -1))
Outputs
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
Calls

5 calls:

20.0ms
a2
19.0ms
th
18.0ms
a1
13.0ms
(*.f64 a2 a2)
11.0ms
(*.f64 a1 a1)
Results
ErrorSegmentsBranch
25.2b1a1
25.2b1a2
25.2b1th
25.2b1(*.f64 a1 a1)
25.2b1(*.f64 a2 a2)
Compiler

Compiled 308 to 210 computations (31.8% saved)

regimes158.0ms (0.8%)

Counts
17 → 4
Calls
Call 1
Inputs
(/.f64 a1 (/.f64 (sqrt.f64 2) a1))
(/.f64 (*.f64 a1 a1) (sqrt.f64 2))
(*.f64 (/.f64 a1 (sqrt.f64 2)) a1)
(/.f64 a2 (/.f64 (sqrt.f64 2) a2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(*.f64 a2 (/.f64 a2 (sqrt.f64 2)))
(*.f64 (*.f64 (pow.f64 2 -1/2) a1) a1)
(*.f64 (pow.f64 2 -1/2) (*.f64 a2 a2))
(*.f64 a2 (*.f64 (pow.f64 2 -1/2) a2))
(*.f64 (/.f64 1 (/.f64 (sqrt.f64 2) a2)) a2)
(*.f64 (sqrt.f64 (/.f64 (*.f64 a1 a1) 2)) a1)
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)))
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 a2 (sqrt.f64 (/.f64 (*.f64 a2 a2) 2)))
(-.f64 (+.f64 1 (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) 1)
(*.f64 (/.f64 1 (neg.f64 (sqrt.f64 2))) (*.f64 a2 (neg.f64 a2)))
(*.f64 (-.f64 (+.f64 1 (/.f64 a1 (sqrt.f64 2))) 1) a1)
Outputs
(/.f64 a1 (/.f64 (sqrt.f64 2) a1))
(*.f64 a2 (sqrt.f64 (/.f64 (*.f64 a2 a2) 2)))
(/.f64 (*.f64 a1 a1) (sqrt.f64 2))
(*.f64 a2 (sqrt.f64 (/.f64 (*.f64 a2 a2) 2)))
Calls

6 calls:

35.0ms
a1
26.0ms
th
26.0ms
a2
25.0ms
(*.f64 a1 a1)
23.0ms
(*.f64 a1 a1)
Results
ErrorSegmentsBranch
27.7b4a1
29.1b2a2
36.8b3th
29.7b4(*.f64 a1 a1)
29.7b4(*.f64 a1 a1)
30.8b2(*.f64 a2 a2)
Compiler

Compiled 160 to 110 computations (31.3% saved)

bsearch195.0ms (1%)

Algorithm
binary-search
Steps
TimeLeftRight
69.0ms
-1.698603008135742e-136
-5.32141684441546e-142
62.0ms
-5.057685158200246e-113
-7.751057501607333e-115
64.0ms
-6.727296152610243e-48
-1.1470360146040754e-52
Compiler

Compiled 28 to 20 computations (28.6% saved)

regimes139.0ms (0.7%)

Counts
13 → 4
Calls
Call 1
Inputs
(/.f64 a1 (/.f64 (sqrt.f64 2) a1))
(/.f64 (*.f64 a1 a1) (sqrt.f64 2))
(*.f64 (/.f64 a1 (sqrt.f64 2)) a1)
(/.f64 a2 (/.f64 (sqrt.f64 2) a2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(*.f64 a2 (/.f64 a2 (sqrt.f64 2)))
(*.f64 (*.f64 (pow.f64 2 -1/2) a1) a1)
(*.f64 (pow.f64 2 -1/2) (*.f64 a2 a2))
(*.f64 a2 (*.f64 (pow.f64 2 -1/2) a2))
(*.f64 (/.f64 1 (/.f64 (sqrt.f64 2) a2)) a2)
(*.f64 (sqrt.f64 (/.f64 (*.f64 a1 a1) 2)) a1)
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 a1 a1)))
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
Outputs
(/.f64 a1 (/.f64 (sqrt.f64 2) a1))
(*.f64 a2 (/.f64 a2 (sqrt.f64 2)))
(/.f64 (*.f64 a1 a1) (sqrt.f64 2))
(*.f64 a2 (*.f64 (pow.f64 2 -1/2) a2))
Calls

6 calls:

30.0ms
a1
25.0ms
th
23.0ms
a2
21.0ms
(*.f64 a1 a1)
21.0ms
(*.f64 a1 a1)
Results
ErrorSegmentsBranch
27.7b4a1
29.1b2a2
36.8b3th
29.7b4(*.f64 a1 a1)
29.7b4(*.f64 a1 a1)
30.8b2(*.f64 a2 a2)
Compiler

Compiled 122 to 82 computations (32.8% saved)

bsearch189.0ms (1%)

Algorithm
binary-search
Steps
TimeLeftRight
63.0ms
-1.698603008135742e-136
-5.32141684441546e-142
62.0ms
-5.057685158200246e-113
-7.751057501607333e-115
64.0ms
-6.727296152610243e-48
-1.1470360146040754e-52
Compiler

Compiled 28 to 20 computations (28.6% saved)

regimes112.0ms (0.6%)

Counts
8 → 4
Calls
Call 1
Inputs
(/.f64 a1 (/.f64 (sqrt.f64 2) a1))
(/.f64 (*.f64 a1 a1) (sqrt.f64 2))
(*.f64 (/.f64 a1 (sqrt.f64 2)) a1)
(/.f64 a2 (/.f64 (sqrt.f64 2) a2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(*.f64 a2 (/.f64 a2 (sqrt.f64 2)))
(*.f64 (*.f64 (pow.f64 2 -1/2) a1) a1)
(*.f64 (pow.f64 2 -1/2) (*.f64 a2 a2))
Outputs
(/.f64 a1 (/.f64 (sqrt.f64 2) a1))
(*.f64 a2 (/.f64 a2 (sqrt.f64 2)))
(/.f64 (*.f64 a1 a1) (sqrt.f64 2))
(/.f64 a2 (/.f64 (sqrt.f64 2) a2))
Calls

7 calls:

20.0ms
a1
19.0ms
th
17.0ms
(*.f64 a1 a1)
16.0ms
(*.f64 a1 a1)
15.0ms
a2
Results
ErrorSegmentsBranch
27.7b4a1
29.1b2a2
36.8b3th
29.7b4(*.f64 a1 a1)
29.7b4(*.f64 a1 a1)
30.8b2(*.f64 a2 a2)
30.8b2(*.f64 a2 a2)
Compiler

Compiled 89 to 61 computations (31.5% saved)

bsearch194.0ms (1%)

Algorithm
binary-search
Steps
TimeLeftRight
64.0ms
-1.698603008135742e-136
-5.32141684441546e-142
65.0ms
-5.057685158200246e-113
-7.751057501607333e-115
64.0ms
-6.727296152610243e-48
-1.1470360146040754e-52
Compiler

Compiled 28 to 20 computations (28.6% saved)

regimes96.0ms (0.5%)

Counts
5 → 4
Calls
Call 1
Inputs
(/.f64 a1 (/.f64 (sqrt.f64 2) a1))
(/.f64 (*.f64 a1 a1) (sqrt.f64 2))
(*.f64 (/.f64 a1 (sqrt.f64 2)) a1)
(/.f64 a2 (/.f64 (sqrt.f64 2) a2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
Outputs
(/.f64 a1 (/.f64 (sqrt.f64 2) a1))
(/.f64 a2 (/.f64 (sqrt.f64 2) a2))
(/.f64 (*.f64 a1 a1) (sqrt.f64 2))
(/.f64 a2 (/.f64 (sqrt.f64 2) a2))
Calls

7 calls:

18.0ms
a1
15.0ms
(*.f64 a1 a1)
14.0ms
(*.f64 a1 a1)
13.0ms
th
13.0ms
a2
Results
ErrorSegmentsBranch
27.7b4a1
29.1b2a2
36.8b3th
29.7b4(*.f64 a1 a1)
29.7b4(*.f64 a1 a1)
30.8b2(*.f64 a2 a2)
30.8b2(*.f64 a2 a2)
Compiler

Compiled 69 to 48 computations (30.4% saved)

bsearch188.0ms (1%)

Algorithm
binary-search
Steps
TimeLeftRight
63.0ms
-1.698603008135742e-136
-5.32141684441546e-142
61.0ms
-5.057685158200246e-113
-7.751057501607333e-115
64.0ms
-6.727296152610243e-48
-1.1470360146040754e-52
Compiler

Compiled 28 to 20 computations (28.6% saved)

regimes17.0ms (0.1%)

Accuracy

Total -0.1b remaining (-0.1%)

Threshold costs -0.1b (-0.1%)

Counts
3 → 1
Calls
Call 1
Inputs
(/.f64 a1 (/.f64 (sqrt.f64 2) a1))
(/.f64 (*.f64 a1 a1) (sqrt.f64 2))
(*.f64 (/.f64 a1 (sqrt.f64 2)) a1)
Outputs
(/.f64 a1 (/.f64 (sqrt.f64 2) a1))
Calls

4 calls:

5.0ms
th
4.0ms
a1
4.0ms
a2
3.0ms
(*.f64 a1 a1)
Results
ErrorSegmentsBranch
41.5b1a1
41.5b1a2
41.5b1th
41.5b1(*.f64 a1 a1)
Compiler

Compiled 39 to 28 computations (28.2% saved)

simplify21.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
084575
1103575
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(fma.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) a2) a2 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))))
(*.f64 (cos.f64 th) (*.f64 (pow.f64 2 -1/2) (pow.f64 (hypot.f64 a2 a1) 2)))
(*.f64 (*.f64 (pow.f64 2 -1/2) (cos.f64 th)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 (*.f64 (pow.f64 2 -1/2) (cos.f64 th)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(if (<=.f64 a1 -1757564186941629/18347988927920572092886567162416695526372519913346248989900710715095383008707878464560148424881005492436992) (*.f64 (*.f64 a1 a1) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) (if (<=.f64 a1 -8596448892837781/11090678776483259438313656736572334813745748301503266300681918322458485231222502492159897624416558312389564843845614287315896631296) (*.f64 a2 (*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2)))) (if (<=.f64 a1 -7306089980424573/13729595320261219429963801598162786434538870600286610818788926918371086366795312104245119281322909109954592622782961716074243975999433287625148056582230114304) (*.f64 (*.f64 a1 a1) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))))))
(if (<=.f64 a1 -1715027986839627/37576681324381331646231689548629392438010920782533117931316655544515344401833735095419183974156299248510959616) (*.f64 (*.f64 a1 a1) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) (if (<=.f64 a1 -8596448892837781/11090678776483259438313656736572334813745748301503266300681918322458485231222502492159897624416558312389564843845614287315896631296) (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) (if (<=.f64 a1 -7306089980424573/13729595320261219429963801598162786434538870600286610818788926918371086366795312104245119281322909109954592622782961716074243975999433287625148056582230114304) (*.f64 (*.f64 a1 a1) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))))))
(if (<=.f64 (cos.f64 th) 8962163258467287/9007199254740992) (*.f64 (*.f64 a1 a1) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))))
(if (<=.f64 (cos.f64 th) 8962163258467287/9007199254740992) (*.f64 a1 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) a1))) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))))
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(if (<=.f64 a1 -5534898238784785/822752278660603021077484591278675252491367932816789931674304512) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (if (<=.f64 a1 -4382278237670769/86645927941275464361825443254471365732388658605494267974077486894206915868925800719999200190754361815543475342543861619655442432) (*.f64 a2 (sqrt.f64 (/.f64 (*.f64 a2 a2) 2))) (if (<=.f64 a1 -8896305813401075/52374249726338269920211035149241586435466272736689036631732661889538140742474792878132321477214466514414186946040961136147476104734166288853256441430016) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (*.f64 a2 (sqrt.f64 (/.f64 (*.f64 a2 a2) 2))))))
(if (<=.f64 a1 -5534898238784785/822752278660603021077484591278675252491367932816789931674304512) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (if (<=.f64 a1 -4382278237670769/86645927941275464361825443254471365732388658605494267974077486894206915868925800719999200190754361815543475342543861619655442432) (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (if (<=.f64 a1 -8896305813401075/52374249726338269920211035149241586435466272736689036631732661889538140742474792878132321477214466514414186946040961136147476104734166288853256441430016) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (*.f64 a2 (*.f64 (pow.f64 2 -1/2) a2)))))
(if (<=.f64 a1 -5534898238784785/822752278660603021077484591278675252491367932816789931674304512) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (if (<=.f64 a1 -4382278237670769/86645927941275464361825443254471365732388658605494267974077486894206915868925800719999200190754361815543475342543861619655442432) (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (if (<=.f64 a1 -8896305813401075/52374249726338269920211035149241586435466272736689036631732661889538140742474792878132321477214466514414186946040961136147476104734166288853256441430016) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (/.f64 a2 (/.f64 (sqrt.f64 2) a2)))))
(if (<=.f64 a1 -5534898238784785/822752278660603021077484591278675252491367932816789931674304512) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (if (<=.f64 a1 -4382278237670769/86645927941275464361825443254471365732388658605494267974077486894206915868925800719999200190754361815543475342543861619655442432) (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (if (<=.f64 a1 -8896305813401075/52374249726338269920211035149241586435466272736689036631732661889538140742474792878132321477214466514414186946040961136147476104734166288853256441430016) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (/.f64 a2 (/.f64 (sqrt.f64 2) a2)))))
(/.f64 a1 (/.f64 (sqrt.f64 2) a1))
Outputs
(fma.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) a2) a2 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))))
(*.f64 (cos.f64 th) (*.f64 (pow.f64 2 -1/2) (pow.f64 (hypot.f64 a2 a1) 2)))
(*.f64 (*.f64 (pow.f64 2 -1/2) (cos.f64 th)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 (*.f64 (cos.f64 th) (pow.f64 2 -1/2)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 (*.f64 (pow.f64 2 -1/2) (cos.f64 th)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(*.f64 (*.f64 (cos.f64 th) (pow.f64 2 -1/2)) (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)))
(if (<=.f64 a1 -1757564186941629/18347988927920572092886567162416695526372519913346248989900710715095383008707878464560148424881005492436992) (*.f64 (*.f64 a1 a1) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) (if (<=.f64 a1 -8596448892837781/11090678776483259438313656736572334813745748301503266300681918322458485231222502492159897624416558312389564843845614287315896631296) (*.f64 a2 (*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2)))) (if (<=.f64 a1 -7306089980424573/13729595320261219429963801598162786434538870600286610818788926918371086366795312104245119281322909109954592622782961716074243975999433287625148056582230114304) (*.f64 (*.f64 a1 a1) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))))))
(if (<=.f64 a1 -1757564186941629/18347988927920572092886567162416695526372519913346248989900710715095383008707878464560148424881005492436992) (*.f64 (*.f64 a1 a1) (*.f64 (cos.f64 th) (sqrt.f64 1/2))) (if (<=.f64 a1 -8596448892837781/11090678776483259438313656736572334813745748301503266300681918322458485231222502492159897624416558312389564843845614287315896631296) (*.f64 a2 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) a2)) (if (<=.f64 a1 -7306089980424573/13729595320261219429963801598162786434538870600286610818788926918371086366795312104245119281322909109954592622782961716074243975999433287625148056582230114304) (*.f64 (*.f64 a1 a1) (*.f64 (cos.f64 th) (sqrt.f64 1/2))) (*.f64 (cos.f64 th) (*.f64 (*.f64 a2 a2) (sqrt.f64 1/2))))))
(if (<=.f64 a1 -1715027986839627/37576681324381331646231689548629392438010920782533117931316655544515344401833735095419183974156299248510959616) (*.f64 (*.f64 a1 a1) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) (if (<=.f64 a1 -8596448892837781/11090678776483259438313656736572334813745748301503266300681918322458485231222502492159897624416558312389564843845614287315896631296) (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) (if (<=.f64 a1 -7306089980424573/13729595320261219429963801598162786434538870600286610818788926918371086366795312104245119281322909109954592622782961716074243975999433287625148056582230114304) (*.f64 (*.f64 a1 a1) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) (*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))))))
(if (<=.f64 a1 -1715027986839627/37576681324381331646231689548629392438010920782533117931316655544515344401833735095419183974156299248510959616) (*.f64 (*.f64 a1 a1) (*.f64 (cos.f64 th) (sqrt.f64 1/2))) (if (<=.f64 a1 -8596448892837781/11090678776483259438313656736572334813745748301503266300681918322458485231222502492159897624416558312389564843845614287315896631296) (*.f64 (cos.f64 th) (*.f64 (*.f64 a2 a2) (sqrt.f64 1/2))) (if (<=.f64 a1 -7306089980424573/13729595320261219429963801598162786434538870600286610818788926918371086366795312104245119281322909109954592622782961716074243975999433287625148056582230114304) (*.f64 (*.f64 a1 a1) (*.f64 (cos.f64 th) (sqrt.f64 1/2))) (*.f64 (cos.f64 th) (*.f64 (*.f64 a2 a2) (sqrt.f64 1/2))))))
(if (<=.f64 (cos.f64 th) 8962163258467287/9007199254740992) (*.f64 (*.f64 a1 a1) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))))
(if (<=.f64 (cos.f64 th) 8962163258467287/9007199254740992) (*.f64 (*.f64 a1 a1) (*.f64 (cos.f64 th) (sqrt.f64 1/2))) (*.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (sqrt.f64 1/2)))
(if (<=.f64 (cos.f64 th) 8962163258467287/9007199254740992) (*.f64 a1 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) a1))) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))))
(if (<=.f64 (cos.f64 th) 8962163258467287/9007199254740992) (*.f64 a1 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) a1))) (*.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(*.f64 (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)) (sqrt.f64 1/2))
(if (<=.f64 a1 -5534898238784785/822752278660603021077484591278675252491367932816789931674304512) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (if (<=.f64 a1 -4382278237670769/86645927941275464361825443254471365732388658605494267974077486894206915868925800719999200190754361815543475342543861619655442432) (*.f64 a2 (sqrt.f64 (/.f64 (*.f64 a2 a2) 2))) (if (<=.f64 a1 -8896305813401075/52374249726338269920211035149241586435466272736689036631732661889538140742474792878132321477214466514414186946040961136147476104734166288853256441430016) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (*.f64 a2 (sqrt.f64 (/.f64 (*.f64 a2 a2) 2))))))
(if (<=.f64 a1 -5534898238784785/822752278660603021077484591278675252491367932816789931674304512) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (if (<=.f64 a1 -4382278237670769/86645927941275464361825443254471365732388658605494267974077486894206915868925800719999200190754361815543475342543861619655442432) (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (if (<=.f64 a1 -8896305813401075/52374249726338269920211035149241586435466272736689036631732661889538140742474792878132321477214466514414186946040961136147476104734166288853256441430016) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (*.f64 a2 (*.f64 (pow.f64 2 -1/2) a2)))))
(if (<=.f64 a1 -5534898238784785/822752278660603021077484591278675252491367932816789931674304512) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (if (<=.f64 a1 -4382278237670769/86645927941275464361825443254471365732388658605494267974077486894206915868925800719999200190754361815543475342543861619655442432) (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (if (<=.f64 a1 -8896305813401075/52374249726338269920211035149241586435466272736689036631732661889538140742474792878132321477214466514414186946040961136147476104734166288853256441430016) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (*.f64 a2 (*.f64 a2 (pow.f64 2 -1/2))))))
(if (<=.f64 a1 -5534898238784785/822752278660603021077484591278675252491367932816789931674304512) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (if (<=.f64 a1 -4382278237670769/86645927941275464361825443254471365732388658605494267974077486894206915868925800719999200190754361815543475342543861619655442432) (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (if (<=.f64 a1 -8896305813401075/52374249726338269920211035149241586435466272736689036631732661889538140742474792878132321477214466514414186946040961136147476104734166288853256441430016) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (/.f64 a2 (/.f64 (sqrt.f64 2) a2)))))
(if (<=.f64 a1 -5534898238784785/822752278660603021077484591278675252491367932816789931674304512) (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (if (<=.f64 a1 -4382278237670769/86645927941275464361825443254471365732388658605494267974077486894206915868925800719999200190754361815543475342543861619655442432) (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (if (<=.f64 a1 -8896305813401075/52374249726338269920211035149241586435466272736689036631732661889538140742474792878132321477214466514414186946040961136147476104734166288853256441430016) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (/.f64 a2 (/.f64 (sqrt.f64 2) a2)))))
(/.f64 a1 (/.f64 (sqrt.f64 2) a1))
Compiler

Compiled 424 to 288 computations (32.1% saved)

soundness0.0ms (0%)

end188.0ms (1%)

Compiler

Compiled 424 to 243 computations (42.7% saved)

Profiling

Loading profile data...