Details

Time bar (total: 18.8s)

analyze400.0ms (2.1%)

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)

sample4.5s (23.7%)

Results
1.3s5477×body256valid
1.2s1864×body1024valid
974.0ms1620×body1024infinite
364.0ms914×body512valid
335.0ms796×body512infinite
311.0ms1511×body256infinite
1.0msbody2048valid
1.0msbody2048infinite
Bogosity

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

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

prune1.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
0.5b
Counts
3 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
0.5b
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2)))
Compiler

Compiled 15 to 10 computations (33.3% saved)

localize17.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

Compiled 37 to 16 computations (56.8% saved)

series16.0ms (0.1%)

Counts
2 → 40
Calls

12 calls:

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

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

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

eval44.0ms (0.2%)

Compiler

Compiled 1964 to 1149 computations (41.5% saved)

prune30.0ms (0.2%)

Pruning

14 alts after pruning (13 fresh and 1 done)

PrunedKeptTotal
New9613109
Fresh000
Picked011
Done000
Total9614110
Error
0.0b
Counts
110 → 14
Alt Table
Click to see full alt table
StatusErrorProgram
0.5b
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2)))
0.4b
(/.f64 (pow.f64 (hypot.f64 a1 a2) 2) (/.f64 (sqrt.f64 2) (cos.f64 th)))
19.2b
(pow.f64 (*.f64 (sqrt.f64 (/.f64 (cos.f64 th) (sqrt.f64 2))) (hypot.f64 a1 a2)) 2)
0.7b
(*.f64 (-.f64 (exp.f64 (log1p.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)))) 1) (fma.f64 a1 a1 (*.f64 a2 a2)))
1.0b
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a1 a2) 2))))
0.9b
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (pow.f64 (hypot.f64 a1 a2) 2)))
0.4b
(*.f64 (*.f64 (cos.f64 th) (pow.f64 2 -1/2)) (fma.f64 a1 a1 (*.f64 a2 a2)))
29.4b
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2))
30.5b
(*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (cos.f64 th))
30.5b
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
0.5b
(/.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a1 a2) 2)) (pow.f64 2 1/4)) (pow.f64 2 1/4))
25.2b
(*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th)))
25.2b
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
36.5b
(sqrt.f64 (*.f64 (*.f64 (pow.f64 (cos.f64 th) 2) 1/2) (pow.f64 (hypot.f64 a1 a2) 4)))
Compiler

Compiled 393 to 304 computations (22.6% saved)

localize20.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

Compiled 41 to 20 computations (51.2% saved)

series9.0ms (0%)

Counts
2 → 48
Calls

12 calls:

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

rewrite58.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
532×log-prod_binary64
407×exp-prod_binary64
374×pow-prod-down_binary64
299×pow2_binary64
208×pow1/3_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify56.0ms (0.3%)

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
31876810
45154806
Stop Event
node limit
Counts
100 → 75
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 a2 2) (cos.f64 th)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(sqrt.f64 1/2)
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (pow.f64 th 2))) (sqrt.f64 1/2))
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (pow.f64 th 2))) (+.f64 (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (pow.f64 th 4))) (sqrt.f64 1/2)))
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (pow.f64 th 2))) (+.f64 (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (pow.f64 th 4))) (+.f64 (sqrt.f64 1/2) (*.f64 -1/720 (*.f64 (sqrt.f64 1/2) (pow.f64 th 6))))))
(*.f64 (sqrt.f64 1/2) (cos.f64 th))
(*.f64 (sqrt.f64 1/2) (cos.f64 th))
(*.f64 (sqrt.f64 1/2) (cos.f64 th))
(*.f64 (sqrt.f64 1/2) (cos.f64 th))
(*.f64 (sqrt.f64 1/2) (cos.f64 th))
(*.f64 (sqrt.f64 1/2) (cos.f64 th))
(*.f64 (sqrt.f64 1/2) (cos.f64 th))
(*.f64 (sqrt.f64 1/2) (cos.f64 th))
Outputs
(*.f64 (sqrt.f64 1/2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)))
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1)))
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)))) (*.f64 (sqrt.f64 1/2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2))))
(fma.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (*.f64 th th))) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))))
(fma.f64 -1/2 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (*.f64 th th))) (*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (+.f64 (*.f64 -1/2 (*.f64 th th)) 1) (sqrt.f64 1/2)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 (*.f64 th th)))))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (fma.f64 (sqrt.f64 1/2) (*.f64 -1/2 (*.f64 th th)) (sqrt.f64 1/2)))
(+.f64 (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 4)))) (+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)))) (*.f64 (sqrt.f64 1/2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)))))
(fma.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (pow.f64 th 4))) (fma.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (*.f64 th th))) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))))
(fma.f64 1/24 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (pow.f64 th 4))) (fma.f64 -1/2 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (*.f64 th th))) (*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1)))))
(fma.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (*.f64 th th)) (*.f64 1/24 (pow.f64 th 4))))))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (+.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 1/24 (pow.f64 th 4)))))
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (+.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 1/24 (pow.f64 th 4)))))
(+.f64 (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 4)))) (+.f64 (*.f64 -1/720 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 6)))) (+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)))) (*.f64 (sqrt.f64 1/2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2))))))
(fma.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (pow.f64 th 4))) (fma.f64 -1/720 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (pow.f64 th 6))) (fma.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (*.f64 th th))) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))))))
(fma.f64 1/24 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (pow.f64 th 4))) (fma.f64 -1/720 (*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (pow.f64 th 6))) (fma.f64 -1/2 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (*.f64 th th))) (*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))))))
(+.f64 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (*.f64 th th)) (*.f64 1/24 (pow.f64 th 4))))) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (+.f64 (*.f64 -1/720 (pow.f64 th 6)) 1) (sqrt.f64 1/2))))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (+.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 1/2) (+.f64 (+.f64 (*.f64 1/24 (pow.f64 th 4)) (*.f64 -1/720 (pow.f64 th 6))) (*.f64 -1/2 (*.f64 th th))))))
(*.f64 (*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))) (+.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (+.f64 (*.f64 1/24 (pow.f64 th 4)) (*.f64 -1/720 (pow.f64 th 6)))))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))
(*.f64 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a1 a1) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 a1 (*.f64 a1 (cos.f64 th))))
(*.f64 a1 (*.f64 a1 (*.f64 (sqrt.f64 1/2) (cos.f64 th))))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a1 a1) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 a1 (*.f64 a1 (cos.f64 th))))
(*.f64 a1 (*.f64 a1 (*.f64 (sqrt.f64 1/2) (cos.f64 th))))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a1 a1) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 a1 (*.f64 a1 (cos.f64 th))))
(*.f64 a1 (*.f64 a1 (*.f64 (sqrt.f64 1/2) (cos.f64 th))))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))
(*.f64 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))
(*.f64 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)))
(sqrt.f64 1/2)
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (pow.f64 th 2))) (sqrt.f64 1/2))
(fma.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 th th)) (sqrt.f64 1/2))
(*.f64 (+.f64 (*.f64 -1/2 (*.f64 th th)) 1) (sqrt.f64 1/2))
(*.f64 (sqrt.f64 1/2) (+.f64 1 (*.f64 -1/2 (*.f64 th th))))
(fma.f64 (sqrt.f64 1/2) (*.f64 -1/2 (*.f64 th th)) (sqrt.f64 1/2))
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (pow.f64 th 2))) (+.f64 (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (pow.f64 th 4))) (sqrt.f64 1/2)))
(fma.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 th th)) (fma.f64 1/24 (*.f64 (sqrt.f64 1/2) (pow.f64 th 4)) (sqrt.f64 1/2)))
(+.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/2 (*.f64 th th)) (*.f64 1/24 (pow.f64 th 4)))))
(*.f64 (sqrt.f64 1/2) (+.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (*.f64 1/24 (pow.f64 th 4))))
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (pow.f64 th 2))) (+.f64 (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (pow.f64 th 4))) (+.f64 (sqrt.f64 1/2) (*.f64 -1/720 (*.f64 (sqrt.f64 1/2) (pow.f64 th 6))))))
(fma.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 th th)) (fma.f64 1/24 (*.f64 (sqrt.f64 1/2) (pow.f64 th 4)) (+.f64 (sqrt.f64 1/2) (*.f64 -1/720 (*.f64 (sqrt.f64 1/2) (pow.f64 th 6))))))
(fma.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 th th)) (fma.f64 1/24 (*.f64 (sqrt.f64 1/2) (pow.f64 th 4)) (fma.f64 -1/720 (*.f64 (sqrt.f64 1/2) (pow.f64 th 6)) (sqrt.f64 1/2))))
(+.f64 (fma.f64 (sqrt.f64 1/2) (*.f64 1/24 (pow.f64 th 4)) (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 -1/720 (pow.f64 th 6)) (*.f64 -1/2 (*.f64 th th)))))
(+.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 1/2) (+.f64 (+.f64 (*.f64 1/24 (pow.f64 th 4)) (*.f64 -1/720 (pow.f64 th 6))) (*.f64 -1/2 (*.f64 th th)))))
(*.f64 (sqrt.f64 1/2) (+.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (+.f64 (*.f64 1/24 (pow.f64 th 4)) (*.f64 -1/720 (pow.f64 th 6)))))
(*.f64 (sqrt.f64 1/2) (cos.f64 th))
(*.f64 (sqrt.f64 1/2) (cos.f64 th))
(*.f64 (sqrt.f64 1/2) (cos.f64 th))
(*.f64 (sqrt.f64 1/2) (cos.f64 th))
(*.f64 (sqrt.f64 1/2) (cos.f64 th))
(*.f64 (sqrt.f64 1/2) (cos.f64 th))
(*.f64 (sqrt.f64 1/2) (cos.f64 th))
(*.f64 (sqrt.f64 1/2) (cos.f64 th))

localize15.0ms (0.1%)

Local error

Found 6 expressions with local error:

NewErrorProgram
0.5b
(/.f64 a2 (sqrt.f64 2))
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.2b
(*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th))
0.2b
(*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th)))
0.5b
(/.f64 a2 (sqrt.f64 2))
Compiler

Compiled 30 to 19 computations (36.7% saved)

series16.0ms (0.1%)

Counts
3 → 48
Calls

15 calls:

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

rewrite62.0ms (0.3%)

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

simplify112.0ms (0.6%)

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

Useful iterations: 5 (0.0ms)

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

localize14.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

Compiled 28 to 18 computations (35.7% saved)

series5.0ms (0%)

Counts
2 → 20
Calls

12 calls:

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

rewrite56.0ms (0.3%)

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

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

localize19.0ms (0.1%)

Local error

Found 8 expressions with local error:

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

Compiled 35 to 19 computations (45.7% saved)

series25.0ms (0.1%)

Counts
4 → 88
Calls

24 calls:

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

rewrite154.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
569×log-prod_binary64
451×exp-prod_binary64
292×pow2_binary64
289×pow-prod-down_binary64
204×pow1/3_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify75.0ms (0.4%)

Algorithm
egg-herbie
Rules
796×times-frac_binary64
631×associate-/l*_binary64
567×associate-/r*_binary64
409×distribute-rgt-in_binary64
394×distribute-lft-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02802949
18502759
229152439
Stop Event
node limit
Counts
269 → 265
Calls
Call 1
Inputs
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (+.f64 (*.f64 -1 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6))))) (*.f64 5/64 (/.f64 1 (pow.f64 a2 6)))) (*.f64 (pow.f64 a1 8) (cos.f64 th))) (sqrt.f64 2))))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 (pow.f64 a1 12) (*.f64 (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 a2 8))) (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6)))) (pow.f64 a2 2)))) (pow.f64 a2 2))) (+.f64 (*.f64 -1 (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 a2 8))) (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6)))) (pow.f64 a2 2)))) (pow.f64 a2 2))) (+.f64 (pow.f64 (/.f64 1/16 (pow.f64 a2 5)) 2) (*.f64 1/8 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6)))) (pow.f64 a2 4)))))) (+.f64 (*.f64 1/8 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6)))) (pow.f64 a2 4))) (*.f64 1/256 (/.f64 1 (pow.f64 a2 10)))))) (cos.f64 th))) (sqrt.f64 2)) (/.f64 (*.f64 (+.f64 (*.f64 -1 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6))))) (*.f64 5/64 (/.f64 1 (pow.f64 a2 6)))) (*.f64 (pow.f64 a1 8) (cos.f64 th))) (sqrt.f64 2)))))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (cos.f64 th)) (*.f64 (sqrt.f64 2) (pow.f64 a1 2)))))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (cos.f64 th)) (*.f64 (sqrt.f64 2) (pow.f64 a1 2))) (/.f64 (*.f64 (+.f64 (*.f64 1/8 (pow.f64 a2 6)) (*.f64 -1/8 (pow.f64 a2 6))) (cos.f64 th)) (*.f64 (sqrt.f64 2) (pow.f64 a1 4))))))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (cos.f64 th)) (*.f64 (sqrt.f64 2) (pow.f64 a1 2)))))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (cos.f64 th)) (*.f64 (sqrt.f64 2) (pow.f64 a1 2))) (/.f64 (*.f64 (+.f64 (*.f64 1/8 (pow.f64 a2 6)) (*.f64 -1/8 (pow.f64 a2 6))) (cos.f64 th)) (*.f64 (sqrt.f64 2) (pow.f64 a1 4))))))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -1 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (*.f64 5/64 (/.f64 1 (pow.f64 a1 6)))) (*.f64 (cos.f64 th) (pow.f64 a2 8))) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -1 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (*.f64 5/64 (/.f64 1 (pow.f64 a1 6)))) (*.f64 (pow.f64 a2 8) (cos.f64 th))) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 a1 8))) (*.f64 -1/2 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 2)))) (pow.f64 a1 2))) (+.f64 (*.f64 1/8 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 4))) (+.f64 (*.f64 1/256 (/.f64 1 (pow.f64 a1 10))) (*.f64 -1 (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 a1 8))) (*.f64 -1/2 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 2)))) (pow.f64 a1 2))) (+.f64 (pow.f64 (/.f64 1/16 (pow.f64 a1 5)) 2) (*.f64 1/8 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 4))))))))) (*.f64 (cos.f64 th) (pow.f64 a2 12))) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4))) (cos.f64 th)) (*.f64 (sqrt.f64 2) (pow.f64 a2 2)))))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/8 (pow.f64 a1 6)) (*.f64 -1/8 (pow.f64 a1 6))) (cos.f64 th)) (*.f64 (sqrt.f64 2) (pow.f64 a2 4))) (+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4))) (cos.f64 th)) (*.f64 (sqrt.f64 2) (pow.f64 a2 2))))))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4))) (cos.f64 th)) (*.f64 (sqrt.f64 2) (pow.f64 a2 2)))))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/8 (pow.f64 a1 6)) (*.f64 -1/8 (pow.f64 a1 6))) (cos.f64 th)) (*.f64 (sqrt.f64 2) (pow.f64 a2 4))) (+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4))) (cos.f64 th)) (*.f64 (sqrt.f64 2) (pow.f64 a2 2))))))
(/.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (sqrt.f64 2))
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (/.f64 (pow.f64 a1 2) (sqrt.f64 2)) (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)) (sqrt.f64 2)))))
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (/.f64 (pow.f64 a1 2) (sqrt.f64 2)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)) (sqrt.f64 2))) (*.f64 1/24 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 4)) (sqrt.f64 2))))))
(+.f64 (*.f64 -1/720 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 6)) (sqrt.f64 2))) (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (/.f64 (pow.f64 a1 2) (sqrt.f64 2)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)) (sqrt.f64 2))) (*.f64 1/24 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 4)) (sqrt.f64 2)))))))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(sqrt.f64 2)
(+.f64 (sqrt.f64 2) (*.f64 1/2 (*.f64 (sqrt.f64 2) (pow.f64 th 2))))
(+.f64 (sqrt.f64 2) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 2) (pow.f64 th 2))) (*.f64 -1 (*.f64 (+.f64 (*.f64 1/24 (sqrt.f64 2)) (*.f64 -1/4 (sqrt.f64 2))) (pow.f64 th 4)))))
(+.f64 (sqrt.f64 2) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/720 (sqrt.f64 2)) (+.f64 (*.f64 1/2 (+.f64 (*.f64 1/24 (sqrt.f64 2)) (*.f64 -1/4 (sqrt.f64 2)))) (*.f64 1/48 (sqrt.f64 2)))) (pow.f64 th 6))) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 2) (pow.f64 th 2))) (*.f64 -1 (*.f64 (+.f64 (*.f64 1/24 (sqrt.f64 2)) (*.f64 -1/4 (sqrt.f64 2))) (pow.f64 th 4))))))
a2
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 a1 2) a2)) a2)
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 a1 2) a2)) a2))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 a1 2) a2)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 a1 6) (pow.f64 a2 5))) a2)))
a1
(+.f64 a1 (*.f64 1/2 (/.f64 (pow.f64 a2 2) a1)))
(+.f64 a1 (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3))) (*.f64 1/2 (/.f64 (pow.f64 a2 2) a1))))
(+.f64 (*.f64 1/16 (/.f64 (pow.f64 a2 6) (pow.f64 a1 5))) (+.f64 a1 (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3))) (*.f64 1/2 (/.f64 (pow.f64 a2 2) a1)))))
(*.f64 -1 a1)
(+.f64 (*.f64 -1 a1) (*.f64 -1/2 (/.f64 (pow.f64 a2 2) a1)))
(+.f64 (*.f64 -1 a1) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3))) (*.f64 -1/2 (/.f64 (pow.f64 a2 2) a1))))
(+.f64 (*.f64 -1 a1) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 a2 6) (pow.f64 a1 5))) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3))) (*.f64 -1/2 (/.f64 (pow.f64 a2 2) a1)))))
a1
(+.f64 a1 (*.f64 1/2 (/.f64 (pow.f64 a2 2) a1)))
(+.f64 a1 (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3))) (*.f64 1/2 (/.f64 (pow.f64 a2 2) a1))))
(+.f64 (*.f64 1/16 (/.f64 (pow.f64 a2 6) (pow.f64 a1 5))) (+.f64 a1 (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3))) (*.f64 1/2 (/.f64 (pow.f64 a2 2) a1)))))
a2
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 a1 2) a2)) a2)
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 a1 2) a2)) a2))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 a1 2) a2)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 a1 6) (pow.f64 a2 5))) a2)))
(*.f64 -1 a2)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 a1 2) a2)) (*.f64 -1 a2))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 a1 2) a2)) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3))) (*.f64 -1 a2)))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 a1 2) a2)) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3))) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 a1 6) (pow.f64 a2 5))) (*.f64 -1 a2))))
(pow.f64 a2 2)
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (*.f64 (+.f64 (*.f64 -1 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6))))) (*.f64 5/64 (/.f64 1 (pow.f64 a2 6)))) (pow.f64 a1 8)) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)))
(pow.f64 a1 2)
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (*.f64 -1/4 (/.f64 (pow.f64 a2 4) (pow.f64 a1 2))) (+.f64 (pow.f64 a2 2) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 a2 4) (pow.f64 a1 2))) (pow.f64 a1 2))))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a2 6) (pow.f64 a1 4))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 a2 4) (pow.f64 a1 2))) (+.f64 (pow.f64 a2 2) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 a2 4) (pow.f64 a1 2))) (+.f64 (pow.f64 a1 2) (*.f64 1/8 (/.f64 (pow.f64 a2 6) (pow.f64 a1 4))))))))
(pow.f64 a1 2)
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (*.f64 -1/4 (/.f64 (pow.f64 a2 4) (pow.f64 a1 2))) (+.f64 (pow.f64 a2 2) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 a2 4) (pow.f64 a1 2))) (pow.f64 a1 2))))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a2 6) (pow.f64 a1 4))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 a2 4) (pow.f64 a1 2))) (+.f64 (pow.f64 a2 2) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 a2 4) (pow.f64 a1 2))) (+.f64 (pow.f64 a1 2) (*.f64 1/8 (/.f64 (pow.f64 a2 6) (pow.f64 a1 4))))))))
(pow.f64 a1 2)
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (pow.f64 a2 2) (+.f64 (*.f64 (+.f64 (*.f64 -1 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (*.f64 5/64 (/.f64 1 (pow.f64 a1 6)))) (pow.f64 a2 8)) (pow.f64 a1 2)))
(pow.f64 a2 2)
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 a1 4) (pow.f64 a2 2))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 a1 4) (pow.f64 a2 2))) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2))))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 a1 4) (pow.f64 a2 2))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a1 6) (pow.f64 a2 4))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 a1 4) (pow.f64 a2 2))) (+.f64 (pow.f64 a2 2) (+.f64 (pow.f64 a1 2) (*.f64 1/8 (/.f64 (pow.f64 a1 6) (pow.f64 a2 4))))))))
(pow.f64 a2 2)
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 a1 4) (pow.f64 a2 2))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 a1 4) (pow.f64 a2 2))) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2))))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 a1 4) (pow.f64 a2 2))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a1 6) (pow.f64 a2 4))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 a1 4) (pow.f64 a2 2))) (+.f64 (pow.f64 a2 2) (+.f64 (pow.f64 a1 2) (*.f64 1/8 (/.f64 (pow.f64 a1 6) (pow.f64 a2 4))))))))
Outputs
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (cos.f64 th))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (cos.f64 th))) (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2)))
(+.f64 (*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (cos.f64 th)) (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2)))
(*.f64 (cos.f64 th) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (+.f64 (*.f64 -1 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6))))) (*.f64 5/64 (/.f64 1 (pow.f64 a2 6)))) (*.f64 (pow.f64 a1 8) (cos.f64 th))) (sqrt.f64 2))))
(+.f64 (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (cos.f64 th))) (+.f64 (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2)) (/.f64 (fma.f64 -1 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (/.f64 5/64 (pow.f64 a2 6))) (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (pow.f64 a1 8))))))
(+.f64 (*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (cos.f64 th)) (+.f64 (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2)) (/.f64 (-.f64 (/.f64 5/64 (pow.f64 a2 6)) (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6)))) (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (pow.f64 a1 8))))))
(+.f64 (*.f64 (cos.f64 th) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))) (*.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 8)) (sqrt.f64 2)) (+.f64 (neg.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2)) (*.f64 (/.f64 1 (pow.f64 a2 6)) 1/64))))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 (pow.f64 a1 12) (*.f64 (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 a2 8))) (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6)))) (pow.f64 a2 2)))) (pow.f64 a2 2))) (+.f64 (*.f64 -1 (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 a2 8))) (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6)))) (pow.f64 a2 2)))) (pow.f64 a2 2))) (+.f64 (pow.f64 (/.f64 1/16 (pow.f64 a2 5)) 2) (*.f64 1/8 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6)))) (pow.f64 a2 4)))))) (+.f64 (*.f64 1/8 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6)))) (pow.f64 a2 4))) (*.f64 1/256 (/.f64 1 (pow.f64 a2 10)))))) (cos.f64 th))) (sqrt.f64 2)) (/.f64 (*.f64 (+.f64 (*.f64 -1 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6))))) (*.f64 5/64 (/.f64 1 (pow.f64 a2 6)))) (*.f64 (pow.f64 a1 8) (cos.f64 th))) (sqrt.f64 2)))))
(+.f64 (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (cos.f64 th))) (+.f64 (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2)) (+.f64 (/.f64 (fma.f64 -1 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (/.f64 5/64 (pow.f64 a2 6))) (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (pow.f64 a1 8)))) (/.f64 (pow.f64 a1 12) (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (fma.f64 1/2 (/.f64 (-.f64 (/.f64 1/64 (pow.f64 a2 8)) (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (*.f64 a2 a2)))) (*.f64 a2 a2)) (fma.f64 -1 (fma.f64 1/2 (/.f64 (-.f64 (/.f64 1/64 (pow.f64 a2 8)) (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (*.f64 a2 a2)))) (*.f64 a2 a2)) (+.f64 (pow.f64 (/.f64 1/16 (pow.f64 a2 5)) 2) (*.f64 1/8 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (pow.f64 a2 4))))) (fma.f64 1/8 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (pow.f64 a2 4)) (/.f64 1/256 (pow.f64 a2 10)))))))))))
(+.f64 (*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (cos.f64 th)) (+.f64 (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2)) (+.f64 (/.f64 (-.f64 (/.f64 5/64 (pow.f64 a2 6)) (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6)))) (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (pow.f64 a1 8)))) (*.f64 (/.f64 (pow.f64 a1 12) (sqrt.f64 2)) (*.f64 (cos.f64 th) (fma.f64 1/2 (-.f64 (/.f64 1/64 (*.f64 (*.f64 a2 a2) (pow.f64 a2 8))) (/.f64 (*.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) -1/2) (pow.f64 a2 4))) (-.f64 (fma.f64 1/8 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (pow.f64 a2 4)) (/.f64 1/256 (pow.f64 a2 10))) (fma.f64 1/2 (-.f64 (/.f64 1/64 (*.f64 (*.f64 a2 a2) (pow.f64 a2 8))) (/.f64 (*.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) -1/2) (pow.f64 a2 4))) (fma.f64 1/8 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (pow.f64 a2 4)) (pow.f64 (/.f64 1/16 (pow.f64 a2 5)) 2))))))))))
(+.f64 (*.f64 (cos.f64 th) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))) (+.f64 (*.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a1 8)) (sqrt.f64 2)) (+.f64 (neg.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2)) (*.f64 (/.f64 1 (pow.f64 a2 6)) 1/64))) (*.f64 (/.f64 (pow.f64 a1 12) (sqrt.f64 2)) (*.f64 (cos.f64 th) (+.f64 (fma.f64 1/8 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (pow.f64 a2 4)) (/.f64 1/256 (pow.f64 a2 10))) (-.f64 (*.f64 (+.f64 (/.f64 (/.f64 1/64 (pow.f64 a2 8)) (*.f64 a2 a2)) (/.f64 (*.f64 (-.f64 (/.f64 -1/16 (pow.f64 a2 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2)) -1/2) (pow.f64 a2 4))) 0) (fma.f64 1/8 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (pow.f64 a2 4)) (/.f64 1/256 (pow.f64 a2 10)))))))))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2))
(*.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (cos.f64 th))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (cos.f64 th))) (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2)))
(+.f64 (*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (cos.f64 th)) (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2)))
(*.f64 (cos.f64 th) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (cos.f64 th)) (*.f64 (sqrt.f64 2) (pow.f64 a1 2)))))
(+.f64 (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (cos.f64 th))) (+.f64 (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2)) (*.f64 (/.f64 (*.f64 (pow.f64 a2 4) 0) (sqrt.f64 2)) (/.f64 (cos.f64 th) (*.f64 a1 a1)))))
(+.f64 (*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (cos.f64 th)) (fma.f64 (/.f64 0 (sqrt.f64 2)) (/.f64 (cos.f64 th) (*.f64 a1 a1)) (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2))))
(+.f64 (*.f64 (cos.f64 th) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))) 0)
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (cos.f64 th)) (*.f64 (sqrt.f64 2) (pow.f64 a1 2))) (/.f64 (*.f64 (+.f64 (*.f64 1/8 (pow.f64 a2 6)) (*.f64 -1/8 (pow.f64 a2 6))) (cos.f64 th)) (*.f64 (sqrt.f64 2) (pow.f64 a1 4))))))
(+.f64 (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (cos.f64 th))) (+.f64 (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2)) (*.f64 (/.f64 (*.f64 (pow.f64 a2 4) 0) (sqrt.f64 2)) (/.f64 (cos.f64 th) (*.f64 a1 a1)))))
(+.f64 (*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (cos.f64 th)) (fma.f64 (/.f64 0 (sqrt.f64 2)) (/.f64 (cos.f64 th) (*.f64 a1 a1)) (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2))))
(+.f64 (*.f64 (cos.f64 th) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))) 0)
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2))
(*.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (cos.f64 th))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (cos.f64 th))) (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2)))
(+.f64 (*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (cos.f64 th)) (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2)))
(*.f64 (cos.f64 th) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (cos.f64 th)) (*.f64 (sqrt.f64 2) (pow.f64 a1 2)))))
(+.f64 (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (cos.f64 th))) (+.f64 (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2)) (*.f64 (/.f64 (*.f64 (pow.f64 a2 4) 0) (sqrt.f64 2)) (/.f64 (cos.f64 th) (*.f64 a1 a1)))))
(+.f64 (*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (cos.f64 th)) (fma.f64 (/.f64 0 (sqrt.f64 2)) (/.f64 (cos.f64 th) (*.f64 a1 a1)) (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2))))
(+.f64 (*.f64 (cos.f64 th) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))) 0)
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (cos.f64 th)) (*.f64 (sqrt.f64 2) (pow.f64 a1 2))) (/.f64 (*.f64 (+.f64 (*.f64 1/8 (pow.f64 a2 6)) (*.f64 -1/8 (pow.f64 a2 6))) (cos.f64 th)) (*.f64 (sqrt.f64 2) (pow.f64 a1 4))))))
(+.f64 (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (cos.f64 th))) (+.f64 (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2)) (*.f64 (/.f64 (*.f64 (pow.f64 a2 4) 0) (sqrt.f64 2)) (/.f64 (cos.f64 th) (*.f64 a1 a1)))))
(+.f64 (*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (cos.f64 th)) (fma.f64 (/.f64 0 (sqrt.f64 2)) (/.f64 (cos.f64 th) (*.f64 a1 a1)) (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2))))
(+.f64 (*.f64 (cos.f64 th) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))) 0)
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2))
(*.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (cos.f64 th))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (cos.f64 th))) (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2)))
(+.f64 (*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (cos.f64 th)) (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2)))
(*.f64 (cos.f64 th) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1)))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -1 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (*.f64 5/64 (/.f64 1 (pow.f64 a1 6)))) (*.f64 (cos.f64 th) (pow.f64 a2 8))) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (cos.f64 th))) (/.f64 (fma.f64 -1 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (/.f64 5/64 (pow.f64 a1 6))) (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (pow.f64 a2 8))))))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2)) (+.f64 (*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (cos.f64 th)) (*.f64 (/.f64 (-.f64 (/.f64 5/64 (pow.f64 a1 6)) (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (sqrt.f64 2)) (*.f64 (cos.f64 th) (pow.f64 a2 8)))))
(+.f64 (*.f64 (cos.f64 th) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))) (*.f64 (/.f64 (-.f64 (*.f64 (/.f64 1 (pow.f64 a1 6)) 1/64) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (sqrt.f64 2)) (*.f64 (cos.f64 th) (pow.f64 a2 8))))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -1 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (*.f64 5/64 (/.f64 1 (pow.f64 a1 6)))) (*.f64 (pow.f64 a2 8) (cos.f64 th))) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 a1 8))) (*.f64 -1/2 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 2)))) (pow.f64 a1 2))) (+.f64 (*.f64 1/8 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 4))) (+.f64 (*.f64 1/256 (/.f64 1 (pow.f64 a1 10))) (*.f64 -1 (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 a1 8))) (*.f64 -1/2 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 2)))) (pow.f64 a1 2))) (+.f64 (pow.f64 (/.f64 1/16 (pow.f64 a1 5)) 2) (*.f64 1/8 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 4))))))))) (*.f64 (cos.f64 th) (pow.f64 a2 12))) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))))
(+.f64 (/.f64 (fma.f64 -1 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (/.f64 5/64 (pow.f64 a1 6))) (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (pow.f64 a2 8)))) (+.f64 (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (cos.f64 th))) (/.f64 (fma.f64 1/2 (/.f64 (+.f64 (/.f64 1/64 (pow.f64 a1 8)) (*.f64 1/2 (/.f64 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (*.f64 a1 a1)))) (*.f64 a1 a1)) (fma.f64 1/8 (/.f64 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 4)) (+.f64 (/.f64 1/256 (pow.f64 a1 10)) (neg.f64 (fma.f64 1/2 (/.f64 (+.f64 (/.f64 1/64 (pow.f64 a1 8)) (*.f64 1/2 (/.f64 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (*.f64 a1 a1)))) (*.f64 a1 a1)) (+.f64 (*.f64 1/8 (/.f64 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 4))) (pow.f64 (/.f64 1/16 (pow.f64 a1 5)) 2))))))) (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (pow.f64 a2 12)))))))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2)) (+.f64 (+.f64 (*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (cos.f64 th)) (/.f64 (fma.f64 1/2 (-.f64 (/.f64 (/.f64 1/64 (pow.f64 a1 8)) (*.f64 a1 a1)) (/.f64 (*.f64 -1/2 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (pow.f64 a1 4))) (-.f64 (fma.f64 1/8 (/.f64 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 4)) (/.f64 1/256 (pow.f64 a1 10))) (fma.f64 1/2 (-.f64 (/.f64 (/.f64 1/64 (pow.f64 a1 8)) (*.f64 a1 a1)) (/.f64 (*.f64 -1/2 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (pow.f64 a1 4))) (fma.f64 1/8 (/.f64 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 4)) (pow.f64 (/.f64 1/16 (pow.f64 a1 5)) 2))))) (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (pow.f64 a2 12))))) (*.f64 (/.f64 (-.f64 (/.f64 5/64 (pow.f64 a1 6)) (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (sqrt.f64 2)) (*.f64 (cos.f64 th) (pow.f64 a2 8)))))
(+.f64 (*.f64 (/.f64 (-.f64 (*.f64 (/.f64 1 (pow.f64 a1 6)) 1/64) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (sqrt.f64 2)) (*.f64 (cos.f64 th) (pow.f64 a2 8))) (+.f64 (*.f64 (cos.f64 th) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))) (*.f64 (/.f64 (-.f64 (fma.f64 1/2 (+.f64 (/.f64 (/.f64 1/64 (pow.f64 a1 8)) (*.f64 a1 a1)) (/.f64 1/2 (/.f64 (pow.f64 a1 4) (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))))) (fma.f64 1/8 (/.f64 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 4)) (/.f64 1/256 (pow.f64 a1 10)))) (fma.f64 1/2 (+.f64 (/.f64 (/.f64 1/64 (pow.f64 a1 8)) (*.f64 a1 a1)) (/.f64 1/2 (/.f64 (pow.f64 a1 4) (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))))) (fma.f64 1/8 (/.f64 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 4)) (/.f64 1/256 (pow.f64 a1 10))))) (sqrt.f64 2)) (*.f64 (cos.f64 th) (pow.f64 a2 12)))))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (cos.f64 th))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (cos.f64 th))) (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2)))
(+.f64 (*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (cos.f64 th)) (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2)))
(*.f64 (cos.f64 th) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4))) (cos.f64 th)) (*.f64 (sqrt.f64 2) (pow.f64 a2 2)))))
(+.f64 (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (cos.f64 th))) (+.f64 (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2)) (*.f64 (/.f64 (*.f64 (pow.f64 a2 4) 0) (sqrt.f64 2)) (/.f64 (cos.f64 th) (*.f64 a1 a1)))))
(+.f64 (*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (cos.f64 th)) (fma.f64 (/.f64 0 (sqrt.f64 2)) (/.f64 (cos.f64 th) (*.f64 a1 a1)) (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2))))
(+.f64 (*.f64 (cos.f64 th) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))) 0)
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/8 (pow.f64 a1 6)) (*.f64 -1/8 (pow.f64 a1 6))) (cos.f64 th)) (*.f64 (sqrt.f64 2) (pow.f64 a2 4))) (+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4))) (cos.f64 th)) (*.f64 (sqrt.f64 2) (pow.f64 a2 2))))))
(+.f64 (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (cos.f64 th))) (+.f64 (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2)) (*.f64 (/.f64 (*.f64 (pow.f64 a2 4) 0) (sqrt.f64 2)) (/.f64 (cos.f64 th) (*.f64 a1 a1)))))
(+.f64 (*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (cos.f64 th)) (fma.f64 (/.f64 0 (sqrt.f64 2)) (/.f64 (cos.f64 th) (*.f64 a1 a1)) (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2))))
(+.f64 (*.f64 (cos.f64 th) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))) 0)
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (cos.f64 th))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (cos.f64 th))) (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2)))
(+.f64 (*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (cos.f64 th)) (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2)))
(*.f64 (cos.f64 th) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4))) (cos.f64 th)) (*.f64 (sqrt.f64 2) (pow.f64 a2 2)))))
(+.f64 (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (cos.f64 th))) (+.f64 (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2)) (*.f64 (/.f64 (*.f64 (pow.f64 a2 4) 0) (sqrt.f64 2)) (/.f64 (cos.f64 th) (*.f64 a1 a1)))))
(+.f64 (*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (cos.f64 th)) (fma.f64 (/.f64 0 (sqrt.f64 2)) (/.f64 (cos.f64 th) (*.f64 a1 a1)) (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2))))
(+.f64 (*.f64 (cos.f64 th) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))) 0)
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/8 (pow.f64 a1 6)) (*.f64 -1/8 (pow.f64 a1 6))) (cos.f64 th)) (*.f64 (sqrt.f64 2) (pow.f64 a2 4))) (+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4))) (cos.f64 th)) (*.f64 (sqrt.f64 2) (pow.f64 a2 2))))))
(+.f64 (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (cos.f64 th))) (+.f64 (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2)) (*.f64 (/.f64 (*.f64 (pow.f64 a2 4) 0) (sqrt.f64 2)) (/.f64 (cos.f64 th) (*.f64 a1 a1)))))
(+.f64 (*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (cos.f64 th)) (fma.f64 (/.f64 0 (sqrt.f64 2)) (/.f64 (cos.f64 th) (*.f64 a1 a1)) (/.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (sqrt.f64 2))))
(+.f64 (*.f64 (cos.f64 th) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1))) 0)
(/.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (sqrt.f64 2))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (sqrt.f64 2))
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2))
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (/.f64 (pow.f64 a1 2) (sqrt.f64 2)) (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)) (sqrt.f64 2)))))
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (*.f64 -1/2 (/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (*.f64 th th))))))
(+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (fma.f64 -1/2 (*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (*.f64 th th)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))))
(+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (fma.f64 -1/2 (*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (*.f64 th th)) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1)))
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (/.f64 (pow.f64 a1 2) (sqrt.f64 2)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)) (sqrt.f64 2))) (*.f64 1/24 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 4)) (sqrt.f64 2))))))
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (fma.f64 -1/2 (/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (*.f64 th th))) (*.f64 1/24 (/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (pow.f64 th 4)))))))
(+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (+.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (fma.f64 -1/2 (*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (*.f64 th th)) (*.f64 1/24 (*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (pow.f64 th 4))))))
(+.f64 (fma.f64 1/24 (*.f64 (/.f64 (pow.f64 th 4) (sqrt.f64 2)) (fma.f64 a2 a2 (*.f64 a1 a1))) (*.f64 (/.f64 -1/2 (sqrt.f64 2)) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 th th)))) (+.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (*.f64 (/.f64 a1 (sqrt.f64 2)) a1)))
(+.f64 (*.f64 -1/720 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 6)) (sqrt.f64 2))) (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (/.f64 (pow.f64 a1 2) (sqrt.f64 2)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)) (sqrt.f64 2))) (*.f64 1/24 (/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 4)) (sqrt.f64 2)))))))
(fma.f64 -1/720 (/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (pow.f64 th 6))) (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (fma.f64 -1/2 (/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (*.f64 th th))) (*.f64 1/24 (/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (pow.f64 th 4))))))))
(+.f64 (+.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (fma.f64 -1/2 (*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (*.f64 th th)) (*.f64 1/24 (*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (pow.f64 th 4))))) (fma.f64 -1/720 (*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (pow.f64 th 6)) (/.f64 a2 (/.f64 (sqrt.f64 2) a2))))
(+.f64 (+.f64 (*.f64 (/.f64 a1 (sqrt.f64 2)) a1) (fma.f64 1/24 (*.f64 (/.f64 (pow.f64 th 4) (sqrt.f64 2)) (fma.f64 a2 a2 (*.f64 a1 a1))) (*.f64 (/.f64 -1/2 (sqrt.f64 2)) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 th th))))) (fma.f64 -1/720 (*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (pow.f64 th 6)) (*.f64 (/.f64 a2 (sqrt.f64 2)) a2)))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a2 a2 (*.f64 a1 a1)))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a2 a2 (*.f64 a1 a1)))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a2 a2 (*.f64 a1 a1)))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a2 a2 (*.f64 a1 a1)))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a2 a2 (*.f64 a1 a1)))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a2 a2 (*.f64 a1 a1)))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a2 a2 (*.f64 a1 a1)))
(/.f64 (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a2 a2 (*.f64 a1 a1)))
(sqrt.f64 2)
(+.f64 (sqrt.f64 2) (*.f64 1/2 (*.f64 (sqrt.f64 2) (pow.f64 th 2))))
(+.f64 (sqrt.f64 2) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 th th))))
(fma.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 th th)) (sqrt.f64 2))
(fma.f64 1/2 (*.f64 th (*.f64 th (sqrt.f64 2))) (sqrt.f64 2))
(+.f64 (sqrt.f64 2) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 2) (pow.f64 th 2))) (*.f64 -1 (*.f64 (+.f64 (*.f64 1/24 (sqrt.f64 2)) (*.f64 -1/4 (sqrt.f64 2))) (pow.f64 th 4)))))
(+.f64 (sqrt.f64 2) (fma.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 th th)) (neg.f64 (*.f64 (pow.f64 th 4) (*.f64 (sqrt.f64 2) -5/24)))))
(-.f64 (fma.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 th th)) (sqrt.f64 2)) (*.f64 (pow.f64 th 4) (*.f64 (sqrt.f64 2) -5/24)))
(+.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 2) (-.f64 (*.f64 (*.f64 th th) 1/2) (*.f64 -5/24 (pow.f64 th 4)))))
(+.f64 (sqrt.f64 2) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/720 (sqrt.f64 2)) (+.f64 (*.f64 1/2 (+.f64 (*.f64 1/24 (sqrt.f64 2)) (*.f64 -1/4 (sqrt.f64 2)))) (*.f64 1/48 (sqrt.f64 2)))) (pow.f64 th 6))) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 2) (pow.f64 th 2))) (*.f64 -1 (*.f64 (+.f64 (*.f64 1/24 (sqrt.f64 2)) (*.f64 -1/4 (sqrt.f64 2))) (pow.f64 th 4))))))
(+.f64 (sqrt.f64 2) (fma.f64 -1 (*.f64 (pow.f64 th 6) (fma.f64 -1/720 (sqrt.f64 2) (fma.f64 1/2 (*.f64 (sqrt.f64 2) -5/24) (*.f64 (sqrt.f64 2) 1/48)))) (fma.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 th th)) (neg.f64 (*.f64 (pow.f64 th 4) (*.f64 (sqrt.f64 2) -5/24))))))
(+.f64 (sqrt.f64 2) (-.f64 (-.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 th th) 1/2)) (*.f64 (pow.f64 th 4) (*.f64 (sqrt.f64 2) -5/24))) (*.f64 (pow.f64 th 6) (fma.f64 (sqrt.f64 2) -1/720 (fma.f64 (sqrt.f64 2) 1/48 (*.f64 (sqrt.f64 2) -5/48))))))
(+.f64 (*.f64 (sqrt.f64 2) (-.f64 (*.f64 (*.f64 th th) 1/2) (*.f64 -5/24 (pow.f64 th 4)))) (-.f64 (sqrt.f64 2) (*.f64 (pow.f64 th 6) (fma.f64 (sqrt.f64 2) -1/720 (*.f64 (sqrt.f64 2) -1/12)))))
a2
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 a1 2) a2)) a2)
(fma.f64 1/2 (/.f64 (*.f64 a1 a1) a2) a2)
(fma.f64 1/2 (/.f64 a1 (/.f64 a2 a1)) a2)
(fma.f64 1/2 (*.f64 (/.f64 a1 a2) a1) a2)
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 a1 2) a2)) a2))
(fma.f64 -1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3)) (fma.f64 1/2 (/.f64 (*.f64 a1 a1) a2) a2))
(fma.f64 -1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3)) (fma.f64 1/2 (/.f64 a1 (/.f64 a2 a1)) a2))
(fma.f64 -1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3)) (fma.f64 1/2 (*.f64 (/.f64 a1 a2) a1) a2))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 a1 2) a2)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 a1 6) (pow.f64 a2 5))) a2)))
(fma.f64 -1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3)) (fma.f64 1/2 (/.f64 (*.f64 a1 a1) a2) (fma.f64 1/16 (/.f64 (pow.f64 a1 6) (pow.f64 a2 5)) a2)))
(fma.f64 -1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3)) (fma.f64 1/2 (/.f64 a1 (/.f64 a2 a1)) (fma.f64 1/16 (/.f64 (pow.f64 a1 6) (pow.f64 a2 5)) a2)))
(fma.f64 -1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3)) (fma.f64 1/2 (*.f64 (/.f64 a1 a2) a1) (fma.f64 1/16 (/.f64 (pow.f64 a1 6) (pow.f64 a2 5)) a2)))
a1
(+.f64 a1 (*.f64 1/2 (/.f64 (pow.f64 a2 2) a1)))
(+.f64 a1 (*.f64 1/2 (/.f64 (*.f64 a2 a2) a1)))
(fma.f64 1/2 (/.f64 a2 (/.f64 a1 a2)) a1)
(fma.f64 1/2 (/.f64 (*.f64 a2 a2) a1) a1)
(+.f64 a1 (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3))) (*.f64 1/2 (/.f64 (pow.f64 a2 2) a1))))
(+.f64 a1 (fma.f64 -1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3)) (*.f64 1/2 (/.f64 (*.f64 a2 a2) a1))))
(+.f64 a1 (fma.f64 -1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3)) (*.f64 1/2 (/.f64 a2 (/.f64 a1 a2)))))
(+.f64 (fma.f64 1/2 (/.f64 (*.f64 a2 a2) a1) a1) (*.f64 -1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3))))
(+.f64 (*.f64 1/16 (/.f64 (pow.f64 a2 6) (pow.f64 a1 5))) (+.f64 a1 (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3))) (*.f64 1/2 (/.f64 (pow.f64 a2 2) a1)))))
(fma.f64 1/16 (/.f64 (pow.f64 a2 6) (pow.f64 a1 5)) (+.f64 a1 (fma.f64 -1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3)) (*.f64 1/2 (/.f64 (*.f64 a2 a2) a1)))))
(+.f64 (fma.f64 -1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3)) (*.f64 1/2 (/.f64 a2 (/.f64 a1 a2)))) (fma.f64 1/16 (/.f64 (pow.f64 a2 6) (pow.f64 a1 5)) a1))
(+.f64 (fma.f64 -1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3)) (*.f64 1/2 (/.f64 (*.f64 a2 a2) a1))) (fma.f64 1/16 (/.f64 (pow.f64 a2 6) (pow.f64 a1 5)) a1))
(*.f64 -1 a1)
(neg.f64 a1)
(+.f64 (*.f64 -1 a1) (*.f64 -1/2 (/.f64 (pow.f64 a2 2) a1)))
(fma.f64 -1 a1 (*.f64 -1/2 (/.f64 (*.f64 a2 a2) a1)))
(-.f64 (*.f64 -1/2 (/.f64 a2 (/.f64 a1 a2))) a1)
(-.f64 (*.f64 -1/2 (/.f64 (*.f64 a2 a2) a1)) a1)
(+.f64 (*.f64 -1 a1) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3))) (*.f64 -1/2 (/.f64 (pow.f64 a2 2) a1))))
(fma.f64 -1 a1 (fma.f64 1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3)) (*.f64 -1/2 (/.f64 (*.f64 a2 a2) a1))))
(-.f64 (fma.f64 -1/2 (/.f64 a2 (/.f64 a1 a2)) (*.f64 1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3)))) a1)
(-.f64 (fma.f64 -1/2 (/.f64 (*.f64 a2 a2) a1) (*.f64 1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3)))) a1)
(+.f64 (*.f64 -1 a1) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 a2 6) (pow.f64 a1 5))) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3))) (*.f64 -1/2 (/.f64 (pow.f64 a2 2) a1)))))
(fma.f64 -1 a1 (fma.f64 -1/16 (/.f64 (pow.f64 a2 6) (pow.f64 a1 5)) (fma.f64 1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3)) (*.f64 -1/2 (/.f64 (*.f64 a2 a2) a1)))))
(-.f64 (fma.f64 (/.f64 (pow.f64 a2 6) (pow.f64 a1 5)) -1/16 (fma.f64 -1/2 (/.f64 a2 (/.f64 a1 a2)) (*.f64 1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3))))) a1)
(-.f64 (fma.f64 (/.f64 (pow.f64 a2 6) (pow.f64 a1 5)) -1/16 (fma.f64 -1/2 (/.f64 (*.f64 a2 a2) a1) (*.f64 1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3))))) a1)
a1
(+.f64 a1 (*.f64 1/2 (/.f64 (pow.f64 a2 2) a1)))
(+.f64 a1 (*.f64 1/2 (/.f64 (*.f64 a2 a2) a1)))
(fma.f64 1/2 (/.f64 a2 (/.f64 a1 a2)) a1)
(fma.f64 1/2 (/.f64 (*.f64 a2 a2) a1) a1)
(+.f64 a1 (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3))) (*.f64 1/2 (/.f64 (pow.f64 a2 2) a1))))
(+.f64 a1 (fma.f64 -1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3)) (*.f64 1/2 (/.f64 (*.f64 a2 a2) a1))))
(+.f64 a1 (fma.f64 -1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3)) (*.f64 1/2 (/.f64 a2 (/.f64 a1 a2)))))
(+.f64 (fma.f64 1/2 (/.f64 (*.f64 a2 a2) a1) a1) (*.f64 -1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3))))
(+.f64 (*.f64 1/16 (/.f64 (pow.f64 a2 6) (pow.f64 a1 5))) (+.f64 a1 (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3))) (*.f64 1/2 (/.f64 (pow.f64 a2 2) a1)))))
(fma.f64 1/16 (/.f64 (pow.f64 a2 6) (pow.f64 a1 5)) (+.f64 a1 (fma.f64 -1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3)) (*.f64 1/2 (/.f64 (*.f64 a2 a2) a1)))))
(+.f64 (fma.f64 -1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3)) (*.f64 1/2 (/.f64 a2 (/.f64 a1 a2)))) (fma.f64 1/16 (/.f64 (pow.f64 a2 6) (pow.f64 a1 5)) a1))
(+.f64 (fma.f64 -1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 3)) (*.f64 1/2 (/.f64 (*.f64 a2 a2) a1))) (fma.f64 1/16 (/.f64 (pow.f64 a2 6) (pow.f64 a1 5)) a1))
a2
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 a1 2) a2)) a2)
(fma.f64 1/2 (/.f64 (*.f64 a1 a1) a2) a2)
(fma.f64 1/2 (/.f64 a1 (/.f64 a2 a1)) a2)
(fma.f64 1/2 (*.f64 (/.f64 a1 a2) a1) a2)
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 a1 2) a2)) a2))
(fma.f64 -1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3)) (fma.f64 1/2 (/.f64 (*.f64 a1 a1) a2) a2))
(fma.f64 -1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3)) (fma.f64 1/2 (/.f64 a1 (/.f64 a2 a1)) a2))
(fma.f64 -1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3)) (fma.f64 1/2 (*.f64 (/.f64 a1 a2) a1) a2))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 a1 2) a2)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 a1 6) (pow.f64 a2 5))) a2)))
(fma.f64 -1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3)) (fma.f64 1/2 (/.f64 (*.f64 a1 a1) a2) (fma.f64 1/16 (/.f64 (pow.f64 a1 6) (pow.f64 a2 5)) a2)))
(fma.f64 -1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3)) (fma.f64 1/2 (/.f64 a1 (/.f64 a2 a1)) (fma.f64 1/16 (/.f64 (pow.f64 a1 6) (pow.f64 a2 5)) a2)))
(fma.f64 -1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3)) (fma.f64 1/2 (*.f64 (/.f64 a1 a2) a1) (fma.f64 1/16 (/.f64 (pow.f64 a1 6) (pow.f64 a2 5)) a2)))
(*.f64 -1 a2)
(neg.f64 a2)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 a1 2) a2)) (*.f64 -1 a2))
(fma.f64 -1/2 (/.f64 (*.f64 a1 a1) a2) (neg.f64 a2))
(-.f64 (*.f64 -1/2 (/.f64 a1 (/.f64 a2 a1))) a2)
(-.f64 (*.f64 (/.f64 -1/2 a2) (*.f64 a1 a1)) a2)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 a1 2) a2)) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3))) (*.f64 -1 a2)))
(fma.f64 -1/2 (/.f64 (*.f64 a1 a1) a2) (fma.f64 1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3)) (neg.f64 a2)))
(-.f64 (fma.f64 -1/2 (/.f64 a1 (/.f64 a2 a1)) (*.f64 1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3)))) a2)
(-.f64 (fma.f64 -1/2 (*.f64 (/.f64 a1 a2) a1) (*.f64 1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3)))) a2)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 a1 2) a2)) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3))) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 a1 6) (pow.f64 a2 5))) (*.f64 -1 a2))))
(fma.f64 -1/2 (/.f64 (*.f64 a1 a1) a2) (fma.f64 1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3)) (fma.f64 -1/16 (/.f64 (pow.f64 a1 6) (pow.f64 a2 5)) (neg.f64 a2))))
(fma.f64 -1/2 (/.f64 a1 (/.f64 a2 a1)) (-.f64 (fma.f64 1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3)) (*.f64 (/.f64 (pow.f64 a1 6) (pow.f64 a2 5)) -1/16)) a2))
(fma.f64 -1/2 (*.f64 (/.f64 a1 a2) a1) (-.f64 (fma.f64 1/8 (/.f64 (pow.f64 a1 4) (pow.f64 a2 3)) (*.f64 (/.f64 -1/16 (pow.f64 a2 5)) (pow.f64 a1 6))) a2))
(pow.f64 a2 2)
(*.f64 a2 a2)
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a2 a2 (*.f64 a1 a1))
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a2 a2 (*.f64 a1 a1))
(+.f64 (*.f64 (+.f64 (*.f64 -1 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6))))) (*.f64 5/64 (/.f64 1 (pow.f64 a2 6)))) (pow.f64 a1 8)) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)))
(fma.f64 (fma.f64 -1 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (/.f64 5/64 (pow.f64 a2 6))) (pow.f64 a1 8) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(fma.f64 (-.f64 (/.f64 5/64 (pow.f64 a2 6)) (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6)))) (pow.f64 a1 8) (fma.f64 a2 a2 (*.f64 a1 a1)))
(fma.f64 (+.f64 (neg.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2)) (*.f64 (/.f64 1 (pow.f64 a2 6)) 1/64)) (pow.f64 a1 8) (fma.f64 a2 a2 (*.f64 a1 a1)))
(pow.f64 a1 2)
(*.f64 a1 a1)
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a2 a2 (*.f64 a1 a1))
(+.f64 (*.f64 -1/4 (/.f64 (pow.f64 a2 4) (pow.f64 a1 2))) (+.f64 (pow.f64 a2 2) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 a2 4) (pow.f64 a1 2))) (pow.f64 a1 2))))
(fma.f64 -1/4 (/.f64 (pow.f64 a2 4) (*.f64 a1 a1)) (+.f64 (*.f64 a2 a2) (fma.f64 1/4 (/.f64 (pow.f64 a2 4) (*.f64 a1 a1)) (*.f64 a1 a1))))
(fma.f64 -1/4 (/.f64 (pow.f64 a2 4) (*.f64 a1 a1)) (fma.f64 a2 a2 (fma.f64 a1 a1 (*.f64 (/.f64 (pow.f64 a2 4) a1) (/.f64 1/4 a1)))))
(fma.f64 -1/4 (/.f64 (pow.f64 a2 4) (*.f64 a1 a1)) (fma.f64 a2 a2 (fma.f64 a1 a1 (*.f64 1/4 (/.f64 (pow.f64 a2 4) (*.f64 a1 a1))))))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a2 6) (pow.f64 a1 4))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 a2 4) (pow.f64 a1 2))) (+.f64 (pow.f64 a2 2) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 a2 4) (pow.f64 a1 2))) (+.f64 (pow.f64 a1 2) (*.f64 1/8 (/.f64 (pow.f64 a2 6) (pow.f64 a1 4))))))))
(fma.f64 -1/8 (/.f64 (pow.f64 a2 6) (pow.f64 a1 4)) (fma.f64 -1/4 (/.f64 (pow.f64 a2 4) (*.f64 a1 a1)) (+.f64 (*.f64 a2 a2) (+.f64 (fma.f64 1/4 (/.f64 (pow.f64 a2 4) (*.f64 a1 a1)) (*.f64 a1 a1)) (*.f64 1/8 (/.f64 (pow.f64 a2 6) (pow.f64 a1 4)))))))
(fma.f64 -1/8 (/.f64 (pow.f64 a2 6) (pow.f64 a1 4)) (fma.f64 -1/4 (/.f64 (pow.f64 a2 4) (*.f64 a1 a1)) (fma.f64 a2 a2 (fma.f64 1/4 (/.f64 (pow.f64 a2 4) (*.f64 a1 a1)) (fma.f64 a1 a1 (*.f64 1/8 (/.f64 (pow.f64 a2 6) (pow.f64 a1 4))))))))
(fma.f64 -1/8 (/.f64 (pow.f64 a2 6) (pow.f64 a1 4)) (fma.f64 -1/4 (/.f64 (pow.f64 a2 4) (*.f64 a1 a1)) (fma.f64 a2 a2 (fma.f64 1/4 (/.f64 (pow.f64 a2 4) (*.f64 a1 a1)) (fma.f64 a1 a1 (*.f64 (/.f64 1/8 (pow.f64 a1 4)) (pow.f64 a2 6)))))))
(pow.f64 a1 2)
(*.f64 a1 a1)
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a2 a2 (*.f64 a1 a1))
(+.f64 (*.f64 -1/4 (/.f64 (pow.f64 a2 4) (pow.f64 a1 2))) (+.f64 (pow.f64 a2 2) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 a2 4) (pow.f64 a1 2))) (pow.f64 a1 2))))
(fma.f64 -1/4 (/.f64 (pow.f64 a2 4) (*.f64 a1 a1)) (+.f64 (*.f64 a2 a2) (fma.f64 1/4 (/.f64 (pow.f64 a2 4) (*.f64 a1 a1)) (*.f64 a1 a1))))
(fma.f64 -1/4 (/.f64 (pow.f64 a2 4) (*.f64 a1 a1)) (fma.f64 a2 a2 (fma.f64 a1 a1 (*.f64 (/.f64 (pow.f64 a2 4) a1) (/.f64 1/4 a1)))))
(fma.f64 -1/4 (/.f64 (pow.f64 a2 4) (*.f64 a1 a1)) (fma.f64 a2 a2 (fma.f64 a1 a1 (*.f64 1/4 (/.f64 (pow.f64 a2 4) (*.f64 a1 a1))))))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a2 6) (pow.f64 a1 4))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 a2 4) (pow.f64 a1 2))) (+.f64 (pow.f64 a2 2) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 a2 4) (pow.f64 a1 2))) (+.f64 (pow.f64 a1 2) (*.f64 1/8 (/.f64 (pow.f64 a2 6) (pow.f64 a1 4))))))))
(fma.f64 -1/8 (/.f64 (pow.f64 a2 6) (pow.f64 a1 4)) (fma.f64 -1/4 (/.f64 (pow.f64 a2 4) (*.f64 a1 a1)) (+.f64 (*.f64 a2 a2) (+.f64 (fma.f64 1/4 (/.f64 (pow.f64 a2 4) (*.f64 a1 a1)) (*.f64 a1 a1)) (*.f64 1/8 (/.f64 (pow.f64 a2 6) (pow.f64 a1 4)))))))
(fma.f64 -1/8 (/.f64 (pow.f64 a2 6) (pow.f64 a1 4)) (fma.f64 -1/4 (/.f64 (pow.f64 a2 4) (*.f64 a1 a1)) (fma.f64 a2 a2 (fma.f64 1/4 (/.f64 (pow.f64 a2 4) (*.f64 a1 a1)) (fma.f64 a1 a1 (*.f64 1/8 (/.f64 (pow.f64 a2 6) (pow.f64 a1 4))))))))
(fma.f64 -1/8 (/.f64 (pow.f64 a2 6) (pow.f64 a1 4)) (fma.f64 -1/4 (/.f64 (pow.f64 a2 4) (*.f64 a1 a1)) (fma.f64 a2 a2 (fma.f64 1/4 (/.f64 (pow.f64 a2 4) (*.f64 a1 a1)) (fma.f64 a1 a1 (*.f64 (/.f64 1/8 (pow.f64 a1 4)) (pow.f64 a2 6)))))))
(pow.f64 a1 2)
(*.f64 a1 a1)
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a2 a2 (*.f64 a1 a1))
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a2 a2 (*.f64 a1 a1))
(+.f64 (pow.f64 a2 2) (+.f64 (*.f64 (+.f64 (*.f64 -1 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (*.f64 5/64 (/.f64 1 (pow.f64 a1 6)))) (pow.f64 a2 8)) (pow.f64 a1 2)))
(+.f64 (*.f64 a2 a2) (fma.f64 (fma.f64 -1 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (/.f64 5/64 (pow.f64 a1 6))) (pow.f64 a2 8) (*.f64 a1 a1)))
(fma.f64 a2 a2 (fma.f64 a1 a1 (*.f64 (pow.f64 a2 8) (-.f64 (/.f64 5/64 (pow.f64 a1 6)) (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))))))
(fma.f64 a2 a2 (fma.f64 (pow.f64 a2 8) (-.f64 (*.f64 (/.f64 1 (pow.f64 a1 6)) 1/64) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (*.f64 a1 a1)))
(pow.f64 a2 2)
(*.f64 a2 a2)
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a2 a2 (*.f64 a1 a1))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 a1 4) (pow.f64 a2 2))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 a1 4) (pow.f64 a2 2))) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2))))
(fma.f64 1/4 (/.f64 (pow.f64 a1 4) (*.f64 a2 a2)) (fma.f64 -1/4 (/.f64 (pow.f64 a1 4) (*.f64 a2 a2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))))
(+.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (/.f64 (pow.f64 a1 4) (*.f64 a2 a2)) 0))
(+.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) 0)
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 a1 4) (pow.f64 a2 2))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a1 6) (pow.f64 a2 4))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 a1 4) (pow.f64 a2 2))) (+.f64 (pow.f64 a2 2) (+.f64 (pow.f64 a1 2) (*.f64 1/8 (/.f64 (pow.f64 a1 6) (pow.f64 a2 4))))))))
(fma.f64 1/4 (/.f64 (pow.f64 a1 4) (*.f64 a2 a2)) (fma.f64 -1/8 (/.f64 (pow.f64 a1 6) (pow.f64 a2 4)) (fma.f64 -1/4 (/.f64 (pow.f64 a1 4) (*.f64 a2 a2)) (+.f64 (*.f64 a2 a2) (+.f64 (*.f64 a1 a1) (*.f64 1/8 (/.f64 (pow.f64 a1 6) (pow.f64 a2 4))))))))
(fma.f64 1/4 (/.f64 (pow.f64 a1 4) (*.f64 a2 a2)) (fma.f64 -1/8 (/.f64 (pow.f64 a1 6) (pow.f64 a2 4)) (fma.f64 -1/4 (/.f64 (pow.f64 a1 4) (*.f64 a2 a2)) (fma.f64 a2 a2 (fma.f64 a1 a1 (/.f64 1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 6))))))))
(pow.f64 a2 2)
(*.f64 a2 a2)
(+.f64 (pow.f64 a2 2) (pow.f64 a1 2))
(+.f64 (*.f64 a2 a2) (*.f64 a1 a1))
(fma.f64 a2 a2 (*.f64 a1 a1))
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 a1 4) (pow.f64 a2 2))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 a1 4) (pow.f64 a2 2))) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2))))
(fma.f64 1/4 (/.f64 (pow.f64 a1 4) (*.f64 a2 a2)) (fma.f64 -1/4 (/.f64 (pow.f64 a1 4) (*.f64 a2 a2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))))
(+.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (/.f64 (pow.f64 a1 4) (*.f64 a2 a2)) 0))
(+.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) 0)
(+.f64 (*.f64 1/4 (/.f64 (pow.f64 a1 4) (pow.f64 a2 2))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a1 6) (pow.f64 a2 4))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 a1 4) (pow.f64 a2 2))) (+.f64 (pow.f64 a2 2) (+.f64 (pow.f64 a1 2) (*.f64 1/8 (/.f64 (pow.f64 a1 6) (pow.f64 a2 4))))))))
(fma.f64 1/4 (/.f64 (pow.f64 a1 4) (*.f64 a2 a2)) (fma.f64 -1/8 (/.f64 (pow.f64 a1 6) (pow.f64 a2 4)) (fma.f64 -1/4 (/.f64 (pow.f64 a1 4) (*.f64 a2 a2)) (+.f64 (*.f64 a2 a2) (+.f64 (*.f64 a1 a1) (*.f64 1/8 (/.f64 (pow.f64 a1 6) (pow.f64 a2 4))))))))
(fma.f64 1/4 (/.f64 (pow.f64 a1 4) (*.f64 a2 a2)) (fma.f64 -1/8 (/.f64 (pow.f64 a1 6) (pow.f64 a2 4)) (fma.f64 -1/4 (/.f64 (pow.f64 a1 4) (*.f64 a2 a2)) (fma.f64 a2 a2 (fma.f64 a1 a1 (/.f64 1/8 (/.f64 (pow.f64 a2 4) (pow.f64 a1 6))))))))

localize61.0ms (0.3%)

Local error

Found 8 expressions with local error:

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

Compiled 54 to 31 computations (42.6% saved)

series81.0ms (0.4%)

Counts
4 → 100
Calls

27 calls:

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

rewrite78.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
592×log-prod_binary64
354×pow-prod-down_binary64
327×pow2_binary64
228×pow-unpow_binary64
227×expm1-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01451
128748
2309548
Stop Event
node limit
Counts
4 → 112
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 (*.f64 (pow.f64 (cos.f64 th) 2) 1/2) (pow.f64 (hypot.f64 a1 a2) 4)))
(*.f64 (*.f64 (pow.f64 (cos.f64 th) 2) 1/2) (pow.f64 (hypot.f64 a1 a2) 4))
(pow.f64 (cos.f64 th) 2)
(pow.f64 (hypot.f64 a1 a2) 4)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (cos.f64 th) (sqrt.f64 (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 (sqrt.f64 1/2)) (cos.f64 th)) (pow.f64 (hypot.f64 a1 a2) 2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 (sqrt.f64 1/2)) (cos.f64 th)) (pow.f64 (hypot.f64 a1 a2) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 (sqrt.f64 1/2)) (cos.f64 th)) (pow.f64 (hypot.f64 a1 a2) 2)))) (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 (sqrt.f64 1/2)) (cos.f64 th)) (pow.f64 (hypot.f64 a1 a2) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 th) (sqrt.f64 (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 th) (sqrt.f64 (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 th) (sqrt.f64 (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (cos.f64 th) (sqrt.f64 (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (hypot.f64 a1 a2) 2) (*.f64 (cos.f64 th) (sqrt.f64 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (cos.f64 th) (sqrt.f64 (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4))))) (cbrt.f64 (*.f64 (pow.f64 (cos.f64 th) 2) (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (pow.f64 (cos.f64 th) 2) (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4)))) (cbrt.f64 (*.f64 (cos.f64 th) (sqrt.f64 (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (*.f64 (cos.f64 th) (sqrt.f64 1/2))) (hypot.f64 a1 a2)) (*.f64 (sqrt.f64 (*.f64 (cos.f64 th) (sqrt.f64 1/2))) (hypot.f64 a1 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 th) (sqrt.f64 1/2)) (pow.f64 (hypot.f64 a1 a2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (cos.f64 th) 2) (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 th) (sqrt.f64 (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 (*.f64 (cos.f64 th) (sqrt.f64 1/2))) (hypot.f64 a1 a2)) 6) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 8) (*.f64 (pow.f64 (cos.f64 th) 4) 1/4)) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 12) (pow.f64 (*.f64 (cos.f64 th) (sqrt.f64 1/2)) 6)) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (cos.f64 th) (sqrt.f64 (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (pow.f64 (cos.f64 th) 2) (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4)))) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 (*.f64 (cos.f64 th) (sqrt.f64 1/2))) (hypot.f64 a1 a2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (*.f64 (cos.f64 th) (sqrt.f64 (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (pow.f64 (exp.f64 (sqrt.f64 1/2)) (cos.f64 th)) (pow.f64 (hypot.f64 a1 a2) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 th) (sqrt.f64 (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (*.f64 (cos.f64 th) (sqrt.f64 1/2))) (hypot.f64 a1 a2)) 6))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (cos.f64 th) (sqrt.f64 (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (cos.f64 th) (sqrt.f64 (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (cos.f64 th) (sqrt.f64 (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 (cos.f64 th) 2) (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 th) (sqrt.f64 (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (sqrt.f64 (*.f64 (cos.f64 th) (sqrt.f64 1/2))) (hypot.f64 a1 a2)) 6)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (cos.f64 th) (sqrt.f64 (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4)))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (*.f64 (cos.f64 th) (sqrt.f64 1/2))) (hypot.f64 a1 a2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (pow.f64 (cos.f64 th) 2) (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4)))) 1) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (pow.f64 (cos.f64 th) 2) (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4)))) 1/2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (cos.f64 th) (sqrt.f64 (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4))))) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (pow.f64 (cos.f64 th) 2) (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (pow.f64 (cos.f64 th) 2))) (pow.f64 (hypot.f64 a1 a2) 4))) 2)) (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (pow.f64 (cos.f64 th) 2))) (pow.f64 (hypot.f64 a1 a2) 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (pow.f64 (cos.f64 th) 2))) (pow.f64 (hypot.f64 a1 a2) 4)))) (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (pow.f64 (cos.f64 th) 2))) (pow.f64 (hypot.f64 a1 a2) 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 (cos.f64 th) 2) (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (cos.f64 th) 2) (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 th) (sqrt.f64 (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 (*.f64 (cos.f64 th) (sqrt.f64 1/2))) (hypot.f64 a1 a2)) 6) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 8) (*.f64 (pow.f64 (cos.f64 th) 4) 1/4)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 12) (pow.f64 (*.f64 (cos.f64 th) (sqrt.f64 1/2)) 6)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (cos.f64 th) (sqrt.f64 (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4))))) 6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (pow.f64 (cos.f64 th) 2) (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 (*.f64 (cos.f64 th) (sqrt.f64 1/2))) (hypot.f64 a1 a2)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 8) (*.f64 (pow.f64 (cos.f64 th) 4) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (sqrt.f64 (exp.f64 (pow.f64 (cos.f64 th) 2))) (pow.f64 (hypot.f64 a1 a2) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 (cos.f64 th) 2) (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 12) (pow.f64 (*.f64 (cos.f64 th) (sqrt.f64 1/2)) 6)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (pow.f64 (cos.f64 th) 2) (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (pow.f64 (cos.f64 th) 2) (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (pow.f64 (cos.f64 th) 2) (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 (cos.f64 th) 2) (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 th) (sqrt.f64 (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 8) (*.f64 (pow.f64 (cos.f64 th) 4) 1/4))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 (hypot.f64 a1 a2) 12) (pow.f64 (*.f64 (cos.f64 th) (sqrt.f64 1/2)) 6))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (pow.f64 (cos.f64 th) 2) (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (pow.f64 (cos.f64 th) 2) (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4)))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (pow.f64 (cos.f64 th) 2) (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4)))) 1/2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (cos.f64 th) (sqrt.f64 (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4))))) 1) 2))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 1/2 (*.f64 1/2 (cos.f64 (+.f64 th th))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 (cos.f64 th) 2) 1/2) (*.f64 (pow.f64 (cos.f64 th) 2) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (cos.f64 th) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 (cos.f64 th) 2))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (cos.f64 th) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 (cos.f64 th) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 th) (cos.f64 th))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cos.f64 th) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (cos.f64 th) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cos.f64 th)) 4) (cbrt.f64 (pow.f64 (cos.f64 th) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (cos.f64 th) 2)) (pow.f64 (cbrt.f64 (cos.f64 th)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cos.f64 th)) (pow.f64 (cos.f64 th) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cos.f64 th) 3/2) (sqrt.f64 (cos.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cos.f64 th)) 5) (cbrt.f64 (cos.f64 th)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (cos.f64 (+.f64 th th)) (cos.f64 (-.f64 th th))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cos.f64 th) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (cos.f64 th) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (cos.f64 th) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (cos.f64 th) 6))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (cos.f64 th) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (cos.f64 th) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 2 (log.f64 (cos.f64 th))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (cos.f64 th))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (cos.f64 th) 6)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (pow.f64 (cos.f64 th) 2))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (cos.f64 th)) 1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (*.f64 2 (log.f64 (cos.f64 th))) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4)) (*.f64 1/2 (pow.f64 (hypot.f64 a1 a2) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (hypot.f64 a1 a2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 (hypot.f64 a1 a2) 4))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (hypot.f64 a1 a2) 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 (hypot.f64 a1 a2) 4))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (hypot.f64 a1 a2) 4) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (hypot.f64 a1 a2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (hypot.f64 a1 a2) 2) (pow.f64 (hypot.f64 a1 a2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (hypot.f64 a1 a2)) 4) (cbrt.f64 (pow.f64 (hypot.f64 a1 a2) 8)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (hypot.f64 a1 a2) 8)) (pow.f64 (cbrt.f64 (hypot.f64 a1 a2)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (hypot.f64 a1 a2)) 8) (pow.f64 (cbrt.f64 (hypot.f64 a1 a2)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (hypot.f64 a1 a2) 8))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (hypot.f64 a1 a2) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (hypot.f64 a1 a2) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (hypot.f64 a1 a2) 12))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (hypot.f64 a1 a2) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (hypot.f64 a1 a2) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 4 (log.f64 (hypot.f64 a1 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 4 (log.f64 (hypot.f64 a1 a2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (hypot.f64 a1 a2) 12)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (hypot.f64 a1 a2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (cbrt.f64 (hypot.f64 a1 a2)) 4)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (hypot.f64 a1 a2)) 1) 4))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (*.f64 4 (log.f64 (hypot.f64 a1 a2))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (hypot.f64 a1 a2)) 2) 2))))))

simplify132.0ms (0.7%)

Algorithm
egg-herbie
Rules
500×times-frac_binary64
449×associate-/l*_binary64
439×fma-def_binary64
424×associate-/r*_binary64
273×distribute-rgt-out_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03093505
19913121
240522717
Stop Event
node limit
Counts
212 → 194
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 a2 2) (cos.f64 th)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (+.f64 (*.f64 (+.f64 (*.f64 -1 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6))))) (*.f64 5/64 (/.f64 1 (pow.f64 a2 6)))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 8) (cos.f64 th)))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (+.f64 (*.f64 (+.f64 (*.f64 -1 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6))))) (*.f64 5/64 (/.f64 1 (pow.f64 a2 6)))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 8) (cos.f64 th)))) (+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 12) (*.f64 (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 a2 8))) (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6)))) (pow.f64 a2 2)))) (pow.f64 a2 2))) (+.f64 (*.f64 -1 (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 a2 8))) (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6)))) (pow.f64 a2 2)))) (pow.f64 a2 2))) (+.f64 (pow.f64 (/.f64 1/16 (pow.f64 a2 5)) 2) (*.f64 1/8 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6)))) (pow.f64 a2 4)))))) (+.f64 (*.f64 1/8 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6)))) (pow.f64 a2 4))) (*.f64 1/256 (/.f64 1 (pow.f64 a2 10)))))) (cos.f64 th)))))))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (cos.f64 th))) (pow.f64 a1 2)) (+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))))
(+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 1/8 (pow.f64 a2 6)) (*.f64 -1/8 (pow.f64 a2 6))) (cos.f64 th))) (pow.f64 a1 4)) (+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (cos.f64 th))) (pow.f64 a1 2)) (+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (cos.f64 th))) (pow.f64 a1 2)) (+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))))
(+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 1/8 (pow.f64 a2 6)) (*.f64 -1/8 (pow.f64 a2 6))) (cos.f64 th))) (pow.f64 a1 4)) (+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (cos.f64 th))) (pow.f64 a1 2)) (+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(+.f64 (*.f64 (+.f64 (*.f64 -1 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (*.f64 5/64 (/.f64 1 (pow.f64 a1 6)))) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a2 8)))) (+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 a1 8))) (*.f64 -1/2 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 2)))) (pow.f64 a1 2))) (+.f64 (*.f64 1/8 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 4))) (+.f64 (*.f64 1/256 (/.f64 1 (pow.f64 a1 10))) (*.f64 -1 (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 a1 8))) (*.f64 -1/2 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 2)))) (pow.f64 a1 2))) (+.f64 (pow.f64 (/.f64 1/16 (pow.f64 a1 5)) 2) (*.f64 1/8 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 4))))))))) (*.f64 (pow.f64 a2 12) (cos.f64 th)))) (+.f64 (*.f64 (+.f64 (*.f64 -1 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (*.f64 5/64 (/.f64 1 (pow.f64 a1 6)))) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a2 8)))) (+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4))) (cos.f64 th))) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4))) (cos.f64 th))) (pow.f64 a2 2)) (+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))) (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 1/8 (pow.f64 a1 6)) (*.f64 -1/8 (pow.f64 a1 6))) (cos.f64 th))) (pow.f64 a2 4)))))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4))) (cos.f64 th))) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4))) (cos.f64 th))) (pow.f64 a2 2)) (+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))) (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 1/8 (pow.f64 a1 6)) (*.f64 -1/8 (pow.f64 a1 6))) (cos.f64 th))) (pow.f64 a2 4)))))
(*.f64 1/2 (pow.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) 2))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) 2) (pow.f64 th 2))) (*.f64 1/2 (pow.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) 2)))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) 2) (pow.f64 th 4))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) 2) (pow.f64 th 2))) (*.f64 1/2 (pow.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) 2))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) 2) (pow.f64 th 4))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) 2) (pow.f64 th 2))) (+.f64 (*.f64 -1/45 (*.f64 (pow.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) 2) (pow.f64 th 6))) (*.f64 1/2 (pow.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) 2)))))
(*.f64 1/2 (*.f64 (pow.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) 2) (pow.f64 (cos.f64 th) 2)))
(*.f64 1/2 (*.f64 (pow.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) 2) (pow.f64 (cos.f64 th) 2)))
(*.f64 1/2 (*.f64 (pow.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) 2) (pow.f64 (cos.f64 th) 2)))
(*.f64 1/2 (*.f64 (pow.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) 2) (pow.f64 (cos.f64 th) 2)))
(*.f64 1/2 (*.f64 (pow.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) 2) (pow.f64 (cos.f64 th) 2)))
(*.f64 1/2 (*.f64 (pow.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) 2) (pow.f64 (cos.f64 th) 2)))
(*.f64 1/2 (*.f64 (pow.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) 2) (pow.f64 (cos.f64 th) 2)))
(*.f64 1/2 (*.f64 (pow.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) 2) (pow.f64 (cos.f64 th) 2)))
(*.f64 1/2 (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2)))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2))) (*.f64 (pow.f64 a1 2) (*.f64 (pow.f64 (cos.f64 th) 2) (pow.f64 a2 2))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2))) (*.f64 (pow.f64 a1 2) (*.f64 (pow.f64 (cos.f64 th) 2) (pow.f64 a2 2)))))
(+.f64 (*.f64 (+.f64 (*.f64 -1 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6))))) (*.f64 5/64 (/.f64 1 (pow.f64 a2 6)))) (*.f64 (pow.f64 a1 8) (*.f64 (pow.f64 (cos.f64 th) 2) (pow.f64 a2 2)))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2))) (*.f64 (pow.f64 a1 2) (*.f64 (pow.f64 (cos.f64 th) 2) (pow.f64 a2 2))))))
(*.f64 1/2 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2)))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2))) (*.f64 (pow.f64 a1 2) (*.f64 (pow.f64 (cos.f64 th) 2) (pow.f64 a2 2))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2))) (+.f64 (*.f64 (pow.f64 a1 2) (*.f64 (pow.f64 (cos.f64 th) 2) (pow.f64 a2 2))) (*.f64 1/2 (*.f64 (+.f64 (*.f64 -1/2 (pow.f64 a2 4)) (+.f64 (*.f64 1/2 (pow.f64 a2 4)) (pow.f64 a2 4))) (pow.f64 (cos.f64 th) 2)))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2))) (+.f64 (*.f64 (pow.f64 a1 2) (*.f64 (pow.f64 (cos.f64 th) 2) (pow.f64 a2 2))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (pow.f64 a2 2))) (+.f64 (*.f64 -1/4 (pow.f64 a2 6)) (*.f64 1/4 (pow.f64 a2 6)))) (pow.f64 (cos.f64 th) 2)) (pow.f64 a1 2))) (*.f64 1/2 (*.f64 (+.f64 (*.f64 -1/2 (pow.f64 a2 4)) (+.f64 (*.f64 1/2 (pow.f64 a2 4)) (pow.f64 a2 4))) (pow.f64 (cos.f64 th) 2))))))
(*.f64 1/2 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2)))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2))) (*.f64 (pow.f64 a1 2) (*.f64 (pow.f64 (cos.f64 th) 2) (pow.f64 a2 2))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2))) (+.f64 (*.f64 (pow.f64 a1 2) (*.f64 (pow.f64 (cos.f64 th) 2) (pow.f64 a2 2))) (*.f64 1/2 (*.f64 (+.f64 (*.f64 -1/2 (pow.f64 a2 4)) (+.f64 (*.f64 1/2 (pow.f64 a2 4)) (pow.f64 a2 4))) (pow.f64 (cos.f64 th) 2)))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2))) (+.f64 (*.f64 (pow.f64 a1 2) (*.f64 (pow.f64 (cos.f64 th) 2) (pow.f64 a2 2))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (pow.f64 a2 2))) (+.f64 (*.f64 -1/4 (pow.f64 a2 6)) (*.f64 1/4 (pow.f64 a2 6)))) (pow.f64 (cos.f64 th) 2)) (pow.f64 a1 2))) (*.f64 1/2 (*.f64 (+.f64 (*.f64 -1/2 (pow.f64 a2 4)) (+.f64 (*.f64 1/2 (pow.f64 a2 4)) (pow.f64 a2 4))) (pow.f64 (cos.f64 th) 2))))))
(*.f64 1/2 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2)))
(+.f64 (*.f64 (pow.f64 a1 2) (*.f64 (pow.f64 a2 2) (pow.f64 (cos.f64 th) 2))) (*.f64 1/2 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2))))
(+.f64 (*.f64 (pow.f64 a1 2) (*.f64 (pow.f64 a2 2) (pow.f64 (cos.f64 th) 2))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2))) (*.f64 1/2 (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2)))))
(+.f64 (*.f64 (+.f64 (*.f64 -1 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (*.f64 5/64 (/.f64 1 (pow.f64 a1 6)))) (*.f64 (pow.f64 a1 2) (*.f64 (pow.f64 (cos.f64 th) 2) (pow.f64 a2 8)))) (+.f64 (*.f64 (pow.f64 a1 2) (*.f64 (pow.f64 a2 2) (pow.f64 (cos.f64 th) 2))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2))) (*.f64 1/2 (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2))))))
(*.f64 1/2 (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2)))
(+.f64 (*.f64 (pow.f64 a1 2) (*.f64 (pow.f64 a2 2) (pow.f64 (cos.f64 th) 2))) (*.f64 1/2 (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2))))
(+.f64 (*.f64 (pow.f64 a1 2) (*.f64 (pow.f64 a2 2) (pow.f64 (cos.f64 th) 2))) (+.f64 (*.f64 1/2 (*.f64 (+.f64 (pow.f64 a1 4) (+.f64 (*.f64 1/2 (pow.f64 a1 4)) (*.f64 -1/2 (pow.f64 a1 4)))) (pow.f64 (cos.f64 th) 2))) (*.f64 1/2 (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2)))))
(+.f64 (*.f64 (pow.f64 a1 2) (*.f64 (pow.f64 a2 2) (pow.f64 (cos.f64 th) 2))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a1 6)) (+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4))))) (*.f64 1/4 (pow.f64 a1 6)))) (pow.f64 (cos.f64 th) 2)) (pow.f64 a2 2))) (+.f64 (*.f64 1/2 (*.f64 (+.f64 (pow.f64 a1 4) (+.f64 (*.f64 1/2 (pow.f64 a1 4)) (*.f64 -1/2 (pow.f64 a1 4)))) (pow.f64 (cos.f64 th) 2))) (*.f64 1/2 (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2))))))
(*.f64 1/2 (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2)))
(+.f64 (*.f64 (pow.f64 a1 2) (*.f64 (pow.f64 a2 2) (pow.f64 (cos.f64 th) 2))) (*.f64 1/2 (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2))))
(+.f64 (*.f64 (pow.f64 a1 2) (*.f64 (pow.f64 a2 2) (pow.f64 (cos.f64 th) 2))) (+.f64 (*.f64 1/2 (*.f64 (+.f64 (pow.f64 a1 4) (+.f64 (*.f64 1/2 (pow.f64 a1 4)) (*.f64 -1/2 (pow.f64 a1 4)))) (pow.f64 (cos.f64 th) 2))) (*.f64 1/2 (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2)))))
(+.f64 (*.f64 (pow.f64 a1 2) (*.f64 (pow.f64 a2 2) (pow.f64 (cos.f64 th) 2))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a1 6)) (+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4))))) (*.f64 1/4 (pow.f64 a1 6)))) (pow.f64 (cos.f64 th) 2)) (pow.f64 a2 2))) (+.f64 (*.f64 1/2 (*.f64 (+.f64 (pow.f64 a1 4) (+.f64 (*.f64 1/2 (pow.f64 a1 4)) (*.f64 -1/2 (pow.f64 a1 4)))) (pow.f64 (cos.f64 th) 2))) (*.f64 1/2 (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2))))))
1
(+.f64 1 (*.f64 -1 (pow.f64 th 2)))
(+.f64 1 (+.f64 (*.f64 -1 (pow.f64 th 2)) (*.f64 1/3 (pow.f64 th 4))))
(+.f64 1 (+.f64 (*.f64 -1 (pow.f64 th 2)) (+.f64 (*.f64 -2/45 (pow.f64 th 6)) (*.f64 1/3 (pow.f64 th 4)))))
(pow.f64 a2 4)
(+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (pow.f64 a2 4))
(+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (+.f64 (pow.f64 a1 4) (pow.f64 a2 4)))
(+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (+.f64 (pow.f64 a1 4) (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 -1 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6))))) (*.f64 5/64 (/.f64 1 (pow.f64 a2 6)))) (*.f64 (pow.f64 a1 8) (pow.f64 a2 2)))) (pow.f64 a2 4))))
(pow.f64 a1 4)
(+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (pow.f64 a1 4))
(+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (+.f64 (pow.f64 a1 4) (+.f64 (*.f64 -1/2 (pow.f64 a2 4)) (+.f64 (*.f64 1/2 (pow.f64 a2 4)) (pow.f64 a2 4)))))
(+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (+.f64 (pow.f64 a1 4) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 a2 6) (pow.f64 a1 2))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 a2 6) (pow.f64 a1 2))) (+.f64 (*.f64 -1/2 (pow.f64 a2 4)) (+.f64 (*.f64 1/2 (pow.f64 a2 4)) (+.f64 (pow.f64 a2 4) (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (pow.f64 a2 2)) (pow.f64 a1 2))))))))))
(pow.f64 a1 4)
(+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (pow.f64 a1 4))
(+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (+.f64 (pow.f64 a1 4) (+.f64 (*.f64 -1/2 (pow.f64 a2 4)) (+.f64 (*.f64 1/2 (pow.f64 a2 4)) (pow.f64 a2 4)))))
(+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (+.f64 (pow.f64 a1 4) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 a2 6) (pow.f64 a1 2))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 a2 6) (pow.f64 a1 2))) (+.f64 (*.f64 -1/2 (pow.f64 a2 4)) (+.f64 (*.f64 1/2 (pow.f64 a2 4)) (+.f64 (pow.f64 a2 4) (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (pow.f64 a2 2)) (pow.f64 a1 2))))))))))
(pow.f64 a1 4)
(+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (pow.f64 a1 4))
(+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (+.f64 (pow.f64 a1 4) (pow.f64 a2 4)))
(+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (+.f64 (pow.f64 a1 4) (+.f64 (pow.f64 a2 4) (*.f64 2 (*.f64 (+.f64 (*.f64 -1 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (*.f64 5/64 (/.f64 1 (pow.f64 a1 6)))) (*.f64 (pow.f64 a1 2) (pow.f64 a2 8)))))))
(pow.f64 a2 4)
(+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (pow.f64 a2 4))
(+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (+.f64 (pow.f64 a1 4) (+.f64 (*.f64 1/2 (pow.f64 a1 4)) (+.f64 (pow.f64 a2 4) (*.f64 -1/2 (pow.f64 a1 4))))))
(+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 a1 6) (pow.f64 a2 2))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 a1 6) (pow.f64 a2 2))) (+.f64 (pow.f64 a1 4) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 a1 2) (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4)))) (pow.f64 a2 2))) (+.f64 (*.f64 1/2 (pow.f64 a1 4)) (+.f64 (pow.f64 a2 4) (*.f64 -1/2 (pow.f64 a1 4)))))))))
(pow.f64 a2 4)
(+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (pow.f64 a2 4))
(+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (+.f64 (pow.f64 a1 4) (+.f64 (*.f64 1/2 (pow.f64 a1 4)) (+.f64 (pow.f64 a2 4) (*.f64 -1/2 (pow.f64 a1 4))))))
(+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 a1 6) (pow.f64 a2 2))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 a1 6) (pow.f64 a2 2))) (+.f64 (pow.f64 a1 4) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 a1 2) (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4)))) (pow.f64 a2 2))) (+.f64 (*.f64 1/2 (pow.f64 a1 4)) (+.f64 (pow.f64 a2 4) (*.f64 -1/2 (pow.f64 a1 4)))))))))
Outputs
(*.f64 (sqrt.f64 1/2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)))
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1)))
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)))) (*.f64 (sqrt.f64 1/2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2))))
(fma.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (*.f64 th th))) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))))
(fma.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 th th)) -1/2)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (+.f64 (sqrt.f64 1/2) (*.f64 (*.f64 (sqrt.f64 1/2) -1/2) (*.f64 th th))))
(+.f64 (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 4)))) (+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)))) (*.f64 (sqrt.f64 1/2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)))))
(fma.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (pow.f64 th 4))) (fma.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (*.f64 th th))) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))))
(fma.f64 1/24 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (pow.f64 th 4) (sqrt.f64 1/2))) (fma.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 th th)) -1/2))))
(+.f64 (*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))) (*.f64 (*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))) (+.f64 (*.f64 (*.f64 th th) -1/2) (*.f64 (pow.f64 th 4) 1/24))))
(+.f64 (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 4)))) (+.f64 (*.f64 -1/720 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 6)))) (+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (pow.f64 th 2)))) (*.f64 (sqrt.f64 1/2) (+.f64 (pow.f64 a2 2) (pow.f64 a1 2))))))
(fma.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (pow.f64 th 4))) (fma.f64 -1/720 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (pow.f64 th 6))) (fma.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (*.f64 th th))) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))))))
(fma.f64 1/24 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (pow.f64 th 4) (sqrt.f64 1/2))) (fma.f64 -1/720 (*.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (pow.f64 th 6))) (fma.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 th th)) -1/2)))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))) (+.f64 (*.f64 (*.f64 th th) -1/2) (*.f64 (pow.f64 th 6) -1/720))) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (+.f64 (sqrt.f64 1/2) (*.f64 (*.f64 (sqrt.f64 1/2) 1/24) (pow.f64 th 4)))))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th)))
(*.f64 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (+.f64 (*.f64 (+.f64 (*.f64 -1 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6))))) (*.f64 5/64 (/.f64 1 (pow.f64 a2 6)))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 8) (cos.f64 th)))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))))
(fma.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a1 a1) (cos.f64 th)) (fma.f64 (fma.f64 -1 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (/.f64 5/64 (pow.f64 a2 6))) (*.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 8)) (cos.f64 th)) (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th)))))
(+.f64 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 (cos.f64 th) (pow.f64 a1 8)) (-.f64 (/.f64 5/64 (pow.f64 a2 6)) (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6)))))))
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)) (*.f64 (+.f64 (neg.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2)) (*.f64 (/.f64 1 (pow.f64 a2 6)) 1/64)) (*.f64 (cos.f64 th) (pow.f64 a1 8)))))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (+.f64 (*.f64 (+.f64 (*.f64 -1 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6))))) (*.f64 5/64 (/.f64 1 (pow.f64 a2 6)))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 8) (cos.f64 th)))) (+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 12) (*.f64 (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 a2 8))) (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6)))) (pow.f64 a2 2)))) (pow.f64 a2 2))) (+.f64 (*.f64 -1 (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 a2 8))) (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6)))) (pow.f64 a2 2)))) (pow.f64 a2 2))) (+.f64 (pow.f64 (/.f64 1/16 (pow.f64 a2 5)) 2) (*.f64 1/8 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6)))) (pow.f64 a2 4)))))) (+.f64 (*.f64 1/8 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6)))) (pow.f64 a2 4))) (*.f64 1/256 (/.f64 1 (pow.f64 a2 10)))))) (cos.f64 th)))))))
(fma.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a1 a1) (cos.f64 th)) (fma.f64 (fma.f64 -1 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (/.f64 5/64 (pow.f64 a2 6))) (*.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a1 8)) (cos.f64 th)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (*.f64 (pow.f64 a1 12) (*.f64 (cos.f64 th) (fma.f64 1/2 (/.f64 (+.f64 (/.f64 1/64 (pow.f64 a2 8)) (*.f64 1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (*.f64 a2 a2)))) (*.f64 a2 a2)) (fma.f64 -1 (fma.f64 1/2 (/.f64 (+.f64 (/.f64 1/64 (pow.f64 a2 8)) (*.f64 1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (*.f64 a2 a2)))) (*.f64 a2 a2)) (+.f64 (pow.f64 (/.f64 1/16 (pow.f64 a2 5)) 2) (/.f64 (*.f64 1/8 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6)))) (pow.f64 a2 4)))) (fma.f64 1/8 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (pow.f64 a2 4)) (/.f64 1/256 (pow.f64 a2 10)))))))))))
(fma.f64 (sqrt.f64 1/2) (*.f64 a1 (*.f64 a1 (cos.f64 th))) (fma.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (+.f64 (*.f64 a2 a2) (*.f64 (pow.f64 a1 12) (fma.f64 1/2 (-.f64 (/.f64 1/64 (*.f64 (*.f64 a2 a2) (pow.f64 a2 8))) (/.f64 (*.f64 -1/2 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6)))) (pow.f64 a2 4))) (-.f64 (fma.f64 1/8 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (pow.f64 a2 4)) (/.f64 1/256 (pow.f64 a2 10))) (fma.f64 1/2 (-.f64 (/.f64 1/64 (*.f64 (*.f64 a2 a2) (pow.f64 a2 8))) (/.f64 (*.f64 -1/2 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6)))) (pow.f64 a2 4))) (fma.f64 1/8 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (pow.f64 a2 4)) (pow.f64 (/.f64 1/16 (pow.f64 a2 5)) 2)))))))) (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 (cos.f64 th) (pow.f64 a1 8)) (-.f64 (/.f64 5/64 (pow.f64 a2 6)) (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))))))))
(+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)) (*.f64 (+.f64 (neg.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2)) (*.f64 (/.f64 1 (pow.f64 a2 6)) 1/64)) (*.f64 (cos.f64 th) (pow.f64 a1 8))))) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (*.f64 (pow.f64 a1 12) (+.f64 (fma.f64 1/8 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (pow.f64 a2 4)) (/.f64 1/256 (pow.f64 a2 10))) (-.f64 (*.f64 (+.f64 (/.f64 1/64 (*.f64 (*.f64 a2 a2) (pow.f64 a2 8))) (/.f64 (*.f64 1/2 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6)))) (pow.f64 a2 4))) 0) (fma.f64 1/8 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (pow.f64 a2 4)) (/.f64 1/256 (pow.f64 a2 10)))))))))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a1 a1) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 a1 (*.f64 a1 (cos.f64 th))))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (cos.f64 th))) (pow.f64 a1 2)) (+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))))
(+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (*.f64 (*.f64 a2 a2) (cos.f64 th)))) (/.f64 (sqrt.f64 1/2) (/.f64 (*.f64 a1 a1) (*.f64 (cos.f64 th) (*.f64 (pow.f64 a2 4) 0)))))
(fma.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)) (*.f64 (/.f64 (*.f64 (sqrt.f64 1/2) 0) a1) (/.f64 (cos.f64 th) a1)))
(fma.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)) 0)
(+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 1/8 (pow.f64 a2 6)) (*.f64 -1/8 (pow.f64 a2 6))) (cos.f64 th))) (pow.f64 a1 4)) (+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (cos.f64 th))) (pow.f64 a1 2)) (+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))))
(+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (*.f64 (*.f64 a2 a2) (cos.f64 th)))) (/.f64 (sqrt.f64 1/2) (/.f64 (*.f64 a1 a1) (*.f64 (cos.f64 th) (*.f64 (pow.f64 a2 4) 0)))))
(fma.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)) (*.f64 (/.f64 (*.f64 (sqrt.f64 1/2) 0) a1) (/.f64 (cos.f64 th) a1)))
(fma.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)) 0)
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a1 a1) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 a1 (*.f64 a1 (cos.f64 th))))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (cos.f64 th))) (pow.f64 a1 2)) (+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))))
(+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (*.f64 (*.f64 a2 a2) (cos.f64 th)))) (/.f64 (sqrt.f64 1/2) (/.f64 (*.f64 a1 a1) (*.f64 (cos.f64 th) (*.f64 (pow.f64 a2 4) 0)))))
(fma.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)) (*.f64 (/.f64 (*.f64 (sqrt.f64 1/2) 0) a1) (/.f64 (cos.f64 th) a1)))
(fma.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)) 0)
(+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 1/8 (pow.f64 a2 6)) (*.f64 -1/8 (pow.f64 a2 6))) (cos.f64 th))) (pow.f64 a1 4)) (+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (cos.f64 th))) (pow.f64 a1 2)) (+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))))
(+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (*.f64 (*.f64 a2 a2) (cos.f64 th)))) (/.f64 (sqrt.f64 1/2) (/.f64 (*.f64 a1 a1) (*.f64 (cos.f64 th) (*.f64 (pow.f64 a2 4) 0)))))
(fma.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)) (*.f64 (/.f64 (*.f64 (sqrt.f64 1/2) 0) a1) (/.f64 (cos.f64 th) a1)))
(fma.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)) 0)
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a1 a1) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 a1 (*.f64 a1 (cos.f64 th))))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(+.f64 (*.f64 (+.f64 (*.f64 -1 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (*.f64 5/64 (/.f64 1 (pow.f64 a1 6)))) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a2 8)))) (+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))))
(fma.f64 (fma.f64 -1 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (/.f64 5/64 (pow.f64 a1 6))) (*.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (pow.f64 a2 8)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (*.f64 (*.f64 a2 a2) (cos.f64 th)))))
(fma.f64 (-.f64 (/.f64 5/64 (pow.f64 a1 6)) (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a2 8))) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th))))
(*.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (+.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (pow.f64 a2 8) (-.f64 (*.f64 (/.f64 1 (pow.f64 a1 6)) 1/64) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)))))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 a1 8))) (*.f64 -1/2 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 2)))) (pow.f64 a1 2))) (+.f64 (*.f64 1/8 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 4))) (+.f64 (*.f64 1/256 (/.f64 1 (pow.f64 a1 10))) (*.f64 -1 (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/64 (/.f64 1 (pow.f64 a1 8))) (*.f64 -1/2 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 2)))) (pow.f64 a1 2))) (+.f64 (pow.f64 (/.f64 1/16 (pow.f64 a1 5)) 2) (*.f64 1/8 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 4))))))))) (*.f64 (pow.f64 a2 12) (cos.f64 th)))) (+.f64 (*.f64 (+.f64 (*.f64 -1 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (*.f64 5/64 (/.f64 1 (pow.f64 a1 6)))) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a2 8)))) (+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))))
(fma.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 1/2 (/.f64 (+.f64 (/.f64 1/64 (pow.f64 a1 8)) (*.f64 1/2 (/.f64 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (*.f64 a1 a1)))) (*.f64 a1 a1)) (fma.f64 1/8 (/.f64 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 4)) (+.f64 (/.f64 1/256 (pow.f64 a1 10)) (neg.f64 (fma.f64 1/2 (/.f64 (+.f64 (/.f64 1/64 (pow.f64 a1 8)) (*.f64 1/2 (/.f64 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (*.f64 a1 a1)))) (*.f64 a1 a1)) (+.f64 (/.f64 (*.f64 1/8 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (pow.f64 a1 4)) (pow.f64 (/.f64 1/16 (pow.f64 a1 5)) 2))))))) (*.f64 (cos.f64 th) (pow.f64 a2 12))) (fma.f64 (fma.f64 -1 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (/.f64 5/64 (pow.f64 a1 6))) (*.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (pow.f64 a2 8)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (*.f64 (*.f64 a2 a2) (cos.f64 th))))))
(fma.f64 (*.f64 (sqrt.f64 1/2) (fma.f64 1/2 (-.f64 (/.f64 1/64 (*.f64 (*.f64 a1 a1) (pow.f64 a1 8))) (/.f64 (*.f64 -1/2 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (pow.f64 a1 4))) (-.f64 (fma.f64 1/8 (/.f64 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 4)) (/.f64 1/256 (pow.f64 a1 10))) (fma.f64 1/2 (-.f64 (/.f64 1/64 (*.f64 (*.f64 a1 a1) (pow.f64 a1 8))) (/.f64 (*.f64 -1/2 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (pow.f64 a1 4))) (fma.f64 1/8 (/.f64 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 4)) (pow.f64 (/.f64 1/16 (pow.f64 a1 5)) 2)))))) (*.f64 (cos.f64 th) (pow.f64 a2 12)) (fma.f64 (-.f64 (/.f64 5/64 (pow.f64 a1 6)) (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a2 8))) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))))
(fma.f64 (*.f64 (sqrt.f64 1/2) (-.f64 (fma.f64 1/2 (-.f64 (/.f64 1/64 (*.f64 (*.f64 a1 a1) (pow.f64 a1 8))) (/.f64 -1/2 (/.f64 (pow.f64 a1 4) (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))))) (fma.f64 1/8 (/.f64 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 4)) (/.f64 1/256 (pow.f64 a1 10)))) (fma.f64 1/2 (-.f64 (/.f64 1/64 (*.f64 (*.f64 a1 a1) (pow.f64 a1 8))) (/.f64 -1/2 (/.f64 (pow.f64 a1 4) (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))))) (fma.f64 1/8 (/.f64 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (pow.f64 a1 4)) (/.f64 1/256 (pow.f64 a1 10)))))) (*.f64 (cos.f64 th) (pow.f64 a2 12)) (*.f64 (*.f64 (sqrt.f64 1/2) (cos.f64 th)) (+.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (pow.f64 a2 8) (-.f64 (*.f64 (/.f64 1 (pow.f64 a1 6)) 1/64) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))))))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th)))
(*.f64 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4))) (cos.f64 th))) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))))
(+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (*.f64 (*.f64 a2 a2) (cos.f64 th)))) (/.f64 (sqrt.f64 1/2) (/.f64 (*.f64 a1 a1) (*.f64 (cos.f64 th) (*.f64 (pow.f64 a2 4) 0)))))
(fma.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)) (*.f64 (/.f64 (*.f64 (sqrt.f64 1/2) 0) a1) (/.f64 (cos.f64 th) a1)))
(fma.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)) 0)
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4))) (cos.f64 th))) (pow.f64 a2 2)) (+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))) (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 1/8 (pow.f64 a1 6)) (*.f64 -1/8 (pow.f64 a1 6))) (cos.f64 th))) (pow.f64 a2 4)))))
(+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (*.f64 (*.f64 a2 a2) (cos.f64 th)))) (/.f64 (sqrt.f64 1/2) (/.f64 (*.f64 a1 a1) (*.f64 (cos.f64 th) (*.f64 (pow.f64 a2 4) 0)))))
(fma.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)) (*.f64 (/.f64 (*.f64 (sqrt.f64 1/2) 0) a1) (/.f64 (cos.f64 th) a1)))
(fma.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)) 0)
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th)))
(*.f64 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (cos.f64 th)))
(*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4))) (cos.f64 th))) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))))
(+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (*.f64 (*.f64 a2 a2) (cos.f64 th)))) (/.f64 (sqrt.f64 1/2) (/.f64 (*.f64 a1 a1) (*.f64 (cos.f64 th) (*.f64 (pow.f64 a2 4) 0)))))
(fma.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)) (*.f64 (/.f64 (*.f64 (sqrt.f64 1/2) 0) a1) (/.f64 (cos.f64 th) a1)))
(fma.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)) 0)
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (+.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4))) (cos.f64 th))) (pow.f64 a2 2)) (+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th))) (/.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (+.f64 (*.f64 1/8 (pow.f64 a1 6)) (*.f64 -1/8 (pow.f64 a1 6))) (cos.f64 th))) (pow.f64 a2 4)))))
(+.f64 (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (*.f64 (*.f64 a2 a2) (cos.f64 th)))) (/.f64 (sqrt.f64 1/2) (/.f64 (*.f64 a1 a1) (*.f64 (cos.f64 th) (*.f64 (pow.f64 a2 4) 0)))))
(fma.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)) (*.f64 (/.f64 (*.f64 (sqrt.f64 1/2) 0) a1) (/.f64 (cos.f64 th) a1)))
(fma.f64 (sqrt.f64 1/2) (*.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cos.f64 th)) 0)
(*.f64 1/2 (pow.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) 2))
(*.f64 1/2 (pow.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) 2))
(*.f64 1/2 (pow.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) 2))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) 2) (pow.f64 th 2))) (*.f64 1/2 (pow.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) 2)))
(fma.f64 -1/2 (*.f64 (*.f64 th th) (pow.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) 2)) (*.f64 1/2 (pow.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) 2)))
(fma.f64 1/2 (pow.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) 2) (*.f64 -1/2 (*.f64 (*.f64 th th) (pow.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) 2))))
(*.f64 (pow.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) 2) (+.f64 1/2 (*.f64 -1/2 (*.f64 th th))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) 2) (pow.f64 th 4))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) 2) (pow.f64 th 2))) (*.f64 1/2 (pow.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) 2))))
(fma.f64 1/6 (*.f64 (pow.f64 th 4) (pow.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) 2)) (fma.f64 -1/2 (*.f64 (*.f64 th th) (pow.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) 2)) (*.f64 1/2 (pow.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) 2))))
(fma.f64 1/6 (*.f64 (pow.f64 th 4) (pow.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) 2)) (fma.f64 1/2 (pow.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) 2) (*.f64 -1/2 (*.f64 (*.f64 th th) (pow.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) 2)))))
(fma.f64 1/6 (*.f64 (pow.f64 th 4) (pow.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) 2)) (*.f64 (pow.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) 2) (+.f64 1/2 (*.f64 -1/2 (*.f64 th th)))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) 2) (pow.f64 th 4))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) 2) (pow.f64 th 2))) (+.f64 (*.f64 -1/45 (*.f64 (pow.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) 2) (pow.f64 th 6))) (*.f64 1/2 (pow.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) 2)))))
(fma.f64 1/6 (*.f64 (pow.f64 th 4) (pow.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) 2)) (fma.f64 -1/2 (*.f64 (*.f64 th th) (pow.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) 2)) (fma.f64 -1/45 (*.f64 (pow.f64 th 6) (pow.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) 2)) (*.f64 1/2 (pow.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) 2)))))
(fma.f64 1/6 (*.f64 (pow.f64 th 4) (pow.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) 2)) (fma.f64 -1/2 (*.f64 (*.f64 th th) (pow.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) 2)) (fma.f64 1/2 (pow.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) 2) (*.f64 (pow.f64 th 6) (*.f64 (pow.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) 2) -1/45)))))
(+.f64 (*.f64 (pow.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) 2) (+.f64 1/2 (*.f64 -1/45 (pow.f64 th 6)))) (*.f64 (pow.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) 2) (+.f64 (*.f64 -1/2 (*.f64 th th)) (*.f64 1/6 (pow.f64 th 4)))))
(*.f64 1/2 (*.f64 (pow.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) 2) (pow.f64 (cos.f64 th) 2)))
(*.f64 1/2 (*.f64 (pow.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) 2) (pow.f64 (cos.f64 th) 2)))
(*.f64 1/2 (*.f64 (pow.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) 2) (pow.f64 (cos.f64 th) 2)))
(*.f64 (pow.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) 2) (*.f64 (pow.f64 (cos.f64 th) 2) 1/2))
(*.f64 1/2 (*.f64 (pow.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) 2) (pow.f64 (cos.f64 th) 2)))
(*.f64 1/2 (*.f64 (pow.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) 2) (pow.f64 (cos.f64 th) 2)))
(*.f64 1/2 (*.f64 (pow.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) 2) (pow.f64 (cos.f64 th) 2)))
(*.f64 (pow.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) 2) (*.f64 (pow.f64 (cos.f64 th) 2) 1/2))
(*.f64 1/2 (*.f64 (pow.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) 2) (pow.f64 (cos.f64 th) 2)))
(*.f64 1/2 (*.f64 (pow.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) 2) (pow.f64 (cos.f64 th) 2)))
(*.f64 1/2 (*.f64 (pow.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) 2) (pow.f64 (cos.f64 th) 2)))
(*.f64 (pow.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) 2) (*.f64 (pow.f64 (cos.f64 th) 2) 1/2))
(*.f64 1/2 (*.f64 (pow.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) 2) (pow.f64 (cos.f64 th) 2)))
(*.f64 1/2 (*.f64 (pow.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) 2) (pow.f64 (cos.f64 th) 2)))
(*.f64 1/2 (*.f64 (pow.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) 2) (pow.f64 (cos.f64 th) 2)))
(*.f64 (pow.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) 2) (*.f64 (pow.f64 (cos.f64 th) 2) 1/2))
(*.f64 1/2 (*.f64 (pow.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) 2) (pow.f64 (cos.f64 th) 2)))
(*.f64 1/2 (*.f64 (pow.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) 2) (pow.f64 (cos.f64 th) 2)))
(*.f64 1/2 (*.f64 (pow.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) 2) (pow.f64 (cos.f64 th) 2)))
(*.f64 (pow.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) 2) (*.f64 (pow.f64 (cos.f64 th) 2) 1/2))
(*.f64 1/2 (*.f64 (pow.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) 2) (pow.f64 (cos.f64 th) 2)))
(*.f64 1/2 (*.f64 (pow.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) 2) (pow.f64 (cos.f64 th) 2)))
(*.f64 1/2 (*.f64 (pow.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) 2) (pow.f64 (cos.f64 th) 2)))
(*.f64 (pow.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) 2) (*.f64 (pow.f64 (cos.f64 th) 2) 1/2))
(*.f64 1/2 (*.f64 (pow.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) 2) (pow.f64 (cos.f64 th) 2)))
(*.f64 1/2 (*.f64 (pow.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) 2) (pow.f64 (cos.f64 th) 2)))
(*.f64 1/2 (*.f64 (pow.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) 2) (pow.f64 (cos.f64 th) 2)))
(*.f64 (pow.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) 2) (*.f64 (pow.f64 (cos.f64 th) 2) 1/2))
(*.f64 1/2 (*.f64 (pow.f64 (+.f64 (pow.f64 a2 2) (pow.f64 a1 2)) 2) (pow.f64 (cos.f64 th) 2)))
(*.f64 1/2 (*.f64 (pow.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) 2) (pow.f64 (cos.f64 th) 2)))
(*.f64 1/2 (*.f64 (pow.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) 2) (pow.f64 (cos.f64 th) 2)))
(*.f64 (pow.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) 2) (*.f64 (pow.f64 (cos.f64 th) 2) 1/2))
(*.f64 1/2 (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2)))
(*.f64 (*.f64 1/2 (pow.f64 a2 4)) (pow.f64 (cos.f64 th) 2))
(*.f64 (pow.f64 a2 4) (*.f64 1/2 (pow.f64 (cos.f64 th) 2)))
(*.f64 (pow.f64 a2 4) (*.f64 (pow.f64 (cos.f64 th) 2) 1/2))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2))) (*.f64 (pow.f64 a1 2) (*.f64 (pow.f64 (cos.f64 th) 2) (pow.f64 a2 2))))
(fma.f64 1/2 (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2)) (*.f64 (*.f64 a1 a1) (*.f64 (*.f64 a2 a2) (pow.f64 (cos.f64 th) 2))))
(*.f64 (pow.f64 (cos.f64 th) 2) (+.f64 (*.f64 1/2 (pow.f64 a2 4)) (*.f64 a2 (*.f64 a2 (*.f64 a1 a1)))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2))) (*.f64 (pow.f64 a1 2) (*.f64 (pow.f64 (cos.f64 th) 2) (pow.f64 a2 2)))))
(fma.f64 (*.f64 a1 a1) (*.f64 (*.f64 a2 a2) (pow.f64 (cos.f64 th) 2)) (*.f64 1/2 (+.f64 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2)) (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2)))))
(fma.f64 1/2 (*.f64 (pow.f64 (cos.f64 th) 2) (+.f64 (pow.f64 a2 4) (pow.f64 a1 4))) (*.f64 (*.f64 a2 a2) (*.f64 (*.f64 a1 a1) (pow.f64 (cos.f64 th) 2))))
(*.f64 (pow.f64 (cos.f64 th) 2) (+.f64 (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))) (*.f64 1/2 (+.f64 (pow.f64 a2 4) (pow.f64 a1 4)))))
(+.f64 (*.f64 (+.f64 (*.f64 -1 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6))))) (*.f64 5/64 (/.f64 1 (pow.f64 a2 6)))) (*.f64 (pow.f64 a1 8) (*.f64 (pow.f64 (cos.f64 th) 2) (pow.f64 a2 2)))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2))) (*.f64 (pow.f64 a1 2) (*.f64 (pow.f64 (cos.f64 th) 2) (pow.f64 a2 2))))))
(fma.f64 (fma.f64 -1 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (/.f64 5/64 (pow.f64 a2 6))) (*.f64 (pow.f64 a1 8) (*.f64 (*.f64 a2 a2) (pow.f64 (cos.f64 th) 2))) (fma.f64 (*.f64 a1 a1) (*.f64 (*.f64 a2 a2) (pow.f64 (cos.f64 th) 2)) (*.f64 1/2 (+.f64 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2)) (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2))))))
(fma.f64 (-.f64 (/.f64 5/64 (pow.f64 a2 6)) (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6)))) (*.f64 (pow.f64 a1 8) (*.f64 (*.f64 a2 a2) (pow.f64 (cos.f64 th) 2))) (fma.f64 1/2 (*.f64 (pow.f64 (cos.f64 th) 2) (+.f64 (pow.f64 a2 4) (pow.f64 a1 4))) (*.f64 (*.f64 a2 a2) (*.f64 (*.f64 a1 a1) (pow.f64 (cos.f64 th) 2)))))
(+.f64 (*.f64 (*.f64 (pow.f64 (cos.f64 th) 2) 1/2) (+.f64 (pow.f64 a2 4) (pow.f64 a1 4))) (*.f64 (*.f64 (*.f64 a2 a2) (pow.f64 (cos.f64 th) 2)) (+.f64 (*.f64 a1 a1) (*.f64 (+.f64 (neg.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2)) (*.f64 (/.f64 1 (pow.f64 a2 6)) 1/64)) (pow.f64 a1 8)))))
(*.f64 1/2 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2)))
(*.f64 (pow.f64 a1 4) (*.f64 (pow.f64 (cos.f64 th) 2) 1/2))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2))) (*.f64 (pow.f64 a1 2) (*.f64 (pow.f64 (cos.f64 th) 2) (pow.f64 a2 2))))
(fma.f64 (*.f64 a1 a1) (*.f64 (*.f64 a2 a2) (pow.f64 (cos.f64 th) 2)) (*.f64 1/2 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2))))
(*.f64 (pow.f64 (cos.f64 th) 2) (+.f64 (*.f64 1/2 (pow.f64 a1 4)) (*.f64 a2 (*.f64 a2 (*.f64 a1 a1)))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2))) (+.f64 (*.f64 (pow.f64 a1 2) (*.f64 (pow.f64 (cos.f64 th) 2) (pow.f64 a2 2))) (*.f64 1/2 (*.f64 (+.f64 (*.f64 -1/2 (pow.f64 a2 4)) (+.f64 (*.f64 1/2 (pow.f64 a2 4)) (pow.f64 a2 4))) (pow.f64 (cos.f64 th) 2)))))
(fma.f64 (*.f64 a1 a1) (*.f64 (*.f64 a2 a2) (pow.f64 (cos.f64 th) 2)) (*.f64 1/2 (+.f64 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2)) (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2)))))
(fma.f64 1/2 (*.f64 (pow.f64 (cos.f64 th) 2) (+.f64 (pow.f64 a2 4) (pow.f64 a1 4))) (*.f64 (*.f64 a2 a2) (*.f64 (*.f64 a1 a1) (pow.f64 (cos.f64 th) 2))))
(*.f64 (pow.f64 (cos.f64 th) 2) (+.f64 (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))) (*.f64 1/2 (+.f64 (pow.f64 a2 4) (pow.f64 a1 4)))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2))) (+.f64 (*.f64 (pow.f64 a1 2) (*.f64 (pow.f64 (cos.f64 th) 2) (pow.f64 a2 2))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (pow.f64 a2 2))) (+.f64 (*.f64 -1/4 (pow.f64 a2 6)) (*.f64 1/4 (pow.f64 a2 6)))) (pow.f64 (cos.f64 th) 2)) (pow.f64 a1 2))) (*.f64 1/2 (*.f64 (+.f64 (*.f64 -1/2 (pow.f64 a2 4)) (+.f64 (*.f64 1/2 (pow.f64 a2 4)) (pow.f64 a2 4))) (pow.f64 (cos.f64 th) 2))))))
(fma.f64 (*.f64 a1 a1) (*.f64 (*.f64 a2 a2) (pow.f64 (cos.f64 th) 2)) (*.f64 1/2 (+.f64 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2)) (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2)))))
(fma.f64 1/2 (*.f64 (pow.f64 (cos.f64 th) 2) (+.f64 (pow.f64 a2 4) (pow.f64 a1 4))) (*.f64 (*.f64 a2 a2) (*.f64 (*.f64 a1 a1) (pow.f64 (cos.f64 th) 2))))
(*.f64 (pow.f64 (cos.f64 th) 2) (+.f64 (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))) (*.f64 1/2 (+.f64 (pow.f64 a2 4) (pow.f64 a1 4)))))
(*.f64 1/2 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2)))
(*.f64 (pow.f64 a1 4) (*.f64 (pow.f64 (cos.f64 th) 2) 1/2))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2))) (*.f64 (pow.f64 a1 2) (*.f64 (pow.f64 (cos.f64 th) 2) (pow.f64 a2 2))))
(fma.f64 (*.f64 a1 a1) (*.f64 (*.f64 a2 a2) (pow.f64 (cos.f64 th) 2)) (*.f64 1/2 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2))))
(*.f64 (pow.f64 (cos.f64 th) 2) (+.f64 (*.f64 1/2 (pow.f64 a1 4)) (*.f64 a2 (*.f64 a2 (*.f64 a1 a1)))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2))) (+.f64 (*.f64 (pow.f64 a1 2) (*.f64 (pow.f64 (cos.f64 th) 2) (pow.f64 a2 2))) (*.f64 1/2 (*.f64 (+.f64 (*.f64 -1/2 (pow.f64 a2 4)) (+.f64 (*.f64 1/2 (pow.f64 a2 4)) (pow.f64 a2 4))) (pow.f64 (cos.f64 th) 2)))))
(fma.f64 (*.f64 a1 a1) (*.f64 (*.f64 a2 a2) (pow.f64 (cos.f64 th) 2)) (*.f64 1/2 (+.f64 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2)) (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2)))))
(fma.f64 1/2 (*.f64 (pow.f64 (cos.f64 th) 2) (+.f64 (pow.f64 a2 4) (pow.f64 a1 4))) (*.f64 (*.f64 a2 a2) (*.f64 (*.f64 a1 a1) (pow.f64 (cos.f64 th) 2))))
(*.f64 (pow.f64 (cos.f64 th) 2) (+.f64 (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))) (*.f64 1/2 (+.f64 (pow.f64 a2 4) (pow.f64 a1 4)))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2))) (+.f64 (*.f64 (pow.f64 a1 2) (*.f64 (pow.f64 (cos.f64 th) 2) (pow.f64 a2 2))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (pow.f64 a2 2))) (+.f64 (*.f64 -1/4 (pow.f64 a2 6)) (*.f64 1/4 (pow.f64 a2 6)))) (pow.f64 (cos.f64 th) 2)) (pow.f64 a1 2))) (*.f64 1/2 (*.f64 (+.f64 (*.f64 -1/2 (pow.f64 a2 4)) (+.f64 (*.f64 1/2 (pow.f64 a2 4)) (pow.f64 a2 4))) (pow.f64 (cos.f64 th) 2))))))
(fma.f64 (*.f64 a1 a1) (*.f64 (*.f64 a2 a2) (pow.f64 (cos.f64 th) 2)) (*.f64 1/2 (+.f64 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2)) (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2)))))
(fma.f64 1/2 (*.f64 (pow.f64 (cos.f64 th) 2) (+.f64 (pow.f64 a2 4) (pow.f64 a1 4))) (*.f64 (*.f64 a2 a2) (*.f64 (*.f64 a1 a1) (pow.f64 (cos.f64 th) 2))))
(*.f64 (pow.f64 (cos.f64 th) 2) (+.f64 (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))) (*.f64 1/2 (+.f64 (pow.f64 a2 4) (pow.f64 a1 4)))))
(*.f64 1/2 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2)))
(*.f64 (pow.f64 a1 4) (*.f64 (pow.f64 (cos.f64 th) 2) 1/2))
(+.f64 (*.f64 (pow.f64 a1 2) (*.f64 (pow.f64 a2 2) (pow.f64 (cos.f64 th) 2))) (*.f64 1/2 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2))))
(fma.f64 (*.f64 a1 a1) (*.f64 (*.f64 a2 a2) (pow.f64 (cos.f64 th) 2)) (*.f64 1/2 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2))))
(*.f64 (pow.f64 (cos.f64 th) 2) (+.f64 (*.f64 1/2 (pow.f64 a1 4)) (*.f64 a2 (*.f64 a2 (*.f64 a1 a1)))))
(+.f64 (*.f64 (pow.f64 a1 2) (*.f64 (pow.f64 a2 2) (pow.f64 (cos.f64 th) 2))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2))) (*.f64 1/2 (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2)))))
(fma.f64 (*.f64 a1 a1) (*.f64 (*.f64 a2 a2) (pow.f64 (cos.f64 th) 2)) (*.f64 1/2 (+.f64 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2)) (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2)))))
(fma.f64 1/2 (*.f64 (pow.f64 (cos.f64 th) 2) (+.f64 (pow.f64 a2 4) (pow.f64 a1 4))) (*.f64 (*.f64 a2 a2) (*.f64 (*.f64 a1 a1) (pow.f64 (cos.f64 th) 2))))
(*.f64 (pow.f64 (cos.f64 th) 2) (+.f64 (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))) (*.f64 1/2 (+.f64 (pow.f64 a2 4) (pow.f64 a1 4)))))
(+.f64 (*.f64 (+.f64 (*.f64 -1 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (*.f64 5/64 (/.f64 1 (pow.f64 a1 6)))) (*.f64 (pow.f64 a1 2) (*.f64 (pow.f64 (cos.f64 th) 2) (pow.f64 a2 8)))) (+.f64 (*.f64 (pow.f64 a1 2) (*.f64 (pow.f64 a2 2) (pow.f64 (cos.f64 th) 2))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2))) (*.f64 1/2 (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2))))))
(fma.f64 (fma.f64 -1 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (/.f64 5/64 (pow.f64 a1 6))) (*.f64 (*.f64 (*.f64 a1 a1) (pow.f64 (cos.f64 th) 2)) (pow.f64 a2 8)) (fma.f64 (*.f64 a1 a1) (*.f64 (*.f64 a2 a2) (pow.f64 (cos.f64 th) 2)) (*.f64 1/2 (+.f64 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2)) (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2))))))
(fma.f64 (-.f64 (/.f64 5/64 (pow.f64 a1 6)) (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (*.f64 (pow.f64 a2 8) (*.f64 (*.f64 a1 a1) (pow.f64 (cos.f64 th) 2))) (fma.f64 1/2 (*.f64 (pow.f64 (cos.f64 th) 2) (+.f64 (pow.f64 a2 4) (pow.f64 a1 4))) (*.f64 (*.f64 a2 a2) (*.f64 (*.f64 a1 a1) (pow.f64 (cos.f64 th) 2)))))
(+.f64 (*.f64 (*.f64 (pow.f64 (cos.f64 th) 2) 1/2) (+.f64 (pow.f64 a2 4) (pow.f64 a1 4))) (*.f64 (*.f64 a1 (*.f64 a1 (pow.f64 (cos.f64 th) 2))) (+.f64 (*.f64 a2 a2) (*.f64 (pow.f64 a2 8) (-.f64 (*.f64 (/.f64 1 (pow.f64 a1 6)) 1/64) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))))))
(*.f64 1/2 (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2)))
(*.f64 (*.f64 1/2 (pow.f64 a2 4)) (pow.f64 (cos.f64 th) 2))
(*.f64 (pow.f64 a2 4) (*.f64 1/2 (pow.f64 (cos.f64 th) 2)))
(*.f64 (pow.f64 a2 4) (*.f64 (pow.f64 (cos.f64 th) 2) 1/2))
(+.f64 (*.f64 (pow.f64 a1 2) (*.f64 (pow.f64 a2 2) (pow.f64 (cos.f64 th) 2))) (*.f64 1/2 (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2))))
(fma.f64 1/2 (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2)) (*.f64 (*.f64 a1 a1) (*.f64 (*.f64 a2 a2) (pow.f64 (cos.f64 th) 2))))
(*.f64 (pow.f64 (cos.f64 th) 2) (+.f64 (*.f64 1/2 (pow.f64 a2 4)) (*.f64 a2 (*.f64 a2 (*.f64 a1 a1)))))
(+.f64 (*.f64 (pow.f64 a1 2) (*.f64 (pow.f64 a2 2) (pow.f64 (cos.f64 th) 2))) (+.f64 (*.f64 1/2 (*.f64 (+.f64 (pow.f64 a1 4) (+.f64 (*.f64 1/2 (pow.f64 a1 4)) (*.f64 -1/2 (pow.f64 a1 4)))) (pow.f64 (cos.f64 th) 2))) (*.f64 1/2 (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2)))))
(fma.f64 (*.f64 a1 a1) (*.f64 (*.f64 a2 a2) (pow.f64 (cos.f64 th) 2)) (*.f64 1/2 (+.f64 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2)) (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2)))))
(fma.f64 1/2 (*.f64 (pow.f64 (cos.f64 th) 2) (+.f64 (pow.f64 a2 4) (pow.f64 a1 4))) (*.f64 (*.f64 a2 a2) (*.f64 (*.f64 a1 a1) (pow.f64 (cos.f64 th) 2))))
(*.f64 (pow.f64 (cos.f64 th) 2) (+.f64 (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))) (*.f64 1/2 (+.f64 (pow.f64 a2 4) (pow.f64 a1 4)))))
(+.f64 (*.f64 (pow.f64 a1 2) (*.f64 (pow.f64 a2 2) (pow.f64 (cos.f64 th) 2))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a1 6)) (+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4))))) (*.f64 1/4 (pow.f64 a1 6)))) (pow.f64 (cos.f64 th) 2)) (pow.f64 a2 2))) (+.f64 (*.f64 1/2 (*.f64 (+.f64 (pow.f64 a1 4) (+.f64 (*.f64 1/2 (pow.f64 a1 4)) (*.f64 -1/2 (pow.f64 a1 4)))) (pow.f64 (cos.f64 th) 2))) (*.f64 1/2 (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2))))))
(fma.f64 (*.f64 a1 a1) (*.f64 (*.f64 a2 a2) (pow.f64 (cos.f64 th) 2)) (*.f64 1/2 (+.f64 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2)) (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2)))))
(fma.f64 1/2 (*.f64 (pow.f64 (cos.f64 th) 2) (+.f64 (pow.f64 a2 4) (pow.f64 a1 4))) (*.f64 (*.f64 a2 a2) (*.f64 (*.f64 a1 a1) (pow.f64 (cos.f64 th) 2))))
(*.f64 (pow.f64 (cos.f64 th) 2) (+.f64 (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))) (*.f64 1/2 (+.f64 (pow.f64 a2 4) (pow.f64 a1 4)))))
(*.f64 1/2 (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2)))
(*.f64 (*.f64 1/2 (pow.f64 a2 4)) (pow.f64 (cos.f64 th) 2))
(*.f64 (pow.f64 a2 4) (*.f64 1/2 (pow.f64 (cos.f64 th) 2)))
(*.f64 (pow.f64 a2 4) (*.f64 (pow.f64 (cos.f64 th) 2) 1/2))
(+.f64 (*.f64 (pow.f64 a1 2) (*.f64 (pow.f64 a2 2) (pow.f64 (cos.f64 th) 2))) (*.f64 1/2 (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2))))
(fma.f64 1/2 (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2)) (*.f64 (*.f64 a1 a1) (*.f64 (*.f64 a2 a2) (pow.f64 (cos.f64 th) 2))))
(*.f64 (pow.f64 (cos.f64 th) 2) (+.f64 (*.f64 1/2 (pow.f64 a2 4)) (*.f64 a2 (*.f64 a2 (*.f64 a1 a1)))))
(+.f64 (*.f64 (pow.f64 a1 2) (*.f64 (pow.f64 a2 2) (pow.f64 (cos.f64 th) 2))) (+.f64 (*.f64 1/2 (*.f64 (+.f64 (pow.f64 a1 4) (+.f64 (*.f64 1/2 (pow.f64 a1 4)) (*.f64 -1/2 (pow.f64 a1 4)))) (pow.f64 (cos.f64 th) 2))) (*.f64 1/2 (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2)))))
(fma.f64 (*.f64 a1 a1) (*.f64 (*.f64 a2 a2) (pow.f64 (cos.f64 th) 2)) (*.f64 1/2 (+.f64 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2)) (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2)))))
(fma.f64 1/2 (*.f64 (pow.f64 (cos.f64 th) 2) (+.f64 (pow.f64 a2 4) (pow.f64 a1 4))) (*.f64 (*.f64 a2 a2) (*.f64 (*.f64 a1 a1) (pow.f64 (cos.f64 th) 2))))
(*.f64 (pow.f64 (cos.f64 th) 2) (+.f64 (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))) (*.f64 1/2 (+.f64 (pow.f64 a2 4) (pow.f64 a1 4)))))
(+.f64 (*.f64 (pow.f64 a1 2) (*.f64 (pow.f64 a2 2) (pow.f64 (cos.f64 th) 2))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a1 6)) (+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4))))) (*.f64 1/4 (pow.f64 a1 6)))) (pow.f64 (cos.f64 th) 2)) (pow.f64 a2 2))) (+.f64 (*.f64 1/2 (*.f64 (+.f64 (pow.f64 a1 4) (+.f64 (*.f64 1/2 (pow.f64 a1 4)) (*.f64 -1/2 (pow.f64 a1 4)))) (pow.f64 (cos.f64 th) 2))) (*.f64 1/2 (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2))))))
(fma.f64 (*.f64 a1 a1) (*.f64 (*.f64 a2 a2) (pow.f64 (cos.f64 th) 2)) (*.f64 1/2 (+.f64 (*.f64 (pow.f64 a1 4) (pow.f64 (cos.f64 th) 2)) (*.f64 (pow.f64 a2 4) (pow.f64 (cos.f64 th) 2)))))
(fma.f64 1/2 (*.f64 (pow.f64 (cos.f64 th) 2) (+.f64 (pow.f64 a2 4) (pow.f64 a1 4))) (*.f64 (*.f64 a2 a2) (*.f64 (*.f64 a1 a1) (pow.f64 (cos.f64 th) 2))))
(*.f64 (pow.f64 (cos.f64 th) 2) (+.f64 (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))) (*.f64 1/2 (+.f64 (pow.f64 a2 4) (pow.f64 a1 4)))))
1
(+.f64 1 (*.f64 -1 (pow.f64 th 2)))
(+.f64 1 (neg.f64 (*.f64 th th)))
(-.f64 1 (*.f64 th th))
(+.f64 1 (+.f64 (*.f64 -1 (pow.f64 th 2)) (*.f64 1/3 (pow.f64 th 4))))
(+.f64 1 (fma.f64 -1 (*.f64 th th) (*.f64 (pow.f64 th 4) 1/3)))
(+.f64 1 (-.f64 (*.f64 (pow.f64 th 4) 1/3) (*.f64 th th)))
(+.f64 (-.f64 1 (*.f64 th th)) (*.f64 (pow.f64 th 4) 1/3))
(+.f64 1 (+.f64 (*.f64 -1 (pow.f64 th 2)) (+.f64 (*.f64 -2/45 (pow.f64 th 6)) (*.f64 1/3 (pow.f64 th 4)))))
(+.f64 1 (fma.f64 -1 (*.f64 th th) (fma.f64 -2/45 (pow.f64 th 6) (*.f64 (pow.f64 th 4) 1/3))))
(+.f64 1 (-.f64 (fma.f64 (pow.f64 th 4) 1/3 (*.f64 (pow.f64 th 6) -2/45)) (*.f64 th th)))
(+.f64 (-.f64 1 (*.f64 th th)) (fma.f64 (pow.f64 th 4) 1/3 (*.f64 (pow.f64 th 6) -2/45)))
(pow.f64 a2 4)
(+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (pow.f64 a2 4))
(fma.f64 2 (*.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (pow.f64 a2 4))
(fma.f64 2 (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))) (pow.f64 a2 4))
(+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (+.f64 (pow.f64 a1 4) (pow.f64 a2 4)))
(+.f64 (fma.f64 2 (*.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (pow.f64 a1 4)) (pow.f64 a2 4))
(fma.f64 2 (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))) (+.f64 (pow.f64 a2 4) (pow.f64 a1 4)))
(+.f64 (pow.f64 a2 4) (fma.f64 2 (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))) (pow.f64 a1 4)))
(+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (+.f64 (pow.f64 a1 4) (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 -1 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 a2 6))))) (*.f64 5/64 (/.f64 1 (pow.f64 a2 6)))) (*.f64 (pow.f64 a1 8) (pow.f64 a2 2)))) (pow.f64 a2 4))))
(+.f64 (fma.f64 2 (*.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (pow.f64 a1 4)) (fma.f64 2 (*.f64 (fma.f64 -1 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6))) (/.f64 5/64 (pow.f64 a2 6))) (*.f64 (*.f64 a2 a2) (pow.f64 a1 8))) (pow.f64 a2 4)))
(+.f64 (fma.f64 2 (*.f64 (-.f64 (/.f64 5/64 (pow.f64 a2 6)) (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2) (/.f64 1/16 (pow.f64 a2 6)))) (*.f64 a2 (*.f64 a2 (pow.f64 a1 8)))) (pow.f64 a2 4)) (fma.f64 2 (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))) (pow.f64 a1 4)))
(+.f64 (fma.f64 2 (*.f64 (+.f64 (neg.f64 (pow.f64 (/.f64 -1/8 (pow.f64 a2 3)) 2)) (*.f64 (/.f64 1 (pow.f64 a2 6)) 1/64)) (*.f64 a2 (*.f64 a2 (pow.f64 a1 8)))) (pow.f64 a2 4)) (fma.f64 2 (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))) (pow.f64 a1 4)))
(pow.f64 a1 4)
(+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (pow.f64 a1 4))
(fma.f64 2 (*.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (pow.f64 a1 4))
(fma.f64 2 (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))) (pow.f64 a1 4))
(+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (+.f64 (pow.f64 a1 4) (+.f64 (*.f64 -1/2 (pow.f64 a2 4)) (+.f64 (*.f64 1/2 (pow.f64 a2 4)) (pow.f64 a2 4)))))
(+.f64 (fma.f64 2 (*.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (pow.f64 a1 4)) (pow.f64 a2 4))
(fma.f64 2 (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))) (+.f64 (pow.f64 a2 4) (pow.f64 a1 4)))
(+.f64 (pow.f64 a2 4) (fma.f64 2 (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))) (pow.f64 a1 4)))
(+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (+.f64 (pow.f64 a1 4) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 a2 6) (pow.f64 a1 2))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 a2 6) (pow.f64 a1 2))) (+.f64 (*.f64 -1/2 (pow.f64 a2 4)) (+.f64 (*.f64 1/2 (pow.f64 a2 4)) (+.f64 (pow.f64 a2 4) (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (pow.f64 a2 2)) (pow.f64 a1 2))))))))))
(+.f64 (fma.f64 2 (*.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (pow.f64 a1 4)) (pow.f64 a2 4))
(fma.f64 2 (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))) (+.f64 (pow.f64 a2 4) (pow.f64 a1 4)))
(+.f64 (pow.f64 a2 4) (fma.f64 2 (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))) (pow.f64 a1 4)))
(pow.f64 a1 4)
(+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (pow.f64 a1 4))
(fma.f64 2 (*.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (pow.f64 a1 4))
(fma.f64 2 (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))) (pow.f64 a1 4))
(+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (+.f64 (pow.f64 a1 4) (+.f64 (*.f64 -1/2 (pow.f64 a2 4)) (+.f64 (*.f64 1/2 (pow.f64 a2 4)) (pow.f64 a2 4)))))
(+.f64 (fma.f64 2 (*.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (pow.f64 a1 4)) (pow.f64 a2 4))
(fma.f64 2 (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))) (+.f64 (pow.f64 a2 4) (pow.f64 a1 4)))
(+.f64 (pow.f64 a2 4) (fma.f64 2 (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))) (pow.f64 a1 4)))
(+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (+.f64 (pow.f64 a1 4) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 a2 6) (pow.f64 a1 2))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 a2 6) (pow.f64 a1 2))) (+.f64 (*.f64 -1/2 (pow.f64 a2 4)) (+.f64 (*.f64 1/2 (pow.f64 a2 4)) (+.f64 (pow.f64 a2 4) (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 -1/4 (pow.f64 a2 4)) (*.f64 1/4 (pow.f64 a2 4))) (pow.f64 a2 2)) (pow.f64 a1 2))))))))))
(+.f64 (fma.f64 2 (*.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (pow.f64 a1 4)) (pow.f64 a2 4))
(fma.f64 2 (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))) (+.f64 (pow.f64 a2 4) (pow.f64 a1 4)))
(+.f64 (pow.f64 a2 4) (fma.f64 2 (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))) (pow.f64 a1 4)))
(pow.f64 a1 4)
(+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (pow.f64 a1 4))
(fma.f64 2 (*.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (pow.f64 a1 4))
(fma.f64 2 (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))) (pow.f64 a1 4))
(+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (+.f64 (pow.f64 a1 4) (pow.f64 a2 4)))
(+.f64 (fma.f64 2 (*.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (pow.f64 a1 4)) (pow.f64 a2 4))
(fma.f64 2 (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))) (+.f64 (pow.f64 a2 4) (pow.f64 a1 4)))
(+.f64 (pow.f64 a2 4) (fma.f64 2 (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))) (pow.f64 a1 4)))
(+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (+.f64 (pow.f64 a1 4) (+.f64 (pow.f64 a2 4) (*.f64 2 (*.f64 (+.f64 (*.f64 -1 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 a1 6))) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (*.f64 5/64 (/.f64 1 (pow.f64 a1 6)))) (*.f64 (pow.f64 a1 2) (pow.f64 a2 8)))))))
(+.f64 (fma.f64 2 (*.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (pow.f64 a1 4)) (+.f64 (pow.f64 a2 4) (*.f64 2 (*.f64 (fma.f64 -1 (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2)) (/.f64 5/64 (pow.f64 a1 6))) (*.f64 (*.f64 a1 a1) (pow.f64 a2 8))))))
(+.f64 (fma.f64 2 (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))) (pow.f64 a1 4)) (fma.f64 2 (*.f64 (*.f64 a1 a1) (*.f64 (pow.f64 a2 8) (-.f64 (/.f64 5/64 (pow.f64 a1 6)) (+.f64 (/.f64 1/16 (pow.f64 a1 6)) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))))) (pow.f64 a2 4)))
(+.f64 (+.f64 (pow.f64 a2 4) (pow.f64 a1 4)) (*.f64 (*.f64 a1 a1) (+.f64 (*.f64 (*.f64 2 (-.f64 (*.f64 (/.f64 1 (pow.f64 a1 6)) 1/64) (pow.f64 (/.f64 -1/8 (pow.f64 a1 3)) 2))) (pow.f64 a2 8)) (*.f64 2 (*.f64 a2 a2)))))
(pow.f64 a2 4)
(+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (pow.f64 a2 4))
(fma.f64 2 (*.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (pow.f64 a2 4))
(fma.f64 2 (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))) (pow.f64 a2 4))
(+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (+.f64 (pow.f64 a1 4) (+.f64 (*.f64 1/2 (pow.f64 a1 4)) (+.f64 (pow.f64 a2 4) (*.f64 -1/2 (pow.f64 a1 4))))))
(+.f64 (fma.f64 2 (*.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (pow.f64 a1 4)) (pow.f64 a2 4))
(fma.f64 2 (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))) (+.f64 (pow.f64 a2 4) (pow.f64 a1 4)))
(+.f64 (pow.f64 a2 4) (fma.f64 2 (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))) (pow.f64 a1 4)))
(+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 a1 6) (pow.f64 a2 2))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 a1 6) (pow.f64 a2 2))) (+.f64 (pow.f64 a1 4) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 a1 2) (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4)))) (pow.f64 a2 2))) (+.f64 (*.f64 1/2 (pow.f64 a1 4)) (+.f64 (pow.f64 a2 4) (*.f64 -1/2 (pow.f64 a1 4)))))))))
(+.f64 (fma.f64 2 (*.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (pow.f64 a1 4)) (pow.f64 a2 4))
(fma.f64 2 (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))) (+.f64 (pow.f64 a2 4) (pow.f64 a1 4)))
(+.f64 (pow.f64 a2 4) (fma.f64 2 (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))) (pow.f64 a1 4)))
(pow.f64 a2 4)
(+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (pow.f64 a2 4))
(fma.f64 2 (*.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (pow.f64 a2 4))
(fma.f64 2 (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))) (pow.f64 a2 4))
(+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (+.f64 (pow.f64 a1 4) (+.f64 (*.f64 1/2 (pow.f64 a1 4)) (+.f64 (pow.f64 a2 4) (*.f64 -1/2 (pow.f64 a1 4))))))
(+.f64 (fma.f64 2 (*.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (pow.f64 a1 4)) (pow.f64 a2 4))
(fma.f64 2 (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))) (+.f64 (pow.f64 a2 4) (pow.f64 a1 4)))
(+.f64 (pow.f64 a2 4) (fma.f64 2 (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))) (pow.f64 a1 4)))
(+.f64 (*.f64 2 (*.f64 (pow.f64 a1 2) (pow.f64 a2 2))) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 a1 6) (pow.f64 a2 2))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 a1 6) (pow.f64 a2 2))) (+.f64 (pow.f64 a1 4) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 a1 2) (+.f64 (*.f64 -1/4 (pow.f64 a1 4)) (*.f64 1/4 (pow.f64 a1 4)))) (pow.f64 a2 2))) (+.f64 (*.f64 1/2 (pow.f64 a1 4)) (+.f64 (pow.f64 a2 4) (*.f64 -1/2 (pow.f64 a1 4)))))))))
(+.f64 (fma.f64 2 (*.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (pow.f64 a1 4)) (pow.f64 a2 4))
(fma.f64 2 (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))) (+.f64 (pow.f64 a2 4) (pow.f64 a1 4)))
(+.f64 (pow.f64 a2 4) (fma.f64 2 (*.f64 a2 (*.f64 a2 (*.f64 a1 a1))) (pow.f64 a1 4)))

eval459.0ms (2.4%)

Compiler

Compiled 14559 to 9687 computations (33.5% saved)

prune155.0ms (0.8%)

Pruning

21 alts after pruning (20 fresh and 1 done)

PrunedKeptTotal
New67817695
Fresh538
Picked101
Done415
Total68821709
Error
0b
Counts
709 → 21
Alt Table
Click to see full alt table
StatusErrorProgram
30.5b
(/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))
29.4b
(*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1)))
25.2b
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
25.2b
(*.f64 a2 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) a2)))
25.2b
(/.f64 (*.f64 (*.f64 a2 (cos.f64 th)) a2) (sqrt.f64 2))
44.5b
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (+.f64 1 (*.f64 th (*.f64 th -1/2))))
41.1b
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
30.5b
(*.f64 (sqrt.f64 1/2) (*.f64 a1 (*.f64 a1 (cos.f64 th))))
30.5b
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
30.5b
(*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (cos.f64 th))
30.5b
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
25.2b
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))
25.2b
(*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th)))
25.2b
(*.f64 a2 (*.f64 (*.f64 (pow.f64 2 -1/2) a2) (cos.f64 th)))
45.1b
(*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (+.f64 1 (*.f64 th (*.f64 th -1/2)))))
0.5b
(*.f64 (hypot.f64 a1 a2) (*.f64 (hypot.f64 a1 a2) (/.f64 (cos.f64 th) (sqrt.f64 2))))
0.9b
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (pow.f64 (hypot.f64 a1 a2) 2)))
29.4b
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2))
30.5b
(*.f64 a1 (*.f64 a1 (*.f64 (sqrt.f64 1/2) (cos.f64 th))))
25.2b
(*.f64 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
41.2b
(*.f64 a2 (/.f64 a2 (sqrt.f64 2)))
Compiler

Compiled 514 to 387 computations (24.7% saved)

localize38.0ms (0.2%)

Local error

Found 8 expressions with local error:

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

Compiled 41 to 20 computations (51.2% saved)

series20.0ms (0.1%)

Counts
2 → 72
Calls

18 calls:

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

rewrite83.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
564×log-prod_binary64
430×exp-prod_binary64
346×pow-prod-down_binary64
290×pow2_binary64
236×pow-unpow_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify102.0ms (0.5%)

Algorithm
egg-herbie
Rules
791×associate-/r*_binary64
549×associate-*r/_binary64
535×associate-*l/_binary64
323×associate-/r/_binary64
323×distribute-rgt-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

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

localize8.0ms (0%)

Local error

Found 4 expressions with local error:

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

Compiled 17 to 13 computations (23.5% saved)

series1.0ms (0%)

Counts
1 → 12
Calls

3 calls:

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

rewrite47.0ms (0.2%)

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

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

localize15.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

Compiled 27 to 15 computations (44.4% saved)

series5.0ms (0%)

Counts
2 → 28
Calls

9 calls:

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

rewrite55.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
811×pow1_binary64
746×add-log-exp_binary64
746×log1p-expm1-u_binary64
746×expm1-log1p-u_binary64
727×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify211.0ms (1.1%)

Algorithm
egg-herbie
Rules
840×unswap-sqr_binary64
741×distribute-lft-out_binary64
539×sqr-pow_binary64
405×*-commutative_binary64
289×fma-def_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
048510
1125508
2358478
31597458
42729454
54272454
64491454
74719454
84972454
95244454
106662454
117026454
127478454
137995454
Stop Event
node limit
Counts
54 → 44
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (pow.f64 th 2)))))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (pow.f64 th 2)))) (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (pow.f64 th 4))))))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (pow.f64 th 2)))) (+.f64 (*.f64 -1/720 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (pow.f64 th 6)))) (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (pow.f64 th 4)))))))
(*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a2 2)))
(*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a2 2)))
(*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a2 2)))
(*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a2 2)))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(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))))))
Outputs
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)))
(*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (pow.f64 th 2)))))
(fma.f64 (sqrt.f64 1/2) (*.f64 a2 a2) (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (*.f64 th th)))))
(fma.f64 (sqrt.f64 1/2) (*.f64 a2 a2) (*.f64 (*.f64 (*.f64 a2 a2) (*.f64 th th)) (*.f64 (sqrt.f64 1/2) -1/2)))
(*.f64 (*.f64 a2 a2) (fma.f64 (sqrt.f64 1/2) (*.f64 th (*.f64 th -1/2)) (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (+.f64 (*.f64 -1/2 (*.f64 a2 (*.f64 th th))) a2)))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (pow.f64 th 2)))) (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (pow.f64 th 4))))))
(fma.f64 (sqrt.f64 1/2) (*.f64 a2 a2) (fma.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (*.f64 th th))) (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (pow.f64 th 4))))))
(fma.f64 (sqrt.f64 1/2) (*.f64 a2 a2) (fma.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (*.f64 th th))) (*.f64 (*.f64 (*.f64 a2 a2) (pow.f64 th 4)) (*.f64 (sqrt.f64 1/2) 1/24))))
(fma.f64 (sqrt.f64 1/2) (*.f64 a2 a2) (*.f64 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 th (*.f64 th -1/2)) (*.f64 1/24 (pow.f64 th 4))))))
(*.f64 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 th (*.f64 th -1/2)) (+.f64 1 (*.f64 1/24 (pow.f64 th 4))))))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (+.f64 (*.f64 1/24 (pow.f64 th 4)) (+.f64 1 (*.f64 th (*.f64 th -1/2))))))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (pow.f64 th 2)))) (+.f64 (*.f64 -1/720 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (pow.f64 th 6)))) (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (pow.f64 th 4)))))))
(fma.f64 (sqrt.f64 1/2) (*.f64 a2 a2) (fma.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (*.f64 th th))) (fma.f64 -1/720 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (pow.f64 th 6))) (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (pow.f64 th 4)))))))
(fma.f64 (sqrt.f64 1/2) (*.f64 a2 a2) (fma.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (*.f64 th th))) (fma.f64 -1/720 (*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (pow.f64 th 6)))) (*.f64 (*.f64 (*.f64 a2 a2) (pow.f64 th 4)) (*.f64 (sqrt.f64 1/2) 1/24)))))
(+.f64 (*.f64 (*.f64 a2 a2) (fma.f64 (sqrt.f64 1/2) (*.f64 th (*.f64 th -1/2)) (sqrt.f64 1/2))) (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)) (+.f64 (*.f64 1/24 (pow.f64 th 4)) (*.f64 -1/720 (pow.f64 th 6)))))
(*.f64 (*.f64 a2 a2) (+.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 th (*.f64 th -1/2)) (+.f64 (*.f64 1/24 (pow.f64 th 4)) (*.f64 -1/720 (pow.f64 th 6)))))))
(*.f64 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (+.f64 (+.f64 (*.f64 1/24 (pow.f64 th 4)) (*.f64 -1/720 (pow.f64 th 6))) (+.f64 1 (*.f64 th (*.f64 th -1/2))))))
(*.f64 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/24 (pow.f64 th 4)) (+.f64 1 (+.f64 (*.f64 th (*.f64 th -1/2)) (*.f64 -1/720 (pow.f64 th 6)))))))
(*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)) (+.f64 1 (+.f64 (*.f64 1/24 (pow.f64 th 4)) (+.f64 (*.f64 th (*.f64 th -1/2)) (*.f64 -1/720 (pow.f64 th 6))))))
(*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a2 2)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)))
(*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a2 2)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)))
(*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a2 2)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)))
(*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a2 2)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)))
(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))
(fma.f64 (sqrt.f64 1/2) (*.f64 th (*.f64 th -1/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)))
(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 th (*.f64 th -1/2)) (*.f64 1/24 (pow.f64 th 4)))))
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 th (*.f64 th -1/2)) (+.f64 1 (*.f64 1/24 (pow.f64 th 4)))))
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/24 (pow.f64 th 4)) (+.f64 1 (*.f64 th (*.f64 th -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)) (+.f64 (fma.f64 1/24 (*.f64 (sqrt.f64 1/2) (pow.f64 th 4)) (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 th (*.f64 th -1/2)) (sqrt.f64 1/2)) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/24 (pow.f64 th 4)) (*.f64 -1/720 (pow.f64 th 6)))))
(+.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 th (*.f64 th -1/2)) (+.f64 (*.f64 1/24 (pow.f64 th 4)) (*.f64 -1/720 (pow.f64 th 6))))))
(*.f64 (sqrt.f64 1/2) (+.f64 (+.f64 (*.f64 1/24 (pow.f64 th 4)) (*.f64 -1/720 (pow.f64 th 6))) (+.f64 1 (*.f64 th (*.f64 th -1/2)))))
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 1/24 (pow.f64 th 4)) (+.f64 1 (+.f64 (*.f64 th (*.f64 th -1/2)) (*.f64 -1/720 (pow.f64 th 6))))))
(*.f64 (sqrt.f64 1/2) (+.f64 1 (+.f64 (*.f64 1/24 (pow.f64 th 4)) (+.f64 (*.f64 th (*.f64 th -1/2)) (*.f64 -1/720 (pow.f64 th 6))))))

localize27.0ms (0.1%)

Local error

Found 6 expressions with local error:

NewErrorProgram
0.4b
(/.f64 a1 (sqrt.f64 2))
0.2b
(*.f64 a1 (/.f64 a1 (sqrt.f64 2)))
0.1b
(*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (cos.f64 th))
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)

series20.0ms (0.1%)

Counts
3 → 36
Calls

12 calls:

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

rewrite93.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
0929
118729
2233029
Stop Event
node limit
Counts
3 → 68
Calls
Call 1
Inputs
(/.f64 a1 (sqrt.f64 2))
(*.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 (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 cbrt.f64 (/.f64 (pow.f64 a1 3) (*.f64 2 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 a1 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x 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 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)))))))))

simplify133.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
104 → 78
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)))

localize19.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.4b
(*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1)))
0.4b
(*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1)))
Compiler

Compiled 26 to 11 computations (57.7% saved)

series6.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite98.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
674×pow1_binary64
620×add-log-exp_binary64
620×log1p-expm1-u_binary64
620×expm1-log1p-u_binary64
605×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0813
115812
2175312
Stop Event
node limit
Counts
1 → 15
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 a2 a2) (sqrt.f64 1/2)) (*.f64 (*.f64 a1 a1) (sqrt.f64 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)) (*.f64 (sqrt.f64 1/2) (*.f64 a1 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (sqrt.f64 1/2) (pow.f64 (hypot.f64 a2 a1) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 (hypot.f64 a2 a1) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 (hypot.f64 a2 a1) 2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 (hypot.f64 a2 a1) 2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 1/2 1/4) (hypot.f64 a2 a1)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 1/2 (pow.f64 (pow.f64 (hypot.f64 a2 a1) 2) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sqrt.f64 1/2)) (pow.f64 (hypot.f64 a2 a1) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 (hypot.f64 a2 a1) 2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (*.f64 1/2 (sqrt.f64 1/2)) (pow.f64 (pow.f64 (hypot.f64 a2 a1) 2) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (pow.f64 (hypot.f64 a2 a1) 2) 3) (*.f64 1/2 (sqrt.f64 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 (hypot.f64 a2 a1) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 (hypot.f64 a2 a1) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 (hypot.f64 a2 a1) 2))))))))

simplify192.0ms (1%)

Algorithm
egg-herbie
Rules
1040×sqr-pow_binary64
784×cube-prod_binary64
743×fabs-mul_binary64
484×unswap-sqr_binary64
360×pow-sqr_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
011324
125288
249288
394288
4226288
5687288
61068288
71891288
82108288
92348288
102661288
113107288
123703288
134412288
145296288
155988288
166446288
176882288
187038288
197108288
207935288
Stop Event
node limit
Counts
39 → 21
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 1/2) (pow.f64 a1 2))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)))
(*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)))
(*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)))
(*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)))
(*.f64 (sqrt.f64 1/2) (pow.f64 a1 2))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)))
(*.f64 (sqrt.f64 1/2) (pow.f64 a1 2))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)))
Outputs
(*.f64 (sqrt.f64 1/2) (pow.f64 a1 2))
(*.f64 (sqrt.f64 1/2) (*.f64 a1 a1))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)))
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1)))
(*.f64 (sqrt.f64 1/2) (fma.f64 a1 a1 (*.f64 a2 a2)))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)))
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1)))
(*.f64 (sqrt.f64 1/2) (fma.f64 a1 a1 (*.f64 a2 a2)))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)))
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1)))
(*.f64 (sqrt.f64 1/2) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)))
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1)))
(*.f64 (sqrt.f64 1/2) (fma.f64 a1 a1 (*.f64 a2 a2)))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)))
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1)))
(*.f64 (sqrt.f64 1/2) (fma.f64 a1 a1 (*.f64 a2 a2)))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)))
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1)))
(*.f64 (sqrt.f64 1/2) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)))
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1)))
(*.f64 (sqrt.f64 1/2) (fma.f64 a1 a1 (*.f64 a2 a2)))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)))
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1)))
(*.f64 (sqrt.f64 1/2) (fma.f64 a1 a1 (*.f64 a2 a2)))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)))
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1)))
(*.f64 (sqrt.f64 1/2) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)))
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1)))
(*.f64 (sqrt.f64 1/2) (fma.f64 a1 a1 (*.f64 a2 a2)))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)))
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1)))
(*.f64 (sqrt.f64 1/2) (fma.f64 a1 a1 (*.f64 a2 a2)))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)))
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1)))
(*.f64 (sqrt.f64 1/2) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 (sqrt.f64 1/2) (pow.f64 a1 2))
(*.f64 (sqrt.f64 1/2) (*.f64 a1 a1))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)))
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1)))
(*.f64 (sqrt.f64 1/2) (fma.f64 a1 a1 (*.f64 a2 a2)))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)))
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1)))
(*.f64 (sqrt.f64 1/2) (fma.f64 a1 a1 (*.f64 a2 a2)))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)))
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1)))
(*.f64 (sqrt.f64 1/2) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 (sqrt.f64 1/2) (pow.f64 a1 2))
(*.f64 (sqrt.f64 1/2) (*.f64 a1 a1))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)))
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1)))
(*.f64 (sqrt.f64 1/2) (fma.f64 a1 a1 (*.f64 a2 a2)))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)))
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1)))
(*.f64 (sqrt.f64 1/2) (fma.f64 a1 a1 (*.f64 a2 a2)))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 (sqrt.f64 1/2) (pow.f64 a1 2)))
(*.f64 (sqrt.f64 1/2) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))
(*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1)))
(*.f64 (sqrt.f64 1/2) (fma.f64 a1 a1 (*.f64 a2 a2)))

eval391.0ms (2.1%)

Compiler

Compiled 10306 to 6312 computations (38.8% saved)

prune155.0ms (0.8%)

Pruning

31 alts after pruning (27 fresh and 4 done)

PrunedKeptTotal
New50217519
Fresh51015
Picked011
Done235
Total50931540
Error
0b
Counts
540 → 31
Alt Table
Click to see full alt table
StatusErrorProgram
30.5b
(/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))
29.4b
(*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1)))
47.3b
(*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (+.f64 1 (*.f64 th (*.f64 th -1/2))))
43.8b
(*.f64 (sqrt.f64 1/2) (*.f64 a1 a1))
30.5b
(*.f64 (*.f64 a1 (*.f64 (pow.f64 2 -1/2) a1)) (cos.f64 th))
45.4b
(*.f64 a2 (-.f64 (+.f64 1 (/.f64 a2 (sqrt.f64 2))) 1))
41.2b
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
30.5b
(*.f64 a1 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) a1)))
25.2b
(*.f64 a2 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) a2)))
25.2b
(/.f64 (*.f64 (*.f64 a2 (cos.f64 th)) a2) (sqrt.f64 2))
44.5b
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (+.f64 1 (*.f64 th (*.f64 th -1/2))))
25.2b
(*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a2 2)))
41.2b
(pow.f64 (/.f64 a2 (pow.f64 2 1/4)) 2)
41.1b
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
30.5b
(*.f64 (sqrt.f64 1/2) (*.f64 a1 (*.f64 a1 (cos.f64 th))))
41.2b
(*.f64 a2 (pow.f64 (/.f64 (sqrt.f64 2) a2) -1))
30.5b
(*.f64 a1 (*.f64 a1 (*.f64 (sqrt.f64 1/2) (cos.f64 th))))
41.3b
(*.f64 a2 (sqrt.f64 (/.f64 (*.f64 a2 a2) 2)))
25.2b
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))
41.2b
(*.f64 a2 (*.f64 (neg.f64 a2) (/.f64 1 (neg.f64 (sqrt.f64 2)))))
25.2b
(*.f64 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
30.5b
(*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (cos.f64 th))
45.1b
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (+.f64 (*.f64 -1/2 (*.f64 a2 (*.f64 th th))) a2)))
41.2b
(*.f64 a2 (*.f64 (pow.f64 2 -1/2) a2))
25.2b
(*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th)))
45.1b
(*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (+.f64 1 (*.f64 th (*.f64 th -1/2)))))
41.2b
(/.f64 a2 (/.f64 (sqrt.f64 2) a2))
45.4b
(-.f64 (+.f64 1 (*.f64 a2 (/.f64 a2 (sqrt.f64 2)))) 1)
29.4b
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2))
41.2b
(*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))
41.2b
(*.f64 a2 (/.f64 a2 (sqrt.f64 2)))
Compiler

Compiled 703 to 543 computations (22.8% saved)

localize12.0ms (0.1%)

Local error

Found 6 expressions with local error:

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

Compiled 29 to 12 computations (58.6% saved)

series5.0ms (0%)

Counts
3 → 64
Calls

18 calls:

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

rewrite100.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
960×pow1_binary64
890×add-log-exp_binary64
890×log1p-expm1-u_binary64
890×expm1-log1p-u_binary64
93×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify104.0ms (0.6%)

Algorithm
egg-herbie
Rules
595×associate-/l*_binary64
567×associate-*r/_binary64
523×distribute-rgt-out_binary64
445×associate-/r*_binary64
404×associate-*l/_binary64
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
059846
1157827
2437808
31638782
44685767
56480759
67439759
Stop Event
node limit
Counts
134 → 101
Calls
Call 1
Inputs
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 2)) (sqrt.f64 2))))
(+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 4)) (sqrt.f64 2))) (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 2)) (sqrt.f64 2)))))
(+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 4)) (sqrt.f64 2))) (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 2)) (sqrt.f64 2))) (*.f64 -1/720 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 6)) (sqrt.f64 2))))))
(/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (cos.f64 th) a2)
(*.f64 (cos.f64 th) a2)
(*.f64 (cos.f64 th) a2)
(*.f64 (cos.f64 th) a2)
(*.f64 (cos.f64 th) a2)
(*.f64 (cos.f64 th) a2)
(*.f64 (cos.f64 th) a2)
(*.f64 (cos.f64 th) a2)
(*.f64 (cos.f64 th) a2)
(*.f64 (cos.f64 th) a2)
(*.f64 (cos.f64 th) a2)
(*.f64 (cos.f64 th) a2)
a2
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 th 2) a2)) a2)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 th 2) a2)) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 th 4) a2)) a2))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 th 2) a2)) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 th 4) a2)) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 th 6) a2)) a2)))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(pow.f64 a2 2)
(+.f64 (pow.f64 a2 2) (*.f64 -1/2 (*.f64 (pow.f64 th 2) (pow.f64 a2 2))))
(+.f64 (pow.f64 a2 2) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 th 2) (pow.f64 a2 2))) (*.f64 1/24 (*.f64 (pow.f64 th 4) (pow.f64 a2 2)))))
(+.f64 (pow.f64 a2 2) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 th 2) (pow.f64 a2 2))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 th 4) (pow.f64 a2 2))) (*.f64 -1/720 (*.f64 (pow.f64 th 6) (pow.f64 a2 2))))))
(*.f64 (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 (pow.f64 a2 2) (cos.f64 th))
(*.f64 (pow.f64 a2 2) (cos.f64 th))
(*.f64 (pow.f64 a2 2) (cos.f64 th))
(*.f64 (pow.f64 a2 2) (cos.f64 th))
Outputs
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (sqrt.f64 2))
(*.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 a2 (/.f64 (cos.f64 th) (sqrt.f64 2))))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 a2 (*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2))))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 a2 (*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2))))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 a2 (*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2))))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 a2 (*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2))))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 a2 (*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2))))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 a2 (*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2))))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 a2 (*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2))))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 a2 (*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2))))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 a2 (*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2))))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 a2 (*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2))))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 a2 (*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2))))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(/.f64 a2 (/.f64 (sqrt.f64 2) a2))
(*.f64 a2 (/.f64 a2 (sqrt.f64 2)))
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (*.f64 -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 a2 (/.f64 (sqrt.f64 2) a2)) (*.f64 th th)) (/.f64 a2 (/.f64 (sqrt.f64 2) a2)))
(*.f64 a2 (+.f64 (/.f64 a2 (sqrt.f64 2)) (/.f64 th (/.f64 (/.f64 (sqrt.f64 2) a2) (*.f64 th -1/2)))))
(*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (/.f64 a2 (/.f64 (sqrt.f64 2) a2)))
(/.f64 (fma.f64 (*.f64 th th) (*.f64 a2 -1/2) a2) (/.f64 (sqrt.f64 2) a2))
(+.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 a2 (/.f64 (sqrt.f64 2) a2)) (pow.f64 th 4)) (fma.f64 -1/2 (*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (*.f64 th th)) (/.f64 a2 (/.f64 (sqrt.f64 2) a2))))
(+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (fma.f64 -1/2 (*.f64 th th) (*.f64 1/24 (pow.f64 th 4)))))
(*.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 (*.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 a2 (/.f64 (sqrt.f64 2) a2)) (pow.f64 th 4)) (fma.f64 -1/2 (*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (*.f64 th th)) (/.f64 a2 (/.f64 (sqrt.f64 2) a2)))) (*.f64 -1/720 (*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (pow.f64 th 6))))
(fma.f64 1/24 (*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (pow.f64 th 4)) (fma.f64 -1/2 (*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (*.f64 th th)) (fma.f64 -1/720 (*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (pow.f64 th 6)) (/.f64 a2 (/.f64 (sqrt.f64 2) a2)))))
(+.f64 (*.f64 a2 (+.f64 (/.f64 a2 (sqrt.f64 2)) (/.f64 th (/.f64 (/.f64 (sqrt.f64 2) a2) (*.f64 th -1/2))))) (*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (fma.f64 -1/720 (pow.f64 th 6) (*.f64 1/24 (pow.f64 th 4)))))
(+.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (+.f64 (*.f64 -1/720 (pow.f64 th 6)) (fma.f64 -1/2 (*.f64 th th) (*.f64 1/24 (pow.f64 th 4))))))
(+.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (+.f64 (*.f64 -1/720 (pow.f64 th 6)) (fma.f64 -1/2 (*.f64 th th) (*.f64 1/24 (pow.f64 th 4))))))
(/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 a2 (*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2))))
(/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 a2 (*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2))))
(/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 a2 (*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2))))
(/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 a2 (*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2))))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 a2 (*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2))))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 a2 (*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2))))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 a2 (*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2))))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 a2 a2) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(*.f64 a2 (*.f64 a2 (/.f64 (cos.f64 th) (sqrt.f64 2))))
(*.f64 (cos.f64 th) a2)
(*.f64 a2 (cos.f64 th))
(*.f64 (cos.f64 th) a2)
(*.f64 a2 (cos.f64 th))
(*.f64 (cos.f64 th) a2)
(*.f64 a2 (cos.f64 th))
(*.f64 (cos.f64 th) a2)
(*.f64 a2 (cos.f64 th))
(*.f64 (cos.f64 th) a2)
(*.f64 a2 (cos.f64 th))
(*.f64 (cos.f64 th) a2)
(*.f64 a2 (cos.f64 th))
(*.f64 (cos.f64 th) a2)
(*.f64 a2 (cos.f64 th))
(*.f64 (cos.f64 th) a2)
(*.f64 a2 (cos.f64 th))
(*.f64 (cos.f64 th) a2)
(*.f64 a2 (cos.f64 th))
(*.f64 (cos.f64 th) a2)
(*.f64 a2 (cos.f64 th))
(*.f64 (cos.f64 th) a2)
(*.f64 a2 (cos.f64 th))
(*.f64 (cos.f64 th) a2)
(*.f64 a2 (cos.f64 th))
a2
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 th 2) a2)) a2)
(fma.f64 -1/2 (*.f64 a2 (*.f64 th th)) a2)
(*.f64 a2 (fma.f64 -1/2 (*.f64 th th) 1))
(fma.f64 (*.f64 th th) (*.f64 a2 -1/2) a2)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 th 2) a2)) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 th 4) a2)) a2))
(fma.f64 -1/2 (*.f64 a2 (*.f64 th th)) (fma.f64 1/24 (*.f64 a2 (pow.f64 th 4)) a2))
(fma.f64 a2 (fma.f64 -1/2 (*.f64 th th) (*.f64 1/24 (pow.f64 th 4))) a2)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 th 2) a2)) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 th 4) a2)) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 th 6) a2)) a2)))
(fma.f64 -1/2 (*.f64 a2 (*.f64 th th)) (fma.f64 1/24 (*.f64 a2 (pow.f64 th 4)) (fma.f64 -1/720 (*.f64 a2 (pow.f64 th 6)) a2)))
(fma.f64 a2 (fma.f64 -1/2 (*.f64 th th) (*.f64 1/24 (pow.f64 th 4))) (fma.f64 (pow.f64 th 6) (*.f64 a2 -1/720) a2))
(*.f64 a2 (+.f64 (fma.f64 -1/2 (*.f64 th th) 1) (fma.f64 -1/720 (pow.f64 th 6) (*.f64 1/24 (pow.f64 th 4)))))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(*.f64 (*.f64 a2 a2) (cos.f64 th))
(*.f64 a2 (*.f64 a2 (cos.f64 th)))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(*.f64 (*.f64 a2 a2) (cos.f64 th))
(*.f64 a2 (*.f64 a2 (cos.f64 th)))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(*.f64 (*.f64 a2 a2) (cos.f64 th))
(*.f64 a2 (*.f64 a2 (cos.f64 th)))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(*.f64 (*.f64 a2 a2) (cos.f64 th))
(*.f64 a2 (*.f64 a2 (cos.f64 th)))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(*.f64 (*.f64 a2 a2) (cos.f64 th))
(*.f64 a2 (*.f64 a2 (cos.f64 th)))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(*.f64 (*.f64 a2 a2) (cos.f64 th))
(*.f64 a2 (*.f64 a2 (cos.f64 th)))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(*.f64 (*.f64 a2 a2) (cos.f64 th))
(*.f64 a2 (*.f64 a2 (cos.f64 th)))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(*.f64 (*.f64 a2 a2) (cos.f64 th))
(*.f64 a2 (*.f64 a2 (cos.f64 th)))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(*.f64 (*.f64 a2 a2) (cos.f64 th))
(*.f64 a2 (*.f64 a2 (cos.f64 th)))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(*.f64 (*.f64 a2 a2) (cos.f64 th))
(*.f64 a2 (*.f64 a2 (cos.f64 th)))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(*.f64 (*.f64 a2 a2) (cos.f64 th))
(*.f64 a2 (*.f64 a2 (cos.f64 th)))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(*.f64 (*.f64 a2 a2) (cos.f64 th))
(*.f64 a2 (*.f64 a2 (cos.f64 th)))
(pow.f64 a2 2)
(*.f64 a2 a2)
(+.f64 (pow.f64 a2 2) (*.f64 -1/2 (*.f64 (pow.f64 th 2) (pow.f64 a2 2))))
(+.f64 (*.f64 a2 a2) (*.f64 -1/2 (*.f64 (*.f64 a2 a2) (*.f64 th th))))
(*.f64 (+.f64 (*.f64 -1/2 (*.f64 th th)) 1) (*.f64 a2 a2))
(*.f64 (*.f64 a2 a2) (fma.f64 -1/2 (*.f64 th th) 1))
(*.f64 a2 (fma.f64 (*.f64 th th) (*.f64 a2 -1/2) 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 (*.f64 1/24 (pow.f64 th 4)) (fma.f64 -1/2 (*.f64 th th) 1)))
(*.f64 a2 (fma.f64 a2 (fma.f64 -1/2 (*.f64 th th) (*.f64 1/24 (pow.f64 th 4))) a2))
(+.f64 (pow.f64 a2 2) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 th 2) (pow.f64 a2 2))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 th 4) (pow.f64 a2 2))) (*.f64 -1/720 (*.f64 (pow.f64 th 6) (pow.f64 a2 2))))))
(+.f64 (*.f64 a2 a2) (fma.f64 -1/2 (*.f64 (*.f64 a2 a2) (*.f64 th th)) (fma.f64 1/24 (*.f64 (*.f64 a2 a2) (pow.f64 th 4)) (*.f64 -1/720 (*.f64 (*.f64 a2 a2) (pow.f64 th 6))))))
(fma.f64 a2 a2 (fma.f64 -1/2 (*.f64 (*.f64 a2 a2) (*.f64 th th)) (*.f64 (*.f64 a2 a2) (+.f64 (*.f64 1/24 (pow.f64 th 4)) (*.f64 -1/720 (pow.f64 th 6))))))
(fma.f64 a2 a2 (*.f64 (*.f64 a2 a2) (+.f64 (*.f64 th (*.f64 th -1/2)) (fma.f64 1/24 (pow.f64 th 4) (*.f64 -1/720 (pow.f64 th 6))))))
(*.f64 (*.f64 a2 a2) (+.f64 (fma.f64 -1/2 (*.f64 th th) 1) (fma.f64 -1/720 (pow.f64 th 6) (*.f64 1/24 (pow.f64 th 4)))))
(*.f64 a2 (*.f64 a2 (+.f64 (fma.f64 -1/2 (*.f64 th th) 1) (fma.f64 -1/720 (pow.f64 th 6) (*.f64 1/24 (pow.f64 th 4))))))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(*.f64 (*.f64 a2 a2) (cos.f64 th))
(*.f64 a2 (*.f64 a2 (cos.f64 th)))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(*.f64 (*.f64 a2 a2) (cos.f64 th))
(*.f64 a2 (*.f64 a2 (cos.f64 th)))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(*.f64 (*.f64 a2 a2) (cos.f64 th))
(*.f64 a2 (*.f64 a2 (cos.f64 th)))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(*.f64 (*.f64 a2 a2) (cos.f64 th))
(*.f64 a2 (*.f64 a2 (cos.f64 th)))
(*.f64 (pow.f64 a2 2) (cos.f64 th))
(*.f64 (*.f64 a2 a2) (cos.f64 th))
(*.f64 a2 (*.f64 a2 (cos.f64 th)))
(*.f64 (pow.f64 a2 2) (cos.f64 th))
(*.f64 (*.f64 a2 a2) (cos.f64 th))
(*.f64 a2 (*.f64 a2 (cos.f64 th)))
(*.f64 (pow.f64 a2 2) (cos.f64 th))
(*.f64 (*.f64 a2 a2) (cos.f64 th))
(*.f64 a2 (*.f64 a2 (cos.f64 th)))
(*.f64 (pow.f64 a2 2) (cos.f64 th))
(*.f64 (*.f64 a2 a2) (cos.f64 th))
(*.f64 a2 (*.f64 a2 (cos.f64 th)))

localize7.0ms (0%)

Local error

Found 2 expressions with local error:

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

Compiled 16 to 10 computations (37.5% saved)

series1.0ms (0%)

Counts
1 → 12
Calls

3 calls:

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

rewrite43.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
501×pow1_binary64
481×add-sqr-sqrt_binary64
464×add-log-exp_binary64
464×log1p-expm1-u_binary64
464×expm1-log1p-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
069
11219
213409
Stop Event
node limit
Counts
1 → 11
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 a2 (pow.f64 1/2 1/4)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 1/2 (pow.f64 a2 4)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.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 a2 a2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))))))))

simplify189.0ms (1%)

Algorithm
egg-herbie
Rules
1082×sqr-pow_binary64
617×cube-prod_binary64
554×fabs-mul_binary64
523×pow-sqr_binary64
441×associate-*l*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
07108
113108
223108
344108
4107108
5328108
61230108
72107108
82271108
92455108
102663108
112959108
123352108
133833108
144401108
155091108
165926108
176320108
186610108
196884108
206954108
216988108
227929108
Stop Event
node limit
Counts
23 → 13
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))
(*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))
(*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))
(*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))
(*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))
(*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))
(*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))
(*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))
(*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))
(*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))
(*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))
(*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))
Outputs
(*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))
(*.f64 a2 (*.f64 (sqrt.f64 1/2) a2))
(*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))
(*.f64 a2 (*.f64 (sqrt.f64 1/2) a2))
(*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))
(*.f64 a2 (*.f64 (sqrt.f64 1/2) a2))
(*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))
(*.f64 a2 (*.f64 (sqrt.f64 1/2) a2))
(*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))
(*.f64 a2 (*.f64 (sqrt.f64 1/2) a2))
(*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))
(*.f64 a2 (*.f64 (sqrt.f64 1/2) a2))
(*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))
(*.f64 a2 (*.f64 (sqrt.f64 1/2) a2))
(*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))
(*.f64 a2 (*.f64 (sqrt.f64 1/2) a2))
(*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))
(*.f64 a2 (*.f64 (sqrt.f64 1/2) a2))
(*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))
(*.f64 a2 (*.f64 (sqrt.f64 1/2) a2))
(*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))
(*.f64 a2 (*.f64 (sqrt.f64 1/2) a2))
(*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))
(*.f64 a2 (*.f64 (sqrt.f64 1/2) a2))

localize22.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
0.3b
(/.f64 (sqrt.f64 2) (*.f64 a2 a2))
0.3b
(/.f64 (sqrt.f64 2) (*.f64 a2 a2))
0.4b
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
Compiler

Compiled 25 to 16 computations (36% saved)

series4.0ms (0%)

Counts
2 → 24
Calls

6 calls:

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

rewrite85.0ms (0.5%)

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

simplify147.0ms (0.8%)

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)

localize50.0ms (0.3%)

Local error

Found 6 expressions with local error:

NewErrorProgram
11.3b
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (+.f64 1 (*.f64 th (*.f64 th -1/2))))
0.5b
(/.f64 a2 (sqrt.f64 2))
0.2b
(*.f64 a2 (/.f64 a2 (sqrt.f64 2)))
0.2b
(*.f64 a2 (/.f64 a2 (sqrt.f64 2)))
0.5b
(/.f64 a2 (sqrt.f64 2))
11.3b
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (+.f64 1 (*.f64 th (*.f64 th -1/2))))
Compiler

Compiled 49 to 35 computations (28.6% saved)

series8.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite102.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
949×prod-diff_binary64
680×log-prod_binary64
443×fma-def_binary64
230×expm1-udef_binary64
230×log1p-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify138.0ms (0.7%)

Algorithm
egg-herbie
Rules
1380×associate-/l/_binary64
1044×fma-def_binary64
539×associate-*r/_binary64
451×associate-/r/_binary64
402×distribute-lft-in_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
018486
139444
2101444
3350444
41739444
54008444
65018444
76654444
87076444
97206444
107359444
Stop Event
node limit
Counts
125 → 108
Calls
Call 1
Inputs
(/.f64 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (pow.f64 a2 2)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (pow.f64 a2 2)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (pow.f64 a2 2)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (pow.f64 a2 2)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (pow.f64 a2 2)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (pow.f64 a2 2)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (pow.f64 a2 2)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (pow.f64 a2 2)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (pow.f64 a2 2)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (pow.f64 a2 2)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (pow.f64 a2 2)) (sqrt.f64 2))
(/.f64 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (pow.f64 a2 2)) (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 (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 (pow.f64 a2 2) (sqrt.f64 2)) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 2)) (sqrt.f64 2))))
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 2)) (sqrt.f64 2)))
(+.f64 (/.f64 (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 (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 (pow.f64 a2 2) (sqrt.f64 2)) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 2)) (sqrt.f64 2))))
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 2)) (sqrt.f64 2)))
(+.f64 (/.f64 (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 (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 (pow.f64 a2 2) (sqrt.f64 2)) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 2)) (sqrt.f64 2))))
Outputs
(/.f64 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (pow.f64 a2 2)) (sqrt.f64 2))
(/.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 (/.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 2)) (*.f64 a2 a2))
(*.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (fma.f64 -1/2 (*.f64 th th) 1))
(*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (/.f64 (*.f64 a2 a2) (sqrt.f64 2)))
(*.f64 (fma.f64 th (*.f64 -1/2 th) 1) (*.f64 a2 (/.f64 a2 (sqrt.f64 2))))
(/.f64 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (pow.f64 a2 2)) (sqrt.f64 2))
(/.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 (/.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 2)) (*.f64 a2 a2))
(*.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (fma.f64 -1/2 (*.f64 th th) 1))
(*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (/.f64 (*.f64 a2 a2) (sqrt.f64 2)))
(*.f64 (fma.f64 th (*.f64 -1/2 th) 1) (*.f64 a2 (/.f64 a2 (sqrt.f64 2))))
(/.f64 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (pow.f64 a2 2)) (sqrt.f64 2))
(/.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 (/.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 2)) (*.f64 a2 a2))
(*.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (fma.f64 -1/2 (*.f64 th th) 1))
(*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (/.f64 (*.f64 a2 a2) (sqrt.f64 2)))
(*.f64 (fma.f64 th (*.f64 -1/2 th) 1) (*.f64 a2 (/.f64 a2 (sqrt.f64 2))))
(/.f64 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (pow.f64 a2 2)) (sqrt.f64 2))
(/.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 (/.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 2)) (*.f64 a2 a2))
(*.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (fma.f64 -1/2 (*.f64 th th) 1))
(*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (/.f64 (*.f64 a2 a2) (sqrt.f64 2)))
(*.f64 (fma.f64 th (*.f64 -1/2 th) 1) (*.f64 a2 (/.f64 a2 (sqrt.f64 2))))
(/.f64 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (pow.f64 a2 2)) (sqrt.f64 2))
(/.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 (/.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 2)) (*.f64 a2 a2))
(*.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (fma.f64 -1/2 (*.f64 th th) 1))
(*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (/.f64 (*.f64 a2 a2) (sqrt.f64 2)))
(*.f64 (fma.f64 th (*.f64 -1/2 th) 1) (*.f64 a2 (/.f64 a2 (sqrt.f64 2))))
(/.f64 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (pow.f64 a2 2)) (sqrt.f64 2))
(/.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 (/.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 2)) (*.f64 a2 a2))
(*.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (fma.f64 -1/2 (*.f64 th th) 1))
(*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (/.f64 (*.f64 a2 a2) (sqrt.f64 2)))
(*.f64 (fma.f64 th (*.f64 -1/2 th) 1) (*.f64 a2 (/.f64 a2 (sqrt.f64 2))))
(/.f64 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (pow.f64 a2 2)) (sqrt.f64 2))
(/.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 (/.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 2)) (*.f64 a2 a2))
(*.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (fma.f64 -1/2 (*.f64 th th) 1))
(*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (/.f64 (*.f64 a2 a2) (sqrt.f64 2)))
(*.f64 (fma.f64 th (*.f64 -1/2 th) 1) (*.f64 a2 (/.f64 a2 (sqrt.f64 2))))
(/.f64 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (pow.f64 a2 2)) (sqrt.f64 2))
(/.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 (/.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 2)) (*.f64 a2 a2))
(*.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (fma.f64 -1/2 (*.f64 th th) 1))
(*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (/.f64 (*.f64 a2 a2) (sqrt.f64 2)))
(*.f64 (fma.f64 th (*.f64 -1/2 th) 1) (*.f64 a2 (/.f64 a2 (sqrt.f64 2))))
(/.f64 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (pow.f64 a2 2)) (sqrt.f64 2))
(/.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 (/.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 2)) (*.f64 a2 a2))
(*.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (fma.f64 -1/2 (*.f64 th th) 1))
(*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (/.f64 (*.f64 a2 a2) (sqrt.f64 2)))
(*.f64 (fma.f64 th (*.f64 -1/2 th) 1) (*.f64 a2 (/.f64 a2 (sqrt.f64 2))))
(/.f64 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (pow.f64 a2 2)) (sqrt.f64 2))
(/.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 (/.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 2)) (*.f64 a2 a2))
(*.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (fma.f64 -1/2 (*.f64 th th) 1))
(*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (/.f64 (*.f64 a2 a2) (sqrt.f64 2)))
(*.f64 (fma.f64 th (*.f64 -1/2 th) 1) (*.f64 a2 (/.f64 a2 (sqrt.f64 2))))
(/.f64 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (pow.f64 a2 2)) (sqrt.f64 2))
(/.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 (/.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 2)) (*.f64 a2 a2))
(*.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (fma.f64 -1/2 (*.f64 th th) 1))
(*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (/.f64 (*.f64 a2 a2) (sqrt.f64 2)))
(*.f64 (fma.f64 th (*.f64 -1/2 th) 1) (*.f64 a2 (/.f64 a2 (sqrt.f64 2))))
(/.f64 (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 th 2))) (pow.f64 a2 2)) (sqrt.f64 2))
(/.f64 (+.f64 1 (*.f64 -1/2 (*.f64 th th))) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 (/.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 2)) (*.f64 a2 a2))
(*.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (fma.f64 -1/2 (*.f64 th th) 1))
(*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (/.f64 (*.f64 a2 a2) (sqrt.f64 2)))
(*.f64 (fma.f64 th (*.f64 -1/2 th) 1) (*.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 (/.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 (*.f64 -1/2 (*.f64 th th))) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 (/.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 2)) (*.f64 a2 a2))
(*.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (fma.f64 -1/2 (*.f64 th th) 1))
(*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (/.f64 (*.f64 a2 a2) (sqrt.f64 2)))
(*.f64 (fma.f64 th (*.f64 -1/2 th) 1) (*.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 1 (*.f64 -1/2 (*.f64 th th))) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 (/.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 2)) (*.f64 a2 a2))
(*.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (fma.f64 -1/2 (*.f64 th th) 1))
(*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (/.f64 (*.f64 a2 a2) (sqrt.f64 2)))
(*.f64 (fma.f64 th (*.f64 -1/2 th) 1) (*.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 1 (*.f64 -1/2 (*.f64 th th))) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 (/.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 2)) (*.f64 a2 a2))
(*.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (fma.f64 -1/2 (*.f64 th th) 1))
(*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (/.f64 (*.f64 a2 a2) (sqrt.f64 2)))
(*.f64 (fma.f64 th (*.f64 -1/2 th) 1) (*.f64 a2 (/.f64 a2 (sqrt.f64 2))))
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 2)) (sqrt.f64 2)))
(/.f64 (*.f64 -1/2 (*.f64 (*.f64 th th) (*.f64 a2 a2))) (sqrt.f64 2))
(*.f64 -1/2 (*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (*.f64 th th)))
(*.f64 (/.f64 -1/2 (sqrt.f64 2)) (*.f64 (*.f64 th a2) (*.f64 th a2)))
(/.f64 (*.f64 (*.f64 th a2) (*.f64 th a2)) (/.f64 (sqrt.f64 2) -1/2))
(*.f64 th (/.f64 -1/2 (/.f64 (/.f64 (sqrt.f64 2) th) (*.f64 a2 a2))))
(*.f64 th (*.f64 -1/2 (/.f64 a2 (/.f64 (sqrt.f64 2) (*.f64 th a2)))))
(+.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 (*.f64 -1/2 (*.f64 th th))) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 (/.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 2)) (*.f64 a2 a2))
(*.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (fma.f64 -1/2 (*.f64 th th) 1))
(*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (/.f64 (*.f64 a2 a2) (sqrt.f64 2)))
(*.f64 (fma.f64 th (*.f64 -1/2 th) 1) (*.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 1 (*.f64 -1/2 (*.f64 th th))) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 (/.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 2)) (*.f64 a2 a2))
(*.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (fma.f64 -1/2 (*.f64 th th) 1))
(*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (/.f64 (*.f64 a2 a2) (sqrt.f64 2)))
(*.f64 (fma.f64 th (*.f64 -1/2 th) 1) (*.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 1 (*.f64 -1/2 (*.f64 th th))) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 (/.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 2)) (*.f64 a2 a2))
(*.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (fma.f64 -1/2 (*.f64 th th) 1))
(*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (/.f64 (*.f64 a2 a2) (sqrt.f64 2)))
(*.f64 (fma.f64 th (*.f64 -1/2 th) 1) (*.f64 a2 (/.f64 a2 (sqrt.f64 2))))
(*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 2)) (sqrt.f64 2)))
(/.f64 (*.f64 -1/2 (*.f64 (*.f64 th th) (*.f64 a2 a2))) (sqrt.f64 2))
(*.f64 -1/2 (*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (*.f64 th th)))
(*.f64 (/.f64 -1/2 (sqrt.f64 2)) (*.f64 (*.f64 th a2) (*.f64 th a2)))
(/.f64 (*.f64 (*.f64 th a2) (*.f64 th a2)) (/.f64 (sqrt.f64 2) -1/2))
(*.f64 th (/.f64 -1/2 (/.f64 (/.f64 (sqrt.f64 2) th) (*.f64 a2 a2))))
(*.f64 th (*.f64 -1/2 (/.f64 a2 (/.f64 (sqrt.f64 2) (*.f64 th a2)))))
(+.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 (*.f64 -1/2 (*.f64 th th))) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 (/.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 2)) (*.f64 a2 a2))
(*.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (fma.f64 -1/2 (*.f64 th th) 1))
(*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (/.f64 (*.f64 a2 a2) (sqrt.f64 2)))
(*.f64 (fma.f64 th (*.f64 -1/2 th) 1) (*.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 1 (*.f64 -1/2 (*.f64 th th))) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 (/.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 2)) (*.f64 a2 a2))
(*.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (fma.f64 -1/2 (*.f64 th th) 1))
(*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (/.f64 (*.f64 a2 a2) (sqrt.f64 2)))
(*.f64 (fma.f64 th (*.f64 -1/2 th) 1) (*.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 1 (*.f64 -1/2 (*.f64 th th))) (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 (/.f64 (fma.f64 -1/2 (*.f64 th th) 1) (sqrt.f64 2)) (*.f64 a2 a2))
(*.f64 (*.f64 (/.f64 a2 (sqrt.f64 2)) a2) (fma.f64 -1/2 (*.f64 th th) 1))
(*.f64 (fma.f64 -1/2 (*.f64 th th) 1) (/.f64 (*.f64 a2 a2) (sqrt.f64 2)))
(*.f64 (fma.f64 th (*.f64 -1/2 th) 1) (*.f64 a2 (/.f64 a2 (sqrt.f64 2))))

localize13.0ms (0.1%)

Local error

Found 6 expressions with local error:

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

Compiled 29 to 12 computations (58.6% saved)

series5.0ms (0%)

Counts
2 → 48
Calls

12 calls:

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

rewrite60.0ms (0.3%)

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

Useful iterations: 0 (0.0ms)

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

simplify130.0ms (0.7%)

Algorithm
egg-herbie
Rules
1508×distribute-lft-out_binary64
840×unswap-sqr_binary64
445×*-commutative_binary64
398×distribute-rgt-out_binary64
348×fma-def_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
048704
1125689
2382642
31707622
43394622
54978622
65192622
75446622
85756622
96208622
Stop Event
node limit
Counts
74 → 48
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (pow.f64 th 2)))))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (pow.f64 th 2)))) (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (pow.f64 th 4))))))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (pow.f64 th 2)))) (+.f64 (*.f64 -1/720 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (pow.f64 th 6)))) (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (pow.f64 th 4)))))))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a2 2)))
(*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a2 2)))
(*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a2 2)))
(*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a2 2)))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(pow.f64 a2 2)
(+.f64 (pow.f64 a2 2) (*.f64 -1/2 (*.f64 (pow.f64 th 2) (pow.f64 a2 2))))
(+.f64 (pow.f64 a2 2) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 th 2) (pow.f64 a2 2))) (*.f64 1/24 (*.f64 (pow.f64 th 4) (pow.f64 a2 2)))))
(+.f64 (pow.f64 a2 2) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 th 2) (pow.f64 a2 2))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 th 4) (pow.f64 a2 2))) (*.f64 -1/720 (*.f64 (pow.f64 th 6) (pow.f64 a2 2))))))
(*.f64 (pow.f64 a2 2) (cos.f64 th))
(*.f64 (pow.f64 a2 2) (cos.f64 th))
(*.f64 (pow.f64 a2 2) (cos.f64 th))
(*.f64 (pow.f64 a2 2) (cos.f64 th))
(*.f64 (pow.f64 a2 2) (cos.f64 th))
(*.f64 (pow.f64 a2 2) (cos.f64 th))
(*.f64 (pow.f64 a2 2) (cos.f64 th))
(*.f64 (pow.f64 a2 2) (cos.f64 th))
Outputs
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th)))
(*.f64 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th)))
(*.f64 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th)))
(*.f64 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th)))
(*.f64 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th)))
(*.f64 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th)))
(*.f64 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th)))
(*.f64 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th)))
(*.f64 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th)))
(*.f64 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th)))
(*.f64 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th)))
(*.f64 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th)))
(*.f64 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (pow.f64 a2 2))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (pow.f64 th 2)))))
(fma.f64 (sqrt.f64 1/2) (*.f64 a2 a2) (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)) (*.f64 th th))))
(fma.f64 (sqrt.f64 1/2) (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (*.f64 -1/2 (*.f64 th th)))))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (fma.f64 (*.f64 th -1/2) th 1)))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (fma.f64 (*.f64 th -1/2) th 1))))
(*.f64 a2 (*.f64 a2 (*.f64 (fma.f64 (*.f64 th -1/2) th 1) (sqrt.f64 1/2))))
(*.f64 a2 (*.f64 a2 (*.f64 (sqrt.f64 1/2) (fma.f64 (*.f64 th -1/2) th 1))))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (pow.f64 th 2)))) (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (pow.f64 th 4))))))
(fma.f64 (sqrt.f64 1/2) (*.f64 a2 a2) (fma.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)) (*.f64 th th)) (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (pow.f64 th 4))))))
(fma.f64 (sqrt.f64 1/2) (*.f64 a2 a2) (fma.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 th a2) (*.f64 th a2))) (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (*.f64 1/24 (pow.f64 th 4))))))
(fma.f64 (sqrt.f64 1/2) (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (fma.f64 -1/2 (*.f64 th th) (*.f64 1/24 (pow.f64 th 4))))))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (+.f64 (*.f64 a2 (fma.f64 -1/2 (*.f64 th th) (*.f64 1/24 (pow.f64 th 4)))) a2)))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (+.f64 a2 (*.f64 a2 (fma.f64 -1/2 (*.f64 th th) (*.f64 1/24 (pow.f64 th 4)))))))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (+.f64 (*.f64 1/24 (pow.f64 th 4)) (fma.f64 (*.f64 th -1/2) th 1)))))
(+.f64 (*.f64 (sqrt.f64 1/2) (pow.f64 a2 2)) (+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (pow.f64 th 2)))) (+.f64 (*.f64 -1/720 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (pow.f64 th 6)))) (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (pow.f64 th 4)))))))
(fma.f64 (sqrt.f64 1/2) (*.f64 a2 a2) (fma.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)) (*.f64 th th)) (fma.f64 -1/720 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (pow.f64 th 6))) (*.f64 1/24 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (pow.f64 th 4)))))))
(fma.f64 (sqrt.f64 1/2) (*.f64 a2 a2) (fma.f64 -1/2 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 th a2) (*.f64 th a2))) (fma.f64 -1/720 (*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (pow.f64 th 6)))) (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (*.f64 1/24 (pow.f64 th 4)))))))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (fma.f64 (*.f64 th -1/2) th 1))) (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)) (fma.f64 1/24 (pow.f64 th 4) (*.f64 -1/720 (pow.f64 th 6)))))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (+.f64 (fma.f64 (*.f64 th -1/2) th 1) (fma.f64 -1/720 (pow.f64 th 6) (*.f64 1/24 (pow.f64 th 4))))))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (+.f64 (fma.f64 (*.f64 th -1/2) th 1) (fma.f64 -1/720 (pow.f64 th 6) (*.f64 1/24 (pow.f64 th 4)))))))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (+.f64 (fma.f64 (*.f64 th -1/2) th 1) (fma.f64 1/24 (pow.f64 th 4) (*.f64 -1/720 (pow.f64 th 6)))))))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th)))
(*.f64 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th)))
(*.f64 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th)))
(*.f64 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th)))
(*.f64 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a2 2)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th)))
(*.f64 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a2 2)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th)))
(*.f64 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a2 2)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th)))
(*.f64 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a2 2)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 a2 a2) (cos.f64 th)))
(*.f64 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(*.f64 (cos.f64 th) (*.f64 (sqrt.f64 1/2) (*.f64 a2 a2)))
(*.f64 (sqrt.f64 1/2) (*.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)))
(*.f64 (cos.f64 th) (pow.f64 a2 2))
(*.f64 (*.f64 a2 a2) (cos.f64 th))
(*.f64 a2 (*.f64 a2 (cos.f64 th)))
(pow.f64 a2 2)
(*.f64 a2 a2)
(+.f64 (pow.f64 a2 2) (*.f64 -1/2 (*.f64 (pow.f64 th 2) (pow.f64 a2 2))))
(+.f64 (*.f64 a2 a2) (*.f64 -1/2 (*.f64 (*.f64 a2 a2) (*.f64 th th))))
(*.f64 (+.f64 (*.f64 -1/2 (*.f64 th th)) 1) (*.f64 a2 a2))
(*.f64 (*.f64 a2 a2) (fma.f64 (*.f64 th -1/2) th 1))
(*.f64 a2 (*.f64 a2 (fma.f64 (*.f64 th -1/2) th 1)))
(+.f64 (pow.f64 a2 2) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 th 2) (pow.f64 a2 2))) (*.f64 1/24 (*.f64 (pow.f64 th 4) (pow.f64 a2 2)))))
(+.f64 (*.f64 a2 a2) (fma.f64 -1/2 (*.f64 (*.f64 a2 a2) (*.f64 th th)) (*.f64 1/24 (*.f64 (*.f64 a2 a2) (pow.f64 th 4)))))
(fma.f64 a2 a2 (*.f64 (*.f64 a2 a2) (+.f64 (*.f64 1/24 (pow.f64 th 4)) (*.f64 -1/2 (*.f64 th th)))))
(*.f64 (*.f64 a2 a2) (+.f64 (*.f64 1/24 (pow.f64 th 4)) (fma.f64 (*.f64 th -1/2) th 1)))
(*.f64 a2 (+.f64 (*.f64 a2 (fma.f64 -1/2 (*.f64 th th) (*.f64 1/24 (pow.f64 th 4)))) a2))
(*.f64 a2 (+.f64 a2 (*.f64 a2 (fma.f64 -1/2 (*.f64 th th) (*.f64 1/24 (pow.f64 th 4))))))
(*.f64 a2 (*.f64 a2 (+.f64 (*.f64 1/24 (pow.f64 th 4)) (fma.f64 (*.f64 th -1/2) th 1))))
(+.f64 (pow.f64 a2 2) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 th 2) (pow.f64 a2 2))) (+.f64 (*.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 th a2) (*.f64 th a2)) (*.f64 (*.f64 a2 a2) (+.f64 (*.f64 -1/720 (pow.f64 th 6)) (*.f64 1/24 (pow.f64 th 4))))))
(fma.f64 a2 a2 (*.f64 (*.f64 a2 a2) (+.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 a2) (+.f64 (fma.f64 (*.f64 th -1/2) th 1) (fma.f64 -1/720 (pow.f64 th 6) (*.f64 1/24 (pow.f64 th 4)))))
(*.f64 a2 (*.f64 a2 (+.f64 (fma.f64 (*.f64 th -1/2) th 1) (fma.f64 -1/720 (pow.f64 th 6) (*.f64 1/24 (pow.f64 th 4))))))
(*.f64 a2 (*.f64 a2 (+.f64 (fma.f64 (*.f64 th -1/2) th 1) (fma.f64 1/24 (pow.f64 th 4) (*.f64 -1/720 (pow.f64 th 6))))))
(*.f64 (pow.f64 a2 2) (cos.f64 th))
(*.f64 (*.f64 a2 a2) (cos.f64 th))
(*.f64 a2 (*.f64 a2 (cos.f64 th)))
(*.f64 (pow.f64 a2 2) (cos.f64 th))
(*.f64 (*.f64 a2 a2) (cos.f64 th))
(*.f64 a2 (*.f64 a2 (cos.f64 th)))
(*.f64 (pow.f64 a2 2) (cos.f64 th))
(*.f64 (*.f64 a2 a2) (cos.f64 th))
(*.f64 a2 (*.f64 a2 (cos.f64 th)))
(*.f64 (pow.f64 a2 2) (cos.f64 th))
(*.f64 (*.f64 a2 a2) (cos.f64 th))
(*.f64 a2 (*.f64 a2 (cos.f64 th)))
(*.f64 (pow.f64 a2 2) (cos.f64 th))
(*.f64 (*.f64 a2 a2) (cos.f64 th))
(*.f64 a2 (*.f64 a2 (cos.f64 th)))
(*.f64 (pow.f64 a2 2) (cos.f64 th))
(*.f64 (*.f64 a2 a2) (cos.f64 th))
(*.f64 a2 (*.f64 a2 (cos.f64 th)))
(*.f64 (pow.f64 a2 2) (cos.f64 th))
(*.f64 (*.f64 a2 a2) (cos.f64 th))
(*.f64 a2 (*.f64 a2 (cos.f64 th)))
(*.f64 (pow.f64 a2 2) (cos.f64 th))
(*.f64 (*.f64 a2 a2) (cos.f64 th))
(*.f64 a2 (*.f64 a2 (cos.f64 th)))

eval158.0ms (0.8%)

Compiler

Compiled 6735 to 4596 computations (31.8% saved)

prune106.0ms (0.6%)

Pruning

37 alts after pruning (28 fresh and 9 done)

PrunedKeptTotal
New40811419
Fresh51722
Picked011
Done088
Total41337450
Error
0b
Counts
450 → 37
Alt Table
Click to see full alt table
StatusErrorProgram
30.5b
(/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))
29.4b
(*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1)))
47.3b
(*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (+.f64 1 (*.f64 th (*.f64 th -1/2))))
41.1b
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
41.2b
(/.f64 1 (*.f64 (/.f64 1 a2) (/.f64 (sqrt.f64 2) a2)))
43.8b
(*.f64 (sqrt.f64 1/2) (*.f64 a1 a1))
41.2b
(*.f64 (/.f64 1 (neg.f64 (sqrt.f64 2))) (*.f64 a2 (neg.f64 a2)))
30.5b
(*.f64 (*.f64 a1 (*.f64 (pow.f64 2 -1/2) a1)) (cos.f64 th))
41.2b
(pow.f64 (*.f64 a2 (pow.f64 1/2 1/4)) 2)
25.2b
(*.f64 (pow.f64 2 -1/2) (*.f64 (cos.f64 th) (*.f64 a2 a2)))
41.2b
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
45.4b
(*.f64 a2 (-.f64 (+.f64 1 (/.f64 a2 (sqrt.f64 2))) 1))
30.5b
(*.f64 a1 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) a1)))
25.2b
(*.f64 a2 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) a2)))
25.2b
(/.f64 (*.f64 (*.f64 a2 (cos.f64 th)) a2) (sqrt.f64 2))
44.5b
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (+.f64 1 (*.f64 th (*.f64 th -1/2))))
41.2b
(pow.f64 (/.f64 a2 (pow.f64 2 1/4)) 2)
30.5b
(*.f64 (sqrt.f64 1/2) (*.f64 a1 (*.f64 a1 (cos.f64 th))))
30.5b
(*.f64 a1 (*.f64 a1 (*.f64 (sqrt.f64 1/2) (cos.f64 th))))
41.2b
(/.f64 1 (*.f64 (neg.f64 (sqrt.f64 2)) (/.f64 1 (*.f64 a2 (neg.f64 a2)))))
41.3b
(*.f64 a2 (sqrt.f64 (/.f64 (*.f64 a2 a2) 2)))
25.2b
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))
41.2b
(*.f64 a2 (*.f64 (neg.f64 a2) (/.f64 1 (neg.f64 (sqrt.f64 2)))))
25.2b
(*.f64 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
30.5b
(*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (cos.f64 th))
45.1b
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (+.f64 (*.f64 -1/2 (*.f64 a2 (*.f64 th th))) a2)))
58.1b
(*.f64 th (*.f64 -1/2 (/.f64 a2 (/.f64 (sqrt.f64 2) (*.f64 th a2)))))
25.2b
(*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th)))
44.5b
(*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (+.f64 1 (*.f64 th (*.f64 th -1/2))))
41.2b
(*.f64 a2 (/.f64 a2 (sqrt.f64 2)))
41.2b
(*.f64 (/.f64 1 (/.f64 (sqrt.f64 2) a2)) a2)
48.1b
(sqrt.f64 (*.f64 1/2 (pow.f64 a2 4)))
41.2b
(/.f64 a2 (/.f64 (sqrt.f64 2) a2))
45.4b
(-.f64 (+.f64 1 (*.f64 a2 (/.f64 a2 (sqrt.f64 2)))) 1)
29.4b
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2))
41.2b
(*.f64 a2 (*.f64 (sqrt.f64 1/2) a2))
41.2b
(*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))
Compiler

Compiled 449 to 350 computations (22% saved)

regimes837.0ms (4.4%)

Counts
60 → 1
Calls
Call 1
Inputs
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(*.f64 a2 (*.f64 (sqrt.f64 1/2) a2))
(*.f64 (sqrt.f64 1/2) (*.f64 a1 a1))
(/.f64 a2 (/.f64 (sqrt.f64 2) a2))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(*.f64 a2 (/.f64 a2 (sqrt.f64 2)))
(*.f64 a2 (*.f64 (pow.f64 2 -1/2) a2))
(*.f64 (/.f64 1 (/.f64 (sqrt.f64 2) a2)) a2)
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 a2 (sqrt.f64 (/.f64 (*.f64 a2 a2) 2)))
(/.f64 1 (*.f64 (/.f64 1 a2) (/.f64 (sqrt.f64 2) a2)))
(*.f64 (/.f64 1 (neg.f64 (sqrt.f64 2))) (*.f64 a2 (neg.f64 a2)))
(*.f64 a2 (-.f64 (+.f64 1 (/.f64 a2 (sqrt.f64 2))) 1))
(*.f64 a2 (*.f64 (neg.f64 a2) (/.f64 1 (neg.f64 (sqrt.f64 2)))))
(-.f64 (+.f64 1 (*.f64 a2 (/.f64 a2 (sqrt.f64 2)))) 1)
(/.f64 1 (*.f64 (neg.f64 (sqrt.f64 2)) (/.f64 1 (*.f64 a2 (neg.f64 a2)))))
(*.f64 th (*.f64 -1/2 (/.f64 a2 (/.f64 (sqrt.f64 2) (*.f64 th a2)))))
(*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (+.f64 1 (*.f64 th (*.f64 th -1/2))))
(*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (+.f64 1 (*.f64 th (*.f64 th -1/2))))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (+.f64 (*.f64 -1/2 (*.f64 a2 (*.f64 th th))) a2)))
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (+.f64 1 (*.f64 th (*.f64 th -1/2))))
(*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (+.f64 1 (*.f64 th (*.f64 th -1/2)))))
(sqrt.f64 (*.f64 1/2 (pow.f64 a2 4)))
(pow.f64 (*.f64 a2 (pow.f64 1/2 1/4)) 2)
(pow.f64 (/.f64 a2 (pow.f64 2 1/4)) 2)
(*.f64 a2 (pow.f64 (/.f64 (sqrt.f64 2) a2) -1))
(*.f64 a1 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) a1)))
(*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (cos.f64 th))
(/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1)))
(*.f64 a2 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) a2)))
(/.f64 (*.f64 (*.f64 a2 (cos.f64 th)) a2) (sqrt.f64 2))
(*.f64 (sqrt.f64 1/2) (*.f64 a1 (*.f64 a1 (cos.f64 th))))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (*.f64 a2 (cos.f64 th))))
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2))
(*.f64 a1 (*.f64 a1 (*.f64 (sqrt.f64 1/2) (cos.f64 th))))
(*.f64 (*.f64 a2 a2) (*.f64 (sqrt.f64 1/2) (cos.f64 th)))
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2))
(*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (cos.f64 th))
(*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (cos.f64 th)))
(*.f64 (pow.f64 2 -1/2) (*.f64 (cos.f64 th) (*.f64 a2 a2)))
(*.f64 (*.f64 a1 (*.f64 (pow.f64 2 -1/2) a1)) (cos.f64 th))
(*.f64 a2 (*.f64 (*.f64 (pow.f64 2 -1/2) a2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a2 2)))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a2 2) (cos.f64 th)))
(*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th)))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (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 (pow.f64 (hypot.f64 a1 a2) 2) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (pow.f64 (hypot.f64 a1 a2) 2)))
(*.f64 (hypot.f64 a1 a2) (*.f64 (hypot.f64 a1 a2) (/.f64 (cos.f64 th) (sqrt.f64 2))))
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a1 a2) 2))))
(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
(pow.f64 (*.f64 (sqrt.f64 (/.f64 (cos.f64 th) (sqrt.f64 2))) (hypot.f64 a1 a2)) 2)
(sqrt.f64 (*.f64 (*.f64 (pow.f64 (cos.f64 th) 2) 1/2) (pow.f64 (hypot.f64 a1 a2) 4)))
(*.f64 (-.f64 (exp.f64 (log1p.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)))) 1) (fma.f64 a1 a1 (*.f64 a2 a2)))
(/.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a1 a2) 2)) (pow.f64 2 1/4)) (pow.f64 2 1/4))
Outputs
(*.f64 (*.f64 (cos.f64 th) (pow.f64 2 -1/2)) (fma.f64 a1 a1 (*.f64 a2 a2)))
Calls

10 calls:

187.0ms
a2
114.0ms
th
96.0ms
(cos.f64 th)
92.0ms
(/.f64 (cos.f64 th) (sqrt.f64 2))
71.0ms
a1
Results
ErrorSegmentsBranch
0.4b1a1
0.4b1a2
0.4b1th
0.4b1(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
0.4b1(/.f64 (cos.f64 th) (sqrt.f64 2))
0.4b1(/.f64 (cos.f64 th) (sqrt.f64 2))
0.4b1(cos.f64 th)
0.4b1(*.f64 a1 a1)
0.4b1(*.f64 a1 a1)
0.4b1(*.f64 a2 a2)
Compiler

Compiled 671 to 419 computations (37.6% saved)

regimes603.0ms (3.2%)

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

8 calls:

203.0ms
a2
82.0ms
(*.f64 a1 a1)
69.0ms
(*.f64 a2 a2)
67.0ms
th
56.0ms
(cos.f64 th)
Results
ErrorSegmentsBranch
0.5b1a1
0.5b1a2
0.5b1th
0.5b1(/.f64 (cos.f64 th) (sqrt.f64 2))
0.5b1(cos.f64 th)
0.5b1(*.f64 a1 a1)
0.5b1(*.f64 a1 a1)
0.5b1(*.f64 a2 a2)
Compiler

Compiled 504 to 323 computations (35.9% saved)

regimes851.0ms (4.5%)

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

8 calls:

261.0ms
th
115.0ms
a1
114.0ms
(*.f64 a2 a2)
86.0ms
(*.f64 a1 a1)
77.0ms
(*.f64 a1 a1)
Results
ErrorSegmentsBranch
6.3b2a1
7.2b2a2
12.9b5th
14.7b2(cos.f64 th)
9.5b6(*.f64 a1 a1)
9.5b6(*.f64 a1 a1)
9.6b4(*.f64 a2 a2)
9.6b4(*.f64 a2 a2)
Compiler

Compiled 490 to 315 computations (35.7% saved)

bsearch106.0ms (0.6%)

Algorithm
binary-search
Steps
TimeLeftRight
105.0ms
-6.895388867423736e-118
-5.466196423826453e-131
Compiler

Compiled 28 to 20 computations (28.6% saved)

regimes804.0ms (4.3%)

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

8 calls:

158.0ms
(*.f64 a1 a1)
150.0ms
th
114.0ms
(*.f64 a2 a2)
114.0ms
(*.f64 a1 a1)
96.0ms
a1
Results
ErrorSegmentsBranch
6.3b2a1
7.2b2a2
12.9b5th
14.7b2(cos.f64 th)
9.5b6(*.f64 a1 a1)
9.5b6(*.f64 a1 a1)
9.6b4(*.f64 a2 a2)
9.6b4(*.f64 a2 a2)
Compiler

Compiled 463 to 297 computations (35.9% saved)

bsearch109.0ms (0.6%)

Algorithm
binary-search
Steps
TimeLeftRight
107.0ms
-6.895388867423736e-118
-5.466196423826453e-131
Compiler

Compiled 28 to 20 computations (28.6% saved)

regimes885.0ms (4.7%)

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

8 calls:

197.0ms
th
143.0ms
(*.f64 a1 a1)
125.0ms
(*.f64 a1 a1)
112.0ms
(*.f64 a2 a2)
109.0ms
(*.f64 a2 a2)
Results
ErrorSegmentsBranch
6.3b2a1
7.2b2a2
12.9b5th
14.7b2(cos.f64 th)
9.5b6(*.f64 a1 a1)
9.5b6(*.f64 a1 a1)
9.6b4(*.f64 a2 a2)
9.6b4(*.f64 a2 a2)
Compiler

Compiled 435 to 279 computations (35.9% saved)

bsearch63.0ms (0.3%)

Algorithm
binary-search
Steps
TimeLeftRight
62.0ms
-6.895388867423736e-118
-5.466196423826453e-131
Compiler

Compiled 28 to 20 computations (28.6% saved)

regimes359.0ms (1.9%)

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

8 calls:

93.0ms
th
45.0ms
(*.f64 a1 a1)
44.0ms
(*.f64 a1 a1)
35.0ms
(*.f64 a2 a2)
35.0ms
(*.f64 a2 a2)
Results
ErrorSegmentsBranch
6.3b2a1
7.3b2a2
13.0b5th
14.7b2(cos.f64 th)
9.5b6(*.f64 a1 a1)
9.5b6(*.f64 a1 a1)
9.6b4(*.f64 a2 a2)
9.6b4(*.f64 a2 a2)
Compiler

Compiled 343 to 234 computations (31.8% saved)

bsearch60.0ms (0.3%)

Algorithm
binary-search
Steps
TimeLeftRight
60.0ms
-6.895388867423736e-118
-5.466196423826453e-131
Compiler

Compiled 28 to 20 computations (28.6% saved)

regimes686.0ms (3.6%)

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

8 calls:

136.0ms
th
109.0ms
(*.f64 a1 a1)
102.0ms
(*.f64 a1 a1)
74.0ms
(*.f64 a2 a2)
69.0ms
a1
Results
ErrorSegmentsBranch
6.3b2a1
7.3b2a2
13.0b5th
14.7b2(cos.f64 th)
9.6b6(*.f64 a1 a1)
9.6b6(*.f64 a1 a1)
9.6b4(*.f64 a2 a2)
9.6b4(*.f64 a2 a2)
Compiler

Compiled 334 to 229 computations (31.4% saved)

bsearch115.0ms (0.6%)

Algorithm
binary-search
Steps
TimeLeftRight
114.0ms
-6.895388867423736e-118
-5.466196423826453e-131
Compiler

Compiled 28 to 20 computations (28.6% saved)

regimes392.0ms (2.1%)

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

7 calls:

94.0ms
th
54.0ms
a2
53.0ms
(*.f64 a2 a2)
52.0ms
(*.f64 a2 a2)
52.0ms
(cos.f64 th)
Results
ErrorSegmentsBranch
18.4b2a1
20.0b2a2
17.5b3th
17.5b2(cos.f64 th)
21.2b2(*.f64 a1 a1)
21.5b2(*.f64 a2 a2)
21.5b2(*.f64 a2 a2)
Compiler

Compiled 319 to 220 computations (31% saved)

bsearch92.0ms (0.5%)

Algorithm
binary-search
Steps
TimeLeftRight
53.0ms
0.002483737705752506
23.777877433001752
39.0ms
-3.9906182403689283
-0.007453308212503148
Compiler

Compiled 28 to 20 computations (28.6% saved)

regimes758.0ms (4%)

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

8 calls:

240.0ms
th
92.0ms
a2
83.0ms
(*.f64 a2 a2)
83.0ms
(*.f64 a2 a2)
81.0ms
a1
Results
ErrorSegmentsBranch
18.6b2a1
22.2b2a2
25.2b7th
27.9b2(cos.f64 th)
27.9b2(cos.f64 th)
22.4b2(*.f64 a1 a1)
22.9b4(*.f64 a2 a2)
22.9b4(*.f64 a2 a2)
Compiler

Compiled 315 to 220 computations (30.2% saved)

bsearch72.0ms (0.4%)

Algorithm
binary-search
Steps
TimeLeftRight
72.0ms
-2.5046604245213564e-160
-1.4562055113913389e-164
Compiler

Compiled 28 to 20 computations (28.6% saved)

regimes429.0ms (2.3%)

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

9 calls:

120.0ms
th
79.0ms
a1
43.0ms
a2
40.0ms
(*.f64 a2 a2)
38.0ms
(*.f64 a2 a2)
Results
ErrorSegmentsBranch
18.6b2a1
22.2b2a2
25.2b7th
27.9b2(cos.f64 th)
27.9b2(cos.f64 th)
22.4b2(*.f64 a1 a1)
22.4b2(*.f64 a1 a1)
22.9b4(*.f64 a2 a2)
22.9b4(*.f64 a2 a2)
Compiler

Compiled 312 to 220 computations (29.5% saved)

bsearch111.0ms (0.6%)

Algorithm
binary-search
Steps
TimeLeftRight
110.0ms
-2.5046604245213564e-160
-1.4562055113913389e-164
Compiler

Compiled 28 to 20 computations (28.6% saved)

regimes587.0ms (3.1%)

Counts
28 → 2
Calls
Call 1
Inputs
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(*.f64 a2 (*.f64 (sqrt.f64 1/2) a2))
(*.f64 (sqrt.f64 1/2) (*.f64 a1 a1))
(/.f64 a2 (/.f64 (sqrt.f64 2) a2))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 a2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(*.f64 a2 (/.f64 a2 (sqrt.f64 2)))
(*.f64 a2 (*.f64 (pow.f64 2 -1/2) a2))
(*.f64 (/.f64 1 (/.f64 (sqrt.f64 2) a2)) a2)
(/.f64 1 (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))
(*.f64 a2 (sqrt.f64 (/.f64 (*.f64 a2 a2) 2)))
(/.f64 1 (*.f64 (/.f64 1 a2) (/.f64 (sqrt.f64 2) a2)))
(*.f64 (/.f64 1 (neg.f64 (sqrt.f64 2))) (*.f64 a2 (neg.f64 a2)))
(*.f64 a2 (-.f64 (+.f64 1 (/.f64 a2 (sqrt.f64 2))) 1))
(*.f64 a2 (*.f64 (neg.f64 a2) (/.f64 1 (neg.f64 (sqrt.f64 2)))))
(-.f64 (+.f64 1 (*.f64 a2 (/.f64 a2 (sqrt.f64 2)))) 1)
(/.f64 1 (*.f64 (neg.f64 (sqrt.f64 2)) (/.f64 1 (*.f64 a2 (neg.f64 a2)))))
(*.f64 th (*.f64 -1/2 (/.f64 a2 (/.f64 (sqrt.f64 2) (*.f64 th a2)))))
(*.f64 (/.f64 a2 (/.f64 (sqrt.f64 2) a2)) (+.f64 1 (*.f64 th (*.f64 th -1/2))))
(*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (+.f64 1 (*.f64 th (*.f64 th -1/2))))
(*.f64 (sqrt.f64 1/2) (*.f64 a2 (+.f64 (*.f64 -1/2 (*.f64 a2 (*.f64 th th))) a2)))
(*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (+.f64 1 (*.f64 th (*.f64 th -1/2))))
(*.f64 a2 (*.f64 (/.f64 a2 (sqrt.f64 2)) (+.f64 1 (*.f64 th (*.f64 th -1/2)))))
(sqrt.f64 (*.f64 1/2 (pow.f64 a2 4)))
(pow.f64 (*.f64 a2 (pow.f64 1/2 1/4)) 2)
(pow.f64 (/.f64 a2 (pow.f64 2 1/4)) 2)
(*.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 a2 (sqrt.f64 (/.f64 (*.f64 a2 a2) 2)))
Calls

9 calls:

166.0ms
th
99.0ms
(*.f64 a2 a2)
96.0ms
(*.f64 a2 a2)
85.0ms
a2
30.0ms
a1
Results
ErrorSegmentsBranch
18.6b2a1
22.2b2a2
25.2b7th
27.9b2(cos.f64 th)
27.9b2(cos.f64 th)
22.4b2(*.f64 a1 a1)
22.4b2(*.f64 a1 a1)
22.9b4(*.f64 a2 a2)
22.9b4(*.f64 a2 a2)
Compiler

Compiled 303 to 215 computations (29% saved)

bsearch86.0ms (0.5%)

Algorithm
binary-search
Steps
TimeLeftRight
86.0ms
-2.5046604245213564e-160
-1.4562055113913389e-164
Compiler

Compiled 28 to 20 computations (28.6% saved)

regimes237.0ms (1.3%)

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

5 calls:

115.0ms
th
45.0ms
a2
25.0ms
a1
23.0ms
(*.f64 a2 a2)
20.0ms
(*.f64 a1 a1)
Results
ErrorSegmentsBranch
31.4b2a1
32.6b2a2
38.5b5th
34.8b2(*.f64 a1 a1)
34.7b2(*.f64 a2 a2)
Compiler

Compiled 272 to 193 computations (29% saved)

bsearch63.0ms (0.3%)

Algorithm
binary-search
Steps
TimeLeftRight
63.0ms
-3.0393027398314696e-136
-8.990438045660026e-137
Compiler

Compiled 28 to 20 computations (28.6% saved)

regimes94.0ms (0.5%)

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

5 calls:

35.0ms
th
21.0ms
a1
12.0ms
a2
12.0ms
(*.f64 a2 a2)
10.0ms
(*.f64 a1 a1)
Results
ErrorSegmentsBranch
31.4b2a1
32.7b2a2
38.5b5th
34.8b2(*.f64 a1 a1)
34.7b2(*.f64 a2 a2)
Compiler

Compiled 92 to 62 computations (32.6% saved)

bsearch61.0ms (0.3%)

Algorithm
binary-search
Steps
TimeLeftRight
61.0ms
-3.0393027398314696e-136
-8.990438045660026e-137
Compiler

Compiled 28 to 20 computations (28.6% saved)

regimes15.0ms (0.1%)

Accuracy

Total -0.1b remaining (-0.2%)

Threshold costs -0.1b (-0.2%)

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

4 calls:

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

Compiled 33 to 24 computations (27.3% saved)

simplify17.0ms (0.1%)

Algorithm
egg-herbie
Rules
19×*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
070418
189418
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(*.f64 (*.f64 (cos.f64 th) (pow.f64 2 -1/2)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(if (<=.f64 a1 -501183564792039808/726838724295606890549323807888004534353641360687318060281490199180639288113397923326191050713763565560762521606266177933534601628614656) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 a2 (*.f64 (*.f64 (pow.f64 2 -1/2) a2) (cos.f64 th))))
(if (<=.f64 a1 -501183564792039808/726838724295606890549323807888004534353641360687318060281490199180639288113397923326191050713763565560762521606266177933534601628614656) (*.f64 (sqrt.f64 1/2) (*.f64 a1 (*.f64 a1 (cos.f64 th)))) (*.f64 a2 (*.f64 (*.f64 (pow.f64 2 -1/2) a2) (cos.f64 th))))
(if (<=.f64 a1 -501183564792039808/726838724295606890549323807888004534353641360687318060281490199180639288113397923326191050713763565560762521606266177933534601628614656) (*.f64 (sqrt.f64 1/2) (*.f64 a1 (*.f64 a1 (cos.f64 th)))) (/.f64 (*.f64 (*.f64 a2 (cos.f64 th)) a2) (sqrt.f64 2)))
(if (<=.f64 a1 -501183564792039808/726838724295606890549323807888004534353641360687318060281490199180639288113397923326191050713763565560762521606266177933534601628614656) (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) (/.f64 (*.f64 (*.f64 a2 (cos.f64 th)) a2) (sqrt.f64 2)))
(if (<=.f64 a1 -501183564792039808/726838724295606890549323807888004534353641360687318060281490199180639288113397923326191050713763565560762521606266177933534601628614656) (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) (*.f64 a2 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) a2))))
(if (<=.f64 th -8986073410151705/2251799813685248) (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) (if (<=.f64 th 45816873804239000/18446744073709551616) (*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))) (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))))
(if (<=.f64 a1 -7929326954888493/31658291388557380359744322690514840324496812684955115509000071179890844813636078997800499335839109758668501942530065835436974724391264154875845907853042325493325666835033489408) (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) (*.f64 a2 (sqrt.f64 (/.f64 (*.f64 a2 a2) 2))))
(if (<=.f64 a1 -7929326954888493/31658291388557380359744322690514840324496812684955115509000071179890844813636078997800499335839109758668501942530065835436974724391264154875845907853042325493325666835033489408) (*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (cos.f64 th)) (*.f64 a2 (sqrt.f64 (/.f64 (*.f64 a2 a2) 2))))
(if (<=.f64 a1 -7929326954888493/31658291388557380359744322690514840324496812684955115509000071179890844813636078997800499335839109758668501942530065835436974724391264154875845907853042325493325666835033489408) (*.f64 a1 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) a1))) (*.f64 a2 (sqrt.f64 (/.f64 (*.f64 a2 a2) 2))))
(if (<=.f64 a1 -4075038737660864000/13407807929942597099574024998205846127479365820592393377723561443721764030073546976801874298166903427690031858186486050853753882811946569946433649006084096) (*.f64 (sqrt.f64 1/2) (*.f64 a1 a1)) (*.f64 a2 (sqrt.f64 (/.f64 (*.f64 a2 a2) 2))))
(if (<=.f64 a1 -4075038737660864000/13407807929942597099574024998205846127479365820592393377723561443721764030073546976801874298166903427690031858186486050853753882811946569946433649006084096) (*.f64 (sqrt.f64 1/2) (*.f64 a1 a1)) (/.f64 (*.f64 a2 a2) (sqrt.f64 2)))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
Outputs
(*.f64 (*.f64 (cos.f64 th) (pow.f64 2 -1/2)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(if (<=.f64 a1 -501183564792039808/726838724295606890549323807888004534353641360687318060281490199180639288113397923326191050713763565560762521606266177933534601628614656) (*.f64 (sqrt.f64 1/2) (*.f64 (pow.f64 a1 2) (cos.f64 th))) (*.f64 a2 (*.f64 (*.f64 (pow.f64 2 -1/2) a2) (cos.f64 th))))
(if (<=.f64 a1 -3915496599937811/5678427533559428832416592249125035424637823130369672345949142181098744438385921275985867583701277855943457200048954515105739075223552) (*.f64 (sqrt.f64 1/2) (*.f64 (cos.f64 th) (pow.f64 a1 2))) (*.f64 a2 (*.f64 (cos.f64 th) (*.f64 (pow.f64 2 -1/2) a2))))
(if (<=.f64 a1 -501183564792039808/726838724295606890549323807888004534353641360687318060281490199180639288113397923326191050713763565560762521606266177933534601628614656) (*.f64 (sqrt.f64 1/2) (*.f64 a1 (*.f64 a1 (cos.f64 th)))) (*.f64 a2 (*.f64 (*.f64 (pow.f64 2 -1/2) a2) (cos.f64 th))))
(if (<=.f64 a1 -3915496599937811/5678427533559428832416592249125035424637823130369672345949142181098744438385921275985867583701277855943457200048954515105739075223552) (*.f64 (sqrt.f64 1/2) (*.f64 a1 (*.f64 (cos.f64 th) a1))) (*.f64 a2 (*.f64 (cos.f64 th) (*.f64 (pow.f64 2 -1/2) a2))))
(if (<=.f64 a1 -501183564792039808/726838724295606890549323807888004534353641360687318060281490199180639288113397923326191050713763565560762521606266177933534601628614656) (*.f64 (sqrt.f64 1/2) (*.f64 a1 (*.f64 a1 (cos.f64 th)))) (/.f64 (*.f64 (*.f64 a2 (cos.f64 th)) a2) (sqrt.f64 2)))
(if (<=.f64 a1 -3915496599937811/5678427533559428832416592249125035424637823130369672345949142181098744438385921275985867583701277855943457200048954515105739075223552) (*.f64 (sqrt.f64 1/2) (*.f64 a1 (*.f64 (cos.f64 th) a1))) (/.f64 (*.f64 a2 (*.f64 (cos.f64 th) a2)) (sqrt.f64 2)))
(if (<=.f64 a1 -501183564792039808/726838724295606890549323807888004534353641360687318060281490199180639288113397923326191050713763565560762521606266177933534601628614656) (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) (/.f64 (*.f64 (*.f64 a2 (cos.f64 th)) a2) (sqrt.f64 2)))
(if (<=.f64 a1 -3915496599937811/5678427533559428832416592249125035424637823130369672345949142181098744438385921275985867583701277855943457200048954515105739075223552) (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) (/.f64 (*.f64 a2 (*.f64 (cos.f64 th) a2)) (sqrt.f64 2)))
(if (<=.f64 a1 -501183564792039808/726838724295606890549323807888004534353641360687318060281490199180639288113397923326191050713763565560762521606266177933534601628614656) (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) (*.f64 a2 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) a2))))
(if (<=.f64 a1 -3915496599937811/5678427533559428832416592249125035424637823130369672345949142181098744438385921275985867583701277855943457200048954515105739075223552) (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) (*.f64 a2 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) a2))))
(if (<=.f64 th -8986073410151705/2251799813685248) (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) (if (<=.f64 th 45816873804239000/18446744073709551616) (*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))) (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))))
(if (<=.f64 th -8986073410151705/2251799813685248) (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) (if (<=.f64 th 5727109225529875/2305843009213693952) (*.f64 (sqrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))) (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))))
(if (<=.f64 a1 -7929326954888493/31658291388557380359744322690514840324496812684955115509000071179890844813636078997800499335839109758668501942530065835436974724391264154875845907853042325493325666835033489408) (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) (*.f64 a2 (sqrt.f64 (/.f64 (*.f64 a2 a2) 2))))
(if (<=.f64 a1 -7929326954888493/31658291388557380359744322690514840324496812684955115509000071179890844813636078997800499335839109758668501942530065835436974724391264154875845907853042325493325666835033489408) (*.f64 (/.f64 a1 (/.f64 (sqrt.f64 2) a1)) (cos.f64 th)) (*.f64 a2 (sqrt.f64 (/.f64 (*.f64 a2 a2) 2))))
(if (<=.f64 a1 -7929326954888493/31658291388557380359744322690514840324496812684955115509000071179890844813636078997800499335839109758668501942530065835436974724391264154875845907853042325493325666835033489408) (*.f64 (cos.f64 th) (/.f64 a1 (/.f64 (sqrt.f64 2) a1))) (*.f64 a2 (sqrt.f64 (/.f64 (*.f64 a2 a2) 2))))
(if (<=.f64 a1 -7929326954888493/31658291388557380359744322690514840324496812684955115509000071179890844813636078997800499335839109758668501942530065835436974724391264154875845907853042325493325666835033489408) (*.f64 a1 (/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) a1))) (*.f64 a2 (sqrt.f64 (/.f64 (*.f64 a2 a2) 2))))
(if (<=.f64 a1 -4075038737660864000/13407807929942597099574024998205846127479365820592393377723561443721764030073546976801874298166903427690031858186486050853753882811946569946433649006084096) (*.f64 (sqrt.f64 1/2) (*.f64 a1 a1)) (*.f64 a2 (sqrt.f64 (/.f64 (*.f64 a2 a2) 2))))
(if (<=.f64 a1 -7959060034493875/26187124863169134960105517574620793217733136368344518315866330944769070371237396439066160738607233257207093473020480568073738052367083144426628220715008) (*.f64 (sqrt.f64 1/2) (*.f64 a1 a1)) (*.f64 a2 (sqrt.f64 (/.f64 (*.f64 a2 a2) 2))))
(if (<=.f64 a1 -4075038737660864000/13407807929942597099574024998205846127479365820592393377723561443721764030073546976801874298166903427690031858186486050853753882811946569946433649006084096) (*.f64 (sqrt.f64 1/2) (*.f64 a1 a1)) (/.f64 (*.f64 a2 a2) (sqrt.f64 2)))
(if (<=.f64 a1 -7959060034493875/26187124863169134960105517574620793217733136368344518315866330944769070371237396439066160738607233257207093473020480568073738052367083144426628220715008) (*.f64 (sqrt.f64 1/2) (*.f64 a1 a1)) (/.f64 (*.f64 a2 a2) (sqrt.f64 2)))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
Compiler

Compiled 317 to 219 computations (30.9% saved)

soundness10.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
Compiler

Compiled 53 to 36 computations (32.1% saved)

end134.0ms (0.7%)

Remove

(sort a1 a2)

Compiler

Compiled 310 to 175 computations (43.5% saved)

Profiling

Loading profile data...