Details

Time bar (total: 8.7s)

analyze1.1s (12.6%)

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.2s (48.2%)

Results
1.2s1884×body1024valid
971.0ms1614×body1024invalid
865.0ms4947×body128valid
436.0ms956×body512valid
337.0ms775×body512invalid
150.0ms465×body256valid
120.0ms694×body128invalid
112.0ms375×body256invalid
3.0msbody2048valid
1.0msbody2048invalid

preprocess54.0ms (0.6%)

Algorithm
egg-herbie
Rules
698×rule-a--a0_binary64
698×rule-a-+a0_binary64
695×rule-a-/a1_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)

simplify23.0ms (0.3%)

Algorithm
egg-herbie
Rules
307×rule-a-*a1_binary64
307×rule-a--a0_binary64
307×rule-a-+a0_binary64
306×rule-a-/a1_binary64
298×rule-/ab-*+aa/1/2b_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)))

prune5.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New112
Fresh011
Picked000
Done000
Total123
Error
0.5b
Counts
3 → 1
Alt Table
StatusErrorProgram
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 78 to 50 computations (35.9% 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.3b
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2))
0.3b
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1))
0.7b
(/.f64 (cos.f64 th) (sqrt.f64 2))

series21.0ms (0.2%)

Counts
4 → 88
Calls

24 calls:

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

rewrite71.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
254×rule-nega-/a-1_binary64
254×rule-nega-*a-1_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 a1 a1))
(*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2))
(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 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 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 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 +.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 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 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 +.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 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 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 -.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))) (*.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 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))) (pow.f64 (cbrt.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))) 2) (cbrt.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))) (sqrt.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))) 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 a1 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 (*.f64 a2 a2) (*.f64 a1 a1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) 3) (pow.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) 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 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (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 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 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 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.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 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 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 (*.f64 a2 a2) (*.f64 a1 a1)))) 2) (cbrt.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))) 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)))) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)))))) (#(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 (sqrt.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))) (sqrt.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1)))))))))

simplify53.0ms (0.6%)

Algorithm
egg-herbie
Rules
490×rule-/ab-*+aa/1/2b_binary64
435×rule-a-*a1_binary64
435×rule-a--a0_binary64
435×rule-a-+a0_binary64
422×rule-a-/a1_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

prune607.0ms (7%)

Pruning

16 alts after pruning (16 fresh and 0 done)

PrunedKeptTotal
New21516231
Fresh000
Picked101
Done000
Total21616232
Error
0.0b
Counts
232 → 16
Alt Table
StatusErrorProgram
0.5b
(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) (*.f64 (cos.f64 th) (*.f64 a2 (/.f64 a2 (sqrt.f64 2)))))
0.6b
(+.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.7b
(+.f64 (*.f64 (*.f64 (cbrt.f64 (cos.f64 th)) (/.f64 (pow.f64 (cbrt.f64 (cos.f64 th)) 2) (sqrt.f64 2))) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
0.5b
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (*.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)))
0.5b
(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) (*.f64 (+.f64 (exp.f64 (log1p.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)))) -1) (*.f64 a2 a2)))
0.5b
(+.f64 (fma.f64 a1 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) a1) 0) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
0.9b
(+.f64 (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) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
17.9b
(+.f64 (*.f64 (pow.f64 (pow.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) 3) 1/3) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
46.1b
(/.f64 (pow.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) 3) (pow.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) 2))
0.6b
(+.f64 (/.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (/.f64 1 (*.f64 a1 a1))) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
17.9b
(+.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 (cos.f64 th) (sqrt.f64 2))) (sqrt.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)))) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
0.6b
(+.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.6b
(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) (*.f64 (*.f64 (cbrt.f64 (cos.f64 th)) (/.f64 (pow.f64 (cbrt.f64 (cos.f64 th)) 2) (sqrt.f64 2))) (*.f64 a2 a2)))
1.0b
(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) (*.f64 (*.f64 (cbrt.f64 (/.f64 (cos.f64 th) (sqrt.f64 2))) (pow.f64 (cbrt.f64 (/.f64 (cos.f64 th) (sqrt.f64 2))) 2)) (*.f64 a2 a2)))
0.6b
(+.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)))
Compiler

Compiled 6574 to 3758 computations (42.8% saved)

localize12.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series3.0ms (0%)

Counts
2 → 12
Calls

6 calls:

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

rewrite41.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
700×rules-30_binary64
700×rules-31_binary64
700×rules-32_binary64
700×rules-33_binary64
643×rules-27_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0615
115715
2205015
Stop Event
node limit
Counts
2 → 81
Calls
Call 1
Inputs
(/.f64 a2 (sqrt.f64 2))
(*.f64 a2 (/.f64 a2 (sqrt.f64 2)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 a2 (sqrt.f64 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 a2 (sqrt.f64 2)) (/.f64 0 (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 a2 (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 a2 (sqrt.f64 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 a2 (sqrt.f64 2)) (/.f64 0 (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (/.f64 a2 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 a2 (sqrt.f64 2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 a2 (sqrt.f64 2)) (/.f64 a2 (sqrt.f64 2))) (/.f64 a2 (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 a2 (/.f64 1 (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a2 (sqrt.f64 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 a2 (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (/.f64 a2 (sqrt.f64 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 a2 (sqrt.f64 2))) (pow.f64 (cbrt.f64 (/.f64 a2 (sqrt.f64 2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 a2 (sqrt.f64 2))) 2) (cbrt.f64 (/.f64 a2 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 a2) (/.f64 (cbrt.f64 (*.f64 a2 a2)) (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 a2 (sqrt.f64 2))) (sqrt.f64 (/.f64 a2 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 a2) (/.f64 (sqrt.f64 a2) (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 a2 a2) (/.f64 1/2 (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (sqrt.f64 2)) (+.f64 a2 a2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (/.f64 a2 (sqrt.f64 2)) (/.f64 a2 (sqrt.f64 2))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 a2 (sqrt.f64 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 a2 (sqrt.f64 2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 a2 (sqrt.f64 2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 a2 (sqrt.f64 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (/.f64 a2 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 a2 (sqrt.f64 2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (/.f64 a2 (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 a2 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 a2 (sqrt.f64 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 a2 (sqrt.f64 2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 a2 3) (*.f64 2 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 a2 (sqrt.f64 2)) 1 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (/.f64 a2 (sqrt.f64 2))) 2) (cbrt.f64 (/.f64 a2 (sqrt.f64 2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (/.f64 a2 (sqrt.f64 2))) (sqrt.f64 (/.f64 a2 (sqrt.f64 2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 a2 a2) (/.f64 1/2 (sqrt.f64 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 a2 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 a2 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 a2 (sqrt.f64 2))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (/.f64 0 (/.f64 (sqrt.f64 2) a2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (*.f64 a2 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (*.f64 (/.f64 a2 (sqrt.f64 2)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (/.f64 0 (/.f64 (sqrt.f64 2) a2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (*.f64 a2 0))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (*.f64 (/.f64 a2 (sqrt.f64 2)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) (*.f64 a2 (/.f64 a2 (sqrt.f64 2)))) (*.f64 a2 (/.f64 a2 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 a2 (/.f64 (sqrt.f64 2) a2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 a2 (sqrt.f64 2)) (/.f64 1 a2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (sqrt.f64 2) (*.f64 a2 a2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) 3) (+.f64 (pow.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) 2) (+.f64 0 (*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) 0))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) 3) (+.f64 (pow.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) 2) (-.f64 0 (*.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) 0))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a2 a2) (sqrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 a2 a2)) (neg.f64 (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 a2 a2) (cbrt.f64 2)) (cbrt.f64 (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 a2 a2) (pow.f64 2 1/4)) (pow.f64 2 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 a2 (pow.f64 2 1/4)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 a2) (/.f64 a2 (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 a2 3) (pow.f64 (/.f64 a2 (sqrt.f64 2)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (/.f64 a2 (sqrt.f64 2)) 3) (pow.f64 a2 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a2 (/.f64 a2 (sqrt.f64 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 a2 (sqrt.f64 2)) a2 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2))) 1 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2)))) 2) (cbrt.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 a2 (pow.f64 2 1/4)) (/.f64 a2 (pow.f64 2 1/4)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 a2 (/.f64 a2 (sqrt.f64 2)))))))))

simplify38.0ms (0.4%)

Algorithm
egg-herbie
Rules
518×rule-a-/a1_binary64
509×rule-a-*a1_binary64
447×rule-a--a0_binary64
447×rule-a-+a0_binary64
280×fma-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
06108
140108
2147108
3598108
43517108
Stop Event
node limit
Counts
93 → 82
Calls
Call 1
Inputs
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
Outputs
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))

prune404.0ms (4.6%)

Pruning

15 alts after pruning (14 fresh and 1 done)

PrunedKeptTotal
New1672169
Fresh31215
Picked011
Done000
Total17015185
Error
0.0b
Counts
185 → 15
Alt Table
StatusErrorProgram
0.5b
(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) (*.f64 (cos.f64 th) (/.f64 (/.f64 (*.f64 a2 a2) (pow.f64 2 1/4)) (pow.f64 2 1/4))))
0.9b
(+.f64 (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) (*.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 (cos.f64 th) (*.f64 a2 (/.f64 a2 (sqrt.f64 2)))))
0.6b
(+.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.7b
(+.f64 (*.f64 (*.f64 (cbrt.f64 (cos.f64 th)) (/.f64 (pow.f64 (cbrt.f64 (cos.f64 th)) 2) (sqrt.f64 2))) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
0.5b
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (*.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 (+.f64 (exp.f64 (log1p.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)))) -1) (*.f64 a2 a2)))
0.5b
(+.f64 (fma.f64 a1 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) a1) 0) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
17.9b
(+.f64 (*.f64 (pow.f64 (pow.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) 3) 1/3) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
46.1b
(/.f64 (pow.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) 3) (pow.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (+.f64 (*.f64 a2 a2) (*.f64 a1 a1))) 2))
0.6b
(+.f64 (/.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (/.f64 1 (*.f64 a1 a1))) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
17.9b
(+.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 (cos.f64 th) (sqrt.f64 2))) (sqrt.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)))) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
0.6b
(+.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)))
1.0b
(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) (*.f64 (*.f64 (cbrt.f64 (/.f64 (cos.f64 th) (sqrt.f64 2))) (pow.f64 (cbrt.f64 (/.f64 (cos.f64 th) (sqrt.f64 2))) 2)) (*.f64 a2 a2)))
0.5b
(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) (*.f64 (cos.f64 th) (pow.f64 (/.f64 a2 (pow.f64 2 1/4)) 2)))
Compiler

Compiled 4844 to 2985 computations (38.4% saved)

localize12.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series8.0ms (0.1%)

Counts
2 → 48
Calls

12 calls:

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

rewrite49.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
399×rule-*ab-*ba_binary64
216×rule-*aa-fabs*aa_binary64
203×rule-/ab-*+aa/1/2b_binary64
174×rule-nega--0a_binary64
174×rule-nega-/a-1_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01026
124625
2304725
Stop Event
node limit
Counts
2 → 92
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) 0)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) a1) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) a1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) a1))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) a1) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) a1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) a1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) a1) (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) a1)) (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) a1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) a1))) (exp.f64 (log1p.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) a1)))) (+.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) a1))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (+.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) a1) (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) a1)) (+.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) a1) (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) a1))) (+.f64 (+.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) a1) (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) a1)) (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) a1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) (/.f64 1 a1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) (fabs.f64 (/.f64 1 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 a1 (/.f64 (sqrt.f64 2) (cos.f64 0)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 a1 (/.f64 1 (/.f64 (cos.f64 0) (sqrt.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 a1 (fabs.f64 (/.f64 1 (/.f64 (cos.f64 0) (sqrt.f64 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) a1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) a1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) a1) 3) (pow.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) a1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 0) a1) (sqrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) a1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) a1) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) a1)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) a1)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) a1))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) a1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) a1))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (-.f64 1 (exp.f64 (log1p.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) a1)))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (-.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) a1) (+.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) a1) (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) a1))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.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) (sqrt.f64 2)) a1))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) a1) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) 3) (pow.f64 a1 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) a1 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a1 (/.f64 (cos.f64 0) (sqrt.f64 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) a1) 1 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) a1)) 2) (cbrt.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) a1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) a1)) (sqrt.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) a1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) a1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) a1)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) a1)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) (*.f64 a1 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) (*.f64 a1 a1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) (*.f64 a1 a1)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) (*.f64 a1 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) (*.f64 a1 a1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) (*.f64 a1 a1)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) (*.f64 a1 a1))) (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) (*.f64 a1 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) (*.f64 a1 a1)))) (exp.f64 (log1p.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) (*.f64 a1 a1))))) (+.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) (*.f64 a1 a1)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (+.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) (*.f64 a1 a1))) (+.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) (*.f64 a1 a1)))) (+.f64 (+.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) (*.f64 a1 a1))) (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) (*.f64 a1 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 a1 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) a1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) a1) a1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) (*.f64 a1 a1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) (*.f64 a1 a1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) (*.f64 a1 a1)))))) (#(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 (pow.f64 (cbrt.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) a1)) 2) (*.f64 a1 (cbrt.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) a1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) a1)) 2) (fabs.f64 (*.f64 a1 (cbrt.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) a1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) (*.f64 a1 a1))) (pow.f64 (cbrt.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) (*.f64 a1 a1))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) (*.f64 a1 a1))) 2) (cbrt.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) (*.f64 a1 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) a1)) (*.f64 a1 (sqrt.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) a1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) (*.f64 a1 a1))) (sqrt.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) (*.f64 a1 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) (*.f64 a1 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) (*.f64 a1 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) (*.f64 a1 a1))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) (*.f64 a1 a1))) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 a1 a1) (/.f64 1/2 (/.f64 1 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) a1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 a1 (cbrt.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) a1))) (pow.f64 (cbrt.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) a1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 a1 (sqrt.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) a1))) (sqrt.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) a1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) (*.f64 a1 a1)) 3) (pow.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) (*.f64 a1 a1)) 3)) (/.f64 1/2 (pow.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) (*.f64 a1 a1)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fabs.f64 (+.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) (*.f64 a1 a1)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 a1 (/.f64 1 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) a1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 a1 (fabs.f64 (/.f64 1 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) a1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) (*.f64 a1 a1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) (*.f64 a1 a1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) (*.f64 a1 a1)) 3) (pow.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) (*.f64 a1 a1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) (*.f64 a1 a1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) (*.f64 a1 a1)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) (*.f64 a1 a1))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) (*.f64 a1 a1))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) (*.f64 a1 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) (*.f64 a1 a1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) (*.f64 a1 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (-.f64 1 (exp.f64 (log1p.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) (*.f64 a1 a1))))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (-.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) (*.f64 a1 a1)) (+.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) (*.f64 a1 a1)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) (*.f64 a1 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) (*.f64 a1 a1)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) (*.f64 a1 a1)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) a1) 3) (pow.f64 a1 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) (*.f64 a1 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) (*.f64 a1 a1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) a1)) (log.f64 a1)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) (*.f64 a1 a1))))))))

simplify31.0ms (0.4%)

Algorithm
egg-herbie
Rules
327×rule-*a-bc-*nega-cb_binary64
301×rule-*ab-*ba_binary64
297×rule-/ab-*+aa/1/2b_binary64
245×rule-a-*a1_binary64
245×rule-a--a0_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
050760
1363740
21550728
Stop Event
node limit
Counts
140 → 111
Calls
Call 1
Inputs
(/.f64 a1 (sqrt.f64 2))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 a1 (pow.f64 th 2)) (sqrt.f64 2))) (/.f64 a1 (sqrt.f64 2)))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 a1 (pow.f64 th 2)) (sqrt.f64 2))) (+.f64 (*.f64 1/24 (/.f64 (*.f64 a1 (pow.f64 th 4)) (sqrt.f64 2))) (/.f64 a1 (sqrt.f64 2))))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 a1 (pow.f64 th 2)) (sqrt.f64 2))) (+.f64 (*.f64 1/24 (/.f64 (*.f64 a1 (pow.f64 th 4)) (sqrt.f64 2))) (+.f64 (/.f64 a1 (sqrt.f64 2)) (*.f64 -1/720 (/.f64 (*.f64 a1 (pow.f64 th 6)) (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 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (pow.f64 a1 2) (sqrt.f64 2))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 4)) (sqrt.f64 2))) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (+.f64 (*.f64 -1/720 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 6)) (sqrt.f64 2))) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 4)) (sqrt.f64 2))) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2))
Outputs
(/.f64 a1 (sqrt.f64 2))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 a1 (pow.f64 th 2)) (sqrt.f64 2))) (/.f64 a1 (sqrt.f64 2)))
(fma.f64 -1/2 (*.f64 (*.f64 th th) (/.f64 a1 (sqrt.f64 2))) (/.f64 a1 (sqrt.f64 2)))
(/.f64 (+.f64 a1 (*.f64 -1/2 (*.f64 a1 (*.f64 th th)))) (sqrt.f64 2))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 a1 (pow.f64 th 2)) (sqrt.f64 2))) (+.f64 (*.f64 1/24 (/.f64 (*.f64 a1 (pow.f64 th 4)) (sqrt.f64 2))) (/.f64 a1 (sqrt.f64 2))))
(fma.f64 -1/2 (*.f64 (*.f64 th th) (/.f64 a1 (sqrt.f64 2))) (fma.f64 1/24 (*.f64 (pow.f64 th 4) (/.f64 a1 (sqrt.f64 2))) (/.f64 a1 (sqrt.f64 2))))
(fma.f64 -1/2 (*.f64 (/.f64 a1 (sqrt.f64 2)) (*.f64 th th)) (/.f64 (+.f64 a1 (*.f64 1/24 (*.f64 a1 (pow.f64 th 4)))) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 1/24 (*.f64 a1 (pow.f64 th 4))) (+.f64 a1 (*.f64 -1/2 (*.f64 a1 (*.f64 th th))))) (sqrt.f64 2))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 a1 (pow.f64 th 2)) (sqrt.f64 2))) (+.f64 (*.f64 1/24 (/.f64 (*.f64 a1 (pow.f64 th 4)) (sqrt.f64 2))) (+.f64 (/.f64 a1 (sqrt.f64 2)) (*.f64 -1/720 (/.f64 (*.f64 a1 (pow.f64 th 6)) (sqrt.f64 2))))))
(fma.f64 -1/2 (*.f64 (*.f64 th th) (/.f64 a1 (sqrt.f64 2))) (fma.f64 1/24 (*.f64 (pow.f64 th 4) (/.f64 a1 (sqrt.f64 2))) (+.f64 (/.f64 a1 (sqrt.f64 2)) (*.f64 -1/720 (*.f64 (pow.f64 th 6) (/.f64 a1 (sqrt.f64 2)))))))
(fma.f64 -1/2 (*.f64 (/.f64 a1 (sqrt.f64 2)) (*.f64 th th)) (fma.f64 1/24 (*.f64 a1 (/.f64 (pow.f64 th 4) (sqrt.f64 2))) (/.f64 (+.f64 (*.f64 -1/720 (*.f64 a1 (pow.f64 th 6))) a1) (sqrt.f64 2))))
(fma.f64 -1/2 (*.f64 (/.f64 a1 (sqrt.f64 2)) (*.f64 th th)) (/.f64 (+.f64 a1 (+.f64 (*.f64 1/24 (*.f64 a1 (pow.f64 th 4))) (*.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 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 (pow.f64 a1 2) (sqrt.f64 2))
(/.f64 (*.f64 a1 a1) (sqrt.f64 2))
(*.f64 a1 (/.f64 a1 (sqrt.f64 2)))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))
(fma.f64 -1/2 (*.f64 (*.f64 th th) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) (/.f64 (*.f64 a1 a1) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 -1/2 (*.f64 a1 (*.f64 a1 (*.f64 th th)))) (*.f64 a1 a1)) (sqrt.f64 2))
(/.f64 (+.f64 (*.f64 a1 a1) (*.f64 -1/2 (*.f64 a1 (*.f64 a1 (*.f64 th th))))) (sqrt.f64 2))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 4)) (sqrt.f64 2))) (/.f64 (pow.f64 a1 2) (sqrt.f64 2))))
(fma.f64 -1/2 (*.f64 (*.f64 th th) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) (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/24 (*.f64 (pow.f64 th 4) (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) (/.f64 (+.f64 (*.f64 -1/2 (*.f64 a1 (*.f64 a1 (*.f64 th th)))) (*.f64 a1 a1)) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 -1/2 (*.f64 a1 (*.f64 a1 (*.f64 th th)))) (+.f64 (*.f64 a1 a1) (*.f64 1/24 (*.f64 a1 (*.f64 a1 (pow.f64 th 4)))))) (sqrt.f64 2))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 2)) (sqrt.f64 2))) (+.f64 (*.f64 -1/720 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 6)) (sqrt.f64 2))) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a1 2) (pow.f64 th 4)) (sqrt.f64 2))) (/.f64 (pow.f64 a1 2) (sqrt.f64 2)))))
(fma.f64 -1/2 (*.f64 (*.f64 th th) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) (fma.f64 -1/720 (*.f64 (pow.f64 th 6) (/.f64 (*.f64 a1 a1) (sqrt.f64 2))) (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/720 (*.f64 (pow.f64 th 6) (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) (fma.f64 1/24 (*.f64 (pow.f64 th 4) (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) (/.f64 (+.f64 (*.f64 -1/2 (*.f64 a1 (*.f64 a1 (*.f64 th th)))) (*.f64 a1 a1)) (sqrt.f64 2))))
(fma.f64 -1/2 (*.f64 (*.f64 th th) (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) (/.f64 (+.f64 (*.f64 1/24 (*.f64 a1 (*.f64 a1 (pow.f64 th 4)))) (+.f64 (*.f64 a1 a1) (*.f64 -1/720 (*.f64 a1 (*.f64 a1 (pow.f64 th 6)))))) (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))))

prune542.0ms (6.2%)

Pruning

15 alts after pruning (14 fresh and 1 done)

PrunedKeptTotal
New2366242
Fresh5813
Picked101
Done011
Total24215257
Error
0.0b
Counts
257 → 15
Alt Table
StatusErrorProgram
0.5b
(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) (*.f64 (cos.f64 th) (/.f64 (/.f64 (*.f64 a2 a2) (pow.f64 2 1/4)) (pow.f64 2 1/4))))
0.9b
(+.f64 (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) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
0.5b
(+.f64 (*.f64 (cos.f64 th) (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
0.5b
(+.f64 (fma.f64 a1 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) a1) 0) (fma.f64 a2 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) a2) 0))
0.6b
(+.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 (*.f64 (cbrt.f64 (cos.f64 th)) (/.f64 (pow.f64 (cbrt.f64 (cos.f64 th)) 2) (sqrt.f64 2))) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
0.5b
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (*.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 (cos.f64 th) (*.f64 a2 (/.f64 a2 (sqrt.f64 2)))))
0.4b
(+.f64 (fma.f64 a1 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) a1) 0) (/.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2)) (sqrt.f64 2)))
14.5b
(+.f64 (fma.f64 a1 (-.f64 (+.f64 (+.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) a1) (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) a1)) (+.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) a1) (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) a1))) (+.f64 (+.f64 (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) a1) (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) a1)) (*.f64 (/.f64 (cos.f64 0) (sqrt.f64 2)) a1))) 0) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
17.9b
(+.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 (cos.f64 th) (sqrt.f64 2))) (sqrt.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)))) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
17.9b
(+.f64 (fma.f64 a1 (*.f64 (*.f64 (sqrt.f64 (cos.f64 th)) (/.f64 (sqrt.f64 (cos.f64 th)) (sqrt.f64 2))) a1) 0) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
1.0b
(+.f64 (fma.f64 a1 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) a1) 0) (*.f64 (pow.f64 (cbrt.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 (exp.f64 (log1p.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)))) -1) (*.f64 a2 a2)))
0.5b
(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) (*.f64 (cos.f64 th) (pow.f64 (/.f64 a2 (pow.f64 2 1/4)) 2)))
Compiler

Compiled 7207 to 4720 computations (34.5% saved)

localize12.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series2.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite45.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
408×rule-*ab-*ba_binary64
214×rule-*aa-fabs*aa_binary64
209×rule-/ab-*+aa/1/2b_binary64
170×rule-nega--0a_binary64
170×rule-nega-/a-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify25.0ms (0.3%)

Algorithm
egg-herbie
Rules
277×fma-neg_binary64
211×rule-/a*bc-//abc_binary64
209×rule-*a*bc-*b*ac_binary64
202×rule-*a/cb-/a/bc_binary64
190×rule-*a-bc-*nega-cb_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
034430
1237415
2964409
Stop Event
node limit
Counts
86 → 73
Calls
Call 1
Inputs
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 2)) (sqrt.f64 2))))
(+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 4)) (sqrt.f64 2))) (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 2)) (sqrt.f64 2)))))
(+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 4)) (sqrt.f64 2))) (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 2)) (sqrt.f64 2))) (*.f64 -1/720 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 6)) (sqrt.f64 2))))))
(/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2))
(/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
(/.f64 (*.f64 (pow.f64 a2 2) (cos.f64 th)) (sqrt.f64 2))
Outputs
(/.f64 (pow.f64 a2 2) (sqrt.f64 2))
(/.f64 (*.f64 a2 a2) (sqrt.f64 2))
(+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 2)) (sqrt.f64 2))))
(+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 -1/2 (*.f64 (*.f64 th th) (/.f64 (*.f64 a2 a2) (sqrt.f64 2)))))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 -1/2 (*.f64 a2 (*.f64 (*.f64 th th) a2)))) (sqrt.f64 2))
(/.f64 (+.f64 (*.f64 a2 a2) (*.f64 a2 (*.f64 -1/2 (*.f64 a2 (*.f64 th th))))) (sqrt.f64 2))
(+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 4)) (sqrt.f64 2))) (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 2)) (sqrt.f64 2)))))
(fma.f64 1/24 (/.f64 (*.f64 (*.f64 a2 a2) (pow.f64 th 4)) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (*.f64 -1/2 (*.f64 (*.f64 th th) (/.f64 (*.f64 a2 a2) (sqrt.f64 2))))))
(fma.f64 1/24 (*.f64 (*.f64 a2 a2) (/.f64 (pow.f64 th 4) (sqrt.f64 2))) (/.f64 (+.f64 (*.f64 a2 a2) (*.f64 -1/2 (*.f64 a2 (*.f64 (*.f64 th th) a2)))) (sqrt.f64 2)))
(/.f64 (+.f64 (*.f64 a2 a2) (+.f64 (*.f64 a2 (*.f64 -1/2 (*.f64 a2 (*.f64 th th)))) (*.f64 1/24 (*.f64 a2 (*.f64 a2 (pow.f64 th 4)))))) (sqrt.f64 2))
(+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 4)) (sqrt.f64 2))) (+.f64 (/.f64 (pow.f64 a2 2) (sqrt.f64 2)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 2)) (sqrt.f64 2))) (*.f64 -1/720 (/.f64 (*.f64 (pow.f64 a2 2) (pow.f64 th 6)) (sqrt.f64 2))))))
(fma.f64 1/24 (/.f64 (*.f64 (*.f64 a2 a2) (pow.f64 th 4)) (sqrt.f64 2)) (+.f64 (/.f64 (*.f64 a2 a2) (sqrt.f64 2)) (fma.f64 -1/2 (*.f64 (*.f64 th th) (/.f64 (*.f64 a2 a2) (sqrt.f64 2))) (*.f64 -1/720 (*.f64 (pow.f64 th 6) (/.f64 (*.f64 a2 a2) (sqrt.f64 2)))))))
(fma.f64 1/24 (*.f64 (*.f64 a2 a2) (/.f64 (pow.f64 th 4) (sqrt.f64 2))) (fma.f64 -1/2 (*.f64 (*.f64 a2 a2) (/.f64 (*.f64 th th) (sqrt.f64 2))) (/.f64 (+.f64 (*.f64 a2 a2) (*.f64 -1/720 (*.f64 a2 (*.f64 (pow.f64 th 6) a2)))) (sqrt.f64 2))))
(fma.f64 1/24 (/.f64 (*.f64 a2 a2) (/.f64 (sqrt.f64 2) (pow.f64 th 4))) (/.f64 (+.f64 (*.f64 -1/720 (*.f64 (*.f64 a2 a2) (pow.f64 th 6))) (+.f64 (*.f64 a2 a2) (*.f64 a2 (*.f64 -1/2 (*.f64 a2 (*.f64 th th)))))) (sqrt.f64 2)))
(/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (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 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
(/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (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 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
(/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (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 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
(/.f64 (*.f64 (cos.f64 th) (pow.f64 a2 2)) (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 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
(/.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 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
(/.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 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
(/.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 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
(/.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 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
(/.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 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
(/.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 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
(/.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 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
(/.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 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
(/.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 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
(/.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 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
(/.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 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
(/.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 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
(/.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 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
(/.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 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
(/.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 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))
(/.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 (*.f64 a2 a2) (sqrt.f64 2)) (cos.f64 th))

prune467.0ms (5.4%)

Pruning

14 alts after pruning (13 fresh and 1 done)

PrunedKeptTotal
New2271228
Fresh11213
Picked101
Done011
Total22914243
Error
0.0b
Counts
243 → 14
Alt Table
StatusErrorProgram
0.5b
(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) (*.f64 (cos.f64 th) (/.f64 (/.f64 (*.f64 a2 a2) (pow.f64 2 1/4)) (pow.f64 2 1/4))))
0.9b
(+.f64 (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) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
17.9b
(+.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 (cos.f64 th) (sqrt.f64 2))) (sqrt.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)))) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
0.6b
(+.f64 (fma.f64 a1 (*.f64 (cbrt.f64 (/.f64 (pow.f64 (cos.f64 th) 3) (*.f64 2 (sqrt.f64 2)))) a1) 0) (/.f64 (*.f64 (cos.f64 th) (*.f64 a2 a2)) (sqrt.f64 2)))
0.5b
(+.f64 (*.f64 (cos.f64 th) (*.f64 a1 (/.f64 a1 (sqrt.f64 2)))) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
0.5b
(+.f64 (fma.f64 a1 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) a1) 0) (fma.f64 a2 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) a2) 0))
0.6b
(+.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 (*.f64 (cbrt.f64 (cos.f64 th)) (/.f64 (pow.f64 (cbrt.f64 (cos.f64 th)) 2) (sqrt.f64 2))) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
0.5b
(+.f64 (/.f64 (*.f64 (pow.f64 a1 2) (cos.f64 th)) (sqrt.f64 2)) (*.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 (cos.f64 th) (*.f64 a2 (/.f64 a2 (sqrt.f64 2)))))
17.9b
(+.f64 (fma.f64 a1 (*.f64 (*.f64 (sqrt.f64 (cos.f64 th)) (/.f64 (sqrt.f64 (cos.f64 th)) (sqrt.f64 2))) a1) 0) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
1.0b
(+.f64 (fma.f64 a1 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) a1) 0) (*.f64 (pow.f64 (cbrt.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 (exp.f64 (log1p.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)))) -1) (*.f64 a2 a2)))
0.5b
(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) (*.f64 (cos.f64 th) (pow.f64 (/.f64 a2 (pow.f64 2 1/4)) 2)))
Compiler

Compiled 6514 to 4229 computations (35.1% saved)

regimes681.0ms (7.8%)

Accuracy

Total -16.8b remaining (-3493.7%)

Threshold costs -16.8b (-3493.7%)

Counts
130 → 1
Compiler

Compiled 2912 to 1676 computations (42.4% saved)

simplify1.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

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

end188.0ms (2.2%)

Stop Event
fuel
Remove

(sort a1 a2)

Compiler

Compiled 417 to 248 computations (40.5% saved)

Profiling

Loading profile data...