Details

Time bar (total: 10.8s)

analyze1.1s (10.5%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
0%99.9%0.1%3
0%99.9%0.1%4
0%99.9%0.1%5
25%74.9%0.1%6
25%74.9%0.1%7
25%74.9%0.1%8
25%74.9%0.1%9
25%64%11.1%10
31.2%54.6%14.2%11
39%44.1%16.9%12
39%41.5%19.5%13
42.9%37%20.1%14
Compiler

Compiled 23 to 16 computations (30.4% saved)

sample4.1s (38%)

Results
1.1s1823×body1024valid
987.0ms1668×body1024invalid
882.0ms5058×body128valid
391.0ms892×body512valid
360.0ms811×body512invalid
144.0ms474×body256valid
125.0ms411×body256invalid
117.0ms681×body128invalid
9.0msbody2048valid
Compiler

Compiled 46 to 32 computations (30.4% saved)

preprocess52.0ms (0.5%)

Algorithm
egg-herbie
Rules
698×rule-38_binary64
698×rule-39_binary64
695×rule-40_binary64
228×fma-def_binary64
174×fma-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
025112
116280
263072
3364672
033
133
Stop Event
unsound
node limit
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)))
(fma.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)))
(fma.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a1 a1) (*.f64 a2 a2)))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (fma.f64 a1 a1 (*.f64 a2 a2)))
(+.f64 (*.f64 (/.f64 (cos.f64 a1) (sqrt.f64 2)) (*.f64 th th)) (*.f64 (/.f64 (cos.f64 a1) (sqrt.f64 2)) (*.f64 a2 a2)))
(fma.f64 (/.f64 (cos.f64 a1) (sqrt.f64 2)) (*.f64 th th) (*.f64 a2 (*.f64 (/.f64 (cos.f64 a1) (sqrt.f64 2)) 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 (*.f64 (/.f64 (cos.f64 a2) (sqrt.f64 2)) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 a2) (sqrt.f64 2)) (*.f64 th th)))
(fma.f64 (/.f64 (cos.f64 a2) (sqrt.f64 2)) (*.f64 a1 a1) (*.f64 th (*.f64 (/.f64 (cos.f64 a2) (sqrt.f64 2)) 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 th th (*.f64 a1 a1)))
Symmetry

(sort a1 a2)

Compiler

Compiled 22 to 15 computations (31.8% saved)

simplify24.0ms (0.2%)

Algorithm
egg-herbie
Rules
307×rule-37_binary64
307×rule-38_binary64
307×rule-39_binary64
306×rule-40_binary64
298×rule-29_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01328
18120
230118
3161618
Stop Event
node limit
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)))
(fma.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)))

prune3.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

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

Compiled 108 to 70 computations (35.2% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series119.0ms (1.1%)

Counts
4 → 88
Calls

24 calls:

TimeVariablePointExpression
21.0ms
th
@-inf
(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
8.0ms
th
@inf
(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
6.0ms
th
@0
(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
6.0ms
a2
@0
(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
5.0ms
a1
@0
(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))

rewrite71.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
254×rule-44_binary64
254×rule-45_binary64
151×add-sqr-sqrt_binary64
145×pow1_binary64
145×rules-30_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify56.0ms (0.5%)

Algorithm
egg-herbie
Rules
501×rule-37_binary64
501×rule-38_binary64
501×rule-39_binary64
482×rule-40_binary64
471×rule-29_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0901986
16821726
228031726
Stop Event
node limit
Counts
237 → 187
Calls
Call 1
Inputs
(/.f64 1 (sqrt.f64 2))
(-.f64 (/.f64 1 (sqrt.f64 2)) (*.f64 1/2 (/.f64 (pow.f64 th 2) (sqrt.f64 2))))
(-.f64 (+.f64 (*.f64 1/24 (/.f64 (pow.f64 th 4) (sqrt.f64 2))) (/.f64 1 (sqrt.f64 2))) (*.f64 1/2 (/.f64 (pow.f64 th 2) (sqrt.f64 2))))
(-.f64 (+.f64 (*.f64 1/24 (/.f64 (pow.f64 th 4) (sqrt.f64 2))) (/.f64 1 (sqrt.f64 2))) (+.f64 (*.f64 1/720 (/.f64 (pow.f64 th 6) (sqrt.f64 2))) (*.f64 1/2 (/.f64 (pow.f64 th 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 th 2) (pow.f64 a2 2)) (sqrt.f64 2))))
(-.f64 (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 4)) (sqrt.f64 2)))) (*.f64 1/2 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 2)) (sqrt.f64 2))))
(-.f64 (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (*.f64 1/24 (/.f64 (*.f64 (pow.f64 th 4) (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 th 6) (pow.f64 a2 2)) (sqrt.f64 2)))))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(-.f64 (/.f64 (pow.f64 a1 2) (sqrt.f64 2)) (*.f64 1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))))
(-.f64 (+.f64 (*.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 1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))))
(-.f64 (+.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 1/720 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 6)) (sqrt.f64 2)))))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))
(-.f64 (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 2)) (sqrt.f64 2))) (*.f64 1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2)))))
(-.f64 (+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 4)) (sqrt.f64 2))) (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a2 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 1/2 (/.f64 (*.f64 (pow.f64 th 2) (pow.f64 a2 2)) (sqrt.f64 2)))))
(-.f64 (+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 4)) (sqrt.f64 2))) (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (/.f64 (pow.f64 a1 2) (sqrt.f64 2)) (*.f64 1/24 (/.f64 (*.f64 (pow.f64 th 4) (pow.f64 a2 2)) (sqrt.f64 2)))))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 th 2) (pow.f64 a2 2)) (sqrt.f64 2))) (+.f64 (*.f64 1/720 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 6)) (sqrt.f64 2))) (*.f64 1/720 (/.f64 (*.f64 (pow.f64 th 6) (pow.f64 a2 2)) (sqrt.f64 2)))))))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (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 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a2 2) (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)))
Outputs
(/.f64 1 (sqrt.f64 2))
(-.f64 (/.f64 1 (sqrt.f64 2)) (*.f64 1/2 (/.f64 (pow.f64 th 2) (sqrt.f64 2))))
(-.f64 (/.f64 1 (sqrt.f64 2)) (*.f64 1/2 (/.f64 (*.f64 th th) (sqrt.f64 2))))
(/.f64 (-.f64 1 (*.f64 1/2 (*.f64 th th))) (sqrt.f64 2))
(-.f64 (+.f64 (*.f64 1/24 (/.f64 (pow.f64 th 4) (sqrt.f64 2))) (/.f64 1 (sqrt.f64 2))) (*.f64 1/2 (/.f64 (pow.f64 th 2) (sqrt.f64 2))))
(-.f64 (fma.f64 1/24 (/.f64 (pow.f64 th 4) (sqrt.f64 2)) (/.f64 1 (sqrt.f64 2))) (*.f64 1/2 (/.f64 (*.f64 th th) (sqrt.f64 2))))
(fma.f64 1/24 (/.f64 (pow.f64 th 4) (sqrt.f64 2)) (/.f64 (-.f64 1 (*.f64 1/2 (*.f64 th th))) (sqrt.f64 2)))
(-.f64 (+.f64 (*.f64 1/24 (/.f64 (pow.f64 th 4) (sqrt.f64 2))) (/.f64 1 (sqrt.f64 2))) (+.f64 (*.f64 1/720 (/.f64 (pow.f64 th 6) (sqrt.f64 2))) (*.f64 1/2 (/.f64 (pow.f64 th 2) (sqrt.f64 2)))))
(-.f64 (fma.f64 1/24 (/.f64 (pow.f64 th 4) (sqrt.f64 2)) (/.f64 1 (sqrt.f64 2))) (fma.f64 1/720 (/.f64 (pow.f64 th 6) (sqrt.f64 2)) (*.f64 1/2 (/.f64 (*.f64 th th) (sqrt.f64 2)))))
(-.f64 (/.f64 (+.f64 1 (*.f64 1/24 (pow.f64 th 4))) (sqrt.f64 2)) (/.f64 (+.f64 (*.f64 1/2 (*.f64 th th)) (*.f64 1/720 (pow.f64 th 6))) (sqrt.f64 2)))
(-.f64 (/.f64 (+.f64 1 (*.f64 1/24 (pow.f64 th 4))) (sqrt.f64 2)) (/.f64 (+.f64 (*.f64 1/720 (pow.f64 th 6)) (*.f64 1/2 (*.f64 th th))) (sqrt.f64 2)))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(*.f64 a2 (/.f64 a2 (sqrt.f64 2)))
(-.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (*.f64 1/2 (/.f64 (*.f64 (pow.f64 th 2) (pow.f64 a2 2)) (sqrt.f64 2))))
(-.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (/.f64 1/2 (/.f64 (sqrt.f64 2) (*.f64 (*.f64 th th) (*.f64 a2 a2)))))
(/.f64 (-.f64 (*.f64 a2 a2) (*.f64 1/2 (*.f64 th (*.f64 (*.f64 a2 a2) th)))) (sqrt.f64 2))
(-.f64 (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 4)) (sqrt.f64 2)))) (*.f64 1/2 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 2)) (sqrt.f64 2))))
(-.f64 (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 1/24 (*.f64 (pow.f64 th 4) (/.f64 (*.f64 a2 a2) (sqrt.f64 2))))) (/.f64 1/2 (/.f64 (sqrt.f64 2) (*.f64 (*.f64 th th) (*.f64 a2 a2)))))
(-.f64 (/.f64 (+.f64 (*.f64 a2 a2) (*.f64 1/24 (*.f64 (pow.f64 th 4) (*.f64 a2 a2)))) (sqrt.f64 2)) (*.f64 1/2 (*.f64 (*.f64 th th) (/.f64 (*.f64 a2 a2) (sqrt.f64 2)))))
(-.f64 (/.f64 (+.f64 (*.f64 a2 a2) (*.f64 1/24 (*.f64 (pow.f64 th 4) (*.f64 a2 a2)))) (sqrt.f64 2)) (/.f64 (*.f64 th (*.f64 (*.f64 a2 a2) th)) (/.f64 (sqrt.f64 2) 1/2)))
(-.f64 (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (*.f64 1/24 (/.f64 (*.f64 (pow.f64 th 4) (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 th 6) (pow.f64 a2 2)) (sqrt.f64 2)))))
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (-.f64 (*.f64 1/24 (*.f64 (pow.f64 th 4) (/.f64 (*.f64 a2 a2) (sqrt.f64 2)))) (fma.f64 1/2 (*.f64 (*.f64 th th) (/.f64 (*.f64 a2 a2) (sqrt.f64 2))) (*.f64 1/720 (*.f64 (*.f64 a2 a2) (/.f64 (pow.f64 th 6) (sqrt.f64 2)))))))
(-.f64 (/.f64 (+.f64 (*.f64 a2 a2) (*.f64 1/24 (*.f64 (pow.f64 th 4) (*.f64 a2 a2)))) (sqrt.f64 2)) (/.f64 (+.f64 (*.f64 1/720 (*.f64 (pow.f64 th 6) (*.f64 a2 a2))) (*.f64 1/2 (*.f64 th (*.f64 (*.f64 a2 a2) th)))) (sqrt.f64 2)))
(-.f64 (/.f64 (+.f64 (*.f64 a2 a2) (*.f64 1/24 (*.f64 (pow.f64 th 4) (*.f64 a2 a2)))) (sqrt.f64 2)) (/.f64 (+.f64 (*.f64 1/2 (*.f64 th (*.f64 (*.f64 a2 a2) th))) (*.f64 1/720 (*.f64 (pow.f64 th 6) (*.f64 a2 a2)))) (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a2 2) (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 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a2 2) (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 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a2 2) (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 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a2 2) (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 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a2 2) (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 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a2 2) (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 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a2 2) (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 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(/.f64 (*.f64 a1 a1) (sqrt.f64 2))
(*.f64 a1 (/.f64 a1 (sqrt.f64 2)))
(-.f64 (/.f64 (pow.f64 a1 2) (sqrt.f64 2)) (*.f64 1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))))
(-.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (*.f64 1/2 (*.f64 (*.f64 th th) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))))
(/.f64 (-.f64 (*.f64 a1 a1) (*.f64 1/2 (*.f64 th (*.f64 (*.f64 a1 a1) th)))) (sqrt.f64 2))
(-.f64 (+.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 1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))))
(-.f64 (fma.f64 1/24 (*.f64 (pow.f64 th 4) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) (*.f64 1/2 (*.f64 (*.f64 th th) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))))
(fma.f64 1/24 (/.f64 (pow.f64 th 4) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))) (/.f64 (-.f64 (*.f64 a1 a1) (*.f64 1/2 (*.f64 th (*.f64 (*.f64 a1 a1) th)))) (sqrt.f64 2)))
(fma.f64 1/24 (*.f64 (pow.f64 th 4) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) (/.f64 (-.f64 (*.f64 a1 a1) (*.f64 1/2 (*.f64 th (*.f64 (*.f64 a1 a1) th)))) (sqrt.f64 2)))
(-.f64 (+.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 1/720 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 6)) (sqrt.f64 2)))))
(-.f64 (fma.f64 1/24 (*.f64 (pow.f64 th 4) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) (fma.f64 1/2 (*.f64 (*.f64 th th) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) (*.f64 1/720 (*.f64 (pow.f64 th 6) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))))))
(-.f64 (/.f64 (+.f64 (*.f64 a1 a1) (*.f64 1/24 (*.f64 (pow.f64 th 4) (*.f64 a1 a1)))) (sqrt.f64 2)) (/.f64 (+.f64 (*.f64 1/720 (*.f64 (pow.f64 th 6) (*.f64 a1 a1))) (*.f64 1/2 (*.f64 th (*.f64 (*.f64 a1 a1) th)))) (sqrt.f64 2)))
(-.f64 (/.f64 (+.f64 (*.f64 1/24 (*.f64 (pow.f64 th 4) (*.f64 a1 a1))) (*.f64 a1 a1)) (sqrt.f64 2)) (/.f64 (+.f64 (*.f64 1/2 (*.f64 th (*.f64 (*.f64 a1 a1) th))) (*.f64 1/720 (*.f64 (pow.f64 th 6) (*.f64 a1 a1)))) (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (cos.f64 th) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))
(*.f64 (cos.f64 th) (*.f64 a1 (/.f64 a1 (sqrt.f64 2))))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (cos.f64 th) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))
(*.f64 (cos.f64 th) (*.f64 a1 (/.f64 a1 (sqrt.f64 2))))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (cos.f64 th) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))
(*.f64 (cos.f64 th) (*.f64 a1 (/.f64 a1 (sqrt.f64 2))))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (cos.f64 th) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))
(*.f64 (cos.f64 th) (*.f64 a1 (/.f64 a1 (sqrt.f64 2))))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (cos.f64 th) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))
(*.f64 (cos.f64 th) (*.f64 a1 (/.f64 a1 (sqrt.f64 2))))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (cos.f64 th) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))
(*.f64 (cos.f64 th) (*.f64 a1 (/.f64 a1 (sqrt.f64 2))))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (cos.f64 th) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))
(*.f64 (cos.f64 th) (*.f64 a1 (/.f64 a1 (sqrt.f64 2))))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (cos.f64 th) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))
(*.f64 (cos.f64 th) (*.f64 a1 (/.f64 a1 (sqrt.f64 2))))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (cos.f64 th) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))
(*.f64 (cos.f64 th) (*.f64 a1 (/.f64 a1 (sqrt.f64 2))))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (cos.f64 th) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))
(*.f64 (cos.f64 th) (*.f64 a1 (/.f64 a1 (sqrt.f64 2))))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (cos.f64 th) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))
(*.f64 (cos.f64 th) (*.f64 a1 (/.f64 a1 (sqrt.f64 2))))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (cos.f64 th) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))
(*.f64 (cos.f64 th) (*.f64 a1 (/.f64 a1 (sqrt.f64 2))))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (cos.f64 th) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))
(*.f64 (cos.f64 th) (*.f64 a1 (/.f64 a1 (sqrt.f64 2))))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (cos.f64 th) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))
(*.f64 (cos.f64 th) (*.f64 a1 (/.f64 a1 (sqrt.f64 2))))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (cos.f64 th) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))
(*.f64 (cos.f64 th) (*.f64 a1 (/.f64 a1 (sqrt.f64 2))))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (cos.f64 th) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))
(*.f64 (cos.f64 th) (*.f64 a1 (/.f64 a1 (sqrt.f64 2))))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (cos.f64 th) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))
(*.f64 (cos.f64 th) (*.f64 a1 (/.f64 a1 (sqrt.f64 2))))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (cos.f64 th) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))
(*.f64 (cos.f64 th) (*.f64 a1 (/.f64 a1 (sqrt.f64 2))))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (cos.f64 th) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))
(*.f64 (cos.f64 th) (*.f64 a1 (/.f64 a1 (sqrt.f64 2))))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (cos.f64 th) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))
(*.f64 (cos.f64 th) (*.f64 a1 (/.f64 a1 (sqrt.f64 2))))
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (sqrt.f64 2))
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2))
(-.f64 (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 2)) (sqrt.f64 2))) (*.f64 1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2)))))
(-.f64 (/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (sqrt.f64 2)) (fma.f64 1/2 (*.f64 (*.f64 th th) (/.f64 (*.f64 a2 a2) (sqrt.f64 2))) (*.f64 1/2 (*.f64 (*.f64 th th) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))))))
(-.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (/.f64 (+.f64 (*.f64 1/2 (*.f64 th (*.f64 (*.f64 a2 a2) th))) (*.f64 1/2 (*.f64 th (*.f64 (*.f64 a1 a1) th)))) (sqrt.f64 2)))
(-.f64 (+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 4)) (sqrt.f64 2))) (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a2 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 1/2 (/.f64 (*.f64 (pow.f64 th 2) (pow.f64 a2 2)) (sqrt.f64 2)))))
(-.f64 (fma.f64 1/24 (*.f64 (pow.f64 th 4) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 th 4) (/.f64 (*.f64 a2 a2) (sqrt.f64 2)))) (/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (sqrt.f64 2)))) (fma.f64 1/2 (*.f64 (*.f64 th th) (/.f64 (*.f64 a2 a2) (sqrt.f64 2))) (*.f64 1/2 (*.f64 (*.f64 th th) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))))))
(-.f64 (fma.f64 1/24 (/.f64 (pow.f64 th 4) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))) (/.f64 (+.f64 (*.f64 1/24 (*.f64 (pow.f64 th 4) (*.f64 a2 a2))) (fma.f64 a2 a2 (*.f64 a1 a1))) (sqrt.f64 2))) (/.f64 (+.f64 (*.f64 1/2 (*.f64 th (*.f64 (*.f64 a2 a2) th))) (*.f64 1/2 (*.f64 th (*.f64 (*.f64 a1 a1) th)))) (sqrt.f64 2)))
(-.f64 (fma.f64 1/24 (*.f64 (pow.f64 th 4) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) (/.f64 (+.f64 (*.f64 1/24 (*.f64 (pow.f64 th 4) (*.f64 a2 a2))) (fma.f64 a2 a2 (*.f64 a1 a1))) (sqrt.f64 2))) (/.f64 (+.f64 (*.f64 1/2 (*.f64 th (*.f64 (*.f64 a2 a2) th))) (*.f64 1/2 (*.f64 th (*.f64 (*.f64 a1 a1) th)))) (sqrt.f64 2)))
(-.f64 (+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 4)) (sqrt.f64 2))) (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (/.f64 (pow.f64 a1 2) (sqrt.f64 2)) (*.f64 1/24 (/.f64 (*.f64 (pow.f64 th 4) (pow.f64 a2 2)) (sqrt.f64 2)))))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 th 2) (pow.f64 a2 2)) (sqrt.f64 2))) (+.f64 (*.f64 1/720 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 6)) (sqrt.f64 2))) (*.f64 1/720 (/.f64 (*.f64 (pow.f64 th 6) (pow.f64 a2 2)) (sqrt.f64 2)))))))
(-.f64 (fma.f64 1/24 (*.f64 (pow.f64 th 4) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 th 4) (/.f64 (*.f64 a2 a2) (sqrt.f64 2)))) (/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (sqrt.f64 2)))) (fma.f64 1/2 (*.f64 (*.f64 th th) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) (fma.f64 1/2 (*.f64 (*.f64 th th) (/.f64 (*.f64 a2 a2) (sqrt.f64 2))) (fma.f64 1/720 (*.f64 (pow.f64 th 6) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) (*.f64 1/720 (*.f64 (*.f64 a2 a2) (/.f64 (pow.f64 th 6) (sqrt.f64 2))))))))
(-.f64 (fma.f64 1/24 (/.f64 (pow.f64 th 4) (/.f64 (sqrt.f64 2) (*.f64 a1 a1))) (/.f64 (+.f64 (*.f64 1/24 (*.f64 (pow.f64 th 4) (*.f64 a2 a2))) (fma.f64 a2 a2 (*.f64 a1 a1))) (sqrt.f64 2))) (+.f64 (/.f64 (+.f64 (*.f64 1/720 (*.f64 (pow.f64 th 6) (*.f64 a2 a2))) (*.f64 1/720 (*.f64 (pow.f64 th 6) (*.f64 a1 a1)))) (sqrt.f64 2)) (/.f64 (+.f64 (*.f64 1/2 (*.f64 th (*.f64 (*.f64 a2 a2) th))) (*.f64 1/2 (*.f64 th (*.f64 (*.f64 a1 a1) th)))) (sqrt.f64 2))))
(-.f64 (fma.f64 1/24 (*.f64 (pow.f64 th 4) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) (/.f64 (+.f64 (*.f64 1/24 (*.f64 (pow.f64 th 4) (*.f64 a2 a2))) (fma.f64 a2 a2 (*.f64 a1 a1))) (sqrt.f64 2))) (+.f64 (/.f64 (+.f64 (*.f64 1/720 (*.f64 (pow.f64 th 6) (*.f64 a2 a2))) (*.f64 1/720 (*.f64 (pow.f64 th 6) (*.f64 a1 a1)))) (sqrt.f64 2)) (/.f64 (+.f64 (*.f64 1/2 (*.f64 th (*.f64 (*.f64 a2 a2) th))) (*.f64 1/2 (*.f64 th (*.f64 (*.f64 a1 a1) 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) (*.f64 a1 a1)) (*.f64 (*.f64 a2 a2) (cos.f64 th))) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1))) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (*.f64 (*.f64 a2 a2) (cos.f64 th))) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1))) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (*.f64 (*.f64 a2 a2) (cos.f64 th))) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1))) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (*.f64 (*.f64 a2 a2) (cos.f64 th))) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1))) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (*.f64 (*.f64 a2 a2) (cos.f64 th))) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1))) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (*.f64 (*.f64 a2 a2) (cos.f64 th))) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1))) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (*.f64 (*.f64 a2 a2) (cos.f64 th))) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1))) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (*.f64 (*.f64 a2 a2) (cos.f64 th))) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1))) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (*.f64 (*.f64 a2 a2) (cos.f64 th))) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1))) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (*.f64 (*.f64 a2 a2) (cos.f64 th))) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1))) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (*.f64 (*.f64 a2 a2) (cos.f64 th))) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1))) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (cos.f64 th) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))
(*.f64 (cos.f64 th) (*.f64 a1 (/.f64 a1 (sqrt.f64 2))))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (*.f64 (*.f64 a2 a2) (cos.f64 th))) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1))) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (*.f64 (*.f64 a2 a2) (cos.f64 th))) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1))) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (*.f64 (*.f64 a2 a2) (cos.f64 th))) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1))) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (cos.f64 th) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))
(*.f64 (cos.f64 th) (*.f64 a1 (/.f64 a1 (sqrt.f64 2))))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (*.f64 (*.f64 a2 a2) (cos.f64 th))) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1))) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (*.f64 (*.f64 a2 a2) (cos.f64 th))) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1))) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (*.f64 (*.f64 a2 a2) (cos.f64 th))) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1))) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (cos.f64 th) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))
(*.f64 (cos.f64 th) (*.f64 a1 (/.f64 a1 (sqrt.f64 2))))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (*.f64 (*.f64 a2 a2) (cos.f64 th))) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1))) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (*.f64 (*.f64 a2 a2) (cos.f64 th))) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1))) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (*.f64 (*.f64 a2 a2) (cos.f64 th))) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1))) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (*.f64 (*.f64 a2 a2) (cos.f64 th))) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1))) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (*.f64 (*.f64 a2 a2) (cos.f64 th))) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1))) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (*.f64 (*.f64 a2 a2) (cos.f64 th))) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1))) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (*.f64 a2 a2) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (*.f64 (*.f64 a2 a2) (cos.f64 th))) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1))) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (*.f64 (*.f64 a2 a2) (cos.f64 th))) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1))) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 (cos.f64 th) (*.f64 a1 a1)) (*.f64 (*.f64 a2 a2) (cos.f64 th))) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1))) (sqrt.f64 2))

prune339.0ms (3.1%)

Pruning

17 alts after pruning (17 fresh and 0 done)

PrunedKeptTotal
New21417231
Fresh101
Picked101
Done000
Total21617233
Error
0.0b
Counts
233 → 17
Alt Table
StatusErrorProgram
0.4b
(/.f64 (*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1))) (sqrt.f64 2))
0.8b
(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) (pow.f64 (cbrt.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2))) 3))
17.9b
(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) (*.f64 (*.f64 (sqrt.f64 (cos.f64 th)) (/.f64 (sqrt.f64 (cos.f64 th)) (sqrt.f64 2))) (*.f64 a2 a2)))
0.4b
(+.f64 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
0.5b
(+.f64 (*.f64 (cbrt.f64 (/.f64 (pow.f64 (cos.f64 th) 3) (*.f64 2 (sqrt.f64 2)))) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
0.7b
(+.f64 (*.f64 (log.f64 (exp.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)))) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
1.0b
(+.f64 (*.f64 (*.f64 (cbrt.f64 (/.f64 (cos.f64 th) (sqrt.f64 2))) (pow.f64 (cbrt.f64 (/.f64 (cos.f64 th) (sqrt.f64 2))) 2)) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
0.5b
(fma.f64 a1 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) a1) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
17.9b
(+.f64 (pow.f64 (*.f64 a1 (sqrt.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)))) 2) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
0.5b
(fma.f64 a2 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) a2) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)))
0.6b
(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) (*.f64 (cbrt.f64 (pow.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) 3)) (*.f64 a2 a2)))
0.5b
(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) (/.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (/.f64 1 (*.f64 a2 a2))))
0.5b
(+.f64 (*.f64 (log1p.f64 (expm1.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)))) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
0.7b
(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) (*.f64 (log.f64 (exp.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)))) (*.f64 a2 a2)))
0.8b
(+.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1))) 3) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
0.5b
(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) (*.f64 (cbrt.f64 (/.f64 (pow.f64 (cos.f64 th) 3) (*.f64 2 (sqrt.f64 2)))) (*.f64 a2 a2)))
1.0b
(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) (*.f64 (pow.f64 (cbrt.f64 (/.f64 (cos.f64 th) (sqrt.f64 2))) 3) (*.f64 a2 a2)))
Compiler

Compiled 6591 to 3769 computations (42.8% saved)

localize8.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

series72.0ms (0.7%)

Counts
3 → 96
Calls

24 calls:

TimeVariablePointExpression
7.0ms
th
@inf
(/.f64 (*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1))) (sqrt.f64 2))
6.0ms
a2
@-inf
(/.f64 (*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1))) (sqrt.f64 2))
6.0ms
th
@0
(/.f64 (*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1))) (sqrt.f64 2))
6.0ms
th
@-inf
(/.f64 (*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1))) (sqrt.f64 2))
4.0ms
a1
@-inf
(/.f64 (*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1))) (sqrt.f64 2))

rewrite59.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
259×rule-36-rev_binary64
247×rule-29_binary64
208×rule-43_binary64
208×rule-44_binary64
208×rule-45_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify48.0ms (0.4%)

Algorithm
egg-herbie
Rules
433×rule-37_binary64
433×rule-38_binary64
433×rule-39_binary64
418×rule-40_binary64
387×rule-29_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

prune216.0ms (2%)

Pruning

11 alts after pruning (10 fresh and 1 done)

PrunedKeptTotal
New1603163
Fresh9716
Picked011
Done000
Total16911180
Error
0.0b
Counts
180 → 11
Alt Table
StatusErrorProgram
0.5b
(+.f64 (*.f64 (cbrt.f64 (/.f64 (pow.f64 (cos.f64 th) 3) (*.f64 2 (sqrt.f64 2)))) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
0.7b
(+.f64 (*.f64 (log.f64 (exp.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)))) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
0.5b
(fma.f64 a1 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) a1) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
17.9b
(+.f64 (pow.f64 (*.f64 a1 (sqrt.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)))) 2) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
0.5b
(fma.f64 a2 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) a2) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)))
0.6b
(*.f64 2 (/.f64 1/2 (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a2 a1) 2)))))
0.6b
(*.f64 (+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a2 a1) 2)) (pow.f64 2 1/4)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a2 a1) 2)) (pow.f64 2 1/4))) (/.f64 1/2 (pow.f64 2 1/4)))
0.4b
(/.f64 (*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1))) (sqrt.f64 2))
0.5b
(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) (*.f64 (cbrt.f64 (/.f64 (pow.f64 (cos.f64 th) 3) (*.f64 2 (sqrt.f64 2)))) (*.f64 a2 a2)))
0.4b
(+.f64 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
1.1b
(*.f64 (cbrt.f64 (*.f64 (cos.f64 th) (/.f64 (pow.f64 (hypot.f64 a2 a1) 2) (sqrt.f64 2)))) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 th) (/.f64 (pow.f64 (hypot.f64 a2 a1) 2) (sqrt.f64 2)))) 2))
Compiler

Compiled 3751 to 2326 computations (38% saved)

localize11.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series30.0ms (0.3%)

Counts
2 → 28
Calls

9 calls:

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

rewrite52.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
276×rule-29_binary64
223×rule-36-rev_binary64
176×rule-43_binary64
176×rule-44_binary64
176×rule-45_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify31.0ms (0.3%)

Algorithm
egg-herbie
Rules
277×rule-12_binary64
253×rule-9-rev_binary64
244×rule-19-rev_binary64
221×rule-37_binary64
221×rule-38_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
046520
1319500
21310488
Stop Event
node limit
Counts
141 → 130
Calls
Call 1
Inputs
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(-.f64 (/.f64 (pow.f64 a1 2) (sqrt.f64 2)) (*.f64 1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))))
(-.f64 (+.f64 (*.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 1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))))
(-.f64 (+.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 1/720 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 6)) (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))
(sqrt.f64 2)
(+.f64 (sqrt.f64 2) (*.f64 1/2 (*.f64 (sqrt.f64 2) (pow.f64 th 2))))
(+.f64 (sqrt.f64 2) (+.f64 (*.f64 5/24 (*.f64 (sqrt.f64 2) (pow.f64 th 4))) (*.f64 1/2 (*.f64 (sqrt.f64 2) (pow.f64 th 2)))))
(+.f64 (sqrt.f64 2) (+.f64 (*.f64 5/24 (*.f64 (sqrt.f64 2) (pow.f64 th 4))) (+.f64 (*.f64 61/720 (*.f64 (sqrt.f64 2) (pow.f64 th 6))) (*.f64 1/2 (*.f64 (sqrt.f64 2) (pow.f64 th 2))))))
Outputs
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(/.f64 (*.f64 a1 a1) (sqrt.f64 2))
(*.f64 a1 (/.f64 a1 (sqrt.f64 2)))
(/.f64 a1 (/.f64 (sqrt.f64 2) a1))
(-.f64 (/.f64 (pow.f64 a1 2) (sqrt.f64 2)) (*.f64 1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))))
(-.f64 (/.f64 (*.f64 a1 a1) (sqrt.f64 2)) (*.f64 1/2 (*.f64 (*.f64 th th) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))))
(/.f64 (-.f64 (*.f64 a1 a1) (*.f64 1/2 (*.f64 a1 (*.f64 (*.f64 th th) a1)))) (sqrt.f64 2))
(/.f64 (-.f64 (*.f64 a1 a1) (*.f64 1/2 (*.f64 a1 (*.f64 a1 (*.f64 th th))))) (sqrt.f64 2))
(-.f64 (+.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 1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))))
(-.f64 (fma.f64 1/24 (/.f64 (*.f64 (*.f64 a1 a1) (pow.f64 th 4)) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) (*.f64 1/2 (*.f64 (*.f64 th th) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))))
(fma.f64 1/24 (*.f64 (*.f64 a1 (/.f64 a1 (sqrt.f64 2))) (pow.f64 th 4)) (/.f64 (-.f64 (*.f64 a1 a1) (*.f64 1/2 (*.f64 a1 (*.f64 (*.f64 th th) a1)))) (sqrt.f64 2)))
(/.f64 (+.f64 (-.f64 (*.f64 a1 a1) (*.f64 1/2 (*.f64 a1 (*.f64 a1 (*.f64 th th))))) (*.f64 1/24 (*.f64 (*.f64 a1 a1) (pow.f64 th 4)))) (sqrt.f64 2))
(-.f64 (+.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 1/720 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 6)) (sqrt.f64 2)))))
(-.f64 (fma.f64 1/24 (/.f64 (*.f64 (*.f64 a1 a1) (pow.f64 th 4)) (sqrt.f64 2)) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) (fma.f64 1/2 (*.f64 (*.f64 th th) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) (*.f64 1/720 (*.f64 (pow.f64 th 6) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))))))
(-.f64 (/.f64 (+.f64 (*.f64 a1 a1) (*.f64 1/24 (*.f64 a1 (*.f64 (pow.f64 th 4) a1)))) (sqrt.f64 2)) (/.f64 (+.f64 (*.f64 1/2 (*.f64 a1 (*.f64 (*.f64 th th) a1))) (*.f64 1/720 (*.f64 a1 (*.f64 (pow.f64 th 6) a1)))) (sqrt.f64 2)))
(/.f64 (-.f64 (+.f64 (*.f64 a1 a1) (*.f64 1/24 (*.f64 (*.f64 a1 a1) (pow.f64 th 4)))) (+.f64 (*.f64 1/720 (*.f64 a1 (*.f64 a1 (pow.f64 th 6)))) (*.f64 1/2 (*.f64 a1 (*.f64 a1 (*.f64 th th)))))) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (*.f64 a1 a1) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (*.f64 a1 a1) (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th)))
(sqrt.f64 2)
(+.f64 (sqrt.f64 2) (*.f64 1/2 (*.f64 (sqrt.f64 2) (pow.f64 th 2))))
(+.f64 (sqrt.f64 2) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 th th))))
(fma.f64 (sqrt.f64 2) (*.f64 1/2 (*.f64 th th)) (sqrt.f64 2))
(*.f64 (sqrt.f64 2) (+.f64 1 (*.f64 1/2 (*.f64 th th))))
(+.f64 (sqrt.f64 2) (+.f64 (*.f64 5/24 (*.f64 (sqrt.f64 2) (pow.f64 th 4))) (*.f64 1/2 (*.f64 (sqrt.f64 2) (pow.f64 th 2)))))
(+.f64 (sqrt.f64 2) (fma.f64 5/24 (*.f64 (sqrt.f64 2) (pow.f64 th 4)) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 th th)))))
(fma.f64 (sqrt.f64 2) (*.f64 (pow.f64 th 4) 5/24) (fma.f64 (sqrt.f64 2) (*.f64 1/2 (*.f64 th th)) (sqrt.f64 2)))
(+.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 2) (+.f64 (*.f64 1/2 (*.f64 th th)) (*.f64 (pow.f64 th 4) 5/24))))
(+.f64 (sqrt.f64 2) (+.f64 (*.f64 5/24 (*.f64 (sqrt.f64 2) (pow.f64 th 4))) (+.f64 (*.f64 61/720 (*.f64 (sqrt.f64 2) (pow.f64 th 6))) (*.f64 1/2 (*.f64 (sqrt.f64 2) (pow.f64 th 2))))))
(+.f64 (sqrt.f64 2) (fma.f64 5/24 (*.f64 (sqrt.f64 2) (pow.f64 th 4)) (fma.f64 61/720 (*.f64 (sqrt.f64 2) (pow.f64 th 6)) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 th th))))))
(+.f64 (sqrt.f64 2) (fma.f64 5/24 (*.f64 (sqrt.f64 2) (pow.f64 th 4)) (fma.f64 (sqrt.f64 2) (*.f64 1/2 (*.f64 th th)) (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 th 6) 61/720)))))
(+.f64 (sqrt.f64 2) (fma.f64 (sqrt.f64 2) (*.f64 (pow.f64 th 4) 5/24) (*.f64 (sqrt.f64 2) (+.f64 (*.f64 1/2 (*.f64 th th)) (*.f64 (pow.f64 th 6) 61/720)))))

prune282.0ms (2.6%)

Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New2161217
Fresh189
Picked101
Done011
Total21810228
Error
0.0b
Counts
228 → 10
Alt Table
StatusErrorProgram
0.5b
(+.f64 (*.f64 (cbrt.f64 (/.f64 (pow.f64 (cos.f64 th) 3) (*.f64 2 (sqrt.f64 2)))) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
0.7b
(+.f64 (*.f64 (log.f64 (exp.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)))) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
0.5b
(+.f64 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) (fma.f64 a2 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) a2) 0))
0.5b
(fma.f64 a1 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) a1) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
17.9b
(+.f64 (pow.f64 (*.f64 a1 (sqrt.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)))) 2) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
0.6b
(*.f64 (+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a2 a1) 2)) (pow.f64 2 1/4)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a2 a1) 2)) (pow.f64 2 1/4))) (/.f64 1/2 (pow.f64 2 1/4)))
0.4b
(/.f64 (*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1))) (sqrt.f64 2))
0.5b
(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) (*.f64 (cbrt.f64 (/.f64 (pow.f64 (cos.f64 th) 3) (*.f64 2 (sqrt.f64 2)))) (*.f64 a2 a2)))
1.1b
(*.f64 (cbrt.f64 (*.f64 (cos.f64 th) (/.f64 (pow.f64 (hypot.f64 a2 a1) 2) (sqrt.f64 2)))) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 th) (/.f64 (pow.f64 (hypot.f64 a2 a1) 2) (sqrt.f64 2)))) 2))
0.6b
(*.f64 2 (/.f64 1/2 (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a2 a1) 2)))))
Compiler

Compiled 6090 to 3857 computations (36.7% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series73.0ms (0.7%)

Counts
2 → 60
Calls

15 calls:

TimeVariablePointExpression
8.0ms
th
@inf
(fma.f64 a1 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) a1) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
7.0ms
th
@-inf
(fma.f64 a1 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) a1) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
6.0ms
a1
@-inf
(fma.f64 a1 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) a1) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
6.0ms
th
@0
(fma.f64 a1 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) a1) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
6.0ms
a1
@0
(fma.f64 a1 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) a1) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))

rewrite56.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
286×rule-36-rev_binary64
265×rule-29_binary64
230×rule-43_binary64
230×rule-44_binary64
230×rule-45_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify46.0ms (0.4%)

Algorithm
egg-herbie
Rules
485×rule-29_binary64
447×rule-37_binary64
447×rule-38_binary64
447×rule-39_binary64
429×rule-40_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0831364
16221136
226461136
Stop Event
node limit
Counts
130 → 94
Calls
Call 1
Inputs
(/.f64 a1 (sqrt.f64 2))
(-.f64 (/.f64 a1 (sqrt.f64 2)) (*.f64 1/2 (/.f64 (*.f64 a1 (pow.f64 th 2)) (sqrt.f64 2))))
(-.f64 (+.f64 (/.f64 a1 (sqrt.f64 2)) (*.f64 1/24 (/.f64 (*.f64 a1 (pow.f64 th 4)) (sqrt.f64 2)))) (*.f64 1/2 (/.f64 (*.f64 a1 (pow.f64 th 2)) (sqrt.f64 2))))
(-.f64 (+.f64 (/.f64 a1 (sqrt.f64 2)) (*.f64 1/24 (/.f64 (*.f64 a1 (pow.f64 th 4)) (sqrt.f64 2)))) (+.f64 (*.f64 1/720 (/.f64 (*.f64 a1 (pow.f64 th 6)) (sqrt.f64 2))) (*.f64 1/2 (/.f64 (*.f64 a1 (pow.f64 th 2)) (sqrt.f64 2)))))
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))
(-.f64 (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 2)) (sqrt.f64 2))) (*.f64 1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2)))))
(-.f64 (+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 4)) (sqrt.f64 2))) (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a2 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 1/2 (/.f64 (*.f64 (pow.f64 th 2) (pow.f64 a2 2)) (sqrt.f64 2)))))
(-.f64 (+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 4)) (sqrt.f64 2))) (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (/.f64 (pow.f64 a1 2) (sqrt.f64 2)) (*.f64 1/24 (/.f64 (*.f64 (pow.f64 th 4) (pow.f64 a2 2)) (sqrt.f64 2)))))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 th 2) (pow.f64 a2 2)) (sqrt.f64 2))) (+.f64 (*.f64 1/720 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 6)) (sqrt.f64 2))) (*.f64 1/720 (/.f64 (*.f64 (pow.f64 th 6) (pow.f64 a2 2)) (sqrt.f64 2)))))))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a2 2) (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)))
Outputs
(/.f64 a1 (sqrt.f64 2))
(-.f64 (/.f64 a1 (sqrt.f64 2)) (*.f64 1/2 (/.f64 (*.f64 a1 (pow.f64 th 2)) (sqrt.f64 2))))
(-.f64 (/.f64 a1 (sqrt.f64 2)) (/.f64 (*.f64 (*.f64 a1 (*.f64 th th)) 1/2) (sqrt.f64 2)))
(/.f64 (-.f64 a1 (*.f64 1/2 (*.f64 a1 (*.f64 th th)))) (sqrt.f64 2))
(-.f64 (+.f64 (/.f64 a1 (sqrt.f64 2)) (*.f64 1/24 (/.f64 (*.f64 a1 (pow.f64 th 4)) (sqrt.f64 2)))) (*.f64 1/2 (/.f64 (*.f64 a1 (pow.f64 th 2)) (sqrt.f64 2))))
(+.f64 (/.f64 a1 (sqrt.f64 2)) (-.f64 (*.f64 1/24 (*.f64 (pow.f64 th 4) (/.f64 a1 (sqrt.f64 2)))) (/.f64 (*.f64 (*.f64 a1 (*.f64 th th)) 1/2) (sqrt.f64 2))))
(+.f64 (/.f64 a1 (sqrt.f64 2)) (/.f64 (-.f64 (*.f64 1/24 (*.f64 a1 (pow.f64 th 4))) (*.f64 1/2 (*.f64 a1 (*.f64 th th)))) (sqrt.f64 2)))
(-.f64 (+.f64 (/.f64 a1 (sqrt.f64 2)) (*.f64 1/24 (/.f64 (*.f64 a1 (pow.f64 th 4)) (sqrt.f64 2)))) (+.f64 (*.f64 1/720 (/.f64 (*.f64 a1 (pow.f64 th 6)) (sqrt.f64 2))) (*.f64 1/2 (/.f64 (*.f64 a1 (pow.f64 th 2)) (sqrt.f64 2)))))
(+.f64 (/.f64 a1 (sqrt.f64 2)) (-.f64 (*.f64 1/24 (*.f64 (pow.f64 th 4) (/.f64 a1 (sqrt.f64 2)))) (fma.f64 1/720 (*.f64 (pow.f64 th 6) (/.f64 a1 (sqrt.f64 2))) (/.f64 (*.f64 (*.f64 a1 (*.f64 th th)) 1/2) (sqrt.f64 2)))))
(-.f64 (/.f64 (+.f64 a1 (*.f64 1/24 (*.f64 a1 (pow.f64 th 4)))) (sqrt.f64 2)) (/.f64 (+.f64 (*.f64 1/2 (*.f64 a1 (*.f64 th th))) (*.f64 1/720 (*.f64 a1 (pow.f64 th 6)))) (sqrt.f64 2)))
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2))
(*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2)))
(*.f64 a1 (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2))
(*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2)))
(*.f64 a1 (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2))
(*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2)))
(*.f64 a1 (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2))
(*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2)))
(*.f64 a1 (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2))
(*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2)))
(*.f64 a1 (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2))
(*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2)))
(*.f64 a1 (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2))
(*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2)))
(*.f64 a1 (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2))
(*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2)))
(*.f64 a1 (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2))
(*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2)))
(*.f64 a1 (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2))
(*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2)))
(*.f64 a1 (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2))
(*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2)))
(*.f64 a1 (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2))
(*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2)))
(*.f64 a1 (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2))
(*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2)))
(*.f64 a1 (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2))
(*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2)))
(*.f64 a1 (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2))
(*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2)))
(*.f64 a1 (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2))
(*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2)))
(*.f64 a1 (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2))
(*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2)))
(*.f64 a1 (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2))
(*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2)))
(*.f64 a1 (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2))
(*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2)))
(*.f64 a1 (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 a1 (cos.f64 th)) (sqrt.f64 2))
(*.f64 (cos.f64 th) (/.f64 a1 (sqrt.f64 2)))
(*.f64 a1 (/.f64 (cos.f64 th) (sqrt.f64 2)))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (cos.f64 th) (/.f64 (*.f64 a2 a2) (sqrt.f64 2)))
(*.f64 (cos.f64 th) (*.f64 a2 (/.f64 a2 (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) (*.f64 a2 a2)) (*.f64 (cos.f64 th) (*.f64 a1 a1))) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1))) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2)) (*.f64 (cos.f64 th) (*.f64 a1 a1))) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1))) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2)) (*.f64 (cos.f64 th) (*.f64 a1 a1))) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1))) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (cos.f64 th) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))
(*.f64 (cos.f64 th) (*.f64 a1 (/.f64 a1 (sqrt.f64 2))))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2)) (*.f64 (cos.f64 th) (*.f64 a1 a1))) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1))) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2)) (*.f64 (cos.f64 th) (*.f64 a1 a1))) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1))) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2)) (*.f64 (cos.f64 th) (*.f64 a1 a1))) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1))) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (cos.f64 th) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))
(*.f64 (cos.f64 th) (*.f64 a1 (/.f64 a1 (sqrt.f64 2))))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2)) (*.f64 (cos.f64 th) (*.f64 a1 a1))) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1))) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2)) (*.f64 (cos.f64 th) (*.f64 a1 a1))) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1))) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2)) (*.f64 (cos.f64 th) (*.f64 a1 a1))) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1))) (sqrt.f64 2))
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (sqrt.f64 2))
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2))
(-.f64 (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 2)) (sqrt.f64 2))) (*.f64 1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2)))))
(-.f64 (/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (sqrt.f64 2)) (fma.f64 1/2 (*.f64 (*.f64 th th) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) (*.f64 1/2 (*.f64 (*.f64 th th) (/.f64 (*.f64 a2 a2) (sqrt.f64 2))))))
(-.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (/.f64 (+.f64 (*.f64 1/2 (*.f64 th (*.f64 (*.f64 a1 a1) th))) (*.f64 1/2 (*.f64 th (*.f64 (*.f64 a2 a2) th)))) (sqrt.f64 2)))
(-.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (/.f64 (+.f64 (*.f64 1/2 (*.f64 (*.f64 th th) (*.f64 a1 a1))) (*.f64 1/2 (*.f64 th (*.f64 (*.f64 a2 a2) th)))) (sqrt.f64 2)))
(-.f64 (+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 4)) (sqrt.f64 2))) (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a2 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 1/2 (/.f64 (*.f64 (pow.f64 th 2) (pow.f64 a2 2)) (sqrt.f64 2)))))
(-.f64 (fma.f64 1/24 (*.f64 (pow.f64 th 4) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) (+.f64 (*.f64 1/24 (*.f64 (*.f64 a2 a2) (/.f64 (pow.f64 th 4) (sqrt.f64 2)))) (/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (sqrt.f64 2)))) (fma.f64 1/2 (*.f64 (*.f64 th th) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) (*.f64 1/2 (*.f64 (*.f64 th th) (/.f64 (*.f64 a2 a2) (sqrt.f64 2))))))
(-.f64 (fma.f64 1/24 (*.f64 (pow.f64 th 4) (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) (/.f64 (+.f64 (*.f64 1/24 (*.f64 (pow.f64 th 4) (*.f64 a2 a2))) (fma.f64 a2 a2 (*.f64 a1 a1))) (sqrt.f64 2))) (/.f64 (+.f64 (*.f64 1/2 (*.f64 th (*.f64 (*.f64 a1 a1) th))) (*.f64 1/2 (*.f64 th (*.f64 (*.f64 a2 a2) th)))) (sqrt.f64 2)))
(-.f64 (fma.f64 1/24 (*.f64 (pow.f64 th 4) (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) (/.f64 (+.f64 (*.f64 1/24 (*.f64 (pow.f64 th 4) (*.f64 a2 a2))) (fma.f64 a2 a2 (*.f64 a1 a1))) (sqrt.f64 2))) (/.f64 (+.f64 (*.f64 1/2 (*.f64 (*.f64 th th) (*.f64 a1 a1))) (*.f64 1/2 (*.f64 th (*.f64 (*.f64 a2 a2) th)))) (sqrt.f64 2)))
(-.f64 (+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 4)) (sqrt.f64 2))) (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (/.f64 (pow.f64 a1 2) (sqrt.f64 2)) (*.f64 1/24 (/.f64 (*.f64 (pow.f64 th 4) (pow.f64 a2 2)) (sqrt.f64 2)))))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 th 2) (pow.f64 a2 2)) (sqrt.f64 2))) (+.f64 (*.f64 1/720 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 6)) (sqrt.f64 2))) (*.f64 1/720 (/.f64 (*.f64 (pow.f64 th 6) (pow.f64 a2 2)) (sqrt.f64 2)))))))
(-.f64 (fma.f64 1/24 (*.f64 (pow.f64 th 4) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) (+.f64 (*.f64 1/24 (*.f64 (*.f64 a2 a2) (/.f64 (pow.f64 th 4) (sqrt.f64 2)))) (/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)) (sqrt.f64 2)))) (fma.f64 1/2 (*.f64 (*.f64 th th) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) (fma.f64 1/2 (*.f64 (*.f64 th th) (/.f64 (*.f64 a2 a2) (sqrt.f64 2))) (fma.f64 1/720 (*.f64 (pow.f64 th 6) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) (*.f64 1/720 (*.f64 (*.f64 a2 a2) (/.f64 (pow.f64 th 6) (sqrt.f64 2))))))))
(-.f64 (fma.f64 1/24 (*.f64 (pow.f64 th 4) (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) (/.f64 (+.f64 (*.f64 1/24 (*.f64 (pow.f64 th 4) (*.f64 a2 a2))) (fma.f64 a2 a2 (*.f64 a1 a1))) (sqrt.f64 2))) (+.f64 (/.f64 (+.f64 (*.f64 1/720 (*.f64 a1 (*.f64 a1 (pow.f64 th 6)))) (*.f64 1/720 (*.f64 (pow.f64 th 6) (*.f64 a2 a2)))) (sqrt.f64 2)) (/.f64 (+.f64 (*.f64 1/2 (*.f64 th (*.f64 (*.f64 a1 a1) th))) (*.f64 1/2 (*.f64 th (*.f64 (*.f64 a2 a2) th)))) (sqrt.f64 2))))
(-.f64 (fma.f64 1/24 (*.f64 (pow.f64 th 4) (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) (/.f64 (+.f64 (*.f64 1/24 (*.f64 (pow.f64 th 4) (*.f64 a2 a2))) (fma.f64 a2 a2 (*.f64 a1 a1))) (sqrt.f64 2))) (+.f64 (/.f64 (+.f64 (*.f64 1/720 (*.f64 a1 (*.f64 a1 (pow.f64 th 6)))) (*.f64 1/720 (*.f64 (pow.f64 th 6) (*.f64 a2 a2)))) (sqrt.f64 2)) (/.f64 (+.f64 (*.f64 1/2 (*.f64 (*.f64 th th) (*.f64 a1 a1))) (*.f64 1/2 (*.f64 th (*.f64 (*.f64 a2 a2) 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) (*.f64 a2 a2)) (*.f64 (cos.f64 th) (*.f64 a1 a1))) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1))) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2)) (*.f64 (cos.f64 th) (*.f64 a1 a1))) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1))) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2)) (*.f64 (cos.f64 th) (*.f64 a1 a1))) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1))) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2)) (*.f64 (cos.f64 th) (*.f64 a1 a1))) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1))) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2)) (*.f64 (cos.f64 th) (*.f64 a1 a1))) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1))) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2)) (*.f64 (cos.f64 th) (*.f64 a1 a1))) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1))) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2)) (*.f64 (cos.f64 th) (*.f64 a1 a1))) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1))) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2)) (*.f64 (cos.f64 th) (*.f64 a1 a1))) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1))) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (cos.f64 th) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))
(*.f64 (cos.f64 th) (*.f64 a1 (/.f64 a1 (sqrt.f64 2))))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2)) (*.f64 (cos.f64 th) (*.f64 a1 a1))) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1))) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2)) (*.f64 (cos.f64 th) (*.f64 a1 a1))) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1))) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2)) (*.f64 (cos.f64 th) (*.f64 a1 a1))) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1))) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (cos.f64 th) (/.f64 (*.f64 a2 a2) (sqrt.f64 2)))
(*.f64 (cos.f64 th) (*.f64 a2 (/.f64 a2 (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) (*.f64 a2 a2)) (*.f64 (cos.f64 th) (*.f64 a1 a1))) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1))) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2)) (*.f64 (cos.f64 th) (*.f64 a1 a1))) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1))) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2)) (*.f64 (cos.f64 th) (*.f64 a1 a1))) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1))) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(*.f64 (cos.f64 th) (/.f64 (*.f64 a2 a2) (sqrt.f64 2)))
(*.f64 (cos.f64 th) (*.f64 a2 (/.f64 a2 (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) (*.f64 a2 a2)) (*.f64 (cos.f64 th) (*.f64 a1 a1))) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1))) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2)) (*.f64 (cos.f64 th) (*.f64 a1 a1))) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1))) (sqrt.f64 2))
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2)) (*.f64 (cos.f64 th) (*.f64 a1 a1))) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1))) (sqrt.f64 2))

prune267.0ms (2.5%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New2241225
Fresh178
Picked101
Done011
Total2269235
Error
0.0b
Counts
235 → 9
Alt Table
StatusErrorProgram
0.5b
(+.f64 (*.f64 (cbrt.f64 (/.f64 (pow.f64 (cos.f64 th) 3) (*.f64 2 (sqrt.f64 2)))) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
0.7b
(+.f64 (*.f64 (log.f64 (exp.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)))) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
0.5b
(+.f64 (/.f64 (*.f64 a1 a1) (/.f64 (sqrt.f64 2) (cos.f64 th))) (fma.f64 a2 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) a2) 0))
17.9b
(+.f64 (pow.f64 (*.f64 a1 (sqrt.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)))) 2) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
0.6b
(*.f64 (+.f64 (/.f64 (*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a2 a1) 2)) (pow.f64 2 1/4)) (/.f64 (*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a2 a1) 2)) (pow.f64 2 1/4))) (/.f64 1/2 (pow.f64 2 1/4)))
0.4b
(/.f64 (*.f64 (cos.f64 th) (fma.f64 a2 a2 (*.f64 a1 a1))) (sqrt.f64 2))
1.1b
(*.f64 (cbrt.f64 (*.f64 (cos.f64 th) (/.f64 (pow.f64 (hypot.f64 a2 a1) 2) (sqrt.f64 2)))) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 th) (/.f64 (pow.f64 (hypot.f64 a2 a1) 2) (sqrt.f64 2)))) 2))
0.5b
(fma.f64 a1 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) a1) (*.f64 (cbrt.f64 (/.f64 (pow.f64 (cos.f64 th) 3) (*.f64 2 (sqrt.f64 2)))) (*.f64 a2 a2)))
0.6b
(*.f64 2 (/.f64 1/2 (/.f64 (sqrt.f64 2) (*.f64 (cos.f64 th) (pow.f64 (hypot.f64 a2 a1) 2)))))
Compiler

Compiled 5859 to 3473 computations (40.7% saved)

regimes3.5s (32%)

Accuracy

Total 0.5b remaining (95.6%)

Threshold costs 0.5b (95.6%)

Counts
276 → 1
Compiler

Compiled 59267 to 42727 computations (27.9% saved)

simplify1.0ms (0%)

Algorithm
egg-herbie
Rules
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01421
11521
Stop Event
saturated
Calls
Call 1
Inputs
(fma.f64 (*.f64 (cos.f64 th) (/.f64 (pow.f64 (hypot.f64 a2 a1) 2) (sqrt.f64 2))) 1 0)
Outputs
(fma.f64 (*.f64 (cos.f64 th) (/.f64 (pow.f64 (hypot.f64 a2 a1) 2) (sqrt.f64 2))) 1 0)

end179.0ms (1.7%)

Stop Event
fuel
Remove

(sort a1 a2)

Compiler

Compiled 288 to 218 computations (24.3% saved)

Profiling

Loading profile data...