Details

Time bar (total: 15.4s)

analyze633.0ms (4.1%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%99.9%0.1%0%0%0%1
0%0%99.9%0.1%0%0%0%2
0%0%99.9%0.1%0%0%0%3
0%0%99.9%0.1%0%0%0%4
0%0%99.9%0.1%0%0%0%5
0%0%99.9%0.1%0%0%0%6
6.3%6.2%93.6%0.1%0%0%0%7
9.4%9.4%90.5%0.1%0%0%0%8
14.1%14%85.8%0.1%0%0%0%9
16.4%16.4%83.5%0.1%0%0%0%10
19.1%19.1%80.7%0.1%0%0%0%11
20.5%20.5%79.4%0.1%0%0%0%12
Compiler

Compiled 13 to 9 computations (30.8% saved)

sample2.9s (19%)

Results
1.7s3581×body1024valid
568.0ms3039×body256valid
452.0ms1425×body512valid
187.0ms211×body2048valid
0.0msbody512infinite
0.0msbody256infinite
Bogosity

preprocess21.0ms (0.1%)

Algorithm
egg-herbie
Rules
12×*-commutative_binary64
associate-/l*_binary64
associate-/r/_binary64
+-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02356
13956
25356
36556
46956
033
Stop Event
saturated
saturated
Calls
Call 1
Inputs
0
1
2
Outputs
0
1
2
Call 2
Inputs
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 a (sin.f64 b)) (cos.f64 (+.f64 r b)))
(/.f64 (*.f64 b (sin.f64 r)) (cos.f64 (+.f64 a r)))
(/.f64 (*.f64 r (sin.f64 a)) (cos.f64 (+.f64 b a)))
Outputs
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 a b)))
(/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)))
(*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))
(*.f64 (sin.f64 b) (/.f64 r (cos.f64 (+.f64 b a))))
(/.f64 (*.f64 a (sin.f64 b)) (cos.f64 (+.f64 r b)))
(/.f64 a (/.f64 (cos.f64 (+.f64 r b)) (sin.f64 b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 r b)) a))
(/.f64 (*.f64 b (sin.f64 r)) (cos.f64 (+.f64 a r)))
(/.f64 b (/.f64 (cos.f64 (+.f64 r a)) (sin.f64 r)))
(/.f64 (sin.f64 r) (/.f64 (cos.f64 (+.f64 r a)) b))
(/.f64 (*.f64 r (sin.f64 a)) (cos.f64 (+.f64 b a)))
(*.f64 (/.f64 (sin.f64 a) (cos.f64 (+.f64 b a))) r)
(*.f64 r (/.f64 (sin.f64 a) (cos.f64 (+.f64 b a))))
Compiler

Compiled 15 to 11 computations (26.7% saved)

simplify9.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
associate-/l*_binary64
associate-/r/_binary64
+-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0914
11314
21714
32014
42114
Stop Event
saturated
Counts
1 → 2
Calls
Call 1
Inputs
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 a b)))
Outputs
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 b a)))

eval1.0ms (0%)

Compiler

Compiled 21 to 11 computations (47.6% saved)

prune1.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
16.2b
Counts
3 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
16.2b
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 b a)))
Compiler

Compiled 12 to 8 computations (33.3% saved)

localize12.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(*.f64 r (sin.f64 b))
0.2b
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 b a)))
4.3b
(cos.f64 (+.f64 b a))
Compiler

Compiled 28 to 8 computations (71.4% saved)

series16.0ms (0.1%)

Counts
3 → 84
Calls

21 calls:

TimeVariablePointExpression
3.0ms
a
@0
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 b a)))
2.0ms
r
@0
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 b a)))
1.0ms
b
@0
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 b a)))
1.0ms
b
@inf
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 b a)))
1.0ms
a
@inf
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 b a)))

rewrite83.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
592×prod-diff_binary64
556×log-prod_binary64
344×pow-prod-down_binary64
288×pow2_binary64
211×fma-def_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0926
120026
2293826
Stop Event
node limit
Counts
3 → 133
Calls
Call 1
Inputs
(cos.f64 (+.f64 b a))
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 b a)))
(*.f64 r (sin.f64 b))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 (+.f64 b a)) (fma.f64 (neg.f64 (sin.f64 a)) (sin.f64 b) (*.f64 (sin.f64 b) (sin.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 (+.f64 b a)) (fma.f64 (neg.f64 (sin.f64 b)) (sin.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 (+.f64 b a)) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))) (sqrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (*.f64 (sin.f64 b) (sin.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (neg.f64 (*.f64 (sin.f64 b) (sin.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (neg.f64 (sin.f64 b)) (sin.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cos.f64 (+.f64 b a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (*.f64 (cos.f64 b) (cos.f64 a)) (neg.f64 (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 1))) (fma.f64 (neg.f64 (*.f64 (sin.f64 b) (sin.f64 a))) 1 (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cos.f64 b) (cos.f64 a) (neg.f64 (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 1))) (fma.f64 (neg.f64 (*.f64 (sin.f64 b) (sin.f64 a))) 1 (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cos.f64 a) (cos.f64 b) (neg.f64 (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 1))) (fma.f64 (neg.f64 (*.f64 (sin.f64 b) (sin.f64 a))) 1 (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 b) (cos.f64 a))) 2) (cbrt.f64 (*.f64 (cos.f64 b) (cos.f64 a))) (neg.f64 (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 1))) (fma.f64 (neg.f64 (*.f64 (sin.f64 b) (sin.f64 a))) 1 (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (*.f64 (cos.f64 b) (cos.f64 a))) (sqrt.f64 (*.f64 (cos.f64 b) (cos.f64 a))) (neg.f64 (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 1))) (fma.f64 (neg.f64 (*.f64 (sin.f64 b) (sin.f64 a))) 1 (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (*.f64 (cos.f64 b) (cos.f64 a)) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (cbrt.f64 (pow.f64 (sin.f64 b) 2))))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a))) (cbrt.f64 (pow.f64 (sin.f64 b) 2)) (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (cbrt.f64 (pow.f64 (sin.f64 b) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cos.f64 b) (cos.f64 a) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (cbrt.f64 (pow.f64 (sin.f64 b) 2))))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a))) (cbrt.f64 (pow.f64 (sin.f64 b) 2)) (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (cbrt.f64 (pow.f64 (sin.f64 b) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cos.f64 a) (cos.f64 b) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (cbrt.f64 (pow.f64 (sin.f64 b) 2))))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a))) (cbrt.f64 (pow.f64 (sin.f64 b) 2)) (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (cbrt.f64 (pow.f64 (sin.f64 b) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 b) (cos.f64 a))) 2) (cbrt.f64 (*.f64 (cos.f64 b) (cos.f64 a))) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (cbrt.f64 (pow.f64 (sin.f64 b) 2))))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a))) (cbrt.f64 (pow.f64 (sin.f64 b) 2)) (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (cbrt.f64 (pow.f64 (sin.f64 b) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (*.f64 (cos.f64 b) (cos.f64 a))) (sqrt.f64 (*.f64 (cos.f64 b) (cos.f64 a))) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (cbrt.f64 (pow.f64 (sin.f64 b) 2))))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a))) (cbrt.f64 (pow.f64 (sin.f64 b) 2)) (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (cbrt.f64 (pow.f64 (sin.f64 b) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (*.f64 (cos.f64 b) (cos.f64 a)) (neg.f64 (*.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a)) (sqrt.f64 (sin.f64 b))))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a))) (sqrt.f64 (sin.f64 b)) (*.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a)) (sqrt.f64 (sin.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cos.f64 b) (cos.f64 a) (neg.f64 (*.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a)) (sqrt.f64 (sin.f64 b))))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a))) (sqrt.f64 (sin.f64 b)) (*.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a)) (sqrt.f64 (sin.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cos.f64 a) (cos.f64 b) (neg.f64 (*.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a)) (sqrt.f64 (sin.f64 b))))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a))) (sqrt.f64 (sin.f64 b)) (*.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a)) (sqrt.f64 (sin.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 b) (cos.f64 a))) 2) (cbrt.f64 (*.f64 (cos.f64 b) (cos.f64 a))) (neg.f64 (*.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a)) (sqrt.f64 (sin.f64 b))))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a))) (sqrt.f64 (sin.f64 b)) (*.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a)) (sqrt.f64 (sin.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (*.f64 (cos.f64 b) (cos.f64 a))) (sqrt.f64 (*.f64 (cos.f64 b) (cos.f64 a))) (neg.f64 (*.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a)) (sqrt.f64 (sin.f64 b))))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a))) (sqrt.f64 (sin.f64 b)) (*.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a)) (sqrt.f64 (sin.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (*.f64 (cos.f64 b) (cos.f64 a)) (neg.f64 (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) 2)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) 2) (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cos.f64 b) (cos.f64 a) (neg.f64 (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) 2)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) 2) (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cos.f64 a) (cos.f64 b) (neg.f64 (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) 2)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) 2) (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 b) (cos.f64 a))) 2) (cbrt.f64 (*.f64 (cos.f64 b) (cos.f64 a))) (neg.f64 (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) 2)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) 2) (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (*.f64 (cos.f64 b) (cos.f64 a))) (sqrt.f64 (*.f64 (cos.f64 b) (cos.f64 a))) (neg.f64 (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) 2)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) 2) (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 (exp.f64 (log1p.f64 (+.f64 b a)))) (cos.f64 1)) (*.f64 (sin.f64 (exp.f64 (log1p.f64 (+.f64 b a)))) (sin.f64 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 (/.f64 (*.f64 b b) (-.f64 b a))) (cos.f64 (/.f64 (*.f64 a a) (-.f64 b a)))) (*.f64 (sin.f64 (/.f64 (*.f64 b b) (-.f64 b a))) (sin.f64 (/.f64 (*.f64 a a) (-.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 (+.f64 b a)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (cos.f64 (+.f64 b a))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (cos.f64 (+.f64 b a))))) (log.f64 (sqrt.f64 (exp.f64 (cos.f64 (+.f64 b a))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (cos.f64 (+.f64 b a)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 (+.f64 b a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cos.f64 (+.f64 b a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 2) (cbrt.f64 (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cos.f64 (+.f64 b a))) (sqrt.f64 (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) 3) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 3)) (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) 2) (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 2) (*.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) 2) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 2)) (cos.f64 (-.f64 b a)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cos.f64 (+.f64 b a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cos.f64 (+.f64 b a)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cos.f64 (+.f64 b a)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (cos.f64 (+.f64 b a))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cos.f64 (+.f64 b a)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (cos.f64 (+.f64 b a)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cos.f64 (+.f64 b a))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 (+.f64 b a)) 1 (fma.f64 (neg.f64 (sin.f64 a)) (sin.f64 b) (*.f64 (sin.f64 b) (sin.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (cos.f64 (+.f64 b a)) (fma.f64 (neg.f64 (sin.f64 a)) (sin.f64 b) (*.f64 (sin.f64 b) (sin.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (cos.f64 b) (cos.f64 a)) (neg.f64 (*.f64 (sin.f64 b) (sin.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (neg.f64 (sin.f64 b)) (sin.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 2) (fma.f64 (neg.f64 (sin.f64 a)) (sin.f64 b) (*.f64 (sin.f64 b) (sin.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 2) (cbrt.f64 (cos.f64 (+.f64 b a))) (fma.f64 (neg.f64 (sin.f64 a)) (sin.f64 b) (*.f64 (sin.f64 b) (sin.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 (+.f64 b a))) (sqrt.f64 (cos.f64 (+.f64 b a))) (fma.f64 (neg.f64 (sin.f64 a)) (sin.f64 b) (*.f64 (sin.f64 b) (sin.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 b) (cos.f64 a) (neg.f64 (*.f64 (sin.f64 b) (sin.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 b) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 b)) (sin.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 a) (cos.f64 b) (neg.f64 (*.f64 (sin.f64 b) (sin.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 a) (cos.f64 b) (*.f64 (neg.f64 (sin.f64 b)) (sin.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 b) (cos.f64 a))) 2) (cbrt.f64 (*.f64 (cos.f64 b) (cos.f64 a))) (neg.f64 (*.f64 (sin.f64 b) (sin.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 b) (cos.f64 a))) 2) (cbrt.f64 (*.f64 (cos.f64 b) (cos.f64 a))) (*.f64 (neg.f64 (sin.f64 b)) (sin.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (cos.f64 b) (cos.f64 a))) (sqrt.f64 (*.f64 (cos.f64 b) (cos.f64 a))) (neg.f64 (*.f64 (sin.f64 b) (sin.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (cos.f64 b) (cos.f64 a))) (sqrt.f64 (*.f64 (cos.f64 b) (cos.f64 a))) (*.f64 (neg.f64 (sin.f64 b)) (sin.f64 a)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))))) (log.f64 (sqrt.f64 (exp.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 r (/.f64 1 (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 r (*.f64 (sin.f64 b) (/.f64 1 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 b) (*.f64 r (/.f64 1 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 r (sin.f64 b)) (/.f64 1 (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 2) (*.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) (/.f64 1 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))) (cbrt.f64 (pow.f64 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 r (sin.f64 b))) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 r (sin.f64 b))) -2)) (cbrt.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 r (sin.f64 b))) (*.f64 (sqrt.f64 (*.f64 r (sin.f64 b))) (/.f64 1 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))) (sqrt.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 r (neg.f64 (sin.f64 b))) (/.f64 1 (neg.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cos.f64 (+.f64 b a))) (*.f64 r (sin.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 r 1) (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 b) 1) (/.f64 r (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 2) 1) (/.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 r (sin.f64 b))) 1) (/.f64 (sqrt.f64 (*.f64 r (sin.f64 b))) (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 r (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 2)) (/.f64 (sin.f64 b) (cbrt.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 b) (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 2)) (/.f64 r (cbrt.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) -2) (/.f64 (*.f64 r (sin.f64 b)) (cbrt.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 2) (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 2)) (cbrt.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 r (sin.f64 b))) (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 2)) (/.f64 (sqrt.f64 (*.f64 r (sin.f64 b))) (cbrt.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 r (sqrt.f64 (cos.f64 (+.f64 b a)))) (/.f64 (sin.f64 b) (sqrt.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 b) (sqrt.f64 (cos.f64 (+.f64 b a)))) (/.f64 r (sqrt.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cos.f64 (+.f64 b a)) -1/2) (/.f64 (*.f64 r (sin.f64 b)) (sqrt.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 2) (sqrt.f64 (cos.f64 (+.f64 b a)))) (/.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) (sqrt.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 r (sin.f64 b))) -2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 r (sin.f64 b))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (*.f64 r (sin.f64 b)) 3) (pow.f64 (cos.f64 (+.f64 b a)) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 r (sin.f64 b))) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 r (sin.f64 b)) (neg.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 r (sin.f64 b))) -2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (*.f64 r (sin.f64 b)) 3) (pow.f64 (cos.f64 (+.f64 b a)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 r (sin.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 r) (sin.f64 b))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 r) (sin.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 r) (sin.f64 b)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 r) (sin.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 r (sin.f64 b)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 r (sin.f64 b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 r (sin.f64 b)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 r (sin.f64 b)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 r (sin.f64 b))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 r (sin.f64 b)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 r) (sin.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 r (sin.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 r (sin.f64 b)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 r (sin.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 r (sin.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 r (sin.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 r (sin.f64 b))) 1))))))

simplify54.0ms (0.3%)

Algorithm
egg-herbie
Rules
768×associate-*r*_binary64
753×fma-def_binary64
723×associate-*l*_binary64
372×times-frac_binary64
327×associate-/l*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01411383
14561333
215331282
Stop Event
node limit
Counts
217 → 179
Calls
Call 1
Inputs
(cos.f64 a)
(+.f64 (cos.f64 a) (*.f64 -1 (*.f64 (sin.f64 a) b)))
(+.f64 (cos.f64 a) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) b)) (*.f64 -1/2 (*.f64 (cos.f64 a) (pow.f64 b 2)))))
(+.f64 (cos.f64 a) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) b)) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 a) (pow.f64 b 3))) (*.f64 -1/2 (*.f64 (cos.f64 a) (pow.f64 b 2))))))
(cos.f64 (+.f64 a b))
(cos.f64 (+.f64 a b))
(cos.f64 (+.f64 a b))
(cos.f64 (+.f64 a b))
(cos.f64 (-.f64 a (*.f64 -1 b)))
(cos.f64 (-.f64 a (*.f64 -1 b)))
(cos.f64 (-.f64 a (*.f64 -1 b)))
(cos.f64 (-.f64 a (*.f64 -1 b)))
(cos.f64 b)
(+.f64 (*.f64 -1 (*.f64 (sin.f64 b) a)) (cos.f64 b))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 b) a)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 a 2) (cos.f64 b))) (cos.f64 b)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 b) a)) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 b) (pow.f64 a 3))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 a 2) (cos.f64 b))) (cos.f64 b))))
(cos.f64 (+.f64 a b))
(cos.f64 (+.f64 a b))
(cos.f64 (+.f64 a b))
(cos.f64 (+.f64 a b))
(cos.f64 (-.f64 b (*.f64 -1 a)))
(cos.f64 (-.f64 b (*.f64 -1 a)))
(cos.f64 (-.f64 b (*.f64 -1 a)))
(cos.f64 (-.f64 b (*.f64 -1 a)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 b r) (cos.f64 a))
(+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 (pow.f64 b 2) r)) (pow.f64 (cos.f64 a) 2)) (/.f64 (*.f64 r b) (cos.f64 a)))
(+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 r (pow.f64 b 2))) (pow.f64 (cos.f64 a) 2)) (+.f64 (/.f64 (*.f64 r b) (cos.f64 a)) (*.f64 (pow.f64 b 3) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (+.f64 (*.f64 -1/2 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3))))))))
(+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 r (pow.f64 b 2))) (pow.f64 (cos.f64 a) 2)) (+.f64 (/.f64 (*.f64 r b) (cos.f64 a)) (+.f64 (*.f64 (pow.f64 b 3) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (+.f64 (*.f64 -1/2 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3)))))) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 a) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (+.f64 (*.f64 -1/2 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3)))))) (cos.f64 a))) (+.f64 (*.f64 1/6 (/.f64 (*.f64 (sin.f64 a) r) (pow.f64 (cos.f64 a) 2))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 a) r) (pow.f64 (cos.f64 a) 2))))) (pow.f64 b 4))))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 a (*.f64 -1 b))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 a (*.f64 -1 b))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 a (*.f64 -1 b))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 a (*.f64 -1 b))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))
(+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 a r)) (pow.f64 (cos.f64 b) 2)) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))
(+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 a r)) (pow.f64 (cos.f64 b) 2)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 3) r) (pow.f64 (cos.f64 b) 3))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))))) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))))
(+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 a r)) (pow.f64 (cos.f64 b) 2)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 3) (+.f64 (/.f64 (*.f64 (sin.f64 b) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 3) r) (pow.f64 (cos.f64 b) 3))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))))) (cos.f64 b)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) r) (pow.f64 (cos.f64 b) 2))) (*.f64 1/6 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) r) (pow.f64 (cos.f64 b) 2))))))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 3) r) (pow.f64 (cos.f64 b) 3))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))))) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 b (*.f64 -1 a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 b (*.f64 -1 a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 b (*.f64 -1 a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 b (*.f64 -1 a))))
(*.f64 (sin.f64 b) r)
(*.f64 (sin.f64 b) r)
(*.f64 (sin.f64 b) r)
(*.f64 (sin.f64 b) r)
(*.f64 (sin.f64 b) r)
(*.f64 (sin.f64 b) r)
(*.f64 (sin.f64 b) r)
(*.f64 (sin.f64 b) r)
(*.f64 (sin.f64 b) r)
(*.f64 (sin.f64 b) r)
(*.f64 (sin.f64 b) r)
(*.f64 (sin.f64 b) r)
(*.f64 r b)
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 b 3) r)) (*.f64 r b))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 b 3) r)) (+.f64 (*.f64 r b) (*.f64 1/120 (*.f64 (pow.f64 b 5) r))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 b 3) r)) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 b 7) r)) (+.f64 (*.f64 r b) (*.f64 1/120 (*.f64 (pow.f64 b 5) r)))))
(*.f64 (sin.f64 b) r)
(*.f64 (sin.f64 b) r)
(*.f64 (sin.f64 b) r)
(*.f64 (sin.f64 b) r)
(*.f64 (sin.f64 b) r)
(*.f64 (sin.f64 b) r)
(*.f64 (sin.f64 b) r)
(*.f64 (sin.f64 b) r)
Outputs
(cos.f64 a)
(+.f64 (cos.f64 a) (*.f64 -1 (*.f64 (sin.f64 a) b)))
(+.f64 (cos.f64 a) (neg.f64 (*.f64 (sin.f64 a) b)))
(-.f64 (cos.f64 a) (*.f64 (sin.f64 a) b))
(+.f64 (cos.f64 a) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) b)) (*.f64 -1/2 (*.f64 (cos.f64 a) (pow.f64 b 2)))))
(+.f64 (cos.f64 a) (fma.f64 -1 (*.f64 (sin.f64 a) b) (*.f64 -1/2 (*.f64 (cos.f64 a) (*.f64 b b)))))
(+.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) b)) (*.f64 (cos.f64 a) (*.f64 (*.f64 b b) -1/2)))
(+.f64 (cos.f64 a) (*.f64 b (-.f64 (*.f64 (cos.f64 a) (*.f64 -1/2 b)) (sin.f64 a))))
(+.f64 (cos.f64 a) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) b)) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 a) (pow.f64 b 3))) (*.f64 -1/2 (*.f64 (cos.f64 a) (pow.f64 b 2))))))
(+.f64 (cos.f64 a) (fma.f64 -1 (*.f64 (sin.f64 a) b) (fma.f64 1/6 (*.f64 (sin.f64 a) (pow.f64 b 3)) (*.f64 -1/2 (*.f64 (cos.f64 a) (*.f64 b b))))))
(+.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) b)) (fma.f64 1/6 (*.f64 (sin.f64 a) (pow.f64 b 3)) (*.f64 (cos.f64 a) (*.f64 (*.f64 b b) -1/2))))
(+.f64 (cos.f64 a) (fma.f64 (cos.f64 a) (*.f64 b (*.f64 b -1/2)) (*.f64 (sin.f64 a) (+.f64 (neg.f64 b) (*.f64 1/6 (pow.f64 b 3))))))
(cos.f64 (+.f64 a b))
(cos.f64 (+.f64 a b))
(cos.f64 (+.f64 a b))
(cos.f64 (+.f64 a b))
(cos.f64 (-.f64 a (*.f64 -1 b)))
(cos.f64 (+.f64 a b))
(cos.f64 (-.f64 a (*.f64 -1 b)))
(cos.f64 (+.f64 a b))
(cos.f64 (-.f64 a (*.f64 -1 b)))
(cos.f64 (+.f64 a b))
(cos.f64 (-.f64 a (*.f64 -1 b)))
(cos.f64 (+.f64 a b))
(cos.f64 b)
(+.f64 (*.f64 -1 (*.f64 (sin.f64 b) a)) (cos.f64 b))
(fma.f64 -1 (*.f64 a (sin.f64 b)) (cos.f64 b))
(-.f64 (cos.f64 b) (*.f64 a (sin.f64 b)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 b) a)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 a 2) (cos.f64 b))) (cos.f64 b)))
(fma.f64 -1 (*.f64 a (sin.f64 b)) (fma.f64 -1/2 (*.f64 (cos.f64 b) (*.f64 a a)) (cos.f64 b)))
(-.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 a a)) 1) (cos.f64 b)) (*.f64 a (sin.f64 b)))
(-.f64 (*.f64 (fma.f64 -1/2 (*.f64 a a) 1) (cos.f64 b)) (*.f64 a (sin.f64 b)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 b) a)) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 b) (pow.f64 a 3))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 a 2) (cos.f64 b))) (cos.f64 b))))
(fma.f64 -1 (*.f64 a (sin.f64 b)) (fma.f64 1/6 (*.f64 (sin.f64 b) (pow.f64 a 3)) (fma.f64 -1/2 (*.f64 (cos.f64 b) (*.f64 a a)) (cos.f64 b))))
(-.f64 (fma.f64 1/6 (*.f64 (sin.f64 b) (pow.f64 a 3)) (*.f64 (+.f64 (*.f64 -1/2 (*.f64 a a)) 1) (cos.f64 b))) (*.f64 a (sin.f64 b)))
(fma.f64 (fma.f64 -1/2 (*.f64 a a) 1) (cos.f64 b) (*.f64 (sin.f64 b) (+.f64 (neg.f64 a) (*.f64 1/6 (pow.f64 a 3)))))
(cos.f64 (+.f64 a b))
(cos.f64 (+.f64 a b))
(cos.f64 (+.f64 a b))
(cos.f64 (+.f64 a b))
(cos.f64 (-.f64 b (*.f64 -1 a)))
(cos.f64 (+.f64 a b))
(cos.f64 (-.f64 b (*.f64 -1 a)))
(cos.f64 (+.f64 a b))
(cos.f64 (-.f64 b (*.f64 -1 a)))
(cos.f64 (+.f64 a b))
(cos.f64 (-.f64 b (*.f64 -1 a)))
(cos.f64 (+.f64 a b))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 a b)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 a b)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 a b)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 a b)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 a b)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 a b)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 a b)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 a b)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 a b)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 a b)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 a b)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 a b)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))) r)
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 b (/.f64 (cos.f64 a) r))
(*.f64 (/.f64 r (cos.f64 a)) b)
(+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 (pow.f64 b 2) r)) (pow.f64 (cos.f64 a) 2)) (/.f64 (*.f64 r b) (cos.f64 a)))
(+.f64 (/.f64 b (/.f64 (cos.f64 a) r)) (/.f64 (*.f64 (sin.f64 a) (*.f64 (*.f64 b b) r)) (pow.f64 (cos.f64 a) 2)))
(+.f64 (*.f64 (/.f64 r (cos.f64 a)) b) (/.f64 (*.f64 (sin.f64 a) (*.f64 b (*.f64 b r))) (pow.f64 (cos.f64 a) 2)))
(fma.f64 (/.f64 r (cos.f64 a)) b (*.f64 (/.f64 r (/.f64 (pow.f64 (cos.f64 a) 2) (sin.f64 a))) (*.f64 b b)))
(+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 r (pow.f64 b 2))) (pow.f64 (cos.f64 a) 2)) (+.f64 (/.f64 (*.f64 r b) (cos.f64 a)) (*.f64 (pow.f64 b 3) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (+.f64 (*.f64 -1/2 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3))))))))
(+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 (*.f64 b b) r)) (pow.f64 (cos.f64 a) 2)) (+.f64 (/.f64 b (/.f64 (cos.f64 a) r)) (*.f64 (pow.f64 b 3) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (fma.f64 -1/2 (/.f64 r (cos.f64 a)) (neg.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (/.f64 (pow.f64 (cos.f64 a) 3) r))))))))
(+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 b (*.f64 b r))) (pow.f64 (cos.f64 a) 2)) (fma.f64 (pow.f64 b 3) (-.f64 (*.f64 (/.f64 r (cos.f64 a)) 1/3) (/.f64 (neg.f64 (pow.f64 (sin.f64 a) 2)) (/.f64 (pow.f64 (cos.f64 a) 3) r))) (*.f64 (/.f64 r (cos.f64 a)) b)))
(fma.f64 (pow.f64 b 3) (fma.f64 (/.f64 r (cos.f64 a)) 1/3 (*.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3)) r)) (fma.f64 (/.f64 r (cos.f64 a)) b (*.f64 (/.f64 r (/.f64 (pow.f64 (cos.f64 a) 2) (sin.f64 a))) (*.f64 b b))))
(+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 r (pow.f64 b 2))) (pow.f64 (cos.f64 a) 2)) (+.f64 (/.f64 (*.f64 r b) (cos.f64 a)) (+.f64 (*.f64 (pow.f64 b 3) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (+.f64 (*.f64 -1/2 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3)))))) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 a) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (+.f64 (*.f64 -1/2 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3)))))) (cos.f64 a))) (+.f64 (*.f64 1/6 (/.f64 (*.f64 (sin.f64 a) r) (pow.f64 (cos.f64 a) 2))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 a) r) (pow.f64 (cos.f64 a) 2))))) (pow.f64 b 4))))))
(+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 (*.f64 b b) r)) (pow.f64 (cos.f64 a) 2)) (+.f64 (/.f64 b (/.f64 (cos.f64 a) r)) (fma.f64 (pow.f64 b 3) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (fma.f64 -1/2 (/.f64 r (cos.f64 a)) (neg.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (/.f64 (pow.f64 (cos.f64 a) 3) r))))) (neg.f64 (*.f64 (fma.f64 -1 (/.f64 (sin.f64 a) (/.f64 (cos.f64 a) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (fma.f64 -1/2 (/.f64 r (cos.f64 a)) (neg.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (/.f64 (pow.f64 (cos.f64 a) 3) r))))))) (*.f64 (/.f64 (*.f64 (sin.f64 a) r) (pow.f64 (cos.f64 a) 2)) -1/3)) (pow.f64 b 4))))))
(+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 b (*.f64 b r))) (pow.f64 (cos.f64 a) 2)) (-.f64 (fma.f64 (pow.f64 b 3) (-.f64 (*.f64 (/.f64 r (cos.f64 a)) 1/3) (/.f64 (neg.f64 (pow.f64 (sin.f64 a) 2)) (/.f64 (pow.f64 (cos.f64 a) 3) r))) (*.f64 (/.f64 r (cos.f64 a)) b)) (*.f64 (-.f64 (/.f64 (*.f64 (*.f64 (sin.f64 a) r) -1/3) (pow.f64 (cos.f64 a) 2)) (*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) (-.f64 (*.f64 (/.f64 r (cos.f64 a)) 1/3) (/.f64 (neg.f64 (pow.f64 (sin.f64 a) 2)) (/.f64 (pow.f64 (cos.f64 a) 3) r))))) (pow.f64 b 4))))
(fma.f64 (/.f64 r (cos.f64 a)) b (fma.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b (*.f64 b r)) (fma.f64 (-.f64 (/.f64 (*.f64 r -1/3) (/.f64 (pow.f64 (cos.f64 a) 2) (sin.f64 a))) (*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) (fma.f64 (/.f64 r (cos.f64 a)) 1/3 (*.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3)) r)))) (neg.f64 (pow.f64 b 4)) (*.f64 (pow.f64 b 3) (fma.f64 (/.f64 r (cos.f64 a)) 1/3 (*.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3)) r))))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 a b)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 a b)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 a b)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 a b)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 a (*.f64 -1 b))))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 a b)) r))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 a (*.f64 -1 b))))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 a b)) r))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 a (*.f64 -1 b))))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 a b)) r))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 a (*.f64 -1 b))))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 a b)) r))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r)
(*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b))
(+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 a r)) (pow.f64 (cos.f64 b) 2)) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))
(+.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r)) (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 a r)) (pow.f64 (cos.f64 b) 2)))
(+.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r) (*.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)) (*.f64 a r)))
(fma.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)) (*.f64 a r) (*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b)))
(+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 a r)) (pow.f64 (cos.f64 b) 2)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 3) r) (pow.f64 (cos.f64 b) 3))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))))) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))))
(+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 a r)) (pow.f64 (cos.f64 b) 2)) (fma.f64 -1 (*.f64 (*.f64 a a) (fma.f64 -1 (/.f64 (*.f64 r (pow.f64 (sin.f64 b) 3)) (pow.f64 (cos.f64 b) 3)) (/.f64 (*.f64 -1/2 (*.f64 (sin.f64 b) r)) (cos.f64 b)))) (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r))))
(+.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r) (-.f64 (*.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)) (*.f64 a r)) (*.f64 (*.f64 a a) (-.f64 (*.f64 -1/2 (*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r)) (*.f64 (/.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 (cos.f64 b) 3)) r)))))
(fma.f64 (*.f64 a a) (neg.f64 (-.f64 (/.f64 (*.f64 (sin.f64 b) (*.f64 -1/2 r)) (cos.f64 b)) (*.f64 (/.f64 r (pow.f64 (cos.f64 b) 3)) (pow.f64 (sin.f64 b) 3)))) (fma.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)) (*.f64 a r) (*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b))))
(+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 a r)) (pow.f64 (cos.f64 b) 2)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 3) (+.f64 (/.f64 (*.f64 (sin.f64 b) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 3) r) (pow.f64 (cos.f64 b) 3))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))))) (cos.f64 b)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) r) (pow.f64 (cos.f64 b) 2))) (*.f64 1/6 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) r) (pow.f64 (cos.f64 b) 2))))))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 3) r) (pow.f64 (cos.f64 b) 3))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))))) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))))
(+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 a r)) (pow.f64 (cos.f64 b) 2)) (fma.f64 -1 (*.f64 (pow.f64 a 3) (+.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) (fma.f64 -1 (/.f64 (*.f64 r (pow.f64 (sin.f64 b) 3)) (pow.f64 (cos.f64 b) 3)) (/.f64 (*.f64 -1/2 (*.f64 (sin.f64 b) r)) (cos.f64 b))))) (*.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (/.f64 (pow.f64 (cos.f64 b) 2) r)) -1/3))) (fma.f64 -1 (*.f64 (*.f64 a a) (fma.f64 -1 (/.f64 (*.f64 r (pow.f64 (sin.f64 b) 3)) (pow.f64 (cos.f64 b) 3)) (/.f64 (*.f64 -1/2 (*.f64 (sin.f64 b) r)) (cos.f64 b)))) (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r)))))
(+.f64 (*.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)) (*.f64 a r)) (-.f64 (-.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r) (*.f64 (*.f64 a a) (-.f64 (*.f64 -1/2 (*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r)) (*.f64 (/.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 (cos.f64 b) 3)) r)))) (*.f64 (pow.f64 a 3) (fma.f64 (*.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)) r) -1/3 (*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) (-.f64 (*.f64 -1/2 (*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r)) (*.f64 (/.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 (cos.f64 b) 3)) r)))))))
(fma.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)) (*.f64 a r) (-.f64 (*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b)) (*.f64 (*.f64 a a) (+.f64 (*.f64 (fma.f64 (/.f64 (sin.f64 b) (cos.f64 b)) (-.f64 (/.f64 (*.f64 (sin.f64 b) (*.f64 -1/2 r)) (cos.f64 b)) (*.f64 (/.f64 r (pow.f64 (cos.f64 b) 3)) (pow.f64 (sin.f64 b) 3))) (/.f64 (*.f64 r (*.f64 (pow.f64 (sin.f64 b) 2) -1/3)) (pow.f64 (cos.f64 b) 2))) a) (-.f64 (/.f64 (*.f64 (sin.f64 b) (*.f64 -1/2 r)) (cos.f64 b)) (*.f64 (/.f64 r (pow.f64 (cos.f64 b) 3)) (pow.f64 (sin.f64 b) 3)))))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 a b)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 a b)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 a b)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 a b)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 b (*.f64 -1 a))))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 a b)) r))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 b (*.f64 -1 a))))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 a b)) r))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 b (*.f64 -1 a))))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 a b)) r))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 b (*.f64 -1 a))))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 a b)) r))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))) r)
(*.f64 (sin.f64 b) r)
(*.f64 (sin.f64 b) r)
(*.f64 (sin.f64 b) r)
(*.f64 (sin.f64 b) r)
(*.f64 (sin.f64 b) r)
(*.f64 (sin.f64 b) r)
(*.f64 (sin.f64 b) r)
(*.f64 (sin.f64 b) r)
(*.f64 (sin.f64 b) r)
(*.f64 (sin.f64 b) r)
(*.f64 (sin.f64 b) r)
(*.f64 (sin.f64 b) r)
(*.f64 r b)
(*.f64 b r)
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 b 3) r)) (*.f64 r b))
(fma.f64 -1/6 (*.f64 (pow.f64 b 3) r) (*.f64 b r))
(*.f64 r (+.f64 (*.f64 (pow.f64 b 3) -1/6) b))
(*.f64 r (fma.f64 (pow.f64 b 3) -1/6 b))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 b 3) r)) (+.f64 (*.f64 r b) (*.f64 1/120 (*.f64 (pow.f64 b 5) r))))
(fma.f64 -1/6 (*.f64 (pow.f64 b 3) r) (fma.f64 r b (*.f64 1/120 (*.f64 r (pow.f64 b 5)))))
(fma.f64 -1/6 (*.f64 (pow.f64 b 3) r) (*.f64 r (+.f64 b (*.f64 1/120 (pow.f64 b 5)))))
(*.f64 r (+.f64 (*.f64 (pow.f64 b 3) -1/6) (fma.f64 1/120 (pow.f64 b 5) b)))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 b 3) r)) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 b 7) r)) (+.f64 (*.f64 r b) (*.f64 1/120 (*.f64 (pow.f64 b 5) r)))))
(fma.f64 -1/6 (*.f64 (pow.f64 b 3) r) (fma.f64 -1/5040 (*.f64 r (pow.f64 b 7)) (fma.f64 r b (*.f64 1/120 (*.f64 r (pow.f64 b 5))))))
(fma.f64 -1/6 (*.f64 (pow.f64 b 3) r) (fma.f64 -1/5040 (*.f64 r (pow.f64 b 7)) (*.f64 r (+.f64 b (*.f64 1/120 (pow.f64 b 5))))))
(*.f64 r (+.f64 (fma.f64 1/120 (pow.f64 b 5) b) (fma.f64 (pow.f64 b 3) -1/6 (*.f64 -1/5040 (pow.f64 b 7)))))
(*.f64 (sin.f64 b) r)
(*.f64 (sin.f64 b) r)
(*.f64 (sin.f64 b) r)
(*.f64 (sin.f64 b) r)
(*.f64 (sin.f64 b) r)
(*.f64 (sin.f64 b) r)
(*.f64 (sin.f64 b) r)
(*.f64 (sin.f64 b) r)

eval57.0ms (0.4%)

Compiler

Compiled 4031 to 1218 computations (69.8% saved)

prune85.0ms (0.6%)

Pruning

43 alts after pruning (43 fresh and 0 done)

PrunedKeptTotal
New13643179
Fresh000
Picked101
Done000
Total13743180
Error
0.1b
Counts
180 → 43
Alt Table
Click to see full alt table
StatusErrorProgram
32.5b
(*.f64 (/.f64 r (cos.f64 a)) b)
31.6b
(/.f64 (*.f64 r (sin.f64 b)) (+.f64 (cos.f64 a) (*.f64 b (-.f64 (*.f64 (cos.f64 a) (*.f64 -1/2 b)) (sin.f64 a)))))
16.2b
(*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))
0.5b
(/.f64 (*.f64 r (sin.f64 b)) (+.f64 (fma.f64 (cos.f64 b) (cos.f64 a) (neg.f64 (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) 2)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) 2) (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) 2)))))
32.5b
(/.f64 (*.f64 b r) (cos.f64 a))
16.9b
(pow.f64 (cbrt.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))) 3)
0.4b
(/.f64 (*.f64 r (sin.f64 b)) (/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) 3) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 3)) (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) 2) (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 2) (*.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a)))))))
0.5b
(/.f64 (*.f64 r (sin.f64 b)) (+.f64 (fma.f64 1 (*.f64 (cos.f64 b) (cos.f64 a)) (neg.f64 (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) 2)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) 2) (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) 2)))))
16.2b
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))) r)
31.1b
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) b)))
48.1b
(pow.f64 (pow.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b)) 3) 1/3)
36.8b
(/.f64 (exp.f64 (log.f64 (*.f64 r (sin.f64 b)))) (cos.f64 (+.f64 b a)))
16.2b
(*.f64 (/.f64 1 (cos.f64 (+.f64 b a))) (*.f64 r (sin.f64 b)))
33.2b
(/.f64 (*.f64 r (sin.f64 b)) (+.f64 (fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 b) (cos.f64 a))) 2) (cbrt.f64 (*.f64 (cos.f64 b) (cos.f64 a))) (neg.f64 (*.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a)) (sqrt.f64 (sin.f64 b))))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a))) (sqrt.f64 (sin.f64 b)) (*.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a)) (sqrt.f64 (sin.f64 b))))))
29.9b
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 a))
36.8b
(exp.f64 (log.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))))
26.7b
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (sqrt.f64 (*.f64 (cos.f64 b) (cos.f64 a))) (sqrt.f64 (*.f64 (cos.f64 b) (cos.f64 a))) (*.f64 (neg.f64 (sin.f64 b)) (sin.f64 a))))
16.3b
(/.f64 (*.f64 r (sin.f64 b)) (log1p.f64 (expm1.f64 (cos.f64 (+.f64 b a)))))
32.9b
(/.f64 (*.f64 r (sin.f64 b)) (+.f64 (fma.f64 (cos.f64 b) (cos.f64 a) (neg.f64 (*.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a)) (sqrt.f64 (sin.f64 b))))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a))) (sqrt.f64 (sin.f64 b)) (*.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a)) (sqrt.f64 (sin.f64 b))))))
0.9b
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 b) (cos.f64 a))) 2) (cbrt.f64 (*.f64 (cos.f64 b) (cos.f64 a))) (*.f64 (neg.f64 (sin.f64 b)) (sin.f64 a))))
32.9b
(/.f64 (*.f64 r (sin.f64 b)) (+.f64 (fma.f64 1 (*.f64 (cos.f64 b) (cos.f64 a)) (neg.f64 (*.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a)) (sqrt.f64 (sin.f64 b))))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a))) (sqrt.f64 (sin.f64 b)) (*.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a)) (sqrt.f64 (sin.f64 b))))))
25.7b
(*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b))
27.6b
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 (fma.f64 -1/2 (*.f64 a a) 1) (cos.f64 b)) (*.f64 a (sin.f64 b))))
33.6b
(*.f64 (/.f64 (sin.f64 b) (sqrt.f64 (cos.f64 (+.f64 b a)))) (/.f64 r (sqrt.f64 (cos.f64 (+.f64 b a)))))
16.4b
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (exp.f64 (log1p.f64 (cos.f64 (+.f64 b a)))) 1))
25.7b
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))
0.3b
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a))))
27.5b
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (cos.f64 b) (*.f64 a (sin.f64 b))))
45.7b
(/.f64 (sqrt.f64 (pow.f64 (*.f64 r (sin.f64 b)) 2)) (cos.f64 (+.f64 b a)))
16.4b
(/.f64 (*.f64 r (sin.f64 b)) (log.f64 (exp.f64 (cos.f64 (+.f64 b a)))))
35.3b
(/.f64 (pow.f64 (sqrt.f64 (*.f64 r (sin.f64 b))) 2) (cos.f64 (+.f64 b a)))
52.2b
(log.f64 (exp.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))))
0.3b
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (cos.f64 b) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 b)) (sin.f64 a))))
30.8b
(/.f64 (*.f64 r (sin.f64 b)) (sqrt.f64 (pow.f64 (cos.f64 (+.f64 b a)) 2)))
0.4b
(/.f64 (*.f64 r (sin.f64 b)) (+.f64 (fma.f64 (cos.f64 b) (cos.f64 a) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (cbrt.f64 (pow.f64 (sin.f64 b) 2))))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a))) (cbrt.f64 (pow.f64 (sin.f64 b) 2)) (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (cbrt.f64 (pow.f64 (sin.f64 b) 2))))))
16.9b
(/.f64 (pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 3) (cos.f64 (+.f64 b a)))
0.4b
(/.f64 (*.f64 r (sin.f64 b)) (+.f64 (fma.f64 1 (*.f64 (cos.f64 b) (cos.f64 a)) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (cbrt.f64 (pow.f64 (sin.f64 b) 2))))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a))) (cbrt.f64 (pow.f64 (sin.f64 b) 2)) (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (cbrt.f64 (pow.f64 (sin.f64 b) 2))))))
48.2b
(pow.f64 (/.f64 (pow.f64 (*.f64 r (sin.f64 b)) 3) (pow.f64 (cos.f64 (+.f64 b a)) 3)) 1/3)
32.5b
(/.f64 (*.f64 r b) (cos.f64 (+.f64 b a)))
16.5b
(pow.f64 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 r (sin.f64 b))) -1)
16.2b
(*.f64 r (/.f64 1 (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b))))
33.1b
(/.f64 (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 b 3) r)) (*.f64 r b)) (cos.f64 (+.f64 b a)))
16.2b
(*.f64 (sin.f64 b) (*.f64 r (/.f64 1 (cos.f64 (+.f64 b a)))))
Compiler

Compiled 1942 to 1100 computations (43.4% saved)

localize19.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (cos.f64 b) (cos.f64 a))
0.1b
(*.f64 r (sin.f64 b))
0.2b
(*.f64 (sin.f64 b) (sin.f64 a))
0.3b
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a))))
Compiler

Compiled 55 to 12 computations (78.2% saved)

series19.0ms (0.1%)

Counts
3 → 84
Calls

21 calls:

TimeVariablePointExpression
6.0ms
r
@0
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a))))
2.0ms
b
@inf
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a))))
1.0ms
a
@inf
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a))))
1.0ms
a
@-inf
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a))))
1.0ms
b
@-inf
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a))))

rewrite79.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
818×log-prod_binary64
549×fma-def_binary64
291×fma-neg_binary64
275×expm1-udef_binary64
275×log1p-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01342
129330
2430430
Stop Event
node limit
Counts
3 → 87
Calls
Call 1
Inputs
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a))))
(*.f64 (sin.f64 b) (sin.f64 a))
(*.f64 (cos.f64 b) (cos.f64 a))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b)))) (cbrt.f64 (exp.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b)))))) (log.f64 (cbrt.f64 (exp.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))))) (log.f64 (sqrt.f64 (exp.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 r (/.f64 1 (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 r (*.f64 (sin.f64 b) (/.f64 1 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 b) (*.f64 r (/.f64 1 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 r (sin.f64 b)) (/.f64 1 (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 2) (*.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) (/.f64 1 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))) (pow.f64 (cbrt.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))) 2) (cbrt.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 r (sin.f64 b))) (*.f64 (sqrt.f64 (*.f64 r (sin.f64 b))) (/.f64 1 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))) (sqrt.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 b) (neg.f64 r)) (/.f64 1 (neg.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cos.f64 (+.f64 b a))) (*.f64 r (sin.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 r 1) (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 b) 1) (/.f64 r (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 2) 1) (/.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 r (sin.f64 b))) 1) (/.f64 (sqrt.f64 (*.f64 r (sin.f64 b))) (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 r (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 2)) (/.f64 (sin.f64 b) (cbrt.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 b) (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 2)) (/.f64 r (cbrt.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 2)) (/.f64 (*.f64 r (sin.f64 b)) (cbrt.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 2) (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 2)) (cbrt.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 r (sin.f64 b))) (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 2)) (/.f64 (sqrt.f64 (*.f64 r (sin.f64 b))) (cbrt.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 r (sqrt.f64 (cos.f64 (+.f64 b a)))) (/.f64 (sin.f64 b) (sqrt.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 b) (sqrt.f64 (cos.f64 (+.f64 b a)))) (/.f64 r (sqrt.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 (cos.f64 (+.f64 b a)))) (/.f64 (*.f64 r (sin.f64 b)) (sqrt.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 2) (sqrt.f64 (cos.f64 (+.f64 b a)))) (/.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) (sqrt.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 r (sin.f64 b)) (-.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) 3) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 3))) (fma.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (cos.f64 (-.f64 b a)) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 r (sin.f64 b)) (*.f64 (cos.f64 (-.f64 b a)) (cos.f64 (+.f64 b a)))) (cos.f64 (-.f64 b a)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 r (sin.f64 b))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 r (sin.f64 b)) (neg.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (*.f64 r (sin.f64 b)) 3) (pow.f64 (cos.f64 (+.f64 b a)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sin.f64 b) (sin.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 a)) (sin.f64 b))) (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 a)) (sin.f64 b))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 a)) (sin.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 a)) (sin.f64 b)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 a)) (sin.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 b) (sin.f64 a)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (cos.f64 (-.f64 b a)) 2) (/.f64 (cos.f64 (+.f64 b a)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 2 (-.f64 (cos.f64 (-.f64 b a)) (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (cos.f64 (-.f64 b a)) (cos.f64 (+.f64 b a))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (cos.f64 (-.f64 b a)) (cos.f64 (+.f64 b a)))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sin.f64 a)) (sin.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 b) (sin.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sin.f64 b) (sin.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sin.f64 b) (sin.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sin.f64 b) (sin.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 b) (sin.f64 a))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (cos.f64 b) (cos.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 a)) (cos.f64 b))) (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 a)) (cos.f64 b))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 a)) (cos.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 a)) (cos.f64 b)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 a)) (cos.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 b) (cos.f64 a)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 2 (+.f64 (cos.f64 (+.f64 b a)) (cos.f64 (-.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (cos.f64 (+.f64 b a)) (cos.f64 (-.f64 b a))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (cos.f64 (+.f64 b a)) (cos.f64 (-.f64 b a)))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (cos.f64 b) (cos.f64 a))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (cos.f64 b) (cos.f64 a))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (cos.f64 a)) (cos.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 b) (cos.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (cos.f64 b) (cos.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (cos.f64 b) (cos.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (cos.f64 b) (cos.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 b) (cos.f64 a))) 1))))))

simplify61.0ms (0.4%)

Algorithm
egg-herbie
Rules
816×fma-def_binary64
768×associate-*l*_binary64
747×associate-*r*_binary64
356×times-frac_binary64
319×associate-/l*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01501894
14791846
216401785
Stop Event
node limit
Counts
171 → 137
Calls
Call 1
Inputs
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 b r) (cos.f64 a))
(+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 (pow.f64 b 2) r)) (pow.f64 (cos.f64 a) 2)) (/.f64 (*.f64 r b) (cos.f64 a)))
(+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 r (pow.f64 b 2))) (pow.f64 (cos.f64 a) 2)) (+.f64 (/.f64 (*.f64 r b) (cos.f64 a)) (*.f64 (pow.f64 b 3) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (+.f64 (*.f64 -1/2 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3))))))))
(+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 r (pow.f64 b 2))) (pow.f64 (cos.f64 a) 2)) (+.f64 (/.f64 (*.f64 r b) (cos.f64 a)) (+.f64 (*.f64 (pow.f64 b 3) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (+.f64 (*.f64 -1/2 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3)))))) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 a) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (+.f64 (*.f64 -1/2 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3)))))) (cos.f64 a))) (+.f64 (*.f64 1/6 (/.f64 (*.f64 (sin.f64 a) r) (pow.f64 (cos.f64 a) 2))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 a) r) (pow.f64 (cos.f64 a) 2))))) (pow.f64 b 4))))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))
(+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 a r)) (pow.f64 (cos.f64 b) 2)) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))
(+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 a r)) (pow.f64 (cos.f64 b) 2)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 3) r) (pow.f64 (cos.f64 b) 3))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))))) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))))
(+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 a r)) (pow.f64 (cos.f64 b) 2)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 3) (+.f64 (/.f64 (*.f64 (sin.f64 b) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 3) r) (pow.f64 (cos.f64 b) 3))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))))) (cos.f64 b)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) r) (pow.f64 (cos.f64 b) 2))) (*.f64 1/6 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) r) (pow.f64 (cos.f64 b) 2))))))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 3) r) (pow.f64 (cos.f64 b) 3))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))))) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(*.f64 (sin.f64 a) b)
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 a) (pow.f64 b 3))) (*.f64 (sin.f64 a) b))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 a) (pow.f64 b 3))) (+.f64 (*.f64 (sin.f64 a) b) (*.f64 1/120 (*.f64 (sin.f64 a) (pow.f64 b 5)))))
(+.f64 (*.f64 -1/5040 (*.f64 (sin.f64 a) (pow.f64 b 7))) (+.f64 (*.f64 -1/6 (*.f64 (sin.f64 a) (pow.f64 b 3))) (+.f64 (*.f64 (sin.f64 a) b) (*.f64 1/120 (*.f64 (sin.f64 a) (pow.f64 b 5))))))
(*.f64 (sin.f64 a) (sin.f64 b))
(*.f64 (sin.f64 a) (sin.f64 b))
(*.f64 (sin.f64 a) (sin.f64 b))
(*.f64 (sin.f64 a) (sin.f64 b))
(*.f64 (sin.f64 a) (sin.f64 b))
(*.f64 (sin.f64 a) (sin.f64 b))
(*.f64 (sin.f64 a) (sin.f64 b))
(*.f64 (sin.f64 a) (sin.f64 b))
(*.f64 (sin.f64 b) a)
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 b) (pow.f64 a 3))) (*.f64 (sin.f64 b) a))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 b) (pow.f64 a 3))) (+.f64 (*.f64 1/120 (*.f64 (sin.f64 b) (pow.f64 a 5))) (*.f64 (sin.f64 b) a)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 b) (pow.f64 a 3))) (+.f64 (*.f64 -1/5040 (*.f64 (sin.f64 b) (pow.f64 a 7))) (+.f64 (*.f64 1/120 (*.f64 (sin.f64 b) (pow.f64 a 5))) (*.f64 (sin.f64 b) a))))
(*.f64 (sin.f64 a) (sin.f64 b))
(*.f64 (sin.f64 a) (sin.f64 b))
(*.f64 (sin.f64 a) (sin.f64 b))
(*.f64 (sin.f64 a) (sin.f64 b))
(*.f64 (sin.f64 a) (sin.f64 b))
(*.f64 (sin.f64 a) (sin.f64 b))
(*.f64 (sin.f64 a) (sin.f64 b))
(*.f64 (sin.f64 a) (sin.f64 b))
(cos.f64 a)
(+.f64 (cos.f64 a) (*.f64 -1/2 (*.f64 (cos.f64 a) (pow.f64 b 2))))
(+.f64 (*.f64 1/24 (*.f64 (cos.f64 a) (pow.f64 b 4))) (+.f64 (cos.f64 a) (*.f64 -1/2 (*.f64 (cos.f64 a) (pow.f64 b 2)))))
(+.f64 (*.f64 -1/720 (*.f64 (cos.f64 a) (pow.f64 b 6))) (+.f64 (*.f64 1/24 (*.f64 (cos.f64 a) (pow.f64 b 4))) (+.f64 (cos.f64 a) (*.f64 -1/2 (*.f64 (cos.f64 a) (pow.f64 b 2))))))
(*.f64 (cos.f64 a) (cos.f64 b))
(*.f64 (cos.f64 a) (cos.f64 b))
(*.f64 (cos.f64 a) (cos.f64 b))
(*.f64 (cos.f64 a) (cos.f64 b))
(*.f64 (cos.f64 a) (cos.f64 b))
(*.f64 (cos.f64 a) (cos.f64 b))
(*.f64 (cos.f64 a) (cos.f64 b))
(*.f64 (cos.f64 a) (cos.f64 b))
(cos.f64 b)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 a 2) (cos.f64 b))) (cos.f64 b))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 a 2) (cos.f64 b))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 a 4) (cos.f64 b))) (cos.f64 b)))
(+.f64 (*.f64 -1/720 (*.f64 (pow.f64 a 6) (cos.f64 b))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 a 2) (cos.f64 b))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 a 4) (cos.f64 b))) (cos.f64 b))))
(*.f64 (cos.f64 a) (cos.f64 b))
(*.f64 (cos.f64 a) (cos.f64 b))
(*.f64 (cos.f64 a) (cos.f64 b))
(*.f64 (cos.f64 a) (cos.f64 b))
(*.f64 (cos.f64 a) (cos.f64 b))
(*.f64 (cos.f64 a) (cos.f64 b))
(*.f64 (cos.f64 a) (cos.f64 b))
(*.f64 (cos.f64 a) (cos.f64 b))
Outputs
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))) r)
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))) r)
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))) r)
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))) r)
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))) r)
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))) r)
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))) r)
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))) r)
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))) r)
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))) r)
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))) r)
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))) r)
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 b (/.f64 (cos.f64 a) r))
(*.f64 (/.f64 r (cos.f64 a)) b)
(*.f64 (/.f64 b (cos.f64 a)) r)
(+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 (pow.f64 b 2) r)) (pow.f64 (cos.f64 a) 2)) (/.f64 (*.f64 r b) (cos.f64 a)))
(+.f64 (/.f64 b (/.f64 (cos.f64 a) r)) (/.f64 (*.f64 (sin.f64 a) (*.f64 r (*.f64 b b))) (pow.f64 (cos.f64 a) 2)))
(+.f64 (*.f64 (/.f64 r (cos.f64 a)) b) (*.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b (*.f64 b r))))
(fma.f64 (/.f64 r (cos.f64 a)) b (*.f64 (*.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) r) (*.f64 b b)))
(+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 r (pow.f64 b 2))) (pow.f64 (cos.f64 a) 2)) (+.f64 (/.f64 (*.f64 r b) (cos.f64 a)) (*.f64 (pow.f64 b 3) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (+.f64 (*.f64 -1/2 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3))))))))
(+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 r (*.f64 b b))) (pow.f64 (cos.f64 a) 2)) (+.f64 (/.f64 b (/.f64 (cos.f64 a) r)) (*.f64 (pow.f64 b 3) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (fma.f64 -1/2 (/.f64 r (cos.f64 a)) (neg.f64 (/.f64 (*.f64 r (pow.f64 (sin.f64 a) 2)) (pow.f64 (cos.f64 a) 3))))))))
(+.f64 (*.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b (*.f64 b r))) (fma.f64 (pow.f64 b 3) (-.f64 (*.f64 (/.f64 r (cos.f64 a)) 1/3) (/.f64 (neg.f64 (pow.f64 (sin.f64 a) 2)) (/.f64 (pow.f64 (cos.f64 a) 3) r))) (*.f64 (/.f64 r (cos.f64 a)) b)))
(fma.f64 (pow.f64 b 3) (fma.f64 (/.f64 r (cos.f64 a)) 1/3 (/.f64 r (/.f64 (pow.f64 (cos.f64 a) 3) (pow.f64 (sin.f64 a) 2)))) (fma.f64 (/.f64 r (cos.f64 a)) b (*.f64 (*.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) r) (*.f64 b b))))
(+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 r (pow.f64 b 2))) (pow.f64 (cos.f64 a) 2)) (+.f64 (/.f64 (*.f64 r b) (cos.f64 a)) (+.f64 (*.f64 (pow.f64 b 3) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (+.f64 (*.f64 -1/2 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3)))))) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 a) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (+.f64 (*.f64 -1/2 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3)))))) (cos.f64 a))) (+.f64 (*.f64 1/6 (/.f64 (*.f64 (sin.f64 a) r) (pow.f64 (cos.f64 a) 2))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 a) r) (pow.f64 (cos.f64 a) 2))))) (pow.f64 b 4))))))
(+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 r (*.f64 b b))) (pow.f64 (cos.f64 a) 2)) (+.f64 (/.f64 b (/.f64 (cos.f64 a) r)) (fma.f64 (pow.f64 b 3) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (fma.f64 -1/2 (/.f64 r (cos.f64 a)) (neg.f64 (/.f64 (*.f64 r (pow.f64 (sin.f64 a) 2)) (pow.f64 (cos.f64 a) 3))))) (neg.f64 (*.f64 (fma.f64 -1 (/.f64 (*.f64 (sin.f64 a) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (fma.f64 -1/2 (/.f64 r (cos.f64 a)) (neg.f64 (/.f64 (*.f64 r (pow.f64 (sin.f64 a) 2)) (pow.f64 (cos.f64 a) 3)))))) (cos.f64 a)) (*.f64 (/.f64 (*.f64 r (sin.f64 a)) (pow.f64 (cos.f64 a) 2)) -1/3)) (pow.f64 b 4))))))
(+.f64 (*.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b (*.f64 b r))) (-.f64 (fma.f64 (pow.f64 b 3) (-.f64 (*.f64 (/.f64 r (cos.f64 a)) 1/3) (/.f64 (neg.f64 (pow.f64 (sin.f64 a) 2)) (/.f64 (pow.f64 (cos.f64 a) 3) r))) (*.f64 (/.f64 r (cos.f64 a)) b)) (*.f64 (-.f64 (/.f64 (*.f64 (sin.f64 a) -1/3) (/.f64 (pow.f64 (cos.f64 a) 2) r)) (*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) (-.f64 (*.f64 (/.f64 r (cos.f64 a)) 1/3) (/.f64 (neg.f64 (pow.f64 (sin.f64 a) 2)) (/.f64 (pow.f64 (cos.f64 a) 3) r))))) (pow.f64 b 4))))
(fma.f64 (/.f64 r (cos.f64 a)) b (fma.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b (*.f64 b r)) (fma.f64 (-.f64 (*.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 r -1/3)) (*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) (fma.f64 (/.f64 r (cos.f64 a)) 1/3 (/.f64 r (/.f64 (pow.f64 (cos.f64 a) 3) (pow.f64 (sin.f64 a) 2)))))) (neg.f64 (pow.f64 b 4)) (*.f64 (pow.f64 b 3) (fma.f64 (/.f64 r (cos.f64 a)) 1/3 (/.f64 r (/.f64 (pow.f64 (cos.f64 a) 3) (pow.f64 (sin.f64 a) 2))))))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))) r)
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))) r)
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))) r)
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))) r)
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))) r)
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))) r)
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))) r)
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r)
(+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 a r)) (pow.f64 (cos.f64 b) 2)) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))
(+.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r)) (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 r a)) (pow.f64 (cos.f64 b) 2)))
(+.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r)) (/.f64 (pow.f64 (sin.f64 b) 2) (/.f64 (pow.f64 (cos.f64 b) 2) (*.f64 r a))))
(fma.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r (*.f64 (*.f64 (/.f64 r (pow.f64 (cos.f64 b) 2)) (pow.f64 (sin.f64 b) 2)) a))
(+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 a r)) (pow.f64 (cos.f64 b) 2)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 3) r) (pow.f64 (cos.f64 b) 3))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))))) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))))
(+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 r a)) (pow.f64 (cos.f64 b) 2)) (fma.f64 -1 (*.f64 (*.f64 a a) (fma.f64 -1 (/.f64 (*.f64 r (pow.f64 (sin.f64 b) 3)) (pow.f64 (cos.f64 b) 3)) (*.f64 -1/2 (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r))))) (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r))))
(+.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r)) (-.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (/.f64 (pow.f64 (cos.f64 b) 2) (*.f64 r a))) (*.f64 a (*.f64 a (-.f64 (*.f64 -1/2 (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r))) (*.f64 (/.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 (cos.f64 b) 3)) r))))))
(fma.f64 (fma.f64 -1/2 (*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r) (*.f64 (/.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 (cos.f64 b) 3)) (neg.f64 r))) (neg.f64 (*.f64 a a)) (fma.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r (*.f64 (*.f64 (/.f64 r (pow.f64 (cos.f64 b) 2)) (pow.f64 (sin.f64 b) 2)) a)))
(+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 a r)) (pow.f64 (cos.f64 b) 2)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 3) (+.f64 (/.f64 (*.f64 (sin.f64 b) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 3) r) (pow.f64 (cos.f64 b) 3))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))))) (cos.f64 b)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) r) (pow.f64 (cos.f64 b) 2))) (*.f64 1/6 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) r) (pow.f64 (cos.f64 b) 2))))))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 3) r) (pow.f64 (cos.f64 b) 3))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))))) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))))
(+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 r a)) (pow.f64 (cos.f64 b) 2)) (fma.f64 -1 (*.f64 (pow.f64 a 3) (+.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) (fma.f64 -1 (/.f64 (*.f64 r (pow.f64 (sin.f64 b) 3)) (pow.f64 (cos.f64 b) 3)) (*.f64 -1/2 (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r)))))) (*.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (/.f64 (pow.f64 (cos.f64 b) 2) r)) -1/3))) (fma.f64 -1 (*.f64 (*.f64 a a) (fma.f64 -1 (/.f64 (*.f64 r (pow.f64 (sin.f64 b) 3)) (pow.f64 (cos.f64 b) 3)) (*.f64 -1/2 (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r))))) (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r)))))
(+.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (/.f64 (pow.f64 (cos.f64 b) 2) (*.f64 r a))) (-.f64 (-.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r)) (*.f64 a (*.f64 a (-.f64 (*.f64 -1/2 (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r))) (*.f64 (/.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 (cos.f64 b) 3)) r))))) (*.f64 (pow.f64 a 3) (fma.f64 (*.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)) r) -1/3 (*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) (-.f64 (*.f64 -1/2 (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r))) (*.f64 (/.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 (cos.f64 b) 3)) r)))))))
(fma.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)) (*.f64 r a) (-.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r) (*.f64 (*.f64 a a) (+.f64 (*.f64 (fma.f64 (/.f64 (sin.f64 b) (cos.f64 b)) (fma.f64 -1/2 (*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r) (*.f64 (/.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 (cos.f64 b) 3)) (neg.f64 r))) (*.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)) (*.f64 r -1/3))) a) (fma.f64 -1/2 (*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r) (*.f64 (/.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 (cos.f64 b) 3)) (neg.f64 r)))))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))) r)
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))) r)
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))) r)
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))) r)
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))) r)
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))) r)
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))) r)
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))) r)
(*.f64 (sin.f64 a) b)
(*.f64 b (sin.f64 a))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 a) (pow.f64 b 3))) (*.f64 (sin.f64 a) b))
(fma.f64 -1/6 (*.f64 (sin.f64 a) (pow.f64 b 3)) (*.f64 b (sin.f64 a)))
(fma.f64 b (sin.f64 a) (*.f64 (sin.f64 a) (*.f64 (pow.f64 b 3) -1/6)))
(*.f64 (sin.f64 a) (+.f64 b (*.f64 (pow.f64 b 3) -1/6)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 a) (pow.f64 b 3))) (+.f64 (*.f64 (sin.f64 a) b) (*.f64 1/120 (*.f64 (sin.f64 a) (pow.f64 b 5)))))
(fma.f64 -1/6 (*.f64 (sin.f64 a) (pow.f64 b 3)) (fma.f64 (sin.f64 a) b (*.f64 1/120 (*.f64 (sin.f64 a) (pow.f64 b 5)))))
(fma.f64 -1/6 (*.f64 (sin.f64 a) (pow.f64 b 3)) (fma.f64 b (sin.f64 a) (*.f64 (pow.f64 b 5) (*.f64 (sin.f64 a) 1/120))))
(fma.f64 b (sin.f64 a) (*.f64 (sin.f64 a) (+.f64 (*.f64 (pow.f64 b 5) 1/120) (*.f64 (pow.f64 b 3) -1/6))))
(+.f64 (*.f64 -1/5040 (*.f64 (sin.f64 a) (pow.f64 b 7))) (+.f64 (*.f64 -1/6 (*.f64 (sin.f64 a) (pow.f64 b 3))) (+.f64 (*.f64 (sin.f64 a) b) (*.f64 1/120 (*.f64 (sin.f64 a) (pow.f64 b 5))))))
(fma.f64 -1/5040 (*.f64 (sin.f64 a) (pow.f64 b 7)) (fma.f64 -1/6 (*.f64 (sin.f64 a) (pow.f64 b 3)) (fma.f64 (sin.f64 a) b (*.f64 1/120 (*.f64 (sin.f64 a) (pow.f64 b 5))))))
(fma.f64 -1/5040 (*.f64 (sin.f64 a) (pow.f64 b 7)) (fma.f64 -1/6 (*.f64 (sin.f64 a) (pow.f64 b 3)) (fma.f64 b (sin.f64 a) (*.f64 (pow.f64 b 5) (*.f64 (sin.f64 a) 1/120)))))
(+.f64 (*.f64 (sin.f64 a) (+.f64 (*.f64 (pow.f64 b 5) 1/120) b)) (*.f64 (sin.f64 a) (+.f64 (*.f64 (pow.f64 b 3) -1/6) (*.f64 (pow.f64 b 7) -1/5040))))
(*.f64 (sin.f64 a) (sin.f64 b))
(*.f64 (sin.f64 b) (sin.f64 a))
(*.f64 (sin.f64 a) (sin.f64 b))
(*.f64 (sin.f64 b) (sin.f64 a))
(*.f64 (sin.f64 a) (sin.f64 b))
(*.f64 (sin.f64 b) (sin.f64 a))
(*.f64 (sin.f64 a) (sin.f64 b))
(*.f64 (sin.f64 b) (sin.f64 a))
(*.f64 (sin.f64 a) (sin.f64 b))
(*.f64 (sin.f64 b) (sin.f64 a))
(*.f64 (sin.f64 a) (sin.f64 b))
(*.f64 (sin.f64 b) (sin.f64 a))
(*.f64 (sin.f64 a) (sin.f64 b))
(*.f64 (sin.f64 b) (sin.f64 a))
(*.f64 (sin.f64 a) (sin.f64 b))
(*.f64 (sin.f64 b) (sin.f64 a))
(*.f64 (sin.f64 b) a)
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 b) (pow.f64 a 3))) (*.f64 (sin.f64 b) a))
(fma.f64 -1/6 (*.f64 (sin.f64 b) (pow.f64 a 3)) (*.f64 (sin.f64 b) a))
(fma.f64 (sin.f64 b) a (*.f64 (sin.f64 b) (*.f64 (pow.f64 a 3) -1/6)))
(*.f64 (sin.f64 b) (+.f64 a (*.f64 (pow.f64 a 3) -1/6)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 b) (pow.f64 a 3))) (+.f64 (*.f64 1/120 (*.f64 (sin.f64 b) (pow.f64 a 5))) (*.f64 (sin.f64 b) a)))
(fma.f64 -1/6 (*.f64 (sin.f64 b) (pow.f64 a 3)) (fma.f64 1/120 (*.f64 (sin.f64 b) (pow.f64 a 5)) (*.f64 (sin.f64 b) a)))
(fma.f64 (sin.f64 b) a (*.f64 (sin.f64 b) (+.f64 (*.f64 (pow.f64 a 3) -1/6) (*.f64 (pow.f64 a 5) 1/120))))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 b) (pow.f64 a 3))) (+.f64 (*.f64 -1/5040 (*.f64 (sin.f64 b) (pow.f64 a 7))) (+.f64 (*.f64 1/120 (*.f64 (sin.f64 b) (pow.f64 a 5))) (*.f64 (sin.f64 b) a))))
(fma.f64 -1/6 (*.f64 (sin.f64 b) (pow.f64 a 3)) (fma.f64 -1/5040 (*.f64 (sin.f64 b) (pow.f64 a 7)) (fma.f64 1/120 (*.f64 (sin.f64 b) (pow.f64 a 5)) (*.f64 (sin.f64 b) a))))
(+.f64 (*.f64 (sin.f64 b) (+.f64 a (*.f64 1/120 (pow.f64 a 5)))) (*.f64 (sin.f64 b) (+.f64 (*.f64 (pow.f64 a 3) -1/6) (*.f64 (pow.f64 a 7) -1/5040))))
(*.f64 (sin.f64 a) (sin.f64 b))
(*.f64 (sin.f64 b) (sin.f64 a))
(*.f64 (sin.f64 a) (sin.f64 b))
(*.f64 (sin.f64 b) (sin.f64 a))
(*.f64 (sin.f64 a) (sin.f64 b))
(*.f64 (sin.f64 b) (sin.f64 a))
(*.f64 (sin.f64 a) (sin.f64 b))
(*.f64 (sin.f64 b) (sin.f64 a))
(*.f64 (sin.f64 a) (sin.f64 b))
(*.f64 (sin.f64 b) (sin.f64 a))
(*.f64 (sin.f64 a) (sin.f64 b))
(*.f64 (sin.f64 b) (sin.f64 a))
(*.f64 (sin.f64 a) (sin.f64 b))
(*.f64 (sin.f64 b) (sin.f64 a))
(*.f64 (sin.f64 a) (sin.f64 b))
(*.f64 (sin.f64 b) (sin.f64 a))
(cos.f64 a)
(+.f64 (cos.f64 a) (*.f64 -1/2 (*.f64 (cos.f64 a) (pow.f64 b 2))))
(+.f64 (cos.f64 a) (*.f64 -1/2 (*.f64 (cos.f64 a) (*.f64 b b))))
(fma.f64 -1/2 (*.f64 b (*.f64 b (cos.f64 a))) (cos.f64 a))
(*.f64 (+.f64 (*.f64 (*.f64 -1/2 b) b) 1) (cos.f64 a))
(+.f64 (*.f64 1/24 (*.f64 (cos.f64 a) (pow.f64 b 4))) (+.f64 (cos.f64 a) (*.f64 -1/2 (*.f64 (cos.f64 a) (pow.f64 b 2)))))
(fma.f64 1/24 (*.f64 (cos.f64 a) (pow.f64 b 4)) (+.f64 (cos.f64 a) (*.f64 -1/2 (*.f64 (cos.f64 a) (*.f64 b b)))))
(fma.f64 1/24 (*.f64 (cos.f64 a) (pow.f64 b 4)) (fma.f64 -1/2 (*.f64 b (*.f64 b (cos.f64 a))) (cos.f64 a)))
(+.f64 (cos.f64 a) (*.f64 (cos.f64 a) (+.f64 (*.f64 b (*.f64 b -1/2)) (*.f64 (pow.f64 b 4) 1/24))))
(+.f64 (*.f64 -1/720 (*.f64 (cos.f64 a) (pow.f64 b 6))) (+.f64 (*.f64 1/24 (*.f64 (cos.f64 a) (pow.f64 b 4))) (+.f64 (cos.f64 a) (*.f64 -1/2 (*.f64 (cos.f64 a) (pow.f64 b 2))))))
(fma.f64 -1/720 (*.f64 (cos.f64 a) (pow.f64 b 6)) (fma.f64 1/24 (*.f64 (cos.f64 a) (pow.f64 b 4)) (+.f64 (cos.f64 a) (*.f64 -1/2 (*.f64 (cos.f64 a) (*.f64 b b))))))
(fma.f64 -1/720 (*.f64 (cos.f64 a) (pow.f64 b 6)) (fma.f64 1/24 (*.f64 (cos.f64 a) (pow.f64 b 4)) (fma.f64 -1/2 (*.f64 b (*.f64 b (cos.f64 a))) (cos.f64 a))))
(+.f64 (fma.f64 (cos.f64 a) (*.f64 (pow.f64 b 4) 1/24) (cos.f64 a)) (*.f64 (cos.f64 a) (+.f64 (*.f64 (*.f64 -1/2 b) b) (*.f64 -1/720 (pow.f64 b 6)))))
(*.f64 (cos.f64 a) (cos.f64 b))
(*.f64 (cos.f64 a) (cos.f64 b))
(*.f64 (cos.f64 a) (cos.f64 b))
(*.f64 (cos.f64 a) (cos.f64 b))
(*.f64 (cos.f64 a) (cos.f64 b))
(*.f64 (cos.f64 a) (cos.f64 b))
(*.f64 (cos.f64 a) (cos.f64 b))
(*.f64 (cos.f64 a) (cos.f64 b))
(cos.f64 b)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 a 2) (cos.f64 b))) (cos.f64 b))
(fma.f64 -1/2 (*.f64 (cos.f64 b) (*.f64 a a)) (cos.f64 b))
(*.f64 (+.f64 (*.f64 -1/2 (*.f64 a a)) 1) (cos.f64 b))
(*.f64 (fma.f64 -1/2 (*.f64 a a) 1) (cos.f64 b))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 a 2) (cos.f64 b))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 a 4) (cos.f64 b))) (cos.f64 b)))
(fma.f64 -1/2 (*.f64 (cos.f64 b) (*.f64 a a)) (fma.f64 1/24 (*.f64 (cos.f64 b) (pow.f64 a 4)) (cos.f64 b)))
(+.f64 (cos.f64 b) (*.f64 (cos.f64 b) (+.f64 (*.f64 -1/2 (*.f64 a a)) (*.f64 1/24 (pow.f64 a 4)))))
(*.f64 (cos.f64 b) (+.f64 (*.f64 a (*.f64 a -1/2)) (fma.f64 1/24 (pow.f64 a 4) 1)))
(+.f64 (*.f64 -1/720 (*.f64 (pow.f64 a 6) (cos.f64 b))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 a 2) (cos.f64 b))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 a 4) (cos.f64 b))) (cos.f64 b))))
(fma.f64 -1/720 (*.f64 (cos.f64 b) (pow.f64 a 6)) (fma.f64 -1/2 (*.f64 (cos.f64 b) (*.f64 a a)) (fma.f64 1/24 (*.f64 (cos.f64 b) (pow.f64 a 4)) (cos.f64 b))))
(+.f64 (*.f64 (+.f64 (*.f64 1/24 (pow.f64 a 4)) 1) (cos.f64 b)) (*.f64 (cos.f64 b) (+.f64 (*.f64 -1/720 (pow.f64 a 6)) (*.f64 -1/2 (*.f64 a a)))))
(fma.f64 (cos.f64 b) (fma.f64 -1/720 (pow.f64 a 6) (*.f64 a (*.f64 a -1/2))) (*.f64 (fma.f64 1/24 (pow.f64 a 4) 1) (cos.f64 b)))
(*.f64 (cos.f64 a) (cos.f64 b))
(*.f64 (cos.f64 a) (cos.f64 b))
(*.f64 (cos.f64 a) (cos.f64 b))
(*.f64 (cos.f64 a) (cos.f64 b))
(*.f64 (cos.f64 a) (cos.f64 b))
(*.f64 (cos.f64 a) (cos.f64 b))
(*.f64 (cos.f64 a) (cos.f64 b))
(*.f64 (cos.f64 a) (cos.f64 b))

localize8.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (/.f64 r (cos.f64 a)) b)
0.1b
(/.f64 r (cos.f64 a))
Compiler

Compiled 18 to 6 computations (66.7% saved)

series16.0ms (0.1%)

Counts
2 → 40
Calls

15 calls:

TimeVariablePointExpression
4.0ms
a
@0
(/.f64 r (cos.f64 a))
4.0ms
a
@0
(*.f64 (/.f64 r (cos.f64 a)) b)
1.0ms
a
@inf
(*.f64 (/.f64 r (cos.f64 a)) b)
1.0ms
b
@0
(*.f64 (/.f64 r (cos.f64 a)) b)
1.0ms
r
@0
(*.f64 (/.f64 r (cos.f64 a)) b)

rewrite74.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
777×pow1_binary64
715×add-log-exp_binary64
715×log1p-expm1-u_binary64
715×expm1-log1p-u_binary64
698×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0715
114415
2189915
Stop Event
node limit
Counts
2 → 54
Calls
Call 1
Inputs
(/.f64 r (cos.f64 a))
(*.f64 (/.f64 r (cos.f64 a)) b)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 r (cos.f64 a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 r (/.f64 1 (cos.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 r (cos.f64 a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 r (cos.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 r (cos.f64 a))) (pow.f64 (cbrt.f64 (/.f64 r (cos.f64 a))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 r (cos.f64 a))) 2) (cbrt.f64 (/.f64 r (cos.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 r) 2) (*.f64 (cbrt.f64 r) (/.f64 1 (cos.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 r (cos.f64 a))) (sqrt.f64 (/.f64 r (cos.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 r) (*.f64 (sqrt.f64 r) (/.f64 1 (cos.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 r) (/.f64 1 (neg.f64 (cos.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cos.f64 a)) r)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 r) 2) 1) (/.f64 (cbrt.f64 r) (cos.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 r) 1) (/.f64 (sqrt.f64 r) (cos.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (cos.f64 a)) 2)) (/.f64 r (cbrt.f64 (cos.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 r) 2) (pow.f64 (cbrt.f64 (cos.f64 a)) 2)) (cbrt.f64 (/.f64 r (cos.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 r) (pow.f64 (cbrt.f64 (cos.f64 a)) 2)) (/.f64 (sqrt.f64 r) (cbrt.f64 (cos.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 (cos.f64 a))) (/.f64 r (sqrt.f64 (cos.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 r) 2) (sqrt.f64 (cos.f64 a))) (/.f64 (cbrt.f64 r) (sqrt.f64 (cos.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 r (cos.f64 a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 r (cos.f64 a)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 r (cos.f64 a))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 r (cos.f64 a))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (cos.f64 a) r) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 r (neg.f64 (cos.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 r (cos.f64 a)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 r (cos.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 r (cos.f64 a)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 r 3) (pow.f64 (cos.f64 a) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 r (cos.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 r (cos.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 r (cos.f64 a))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (/.f64 r (cos.f64 a)) b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 r (/.f64 (cos.f64 a) b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 b (/.f64 (cos.f64 a) r))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (cos.f64 a) (*.f64 r b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 r b) (cos.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 r b)) (neg.f64 (cos.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 r b) 1) (cos.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 r b) (pow.f64 (cbrt.f64 (cos.f64 a)) 2)) (cbrt.f64 (cos.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 r b) (sqrt.f64 (cos.f64 a))) (sqrt.f64 (cos.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 r) b) (neg.f64 (cos.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 b (neg.f64 r)) (neg.f64 (cos.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 r (cos.f64 a)) b) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 r (cos.f64 a)) b) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 r (cos.f64 a)) b)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (/.f64 r (cos.f64 a)) b)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (/.f64 r (cos.f64 a)) b) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 b) (/.f64 r (cos.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (/.f64 r (cos.f64 a)) b) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (/.f64 r (cos.f64 a)) 3) (pow.f64 b 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 b 3) (pow.f64 (/.f64 r (cos.f64 a)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (/.f64 r (cos.f64 a)) b)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (/.f64 r (cos.f64 a)) b)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (/.f64 r (cos.f64 a)) b)))))))

simplify86.0ms (0.6%)

Algorithm
egg-herbie
Rules
649×distribute-rgt-in_binary64
603×distribute-lft-in_binary64
562×fma-def_binary64
540×distribute-lft-neg-in_binary64
537×distribute-rgt-neg-in_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
061512
1211470
2852448
34227437
Stop Event
node limit
Counts
94 → 70
Calls
Call 1
Inputs
r
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) r)) r)
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) r)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 4) (+.f64 (*.f64 -1/4 r) (*.f64 1/24 r)))) r))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) r)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 4) (+.f64 (*.f64 -1/4 r) (*.f64 1/24 r)))) (+.f64 r (*.f64 -1 (*.f64 (pow.f64 a 6) (+.f64 (*.f64 -1/720 r) (+.f64 (*.f64 1/48 r) (*.f64 1/2 (+.f64 (*.f64 -1/4 r) (*.f64 1/24 r))))))))))
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 (*.f64 r b) (cos.f64 a))
(*.f64 r b)
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) (*.f64 r b))) (*.f64 r b))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) (*.f64 r b))) (+.f64 (*.f64 r b) (*.f64 -1 (*.f64 (pow.f64 a 4) (+.f64 (*.f64 -1/4 (*.f64 b r)) (*.f64 1/24 (*.f64 r b)))))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) (*.f64 r b))) (+.f64 (*.f64 r b) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 6) (+.f64 (*.f64 1/2 (+.f64 (*.f64 -1/4 (*.f64 b r)) (*.f64 1/24 (*.f64 r b)))) (+.f64 (*.f64 -1/720 (*.f64 r b)) (*.f64 1/48 (*.f64 b r)))))) (*.f64 -1 (*.f64 (pow.f64 a 4) (+.f64 (*.f64 -1/4 (*.f64 b r)) (*.f64 1/24 (*.f64 r b))))))))
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 (*.f64 b r) (cos.f64 a))
Outputs
r
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) r)) r)
(fma.f64 1/2 (*.f64 r (*.f64 a a)) r)
(*.f64 r (fma.f64 1/2 (*.f64 a a) 1))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) r)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 4) (+.f64 (*.f64 -1/4 r) (*.f64 1/24 r)))) r))
(fma.f64 1/2 (*.f64 r (*.f64 a a)) (fma.f64 -1 (*.f64 (pow.f64 a 4) (*.f64 r -5/24)) r))
(fma.f64 1/2 (*.f64 r (*.f64 a a)) (fma.f64 (neg.f64 (pow.f64 a 4)) (*.f64 r -5/24) r))
(fma.f64 r (*.f64 1/2 (*.f64 a a)) (fma.f64 (pow.f64 a 4) (*.f64 r 5/24) r))
(*.f64 r (+.f64 (fma.f64 1/2 (*.f64 a a) 1) (*.f64 (pow.f64 a 4) 5/24)))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) r)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 4) (+.f64 (*.f64 -1/4 r) (*.f64 1/24 r)))) (+.f64 r (*.f64 -1 (*.f64 (pow.f64 a 6) (+.f64 (*.f64 -1/720 r) (+.f64 (*.f64 1/48 r) (*.f64 1/2 (+.f64 (*.f64 -1/4 r) (*.f64 1/24 r))))))))))
(fma.f64 1/2 (*.f64 r (*.f64 a a)) (+.f64 (fma.f64 -1 (*.f64 (pow.f64 a 4) (*.f64 r -5/24)) r) (neg.f64 (*.f64 (pow.f64 a 6) (fma.f64 -1/720 r (fma.f64 1/48 r (*.f64 1/2 (*.f64 r -5/24))))))))
(fma.f64 1/2 (*.f64 r (*.f64 a a)) (-.f64 (fma.f64 (neg.f64 (pow.f64 a 4)) (*.f64 r -5/24) r) (*.f64 (pow.f64 a 6) (+.f64 (*.f64 r -5/48) (*.f64 r 7/360)))))
(-.f64 (fma.f64 r (*.f64 1/2 (*.f64 a a)) (fma.f64 (pow.f64 a 4) (*.f64 r 5/24) r)) (*.f64 (pow.f64 a 6) (*.f64 r -61/720)))
(fma.f64 r (*.f64 1/2 (*.f64 a a)) (fma.f64 (pow.f64 a 6) (*.f64 r 61/720) (fma.f64 (pow.f64 a 4) (*.f64 r 5/24) r)))
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 r (/.f64 (cos.f64 a) b))
(*.f64 (/.f64 r (cos.f64 a)) b)
(*.f64 b (/.f64 r (cos.f64 a)))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 r (/.f64 (cos.f64 a) b))
(*.f64 (/.f64 r (cos.f64 a)) b)
(*.f64 b (/.f64 r (cos.f64 a)))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 r (/.f64 (cos.f64 a) b))
(*.f64 (/.f64 r (cos.f64 a)) b)
(*.f64 b (/.f64 r (cos.f64 a)))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 r (/.f64 (cos.f64 a) b))
(*.f64 (/.f64 r (cos.f64 a)) b)
(*.f64 b (/.f64 r (cos.f64 a)))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 r (/.f64 (cos.f64 a) b))
(*.f64 (/.f64 r (cos.f64 a)) b)
(*.f64 b (/.f64 r (cos.f64 a)))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 r (/.f64 (cos.f64 a) b))
(*.f64 (/.f64 r (cos.f64 a)) b)
(*.f64 b (/.f64 r (cos.f64 a)))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 r (/.f64 (cos.f64 a) b))
(*.f64 (/.f64 r (cos.f64 a)) b)
(*.f64 b (/.f64 r (cos.f64 a)))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 r (/.f64 (cos.f64 a) b))
(*.f64 (/.f64 r (cos.f64 a)) b)
(*.f64 b (/.f64 r (cos.f64 a)))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 r (/.f64 (cos.f64 a) b))
(*.f64 (/.f64 r (cos.f64 a)) b)
(*.f64 b (/.f64 r (cos.f64 a)))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 r (/.f64 (cos.f64 a) b))
(*.f64 (/.f64 r (cos.f64 a)) b)
(*.f64 b (/.f64 r (cos.f64 a)))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 r (/.f64 (cos.f64 a) b))
(*.f64 (/.f64 r (cos.f64 a)) b)
(*.f64 b (/.f64 r (cos.f64 a)))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 r (/.f64 (cos.f64 a) b))
(*.f64 (/.f64 r (cos.f64 a)) b)
(*.f64 b (/.f64 r (cos.f64 a)))
(*.f64 r (/.f64 b (cos.f64 a)))
(*.f64 r b)
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) (*.f64 r b))) (*.f64 r b))
(fma.f64 1/2 (*.f64 (*.f64 a a) (*.f64 r b)) (*.f64 r b))
(*.f64 (+.f64 (*.f64 1/2 (*.f64 a a)) 1) (*.f64 r b))
(*.f64 (*.f64 r (fma.f64 1/2 (*.f64 a a) 1)) b)
(*.f64 r (*.f64 (fma.f64 1/2 (*.f64 a a) 1) b))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) (*.f64 r b))) (+.f64 (*.f64 r b) (*.f64 -1 (*.f64 (pow.f64 a 4) (+.f64 (*.f64 -1/4 (*.f64 b r)) (*.f64 1/24 (*.f64 r b)))))))
(fma.f64 1/2 (*.f64 (*.f64 a a) (*.f64 r b)) (fma.f64 r b (neg.f64 (*.f64 (pow.f64 a 4) (fma.f64 -1/4 (*.f64 r b) (*.f64 1/24 (*.f64 r b)))))))
(-.f64 (*.f64 (+.f64 (*.f64 1/2 (*.f64 a a)) 1) (*.f64 r b)) (*.f64 (pow.f64 a 4) (*.f64 (*.f64 r b) -5/24)))
(fma.f64 (fma.f64 1/2 (*.f64 a a) 1) (*.f64 r b) (*.f64 (pow.f64 a 4) (*.f64 (*.f64 r b) 5/24)))
(*.f64 (*.f64 r b) (-.f64 (fma.f64 1/2 (*.f64 a a) 1) (*.f64 (pow.f64 a 4) -5/24)))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) (*.f64 r b))) (+.f64 (*.f64 r b) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 6) (+.f64 (*.f64 1/2 (+.f64 (*.f64 -1/4 (*.f64 b r)) (*.f64 1/24 (*.f64 r b)))) (+.f64 (*.f64 -1/720 (*.f64 r b)) (*.f64 1/48 (*.f64 b r)))))) (*.f64 -1 (*.f64 (pow.f64 a 4) (+.f64 (*.f64 -1/4 (*.f64 b r)) (*.f64 1/24 (*.f64 r b))))))))
(fma.f64 1/2 (*.f64 (*.f64 a a) (*.f64 r b)) (fma.f64 r b (*.f64 -1 (+.f64 (*.f64 (pow.f64 a 6) (fma.f64 1/2 (fma.f64 -1/4 (*.f64 r b) (*.f64 1/24 (*.f64 r b))) (fma.f64 -1/720 (*.f64 r b) (*.f64 1/48 (*.f64 r b))))) (*.f64 (pow.f64 a 4) (fma.f64 -1/4 (*.f64 r b) (*.f64 1/24 (*.f64 r b))))))))
(fma.f64 1/2 (*.f64 r (*.f64 (*.f64 a a) b)) (fma.f64 r b (neg.f64 (fma.f64 (pow.f64 a 6) (fma.f64 1/2 (*.f64 (*.f64 r b) -5/24) (*.f64 (*.f64 r b) 7/360)) (*.f64 (pow.f64 a 4) (*.f64 (*.f64 r b) -5/24))))))
(-.f64 (fma.f64 (fma.f64 1/2 (*.f64 a a) 1) (*.f64 r b) (*.f64 (pow.f64 a 4) (*.f64 (*.f64 r b) 5/24))) (*.f64 (pow.f64 a 6) (fma.f64 (*.f64 r b) 7/360 (*.f64 (*.f64 r b) -5/48))))
(-.f64 (*.f64 (*.f64 r b) (-.f64 (fma.f64 1/2 (*.f64 a a) 1) (*.f64 (pow.f64 a 4) -5/24))) (*.f64 (pow.f64 a 6) (fma.f64 (*.f64 r b) 7/360 (*.f64 r (*.f64 b -5/48)))))
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 r (/.f64 (cos.f64 a) b))
(*.f64 (/.f64 r (cos.f64 a)) b)
(*.f64 b (/.f64 r (cos.f64 a)))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 r (/.f64 (cos.f64 a) b))
(*.f64 (/.f64 r (cos.f64 a)) b)
(*.f64 b (/.f64 r (cos.f64 a)))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 r (/.f64 (cos.f64 a) b))
(*.f64 (/.f64 r (cos.f64 a)) b)
(*.f64 b (/.f64 r (cos.f64 a)))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 r (/.f64 (cos.f64 a) b))
(*.f64 (/.f64 r (cos.f64 a)) b)
(*.f64 b (/.f64 r (cos.f64 a)))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 r (/.f64 (cos.f64 a) b))
(*.f64 (/.f64 r (cos.f64 a)) b)
(*.f64 b (/.f64 r (cos.f64 a)))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 r (/.f64 (cos.f64 a) b))
(*.f64 (/.f64 r (cos.f64 a)) b)
(*.f64 b (/.f64 r (cos.f64 a)))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 r (/.f64 (cos.f64 a) b))
(*.f64 (/.f64 r (cos.f64 a)) b)
(*.f64 b (/.f64 r (cos.f64 a)))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 r (/.f64 (cos.f64 a) b))
(*.f64 (/.f64 r (cos.f64 a)) b)
(*.f64 b (/.f64 r (cos.f64 a)))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 r (/.f64 (cos.f64 a) b))
(*.f64 (/.f64 r (cos.f64 a)) b)
(*.f64 b (/.f64 r (cos.f64 a)))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 r (/.f64 (cos.f64 a) b))
(*.f64 (/.f64 r (cos.f64 a)) b)
(*.f64 b (/.f64 r (cos.f64 a)))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 r (/.f64 (cos.f64 a) b))
(*.f64 (/.f64 r (cos.f64 a)) b)
(*.f64 b (/.f64 r (cos.f64 a)))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 r (/.f64 (cos.f64 a) b))
(*.f64 (/.f64 r (cos.f64 a)) b)
(*.f64 b (/.f64 r (cos.f64 a)))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 r (/.f64 (cos.f64 a) b))
(*.f64 (/.f64 r (cos.f64 a)) b)
(*.f64 b (/.f64 r (cos.f64 a)))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 r (/.f64 (cos.f64 a) b))
(*.f64 (/.f64 r (cos.f64 a)) b)
(*.f64 b (/.f64 r (cos.f64 a)))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 r (/.f64 (cos.f64 a) b))
(*.f64 (/.f64 r (cos.f64 a)) b)
(*.f64 b (/.f64 r (cos.f64 a)))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 r (/.f64 (cos.f64 a) b))
(*.f64 (/.f64 r (cos.f64 a)) b)
(*.f64 b (/.f64 r (cos.f64 a)))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 r (/.f64 (cos.f64 a) b))
(*.f64 (/.f64 r (cos.f64 a)) b)
(*.f64 b (/.f64 r (cos.f64 a)))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 r (/.f64 (cos.f64 a) b))
(*.f64 (/.f64 r (cos.f64 a)) b)
(*.f64 b (/.f64 r (cos.f64 a)))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 r (/.f64 (cos.f64 a) b))
(*.f64 (/.f64 r (cos.f64 a)) b)
(*.f64 b (/.f64 r (cos.f64 a)))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 r (/.f64 (cos.f64 a) b))
(*.f64 (/.f64 r (cos.f64 a)) b)
(*.f64 b (/.f64 r (cos.f64 a)))
(*.f64 r (/.f64 b (cos.f64 a)))

localize41.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 r (sin.f64 b))
0.1b
(/.f64 1 (cos.f64 (+.f64 b a)))
0.3b
(*.f64 (/.f64 1 (cos.f64 (+.f64 b a))) (*.f64 r (sin.f64 b)))
4.3b
(cos.f64 (+.f64 b a))
Compiler

Compiled 37 to 13 computations (64.9% saved)

series16.0ms (0.1%)

Counts
2 → 60
Calls

15 calls:

TimeVariablePointExpression
2.0ms
a
@-inf
(*.f64 (/.f64 1 (cos.f64 (+.f64 b a))) (*.f64 r (sin.f64 b)))
2.0ms
a
@0
(/.f64 1 (cos.f64 (+.f64 b a)))
2.0ms
b
@0
(/.f64 1 (cos.f64 (+.f64 b a)))
1.0ms
a
@-inf
(/.f64 1 (cos.f64 (+.f64 b a)))
1.0ms
a
@inf
(/.f64 1 (cos.f64 (+.f64 b a)))

rewrite104.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
594×log-prod_binary64
574×prod-diff_binary64
313×pow2_binary64
220×pow1/3_binary64
220×fma-def_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01123
123423
2314523
Stop Event
node limit
Counts
2 → 63
Calls
Call 1
Inputs
(*.f64 (/.f64 1 (cos.f64 (+.f64 b a))) (*.f64 r (sin.f64 b)))
(/.f64 1 (cos.f64 (+.f64 b a)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sin.f64 b) (/.f64 r (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 b)) (/.f64 r (cos.f64 (+.f64 b a))))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 b)) (/.f64 r (cos.f64 (+.f64 b a)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 b)) (/.f64 r (cos.f64 (+.f64 b a)))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 b)) (/.f64 r (cos.f64 (+.f64 b a)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 b) (/.f64 r (cos.f64 (+.f64 b a)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 r (sin.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 b a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 2) (/.f64 (cos.f64 (+.f64 b a)) (cbrt.f64 (*.f64 r (sin.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (*.f64 r (sin.f64 b))) (/.f64 (cos.f64 (+.f64 b a)) (sqrt.f64 (*.f64 r (sin.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 r (sin.f64 b))) (neg.f64 (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 r (sin.f64 b)) (sqrt.f64 (cos.f64 (+.f64 b a)))) (sqrt.f64 (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 r (sin.f64 b)) 1) (cos.f64 (+.f64 b a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 r (sin.f64 b)) (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 2)) (cbrt.f64 (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1 (*.f64 r (sin.f64 b))) (neg.f64 (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 r (sin.f64 b)) -1) (neg.f64 (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 b) (/.f64 r (cos.f64 (+.f64 b a)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sin.f64 b) (/.f64 r (cos.f64 (+.f64 b a)))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sin.f64 b) (/.f64 r (cos.f64 (+.f64 b a)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) (/.f64 r (cos.f64 (+.f64 b a))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sin.f64 b) (/.f64 r (cos.f64 (+.f64 b a))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (*.f64 r (sin.f64 b)) 3) (pow.f64 (cos.f64 (+.f64 b a)) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (/.f64 1 (cos.f64 (+.f64 b a))) 3) (pow.f64 (*.f64 r (sin.f64 b)) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (*.f64 r (sin.f64 b)) 3) (pow.f64 (/.f64 1 (cos.f64 (+.f64 b a))) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 r (sin.f64 b))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (sin.f64 b) (/.f64 r (cos.f64 (+.f64 b a)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sin.f64 b)) (/.f64 r (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 b) (/.f64 r (cos.f64 (+.f64 b a)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sin.f64 b) (/.f64 r (cos.f64 (+.f64 b a)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (*.f64 r (sin.f64 b)) 3) (pow.f64 (cos.f64 (+.f64 b a)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (/.f64 1 (cos.f64 (+.f64 b a))) 3) (pow.f64 (*.f64 r (sin.f64 b)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (*.f64 r (sin.f64 b)) 3) (pow.f64 (/.f64 1 (cos.f64 (+.f64 b a))) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sin.f64 b) (/.f64 r (cos.f64 (+.f64 b a))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sin.f64 b) (/.f64 r (cos.f64 (+.f64 b a))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sin.f64 b) (/.f64 r (cos.f64 (+.f64 b a))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 b) (/.f64 r (cos.f64 (+.f64 b a))))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 1 (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 1 (cos.f64 (+.f64 b a))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 1 (cos.f64 (+.f64 b a)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 1 (cos.f64 (+.f64 b a)))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 1 (cos.f64 (+.f64 b a)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 1 (cos.f64 (+.f64 b a))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 1 (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cos.f64 (+.f64 b a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 1 (cos.f64 (+.f64 b a)))) (cbrt.f64 (pow.f64 (cos.f64 (+.f64 b a)) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (cos.f64 (+.f64 b a)) -2)) (cbrt.f64 (/.f64 1 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cos.f64 (+.f64 b a)) -1/2) (pow.f64 (cos.f64 (+.f64 b a)) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 1 (neg.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 2)) (cbrt.f64 (/.f64 1 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cos.f64 (+.f64 b a)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (cos.f64 (+.f64 b a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cos.f64 (+.f64 b a)) -2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 1 (cos.f64 (+.f64 b a))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 1 (cos.f64 (+.f64 b a)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cos.f64 (+.f64 b a)) -1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (neg.f64 (neg.f64 (cos.f64 (+.f64 b a)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cos.f64 (+.f64 b a)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 1 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 1 (cos.f64 (+.f64 b a))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 1 (cos.f64 (+.f64 b a))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 1 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 1 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (neg.f64 (log.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cos.f64 (+.f64 b a))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (neg.f64 (log.f64 (cos.f64 (+.f64 b a)))) 1))))))

simplify89.0ms (0.6%)

Algorithm
egg-herbie
Rules
753×associate-*l*_binary64
645×fma-def_binary64
482×times-frac_binary64
423×associate-/l*_binary64
370×associate-*l/_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01531485
14801422
216631366
Stop Event
node limit
Counts
123 → 101
Calls
Call 1
Inputs
(/.f64 (*.f64 b r) (cos.f64 a))
(+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 (pow.f64 b 2) r)) (pow.f64 (cos.f64 a) 2)) (/.f64 (*.f64 r b) (cos.f64 a)))
(+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 r (pow.f64 b 2))) (pow.f64 (cos.f64 a) 2)) (+.f64 (/.f64 (*.f64 r b) (cos.f64 a)) (*.f64 (pow.f64 b 3) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (+.f64 (*.f64 -1/2 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3))))))))
(+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 r (pow.f64 b 2))) (pow.f64 (cos.f64 a) 2)) (+.f64 (/.f64 (*.f64 r b) (cos.f64 a)) (+.f64 (*.f64 (pow.f64 b 3) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (+.f64 (*.f64 -1/2 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3)))))) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 a) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (+.f64 (*.f64 -1/2 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3)))))) (cos.f64 a))) (+.f64 (*.f64 1/6 (/.f64 (*.f64 (sin.f64 a) r) (pow.f64 (cos.f64 a) 2))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 a) r) (pow.f64 (cos.f64 a) 2))))) (pow.f64 b 4))))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 a (*.f64 -1 b))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 a (*.f64 -1 b))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 a (*.f64 -1 b))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 a (*.f64 -1 b))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))
(+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 a r)) (pow.f64 (cos.f64 b) 2)) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))
(+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 a r)) (pow.f64 (cos.f64 b) 2)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 3) r) (pow.f64 (cos.f64 b) 3))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))))) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))))
(+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 a r)) (pow.f64 (cos.f64 b) 2)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 3) (+.f64 (/.f64 (*.f64 (sin.f64 b) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 3) r) (pow.f64 (cos.f64 b) 3))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))))) (cos.f64 b)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) r) (pow.f64 (cos.f64 b) 2))) (*.f64 1/6 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) r) (pow.f64 (cos.f64 b) 2))))))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 3) r) (pow.f64 (cos.f64 b) 3))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))))) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 b (*.f64 -1 a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 b (*.f64 -1 a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 b (*.f64 -1 a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 b (*.f64 -1 a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 1 (cos.f64 a))
(+.f64 (/.f64 1 (cos.f64 a)) (/.f64 (*.f64 (sin.f64 a) b) (pow.f64 (cos.f64 a) 2)))
(+.f64 (/.f64 1 (cos.f64 a)) (+.f64 (/.f64 (*.f64 (sin.f64 a) b) (pow.f64 (cos.f64 a) 2)) (*.f64 (pow.f64 b 2) (-.f64 (*.f64 1/2 (/.f64 1 (cos.f64 a))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3)))))))
(+.f64 (/.f64 1 (cos.f64 a)) (+.f64 (/.f64 (*.f64 (sin.f64 a) b) (pow.f64 (cos.f64 a) 2)) (+.f64 (*.f64 (pow.f64 b 2) (-.f64 (*.f64 1/2 (/.f64 1 (cos.f64 a))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3))))) (*.f64 -1 (*.f64 (+.f64 (*.f64 1/6 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 a) (-.f64 (*.f64 1/2 (/.f64 1 (cos.f64 a))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3))))) (cos.f64 a))) (*.f64 -1/2 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2))))) (pow.f64 b 3))))))
(/.f64 1 (cos.f64 (+.f64 a b)))
(/.f64 1 (cos.f64 (+.f64 a b)))
(/.f64 1 (cos.f64 (+.f64 a b)))
(/.f64 1 (cos.f64 (+.f64 a b)))
(/.f64 1 (cos.f64 (-.f64 a (*.f64 -1 b))))
(/.f64 1 (cos.f64 (-.f64 a (*.f64 -1 b))))
(/.f64 1 (cos.f64 (-.f64 a (*.f64 -1 b))))
(/.f64 1 (cos.f64 (-.f64 a (*.f64 -1 b))))
(/.f64 1 (cos.f64 b))
(+.f64 (/.f64 1 (cos.f64 b)) (/.f64 (*.f64 (sin.f64 b) a) (pow.f64 (cos.f64 b) 2)))
(+.f64 (/.f64 1 (cos.f64 b)) (+.f64 (/.f64 (*.f64 (sin.f64 b) a) (pow.f64 (cos.f64 b) 2)) (*.f64 (pow.f64 a 2) (-.f64 (*.f64 1/2 (/.f64 1 (cos.f64 b))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 3)))))))
(+.f64 (/.f64 1 (cos.f64 b)) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 b) (-.f64 (*.f64 1/2 (/.f64 1 (cos.f64 b))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 3))))) (cos.f64 b))) (+.f64 (*.f64 1/6 (/.f64 (sin.f64 b) (pow.f64 (cos.f64 b) 2))) (*.f64 -1/2 (/.f64 (sin.f64 b) (pow.f64 (cos.f64 b) 2))))) (pow.f64 a 3))) (+.f64 (/.f64 (*.f64 (sin.f64 b) a) (pow.f64 (cos.f64 b) 2)) (*.f64 (pow.f64 a 2) (-.f64 (*.f64 1/2 (/.f64 1 (cos.f64 b))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 3))))))))
(/.f64 1 (cos.f64 (+.f64 a b)))
(/.f64 1 (cos.f64 (+.f64 a b)))
(/.f64 1 (cos.f64 (+.f64 a b)))
(/.f64 1 (cos.f64 (+.f64 a b)))
(/.f64 1 (cos.f64 (-.f64 b (*.f64 -1 a))))
(/.f64 1 (cos.f64 (-.f64 b (*.f64 -1 a))))
(/.f64 1 (cos.f64 (-.f64 b (*.f64 -1 a))))
(/.f64 1 (cos.f64 (-.f64 b (*.f64 -1 a))))
Outputs
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 b (/.f64 (cos.f64 a) r))
(/.f64 r (/.f64 (cos.f64 a) b))
(*.f64 (/.f64 b (cos.f64 a)) r)
(+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 (pow.f64 b 2) r)) (pow.f64 (cos.f64 a) 2)) (/.f64 (*.f64 r b) (cos.f64 a)))
(+.f64 (/.f64 b (/.f64 (cos.f64 a) r)) (/.f64 (sin.f64 a) (/.f64 (pow.f64 (cos.f64 a) 2) (*.f64 r (*.f64 b b)))))
(+.f64 (/.f64 r (/.f64 (cos.f64 a) b)) (/.f64 (sin.f64 a) (/.f64 (pow.f64 (cos.f64 a) 2) (*.f64 b (*.f64 b r)))))
(fma.f64 (/.f64 r (cos.f64 a)) b (*.f64 (*.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) r) (*.f64 b b)))
(+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 r (pow.f64 b 2))) (pow.f64 (cos.f64 a) 2)) (+.f64 (/.f64 (*.f64 r b) (cos.f64 a)) (*.f64 (pow.f64 b 3) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (+.f64 (*.f64 -1/2 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3))))))))
(+.f64 (/.f64 (sin.f64 a) (/.f64 (pow.f64 (cos.f64 a) 2) (*.f64 r (*.f64 b b)))) (+.f64 (/.f64 b (/.f64 (cos.f64 a) r)) (*.f64 (pow.f64 b 3) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (fma.f64 -1/2 (/.f64 r (cos.f64 a)) (neg.f64 (/.f64 (*.f64 r (pow.f64 (sin.f64 a) 2)) (pow.f64 (cos.f64 a) 3))))))))
(+.f64 (/.f64 (sin.f64 a) (/.f64 (pow.f64 (cos.f64 a) 2) (*.f64 b (*.f64 b r)))) (fma.f64 (pow.f64 b 3) (-.f64 (*.f64 (/.f64 r (cos.f64 a)) 1/3) (/.f64 (*.f64 (neg.f64 (pow.f64 (sin.f64 a) 2)) r) (pow.f64 (cos.f64 a) 3))) (/.f64 r (/.f64 (cos.f64 a) b))))
(fma.f64 (pow.f64 b 3) (fma.f64 (/.f64 r (cos.f64 a)) 1/3 (*.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3)) r)) (fma.f64 (/.f64 r (cos.f64 a)) b (*.f64 (*.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) r) (*.f64 b b))))
(+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 r (pow.f64 b 2))) (pow.f64 (cos.f64 a) 2)) (+.f64 (/.f64 (*.f64 r b) (cos.f64 a)) (+.f64 (*.f64 (pow.f64 b 3) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (+.f64 (*.f64 -1/2 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3)))))) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 a) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (+.f64 (*.f64 -1/2 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3)))))) (cos.f64 a))) (+.f64 (*.f64 1/6 (/.f64 (*.f64 (sin.f64 a) r) (pow.f64 (cos.f64 a) 2))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 a) r) (pow.f64 (cos.f64 a) 2))))) (pow.f64 b 4))))))
(+.f64 (/.f64 (sin.f64 a) (/.f64 (pow.f64 (cos.f64 a) 2) (*.f64 r (*.f64 b b)))) (+.f64 (/.f64 b (/.f64 (cos.f64 a) r)) (fma.f64 (pow.f64 b 3) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (fma.f64 -1/2 (/.f64 r (cos.f64 a)) (neg.f64 (/.f64 (*.f64 r (pow.f64 (sin.f64 a) 2)) (pow.f64 (cos.f64 a) 3))))) (neg.f64 (*.f64 (fma.f64 -1 (/.f64 (*.f64 (sin.f64 a) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (fma.f64 -1/2 (/.f64 r (cos.f64 a)) (neg.f64 (/.f64 (*.f64 r (pow.f64 (sin.f64 a) 2)) (pow.f64 (cos.f64 a) 3)))))) (cos.f64 a)) (*.f64 (/.f64 (sin.f64 a) (/.f64 (pow.f64 (cos.f64 a) 2) r)) -1/3)) (pow.f64 b 4))))))
(+.f64 (/.f64 (sin.f64 a) (/.f64 (pow.f64 (cos.f64 a) 2) (*.f64 b (*.f64 b r)))) (-.f64 (fma.f64 (pow.f64 b 3) (-.f64 (*.f64 (/.f64 r (cos.f64 a)) 1/3) (/.f64 (*.f64 (neg.f64 (pow.f64 (sin.f64 a) 2)) r) (pow.f64 (cos.f64 a) 3))) (/.f64 r (/.f64 (cos.f64 a) b))) (*.f64 (-.f64 (/.f64 (*.f64 (sin.f64 a) -1/3) (/.f64 (pow.f64 (cos.f64 a) 2) r)) (*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) (-.f64 (*.f64 (/.f64 r (cos.f64 a)) 1/3) (/.f64 (*.f64 (neg.f64 (pow.f64 (sin.f64 a) 2)) r) (pow.f64 (cos.f64 a) 3))))) (pow.f64 b 4))))
(fma.f64 (/.f64 r (cos.f64 a)) b (fma.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b (*.f64 b r)) (fma.f64 (-.f64 (*.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 r -1/3)) (*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) (fma.f64 (/.f64 r (cos.f64 a)) 1/3 (*.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3)) r)))) (neg.f64 (pow.f64 b 4)) (*.f64 (pow.f64 b 3) (fma.f64 (/.f64 r (cos.f64 a)) 1/3 (*.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3)) r))))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 a (*.f64 -1 b))))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 a (*.f64 -1 b))))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 a (*.f64 -1 b))))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 a (*.f64 -1 b))))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r))
(/.f64 r (/.f64 (cos.f64 b) (sin.f64 b)))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r)
(+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 a r)) (pow.f64 (cos.f64 b) 2)) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))
(+.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r)) (/.f64 (pow.f64 (sin.f64 b) 2) (/.f64 (pow.f64 (cos.f64 b) 2) (*.f64 r a))))
(+.f64 (/.f64 r (/.f64 (cos.f64 b) (sin.f64 b))) (/.f64 (*.f64 r a) (/.f64 (pow.f64 (cos.f64 b) 2) (pow.f64 (sin.f64 b) 2))))
(fma.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)) (*.f64 r a) (*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r))
(+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 a r)) (pow.f64 (cos.f64 b) 2)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 3) r) (pow.f64 (cos.f64 b) 3))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))))) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))))
(+.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (/.f64 (pow.f64 (cos.f64 b) 2) (*.f64 r a))) (fma.f64 -1 (*.f64 (*.f64 a a) (fma.f64 -1 (/.f64 (pow.f64 (sin.f64 b) 3) (/.f64 (pow.f64 (cos.f64 b) 3) r)) (*.f64 -1/2 (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r))))) (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r))))
(+.f64 (/.f64 r (/.f64 (cos.f64 b) (sin.f64 b))) (-.f64 (/.f64 (*.f64 r a) (/.f64 (pow.f64 (cos.f64 b) 2) (pow.f64 (sin.f64 b) 2))) (*.f64 a (*.f64 a (fma.f64 -1/2 (/.f64 r (/.f64 (cos.f64 b) (sin.f64 b))) (/.f64 (neg.f64 (pow.f64 (sin.f64 b) 3)) (/.f64 (pow.f64 (cos.f64 b) 3) r)))))))
(fma.f64 (fma.f64 -1/2 (*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r) (*.f64 (/.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 (cos.f64 b) 3)) (neg.f64 r))) (*.f64 a (neg.f64 a)) (fma.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)) (*.f64 r a) (*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r)))
(+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 a r)) (pow.f64 (cos.f64 b) 2)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 3) (+.f64 (/.f64 (*.f64 (sin.f64 b) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 3) r) (pow.f64 (cos.f64 b) 3))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))))) (cos.f64 b)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) r) (pow.f64 (cos.f64 b) 2))) (*.f64 1/6 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) r) (pow.f64 (cos.f64 b) 2))))))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 3) r) (pow.f64 (cos.f64 b) 3))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))))) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))))
(+.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (/.f64 (pow.f64 (cos.f64 b) 2) (*.f64 r a))) (fma.f64 -1 (*.f64 (pow.f64 a 3) (+.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) (fma.f64 -1 (/.f64 (pow.f64 (sin.f64 b) 3) (/.f64 (pow.f64 (cos.f64 b) 3) r)) (*.f64 -1/2 (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r)))))) (*.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (/.f64 (pow.f64 (cos.f64 b) 2) r)) -1/3))) (fma.f64 -1 (*.f64 (*.f64 a a) (fma.f64 -1 (/.f64 (pow.f64 (sin.f64 b) 3) (/.f64 (pow.f64 (cos.f64 b) 3) r)) (*.f64 -1/2 (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r))))) (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r)))))
(+.f64 (/.f64 (*.f64 r a) (/.f64 (pow.f64 (cos.f64 b) 2) (pow.f64 (sin.f64 b) 2))) (-.f64 (-.f64 (/.f64 r (/.f64 (cos.f64 b) (sin.f64 b))) (*.f64 a (*.f64 a (fma.f64 -1/2 (/.f64 r (/.f64 (cos.f64 b) (sin.f64 b))) (/.f64 (neg.f64 (pow.f64 (sin.f64 b) 3)) (/.f64 (pow.f64 (cos.f64 b) 3) r)))))) (*.f64 (pow.f64 a 3) (fma.f64 (*.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)) r) -1/3 (*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) (fma.f64 -1/2 (/.f64 r (/.f64 (cos.f64 b) (sin.f64 b))) (/.f64 (neg.f64 (pow.f64 (sin.f64 b) 3)) (/.f64 (pow.f64 (cos.f64 b) 3) r))))))))
(fma.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)) (*.f64 r a) (-.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r) (*.f64 (*.f64 a a) (+.f64 (*.f64 a (fma.f64 (/.f64 (sin.f64 b) (cos.f64 b)) (fma.f64 -1/2 (*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r) (*.f64 (/.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 (cos.f64 b) 3)) (neg.f64 r))) (*.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)) (*.f64 r -1/3)))) (fma.f64 -1/2 (*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r) (*.f64 (/.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 (cos.f64 b) 3)) (neg.f64 r)))))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 b (*.f64 -1 a))))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 b (*.f64 -1 a))))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 b (*.f64 -1 a))))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 b (*.f64 -1 a))))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(/.f64 1 (cos.f64 a))
(+.f64 (/.f64 1 (cos.f64 a)) (/.f64 (*.f64 (sin.f64 a) b) (pow.f64 (cos.f64 a) 2)))
(+.f64 (/.f64 1 (cos.f64 a)) (/.f64 (sin.f64 a) (/.f64 (pow.f64 (cos.f64 a) 2) b)))
(+.f64 (/.f64 1 (cos.f64 a)) (/.f64 b (/.f64 (pow.f64 (cos.f64 a) 2) (sin.f64 a))))
(fma.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) b (/.f64 1 (cos.f64 a)))
(+.f64 (/.f64 1 (cos.f64 a)) (+.f64 (/.f64 (*.f64 (sin.f64 a) b) (pow.f64 (cos.f64 a) 2)) (*.f64 (pow.f64 b 2) (-.f64 (*.f64 1/2 (/.f64 1 (cos.f64 a))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3)))))))
(+.f64 (/.f64 1 (cos.f64 a)) (+.f64 (/.f64 (sin.f64 a) (/.f64 (pow.f64 (cos.f64 a) 2) b)) (*.f64 (*.f64 b b) (-.f64 (/.f64 1/2 (cos.f64 a)) (neg.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3)))))))
(+.f64 (/.f64 1 (cos.f64 a)) (fma.f64 (*.f64 b b) (+.f64 (/.f64 1/2 (cos.f64 a)) (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3))) (/.f64 b (/.f64 (pow.f64 (cos.f64 a) 2) (sin.f64 a)))))
(fma.f64 b (*.f64 b (+.f64 (/.f64 1/2 (cos.f64 a)) (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3)))) (fma.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) b (/.f64 1 (cos.f64 a))))
(+.f64 (/.f64 1 (cos.f64 a)) (+.f64 (/.f64 (*.f64 (sin.f64 a) b) (pow.f64 (cos.f64 a) 2)) (+.f64 (*.f64 (pow.f64 b 2) (-.f64 (*.f64 1/2 (/.f64 1 (cos.f64 a))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3))))) (*.f64 -1 (*.f64 (+.f64 (*.f64 1/6 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 a) (-.f64 (*.f64 1/2 (/.f64 1 (cos.f64 a))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3))))) (cos.f64 a))) (*.f64 -1/2 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2))))) (pow.f64 b 3))))))
(+.f64 (/.f64 1 (cos.f64 a)) (+.f64 (/.f64 (sin.f64 a) (/.f64 (pow.f64 (cos.f64 a) 2) b)) (fma.f64 (*.f64 b b) (-.f64 (/.f64 1/2 (cos.f64 a)) (neg.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3)))) (neg.f64 (*.f64 (pow.f64 b 3) (fma.f64 1/6 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (fma.f64 -1 (/.f64 (sin.f64 a) (/.f64 (cos.f64 a) (-.f64 (/.f64 1/2 (cos.f64 a)) (neg.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3)))))) (*.f64 -1/2 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2))))))))))
(+.f64 (/.f64 1 (cos.f64 a)) (-.f64 (fma.f64 (*.f64 b b) (+.f64 (/.f64 1/2 (cos.f64 a)) (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3))) (/.f64 b (/.f64 (pow.f64 (cos.f64 a) 2) (sin.f64 a)))) (*.f64 (pow.f64 b 3) (fma.f64 1/6 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (fma.f64 -1/2 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (/.f64 (neg.f64 (sin.f64 a)) (/.f64 (cos.f64 a) (+.f64 (/.f64 1/2 (cos.f64 a)) (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3))))))))))
(+.f64 (fma.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) b (/.f64 1 (cos.f64 a))) (*.f64 (*.f64 b b) (-.f64 (+.f64 (/.f64 1/2 (cos.f64 a)) (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3))) (*.f64 b (-.f64 (*.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) -1/3) (*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) (+.f64 (/.f64 1/2 (cos.f64 a)) (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3)))))))))
(/.f64 1 (cos.f64 (+.f64 a b)))
(/.f64 1 (cos.f64 (+.f64 b a)))
(/.f64 1 (cos.f64 (+.f64 a b)))
(/.f64 1 (cos.f64 (+.f64 b a)))
(/.f64 1 (cos.f64 (+.f64 a b)))
(/.f64 1 (cos.f64 (+.f64 b a)))
(/.f64 1 (cos.f64 (+.f64 a b)))
(/.f64 1 (cos.f64 (+.f64 b a)))
(/.f64 1 (cos.f64 (-.f64 a (*.f64 -1 b))))
(/.f64 1 (cos.f64 (+.f64 b a)))
(/.f64 1 (cos.f64 (-.f64 a (*.f64 -1 b))))
(/.f64 1 (cos.f64 (+.f64 b a)))
(/.f64 1 (cos.f64 (-.f64 a (*.f64 -1 b))))
(/.f64 1 (cos.f64 (+.f64 b a)))
(/.f64 1 (cos.f64 (-.f64 a (*.f64 -1 b))))
(/.f64 1 (cos.f64 (+.f64 b a)))
(/.f64 1 (cos.f64 b))
(+.f64 (/.f64 1 (cos.f64 b)) (/.f64 (*.f64 (sin.f64 b) a) (pow.f64 (cos.f64 b) 2)))
(+.f64 (/.f64 1 (cos.f64 b)) (/.f64 (sin.f64 b) (/.f64 (pow.f64 (cos.f64 b) 2) a)))
(+.f64 (/.f64 1 (cos.f64 b)) (*.f64 (/.f64 (sin.f64 b) (pow.f64 (cos.f64 b) 2)) a))
(fma.f64 (/.f64 (sin.f64 b) (pow.f64 (cos.f64 b) 2)) a (/.f64 1 (cos.f64 b)))
(+.f64 (/.f64 1 (cos.f64 b)) (+.f64 (/.f64 (*.f64 (sin.f64 b) a) (pow.f64 (cos.f64 b) 2)) (*.f64 (pow.f64 a 2) (-.f64 (*.f64 1/2 (/.f64 1 (cos.f64 b))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 3)))))))
(+.f64 (/.f64 1 (cos.f64 b)) (+.f64 (/.f64 (sin.f64 b) (/.f64 (pow.f64 (cos.f64 b) 2) a)) (*.f64 (*.f64 a a) (-.f64 (/.f64 1/2 (cos.f64 b)) (neg.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 3)))))))
(+.f64 (/.f64 1 (cos.f64 b)) (fma.f64 (*.f64 a a) (+.f64 (/.f64 1/2 (cos.f64 b)) (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 3))) (*.f64 (/.f64 (sin.f64 b) (pow.f64 (cos.f64 b) 2)) a)))
(fma.f64 a (*.f64 a (+.f64 (/.f64 1/2 (cos.f64 b)) (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 3)))) (fma.f64 (/.f64 (sin.f64 b) (pow.f64 (cos.f64 b) 2)) a (/.f64 1 (cos.f64 b))))
(+.f64 (/.f64 1 (cos.f64 b)) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 b) (-.f64 (*.f64 1/2 (/.f64 1 (cos.f64 b))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 3))))) (cos.f64 b))) (+.f64 (*.f64 1/6 (/.f64 (sin.f64 b) (pow.f64 (cos.f64 b) 2))) (*.f64 -1/2 (/.f64 (sin.f64 b) (pow.f64 (cos.f64 b) 2))))) (pow.f64 a 3))) (+.f64 (/.f64 (*.f64 (sin.f64 b) a) (pow.f64 (cos.f64 b) 2)) (*.f64 (pow.f64 a 2) (-.f64 (*.f64 1/2 (/.f64 1 (cos.f64 b))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 3))))))))
(+.f64 (/.f64 1 (cos.f64 b)) (fma.f64 -1 (*.f64 (pow.f64 a 3) (fma.f64 -1 (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) (-.f64 (/.f64 1/2 (cos.f64 b)) (neg.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 3)))))) (*.f64 (/.f64 (sin.f64 b) (pow.f64 (cos.f64 b) 2)) -1/3))) (+.f64 (/.f64 (sin.f64 b) (/.f64 (pow.f64 (cos.f64 b) 2) a)) (*.f64 (*.f64 a a) (-.f64 (/.f64 1/2 (cos.f64 b)) (neg.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 3))))))))
(+.f64 (/.f64 1 (cos.f64 b)) (-.f64 (fma.f64 (*.f64 a a) (+.f64 (/.f64 1/2 (cos.f64 b)) (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 3))) (*.f64 (/.f64 (sin.f64 b) (pow.f64 (cos.f64 b) 2)) a)) (*.f64 (pow.f64 a 3) (-.f64 (*.f64 (/.f64 (sin.f64 b) (pow.f64 (cos.f64 b) 2)) -1/3) (*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) (+.f64 (/.f64 1/2 (cos.f64 b)) (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 3))))))))
(-.f64 (fma.f64 a (*.f64 a (+.f64 (/.f64 1/2 (cos.f64 b)) (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 3)))) (fma.f64 (/.f64 (sin.f64 b) (pow.f64 (cos.f64 b) 2)) a (/.f64 1 (cos.f64 b)))) (*.f64 (pow.f64 a 3) (fma.f64 (/.f64 (sin.f64 b) (pow.f64 (cos.f64 b) 2)) -1/3 (/.f64 (neg.f64 (fma.f64 (sin.f64 b) (/.f64 1/2 (cos.f64 b)) (/.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 (cos.f64 b) 3)))) (cos.f64 b)))))
(/.f64 1 (cos.f64 (+.f64 a b)))
(/.f64 1 (cos.f64 (+.f64 b a)))
(/.f64 1 (cos.f64 (+.f64 a b)))
(/.f64 1 (cos.f64 (+.f64 b a)))
(/.f64 1 (cos.f64 (+.f64 a b)))
(/.f64 1 (cos.f64 (+.f64 b a)))
(/.f64 1 (cos.f64 (+.f64 a b)))
(/.f64 1 (cos.f64 (+.f64 b a)))
(/.f64 1 (cos.f64 (-.f64 b (*.f64 -1 a))))
(/.f64 1 (cos.f64 (+.f64 b a)))
(/.f64 1 (cos.f64 (-.f64 b (*.f64 -1 a))))
(/.f64 1 (cos.f64 (+.f64 b a)))
(/.f64 1 (cos.f64 (-.f64 b (*.f64 -1 a))))
(/.f64 1 (cos.f64 (+.f64 b a)))
(/.f64 1 (cos.f64 (-.f64 b (*.f64 -1 a))))
(/.f64 1 (cos.f64 (+.f64 b a)))

localize38.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(pow.f64 (*.f64 r (sin.f64 b)) 2)
0.2b
(/.f64 (sqrt.f64 (pow.f64 (*.f64 r (sin.f64 b)) 2)) (cos.f64 (+.f64 b a)))
4.3b
(cos.f64 (+.f64 b a))
29.1b
(sqrt.f64 (pow.f64 (*.f64 r (sin.f64 b)) 2))
Compiler

Compiled 45 to 17 computations (62.2% saved)

series21.0ms (0.1%)

Counts
3 → 84
Calls

21 calls:

TimeVariablePointExpression
5.0ms
b
@inf
(sqrt.f64 (pow.f64 (*.f64 r (sin.f64 b)) 2))
2.0ms
b
@0
(pow.f64 (*.f64 r (sin.f64 b)) 2)
1.0ms
b
@-inf
(pow.f64 (*.f64 r (sin.f64 b)) 2)
1.0ms
b
@inf
(pow.f64 (*.f64 r (sin.f64 b)) 2)
1.0ms
r
@-inf
(pow.f64 (*.f64 r (sin.f64 b)) 2)

rewrite114.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
609×log-prod_binary64
589×prod-diff_binary64
322×pow2_binary64
225×pow1/3_binary64
223×fma-def_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01229
126629
2335329
Stop Event
node limit
Counts
3 → 113
Calls
Call 1
Inputs
(sqrt.f64 (pow.f64 (*.f64 r (sin.f64 b)) 2))
(/.f64 (sqrt.f64 (pow.f64 (*.f64 r (sin.f64 b)) 2)) (cos.f64 (+.f64 b a)))
(pow.f64 (*.f64 r (sin.f64 b)) 2)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 r (sin.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 r) (sin.f64 b))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 r) (sin.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 r) (sin.f64 b)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 r) (sin.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 r (sin.f64 b)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 r (sin.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 b) r)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 r (sin.f64 b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 r (sin.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) (pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 2) (cbrt.f64 (*.f64 r (sin.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 r) 2) (*.f64 (cbrt.f64 r) (sin.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (sin.f64 b)) 2) (*.f64 (cbrt.f64 (sin.f64 b)) r))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 r (sin.f64 b))) (sqrt.f64 (*.f64 r (sin.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 r) (*.f64 (sqrt.f64 r) (sin.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sin.f64 b)) (*.f64 (sqrt.f64 (sin.f64 b)) r))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (*.f64 r (sin.f64 b)) 4))) (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) (*.f64 r (sin.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 r (pow.f64 (cbrt.f64 (sin.f64 b)) 2)) (cbrt.f64 (sin.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 r (sqrt.f64 (sin.f64 b))) (sqrt.f64 (sin.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 b) (pow.f64 (cbrt.f64 r) 2)) (cbrt.f64 r))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 b) (sqrt.f64 r)) (sqrt.f64 r))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 r (sin.f64 b)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 r (sin.f64 b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 r (sin.f64 b)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 r (sin.f64 b))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 r 3) (pow.f64 (sin.f64 b) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 r 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (*.f64 r (sin.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 r) (sin.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 r (sin.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 r (sin.f64 b)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 r 3) (pow.f64 (sin.f64 b) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 r 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 r (sin.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 r (sin.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 r (sin.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 r (sin.f64 b)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 r (sin.f64 b))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 r (*.f64 (sin.f64 b) (/.f64 1 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 b) (*.f64 r (/.f64 1 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 r (sin.f64 b)) (/.f64 1 (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 2) (*.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) (/.f64 1 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)))) (pow.f64 (cbrt.f64 (/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)))) 2) (cbrt.f64 (/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 r (sin.f64 b))) (*.f64 (sqrt.f64 (*.f64 r (sin.f64 b))) (/.f64 1 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)))) (sqrt.f64 (/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 r (neg.f64 (sin.f64 b))) (/.f64 1 (neg.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cos.f64 (+.f64 b a))) (*.f64 r (sin.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 r 1) (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 b) 1) (/.f64 r (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 2) 1) (/.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 r (sin.f64 b))) 1) (/.f64 (sqrt.f64 (*.f64 r (sin.f64 b))) (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 r (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 2)) (/.f64 (sin.f64 b) (cbrt.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 b) (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 2)) (/.f64 r (cbrt.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 2)) (/.f64 (*.f64 r (sin.f64 b)) (cbrt.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 2) (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 2)) (cbrt.f64 (/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 r (sin.f64 b))) (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 2)) (/.f64 (sqrt.f64 (*.f64 r (sin.f64 b))) (cbrt.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 r (sqrt.f64 (cos.f64 (+.f64 b a)))) (/.f64 (sin.f64 b) (sqrt.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 b) (sqrt.f64 (cos.f64 (+.f64 b a)))) (/.f64 r (sqrt.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 (cos.f64 (+.f64 b a)))) (/.f64 (*.f64 r (sin.f64 b)) (sqrt.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 2) (sqrt.f64 (cos.f64 (+.f64 b a)))) (/.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) (sqrt.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 r (sin.f64 b))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (*.f64 r (sin.f64 b)) 3) (pow.f64 (cos.f64 (+.f64 b a)) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 r (sin.f64 b))) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 r (sin.f64 b)) (neg.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (*.f64 r (sin.f64 b)) 3) (pow.f64 (cos.f64 (+.f64 b a)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (*.f64 r (sin.f64 b)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 r (sin.f64 b)) 2))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 r (sin.f64 b)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (*.f64 r (sin.f64 b)) 2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (*.f64 r (sin.f64 b)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 (*.f64 r (sin.f64 b)) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 r (*.f64 (sin.f64 b) (*.f64 r (sin.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 b) (*.f64 r (*.f64 r (sin.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 r (sin.f64 b)) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 r (sin.f64 b)) (*.f64 r (sin.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (*.f64 r (sin.f64 b)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 r r) (pow.f64 (sin.f64 b) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sin.f64 b) 2) (*.f64 r r))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 2) (cbrt.f64 (pow.f64 (*.f64 r (sin.f64 b)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 2) (*.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) (*.f64 r (sin.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (*.f64 r (sin.f64 b)) 4)) (pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 r (sin.f64 b))) (*.f64 (sqrt.f64 (*.f64 r (sin.f64 b))) (*.f64 r (sin.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (*.f64 r (sin.f64 b))) 3) (sqrt.f64 (*.f64 r (sin.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 r (sin.f64 b)) r) (sin.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 r (sin.f64 b)) (sin.f64 b)) r)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 r (sin.f64 b)) (pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 2)) (cbrt.f64 (*.f64 r (sin.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 r (sin.f64 b)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (*.f64 r (sin.f64 b)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (*.f64 r (sin.f64 b)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (pow.f64 (*.f64 r (sin.f64 b)) 2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (*.f64 r (sin.f64 b)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (*.f64 r (sin.f64 b)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 2 (log.f64 (*.f64 r (sin.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 r (sin.f64 b)))) 1))))))

simplify101.0ms (0.7%)

Algorithm
egg-herbie
Rules
744×fma-neg_binary64
692×fma-def_binary64
388×times-frac_binary64
343×associate-/l*_binary64
292×*-commutative_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01461506
14561451
215431399
371001390
Stop Event
node limit
Counts
197 → 154
Calls
Call 1
Inputs
(*.f64 (sin.f64 b) r)
(*.f64 (sin.f64 b) r)
(*.f64 (sin.f64 b) r)
(*.f64 (sin.f64 b) r)
(*.f64 (sin.f64 b) r)
(*.f64 (sin.f64 b) r)
(*.f64 (sin.f64 b) r)
(*.f64 (sin.f64 b) r)
(*.f64 -1 (*.f64 (sin.f64 b) r))
(*.f64 -1 (*.f64 (sin.f64 b) r))
(*.f64 -1 (*.f64 (sin.f64 b) r))
(*.f64 -1 (*.f64 (sin.f64 b) r))
(*.f64 r b)
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 b 3) r)) (*.f64 r b))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 b 3) r)) (+.f64 (*.f64 r b) (*.f64 1/120 (*.f64 (pow.f64 b 5) r))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 b 3) r)) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 b 7) r)) (+.f64 (*.f64 r b) (*.f64 1/120 (*.f64 (pow.f64 b 5) r)))))
(*.f64 (sin.f64 b) r)
(*.f64 (sin.f64 b) r)
(*.f64 (sin.f64 b) r)
(*.f64 (sin.f64 b) r)
(*.f64 (sin.f64 b) r)
(*.f64 (sin.f64 b) r)
(*.f64 (sin.f64 b) r)
(*.f64 (sin.f64 b) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b))))
(/.f64 (*.f64 b r) (cos.f64 a))
(+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 (pow.f64 b 2) r)) (pow.f64 (cos.f64 a) 2)) (/.f64 (*.f64 r b) (cos.f64 a)))
(+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 r (pow.f64 b 2))) (pow.f64 (cos.f64 a) 2)) (+.f64 (/.f64 (*.f64 r b) (cos.f64 a)) (*.f64 (pow.f64 b 3) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (+.f64 (*.f64 -1/2 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3))))))))
(+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 r (pow.f64 b 2))) (pow.f64 (cos.f64 a) 2)) (+.f64 (/.f64 (*.f64 r b) (cos.f64 a)) (+.f64 (*.f64 (pow.f64 b 3) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (+.f64 (*.f64 -1/2 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3)))))) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 a) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (+.f64 (*.f64 -1/2 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3)))))) (cos.f64 a))) (+.f64 (*.f64 1/6 (/.f64 (*.f64 (sin.f64 a) r) (pow.f64 (cos.f64 a) 2))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 a) r) (pow.f64 (cos.f64 a) 2))))) (pow.f64 b 4))))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 a (*.f64 -1 b))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 a (*.f64 -1 b))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 a (*.f64 -1 b))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 a (*.f64 -1 b))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))
(+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 a r)) (pow.f64 (cos.f64 b) 2)) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))
(+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 a r)) (pow.f64 (cos.f64 b) 2)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 3) r) (pow.f64 (cos.f64 b) 3))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))))) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))))
(+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 a r)) (pow.f64 (cos.f64 b) 2)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 3) (+.f64 (/.f64 (*.f64 (sin.f64 b) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 3) r) (pow.f64 (cos.f64 b) 3))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))))) (cos.f64 b)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) r) (pow.f64 (cos.f64 b) 2))) (*.f64 1/6 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) r) (pow.f64 (cos.f64 b) 2))))))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 3) r) (pow.f64 (cos.f64 b) 3))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))))) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 b (*.f64 -1 a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 b (*.f64 -1 a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 b (*.f64 -1 a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 b (*.f64 -1 a))))
(*.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 r 2))
(*.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 r 2))
(*.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 r 2))
(*.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 r 2))
(*.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 r 2))
(*.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 r 2))
(*.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 r 2))
(*.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 r 2))
(*.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 r 2))
(*.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 r 2))
(*.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 r 2))
(*.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 r 2))
(*.f64 (pow.f64 r 2) (pow.f64 b 2))
(+.f64 (*.f64 (pow.f64 r 2) (pow.f64 b 2)) (*.f64 -1/3 (*.f64 (pow.f64 b 4) (pow.f64 r 2))))
(+.f64 (*.f64 (+.f64 (*.f64 1/60 (pow.f64 r 2)) (*.f64 1/36 (pow.f64 r 2))) (pow.f64 b 6)) (+.f64 (*.f64 (pow.f64 r 2) (pow.f64 b 2)) (*.f64 -1/3 (*.f64 (pow.f64 b 4) (pow.f64 r 2)))))
(+.f64 (*.f64 (+.f64 (*.f64 1/60 (pow.f64 r 2)) (*.f64 1/36 (pow.f64 r 2))) (pow.f64 b 6)) (+.f64 (*.f64 (+.f64 (*.f64 -1/360 (pow.f64 r 2)) (*.f64 -1/2520 (pow.f64 r 2))) (pow.f64 b 8)) (+.f64 (*.f64 (pow.f64 r 2) (pow.f64 b 2)) (*.f64 -1/3 (*.f64 (pow.f64 b 4) (pow.f64 r 2))))))
(*.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 r 2))
(*.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 r 2))
(*.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 r 2))
(*.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 r 2))
(*.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 r 2))
(*.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 r 2))
(*.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 r 2))
(*.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 r 2))
Outputs
(*.f64 (sin.f64 b) r)
(*.f64 (sin.f64 b) r)
(*.f64 (sin.f64 b) r)
(*.f64 (sin.f64 b) r)
(*.f64 (sin.f64 b) r)
(*.f64 (sin.f64 b) r)
(*.f64 (sin.f64 b) r)
(*.f64 (sin.f64 b) r)
(*.f64 -1 (*.f64 (sin.f64 b) r))
(neg.f64 (*.f64 (sin.f64 b) r))
(*.f64 (sin.f64 b) (neg.f64 r))
(*.f64 -1 (*.f64 (sin.f64 b) r))
(neg.f64 (*.f64 (sin.f64 b) r))
(*.f64 (sin.f64 b) (neg.f64 r))
(*.f64 -1 (*.f64 (sin.f64 b) r))
(neg.f64 (*.f64 (sin.f64 b) r))
(*.f64 (sin.f64 b) (neg.f64 r))
(*.f64 -1 (*.f64 (sin.f64 b) r))
(neg.f64 (*.f64 (sin.f64 b) r))
(*.f64 (sin.f64 b) (neg.f64 r))
(*.f64 r b)
(*.f64 b r)
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 b 3) r)) (*.f64 r b))
(fma.f64 -1/6 (*.f64 r (pow.f64 b 3)) (*.f64 b r))
(*.f64 r (+.f64 b (*.f64 -1/6 (pow.f64 b 3))))
(*.f64 r (fma.f64 -1/6 (pow.f64 b 3) b))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 b 3) r)) (+.f64 (*.f64 r b) (*.f64 1/120 (*.f64 (pow.f64 b 5) r))))
(fma.f64 -1/6 (*.f64 r (pow.f64 b 3)) (fma.f64 r b (*.f64 1/120 (*.f64 r (pow.f64 b 5)))))
(fma.f64 -1/6 (*.f64 r (pow.f64 b 3)) (*.f64 r (+.f64 b (*.f64 1/120 (pow.f64 b 5)))))
(*.f64 r (+.f64 (*.f64 -1/6 (pow.f64 b 3)) (fma.f64 1/120 (pow.f64 b 5) b)))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 b 3) r)) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 b 7) r)) (+.f64 (*.f64 r b) (*.f64 1/120 (*.f64 (pow.f64 b 5) r)))))
(fma.f64 -1/6 (*.f64 r (pow.f64 b 3)) (fma.f64 -1/5040 (*.f64 r (pow.f64 b 7)) (fma.f64 r b (*.f64 1/120 (*.f64 r (pow.f64 b 5))))))
(fma.f64 -1/6 (*.f64 r (pow.f64 b 3)) (fma.f64 -1/5040 (*.f64 r (pow.f64 b 7)) (*.f64 r (+.f64 b (*.f64 1/120 (pow.f64 b 5))))))
(*.f64 r (+.f64 (fma.f64 1/120 (pow.f64 b 5) b) (fma.f64 -1/6 (pow.f64 b 3) (*.f64 -1/5040 (pow.f64 b 7)))))
(*.f64 (sin.f64 b) r)
(*.f64 (sin.f64 b) r)
(*.f64 (sin.f64 b) r)
(*.f64 (sin.f64 b) r)
(*.f64 (sin.f64 b) r)
(*.f64 (sin.f64 b) r)
(*.f64 (sin.f64 b) r)
(*.f64 (sin.f64 b) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b))))
(/.f64 (neg.f64 (*.f64 (sin.f64 b) r)) (cos.f64 (+.f64 b a)))
(/.f64 (*.f64 (sin.f64 b) (neg.f64 r)) (cos.f64 (+.f64 b a)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) (neg.f64 r)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b))))
(/.f64 (neg.f64 (*.f64 (sin.f64 b) r)) (cos.f64 (+.f64 b a)))
(/.f64 (*.f64 (sin.f64 b) (neg.f64 r)) (cos.f64 (+.f64 b a)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) (neg.f64 r)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b))))
(/.f64 (neg.f64 (*.f64 (sin.f64 b) r)) (cos.f64 (+.f64 b a)))
(/.f64 (*.f64 (sin.f64 b) (neg.f64 r)) (cos.f64 (+.f64 b a)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) (neg.f64 r)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b))))
(/.f64 (neg.f64 (*.f64 (sin.f64 b) r)) (cos.f64 (+.f64 b a)))
(/.f64 (*.f64 (sin.f64 b) (neg.f64 r)) (cos.f64 (+.f64 b a)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) (neg.f64 r)))
(/.f64 (*.f64 b r) (cos.f64 a))
(*.f64 (/.f64 r (cos.f64 a)) b)
(*.f64 b (/.f64 r (cos.f64 a)))
(+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 (pow.f64 b 2) r)) (pow.f64 (cos.f64 a) 2)) (/.f64 (*.f64 r b) (cos.f64 a)))
(+.f64 (/.f64 (*.f64 b r) (cos.f64 a)) (/.f64 (sin.f64 a) (/.f64 (pow.f64 (cos.f64 a) 2) (*.f64 r (*.f64 b b)))))
(+.f64 (*.f64 (/.f64 r (cos.f64 a)) b) (*.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b (*.f64 b r))))
(fma.f64 (/.f64 r (cos.f64 a)) b (*.f64 (*.f64 b (*.f64 b r)) (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2))))
(+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 r (pow.f64 b 2))) (pow.f64 (cos.f64 a) 2)) (+.f64 (/.f64 (*.f64 r b) (cos.f64 a)) (*.f64 (pow.f64 b 3) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (+.f64 (*.f64 -1/2 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3))))))))
(+.f64 (/.f64 (sin.f64 a) (/.f64 (pow.f64 (cos.f64 a) 2) (*.f64 r (*.f64 b b)))) (+.f64 (/.f64 (*.f64 b r) (cos.f64 a)) (*.f64 (pow.f64 b 3) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (fma.f64 -1/2 (/.f64 r (cos.f64 a)) (neg.f64 (/.f64 (*.f64 r (pow.f64 (sin.f64 a) 2)) (pow.f64 (cos.f64 a) 3))))))))
(+.f64 (*.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b (*.f64 b r))) (fma.f64 (pow.f64 b 3) (-.f64 (*.f64 (/.f64 r (cos.f64 a)) 1/3) (/.f64 (neg.f64 (*.f64 r (pow.f64 (sin.f64 a) 2))) (pow.f64 (cos.f64 a) 3))) (*.f64 (/.f64 r (cos.f64 a)) b)))
(fma.f64 (pow.f64 b 3) (fma.f64 (/.f64 r (cos.f64 a)) 1/3 (/.f64 r (/.f64 (pow.f64 (cos.f64 a) 3) (pow.f64 (sin.f64 a) 2)))) (fma.f64 (/.f64 r (cos.f64 a)) b (*.f64 (*.f64 b (*.f64 b r)) (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)))))
(+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 r (pow.f64 b 2))) (pow.f64 (cos.f64 a) 2)) (+.f64 (/.f64 (*.f64 r b) (cos.f64 a)) (+.f64 (*.f64 (pow.f64 b 3) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (+.f64 (*.f64 -1/2 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3)))))) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 a) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (+.f64 (*.f64 -1/2 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3)))))) (cos.f64 a))) (+.f64 (*.f64 1/6 (/.f64 (*.f64 (sin.f64 a) r) (pow.f64 (cos.f64 a) 2))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 a) r) (pow.f64 (cos.f64 a) 2))))) (pow.f64 b 4))))))
(+.f64 (/.f64 (sin.f64 a) (/.f64 (pow.f64 (cos.f64 a) 2) (*.f64 r (*.f64 b b)))) (+.f64 (/.f64 (*.f64 b r) (cos.f64 a)) (fma.f64 (pow.f64 b 3) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (fma.f64 -1/2 (/.f64 r (cos.f64 a)) (neg.f64 (/.f64 (*.f64 r (pow.f64 (sin.f64 a) 2)) (pow.f64 (cos.f64 a) 3))))) (neg.f64 (*.f64 (fma.f64 -1 (/.f64 (sin.f64 a) (/.f64 (cos.f64 a) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (fma.f64 -1/2 (/.f64 r (cos.f64 a)) (neg.f64 (/.f64 (*.f64 r (pow.f64 (sin.f64 a) 2)) (pow.f64 (cos.f64 a) 3))))))) (*.f64 (/.f64 (*.f64 r (sin.f64 a)) (pow.f64 (cos.f64 a) 2)) -1/3)) (pow.f64 b 4))))))
(+.f64 (*.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b (*.f64 b r))) (-.f64 (fma.f64 (pow.f64 b 3) (-.f64 (*.f64 (/.f64 r (cos.f64 a)) 1/3) (/.f64 (neg.f64 (*.f64 r (pow.f64 (sin.f64 a) 2))) (pow.f64 (cos.f64 a) 3))) (*.f64 (/.f64 r (cos.f64 a)) b)) (*.f64 (-.f64 (/.f64 (*.f64 (sin.f64 a) -1/3) (/.f64 (pow.f64 (cos.f64 a) 2) r)) (*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) (-.f64 (*.f64 (/.f64 r (cos.f64 a)) 1/3) (/.f64 (neg.f64 (*.f64 r (pow.f64 (sin.f64 a) 2))) (pow.f64 (cos.f64 a) 3))))) (pow.f64 b 4))))
(-.f64 (fma.f64 (pow.f64 b 3) (fma.f64 (/.f64 r (cos.f64 a)) 1/3 (/.f64 r (/.f64 (pow.f64 (cos.f64 a) 3) (pow.f64 (sin.f64 a) 2)))) (fma.f64 (/.f64 r (cos.f64 a)) b (*.f64 (*.f64 b (*.f64 b r)) (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2))))) (*.f64 (-.f64 (/.f64 (*.f64 (sin.f64 a) -1/3) (/.f64 (pow.f64 (cos.f64 a) 2) r)) (*.f64 (fma.f64 (/.f64 r (cos.f64 a)) 1/3 (/.f64 r (/.f64 (pow.f64 (cos.f64 a) 3) (pow.f64 (sin.f64 a) 2)))) (/.f64 (sin.f64 a) (cos.f64 a)))) (pow.f64 b 4)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 a (*.f64 -1 b))))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 a (*.f64 -1 b))))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 a (*.f64 -1 b))))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 a (*.f64 -1 b))))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r))
(+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 a r)) (pow.f64 (cos.f64 b) 2)) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))
(+.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r)) (/.f64 (pow.f64 (sin.f64 b) 2) (/.f64 (pow.f64 (cos.f64 b) 2) (*.f64 r a))))
(+.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r)) (*.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)) (*.f64 r a)))
(fma.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)) (*.f64 r a) (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r)))
(+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 a r)) (pow.f64 (cos.f64 b) 2)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 3) r) (pow.f64 (cos.f64 b) 3))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))))) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))))
(+.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (/.f64 (pow.f64 (cos.f64 b) 2) (*.f64 r a))) (fma.f64 -1 (*.f64 (*.f64 a a) (fma.f64 -1 (/.f64 (*.f64 r (pow.f64 (sin.f64 b) 3)) (pow.f64 (cos.f64 b) 3)) (*.f64 -1/2 (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r))))) (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r))))
(+.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r)) (-.f64 (*.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)) (*.f64 r a)) (*.f64 (*.f64 a a) (fma.f64 -1/2 (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r)) (/.f64 (neg.f64 (pow.f64 (sin.f64 b) 3)) (/.f64 (pow.f64 (cos.f64 b) 3) r))))))
(fma.f64 (*.f64 a a) (neg.f64 (fma.f64 -1/2 (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r)) (*.f64 (/.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 (cos.f64 b) 3)) (neg.f64 r)))) (fma.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)) (*.f64 r a) (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r))))
(fma.f64 (*.f64 a a) (neg.f64 (fma.f64 -1/2 (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r)) (*.f64 (pow.f64 (/.f64 (sin.f64 b) (cos.f64 b)) 3) (neg.f64 r)))) (fma.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)) (*.f64 r a) (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r))))
(+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 a r)) (pow.f64 (cos.f64 b) 2)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 3) (+.f64 (/.f64 (*.f64 (sin.f64 b) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 3) r) (pow.f64 (cos.f64 b) 3))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))))) (cos.f64 b)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) r) (pow.f64 (cos.f64 b) 2))) (*.f64 1/6 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) r) (pow.f64 (cos.f64 b) 2))))))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 3) r) (pow.f64 (cos.f64 b) 3))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))))) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))))
(+.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (/.f64 (pow.f64 (cos.f64 b) 2) (*.f64 r a))) (fma.f64 -1 (*.f64 (pow.f64 a 3) (+.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) (fma.f64 -1 (/.f64 (*.f64 r (pow.f64 (sin.f64 b) 3)) (pow.f64 (cos.f64 b) 3)) (*.f64 -1/2 (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r)))))) (*.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (/.f64 (pow.f64 (cos.f64 b) 2) r)) -1/3))) (fma.f64 -1 (*.f64 (*.f64 a a) (fma.f64 -1 (/.f64 (*.f64 r (pow.f64 (sin.f64 b) 3)) (pow.f64 (cos.f64 b) 3)) (*.f64 -1/2 (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r))))) (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r)))))
(+.f64 (*.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)) (*.f64 r a)) (-.f64 (-.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r)) (*.f64 (*.f64 a a) (fma.f64 -1/2 (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r)) (/.f64 (neg.f64 (pow.f64 (sin.f64 b) 3)) (/.f64 (pow.f64 (cos.f64 b) 3) r))))) (*.f64 (pow.f64 a 3) (fma.f64 (*.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)) r) -1/3 (*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) (fma.f64 -1/2 (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r)) (/.f64 (neg.f64 (pow.f64 (sin.f64 b) 3)) (/.f64 (pow.f64 (cos.f64 b) 3) r))))))))
(fma.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)) (*.f64 r a) (-.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r)) (*.f64 (*.f64 a a) (+.f64 (*.f64 a (fma.f64 (/.f64 (sin.f64 b) (cos.f64 b)) (fma.f64 -1/2 (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r)) (*.f64 (/.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 (cos.f64 b) 3)) (neg.f64 r))) (/.f64 (pow.f64 (sin.f64 b) 2) (/.f64 (/.f64 (pow.f64 (cos.f64 b) 2) r) -1/3)))) (fma.f64 -1/2 (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r)) (*.f64 (/.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 (cos.f64 b) 3)) (neg.f64 r)))))))
(fma.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)) (*.f64 r a) (-.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r)) (*.f64 (*.f64 a a) (+.f64 (*.f64 a (fma.f64 (/.f64 (sin.f64 b) (cos.f64 b)) (fma.f64 -1/2 (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r)) (*.f64 (pow.f64 (/.f64 (sin.f64 b) (cos.f64 b)) 3) (neg.f64 r))) (/.f64 (pow.f64 (sin.f64 b) 2) (/.f64 (/.f64 (pow.f64 (cos.f64 b) 2) r) -1/3)))) (fma.f64 -1/2 (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r)) (*.f64 (pow.f64 (/.f64 (sin.f64 b) (cos.f64 b)) 3) (neg.f64 r)))))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 b (*.f64 -1 a))))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 b (*.f64 -1 a))))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 b (*.f64 -1 a))))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 b (*.f64 -1 a))))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))
(*.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 r 2))
(*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 r r))
(*.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 r 2))
(*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 r r))
(*.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 r 2))
(*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 r r))
(*.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 r 2))
(*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 r r))
(*.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 r 2))
(*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 r r))
(*.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 r 2))
(*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 r r))
(*.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 r 2))
(*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 r r))
(*.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 r 2))
(*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 r r))
(*.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 r 2))
(*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 r r))
(*.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 r 2))
(*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 r r))
(*.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 r 2))
(*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 r r))
(*.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 r 2))
(*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 r r))
(*.f64 (pow.f64 r 2) (pow.f64 b 2))
(*.f64 (*.f64 b b) (*.f64 r r))
(*.f64 (*.f64 b r) (*.f64 b r))
(+.f64 (*.f64 (pow.f64 r 2) (pow.f64 b 2)) (*.f64 -1/3 (*.f64 (pow.f64 b 4) (pow.f64 r 2))))
(fma.f64 (*.f64 r r) (*.f64 b b) (*.f64 -1/3 (*.f64 (pow.f64 b 4) (*.f64 r r))))
(*.f64 (*.f64 r r) (+.f64 (*.f64 b b) (*.f64 (pow.f64 b 4) -1/3)))
(*.f64 (*.f64 r r) (fma.f64 (pow.f64 b 4) -1/3 (*.f64 b b)))
(+.f64 (*.f64 (+.f64 (*.f64 1/60 (pow.f64 r 2)) (*.f64 1/36 (pow.f64 r 2))) (pow.f64 b 6)) (+.f64 (*.f64 (pow.f64 r 2) (pow.f64 b 2)) (*.f64 -1/3 (*.f64 (pow.f64 b 4) (pow.f64 r 2)))))
(fma.f64 (*.f64 (*.f64 r r) 2/45) (pow.f64 b 6) (fma.f64 (*.f64 r r) (*.f64 b b) (*.f64 -1/3 (*.f64 (pow.f64 b 4) (*.f64 r r)))))
(fma.f64 (*.f64 (*.f64 r r) 2/45) (pow.f64 b 6) (*.f64 (*.f64 r r) (+.f64 (*.f64 b b) (*.f64 (pow.f64 b 4) -1/3))))
(*.f64 (*.f64 r r) (+.f64 (fma.f64 (pow.f64 b 4) -1/3 (*.f64 b b)) (*.f64 (pow.f64 b 6) 2/45)))
(+.f64 (*.f64 (+.f64 (*.f64 1/60 (pow.f64 r 2)) (*.f64 1/36 (pow.f64 r 2))) (pow.f64 b 6)) (+.f64 (*.f64 (+.f64 (*.f64 -1/360 (pow.f64 r 2)) (*.f64 -1/2520 (pow.f64 r 2))) (pow.f64 b 8)) (+.f64 (*.f64 (pow.f64 r 2) (pow.f64 b 2)) (*.f64 -1/3 (*.f64 (pow.f64 b 4) (pow.f64 r 2))))))
(fma.f64 (*.f64 (*.f64 r r) 2/45) (pow.f64 b 6) (fma.f64 (*.f64 (*.f64 r r) -1/315) (pow.f64 b 8) (fma.f64 (*.f64 r r) (*.f64 b b) (*.f64 -1/3 (*.f64 (pow.f64 b 4) (*.f64 r r))))))
(fma.f64 (*.f64 (*.f64 r r) 2/45) (pow.f64 b 6) (fma.f64 (*.f64 r (*.f64 r -1/315)) (pow.f64 b 8) (*.f64 (*.f64 r r) (+.f64 (*.f64 b b) (*.f64 (pow.f64 b 4) -1/3)))))
(fma.f64 (*.f64 r r) (*.f64 (pow.f64 b 8) -1/315) (*.f64 (*.f64 r r) (+.f64 (fma.f64 (pow.f64 b 4) -1/3 (*.f64 b b)) (*.f64 (pow.f64 b 6) 2/45))))
(*.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 r 2))
(*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 r r))
(*.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 r 2))
(*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 r r))
(*.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 r 2))
(*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 r r))
(*.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 r 2))
(*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 r r))
(*.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 r 2))
(*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 r r))
(*.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 r 2))
(*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 r r))
(*.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 r 2))
(*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 r r))
(*.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 r 2))
(*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 r r))

localize17.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f64 r (sqrt.f64 (cos.f64 (+.f64 b a))))
0.1b
(/.f64 (sin.f64 b) (sqrt.f64 (cos.f64 (+.f64 b a))))
0.1b
(*.f64 (/.f64 (sin.f64 b) (sqrt.f64 (cos.f64 (+.f64 b a)))) (/.f64 r (sqrt.f64 (cos.f64 (+.f64 b a)))))
4.3b
(cos.f64 (+.f64 b a))
Compiler

Compiled 51 to 10 computations (80.4% saved)

series21.0ms (0.1%)

Counts
3 → 96
Calls

24 calls:

TimeVariablePointExpression
3.0ms
b
@0
(/.f64 (sin.f64 b) (sqrt.f64 (cos.f64 (+.f64 b a))))
2.0ms
a
@0
(/.f64 (sin.f64 b) (sqrt.f64 (cos.f64 (+.f64 b a))))
2.0ms
r
@0
(/.f64 r (sqrt.f64 (cos.f64 (+.f64 b a))))
1.0ms
b
@0
(/.f64 r (sqrt.f64 (cos.f64 (+.f64 b a))))
1.0ms
a
@0
(/.f64 r (sqrt.f64 (cos.f64 (+.f64 b a))))

rewrite103.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
680×log-prod_binary64
613×prod-diff_binary64
241×fma-def_binary64
233×expm1-udef_binary64
233×log1p-udef_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01138
124838
2367338
Stop Event
node limit
Counts
3 → 131
Calls
Call 1
Inputs
(*.f64 (/.f64 (sin.f64 b) (sqrt.f64 (cos.f64 (+.f64 b a)))) (/.f64 r (sqrt.f64 (cos.f64 (+.f64 b a)))))
(/.f64 (sin.f64 b) (sqrt.f64 (cos.f64 (+.f64 b a))))
(/.f64 r (sqrt.f64 (cos.f64 (+.f64 b a))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 b a))))) (cbrt.f64 (exp.f64 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 b a))))))) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 b a)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 b a)))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 b a)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 b a))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sin.f64 b) (*.f64 (sqrt.f64 (cos.f64 (+.f64 b a))) (/.f64 (sqrt.f64 (cos.f64 (+.f64 b a))) r)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sin.f64 b) (*.f64 (/.f64 (sqrt.f64 (cos.f64 (+.f64 b a))) r) (sqrt.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sin.f64 b) (/.f64 (sqrt.f64 (cos.f64 (+.f64 b a))) (/.f64 r (sqrt.f64 (cos.f64 (+.f64 b a))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (sin.f64 b) (sqrt.f64 (cos.f64 (+.f64 b a)))) (/.f64 (sqrt.f64 (cos.f64 (+.f64 b a))) r))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 r (*.f64 (/.f64 (sqrt.f64 (cos.f64 (+.f64 b a))) (sin.f64 b)) (sqrt.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 r (*.f64 (sqrt.f64 (cos.f64 (+.f64 b a))) (/.f64 (sqrt.f64 (cos.f64 (+.f64 b a))) (sin.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 r (sqrt.f64 (cos.f64 (+.f64 b a)))) (/.f64 (sqrt.f64 (cos.f64 (+.f64 b a))) (sin.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (*.f64 (/.f64 (sqrt.f64 (cos.f64 (+.f64 b a))) (sin.f64 b)) (/.f64 (sqrt.f64 (cos.f64 (+.f64 b a))) r)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (*.f64 (/.f64 (sqrt.f64 (cos.f64 (+.f64 b a))) r) (/.f64 (sqrt.f64 (cos.f64 (+.f64 b a))) (sin.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 (sin.f64 b) r)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (sqrt.f64 (cos.f64 (+.f64 b a))) (*.f64 (/.f64 (sin.f64 b) (sqrt.f64 (cos.f64 (+.f64 b a)))) r)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 r) (*.f64 (/.f64 (sqrt.f64 (cos.f64 (+.f64 b a))) (sin.f64 b)) (neg.f64 (sqrt.f64 (cos.f64 (+.f64 b a))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (sin.f64 b)) (*.f64 (/.f64 (sqrt.f64 (cos.f64 (+.f64 b a))) r) (neg.f64 (sqrt.f64 (cos.f64 (+.f64 b a))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 b a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (sin.f64 b) (sqrt.f64 (cos.f64 (+.f64 b a)))) r) (sqrt.f64 (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (sin.f64 b) r)) (neg.f64 (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (/.f64 (sin.f64 b) (sqrt.f64 (cos.f64 (+.f64 b a)))) r)) (neg.f64 (sqrt.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (sin.f64 b)) r) (*.f64 (neg.f64 (sqrt.f64 (cos.f64 (+.f64 b a)))) (sqrt.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (sin.f64 b)) 1) (*.f64 (neg.f64 (sqrt.f64 (cos.f64 (+.f64 b a)))) (/.f64 (sqrt.f64 (cos.f64 (+.f64 b a))) r)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 b) (neg.f64 r)) (*.f64 (sqrt.f64 (cos.f64 (+.f64 b a))) (neg.f64 (sqrt.f64 (cos.f64 (+.f64 b a))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (sin.f64 b)) (neg.f64 r)) (*.f64 (neg.f64 (sqrt.f64 (cos.f64 (+.f64 b a)))) (neg.f64 (sqrt.f64 (cos.f64 (+.f64 b a))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 r) (sin.f64 b)) (*.f64 (neg.f64 (sqrt.f64 (cos.f64 (+.f64 b a)))) (sqrt.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 r) 1) (*.f64 (neg.f64 (sqrt.f64 (cos.f64 (+.f64 b a)))) (/.f64 (sqrt.f64 (cos.f64 (+.f64 b a))) (sin.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 r (neg.f64 (sin.f64 b))) (*.f64 (sqrt.f64 (cos.f64 (+.f64 b a))) (neg.f64 (sqrt.f64 (cos.f64 (+.f64 b a))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 r) (neg.f64 (sin.f64 b))) (*.f64 (neg.f64 (sqrt.f64 (cos.f64 (+.f64 b a)))) (neg.f64 (sqrt.f64 (cos.f64 (+.f64 b a))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sin.f64 b) r) 1) (cos.f64 (+.f64 b a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sin.f64 b) r) (cbrt.f64 (pow.f64 (cos.f64 (+.f64 b a)) 2))) (cbrt.f64 (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (/.f64 (sin.f64 b) (sqrt.f64 (cos.f64 (+.f64 b a)))) r) 1) (sqrt.f64 (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (/.f64 (sin.f64 b) (sqrt.f64 (cos.f64 (+.f64 b a)))) r) (cbrt.f64 (cos.f64 (+.f64 b a)))) (cbrt.f64 (sqrt.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (/.f64 (sin.f64 b) (sqrt.f64 (cos.f64 (+.f64 b a)))) r) (pow.f64 (cos.f64 (+.f64 b a)) 1/4)) (pow.f64 (cos.f64 (+.f64 b a)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (sin.f64 b)) (/.f64 r (sqrt.f64 (cos.f64 (+.f64 b a))))) (neg.f64 (sqrt.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 r) (/.f64 (sin.f64 b) (sqrt.f64 (cos.f64 (+.f64 b a))))) (neg.f64 (sqrt.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (sin.f64 b) (sqrt.f64 (cos.f64 (+.f64 b a)))) (neg.f64 r)) (neg.f64 (sqrt.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 r (sqrt.f64 (cos.f64 (+.f64 b a)))) (neg.f64 (sin.f64 b))) (neg.f64 (sqrt.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 b a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 b a))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 b a)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 b a)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 (sqrt.f64 (cos.f64 (+.f64 b a))) (sin.f64 b)) (/.f64 (sqrt.f64 (cos.f64 (+.f64 b a))) r)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 (sqrt.f64 (cos.f64 (+.f64 b a))) r) (/.f64 (sqrt.f64 (cos.f64 (+.f64 b a))) (sin.f64 b))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 (sin.f64 b) r)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 (cos.f64 (+.f64 b a))) (*.f64 (/.f64 (sin.f64 b) (sqrt.f64 (cos.f64 (+.f64 b a)))) r)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 b a))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 b a))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 b a))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (/.f64 (sin.f64 b) (sqrt.f64 (cos.f64 (+.f64 b a)))) 3) (pow.f64 (/.f64 r (sqrt.f64 (cos.f64 (+.f64 b a)))) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (/.f64 r (sqrt.f64 (cos.f64 (+.f64 b a)))) 3) (pow.f64 (/.f64 (sin.f64 b) (sqrt.f64 (cos.f64 (+.f64 b a)))) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 b a)))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (sin.f64 b) (sqrt.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (/.f64 (sin.f64 b) (sqrt.f64 (cos.f64 (+.f64 b a)))))) (cbrt.f64 (exp.f64 (/.f64 (sin.f64 b) (sqrt.f64 (cos.f64 (+.f64 b a)))))))) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (sin.f64 b) (sqrt.f64 (cos.f64 (+.f64 b a))))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (sin.f64 b) (sqrt.f64 (cos.f64 (+.f64 b a))))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (sin.f64 b) (sqrt.f64 (cos.f64 (+.f64 b a))))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (sin.f64 b) (sqrt.f64 (cos.f64 (+.f64 b a)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 b) (pow.f64 (cos.f64 (+.f64 b a)) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 b) (sqrt.f64 (cos.f64 (+.f64 b a)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (sin.f64 b) (sqrt.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (sin.f64 b) (sqrt.f64 (cos.f64 (+.f64 b a))))) (cbrt.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (cos.f64 (+.f64 b a)))) (cbrt.f64 (/.f64 (sin.f64 b) (sqrt.f64 (cos.f64 (+.f64 b a))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (sin.f64 b)) 2) (*.f64 (cbrt.f64 (sin.f64 b)) (pow.f64 (cos.f64 (+.f64 b a)) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (sin.f64 b) (sqrt.f64 (cos.f64 (+.f64 b a))))) (sqrt.f64 (/.f64 (sin.f64 b) (sqrt.f64 (cos.f64 (+.f64 b a))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sin.f64 b)) (*.f64 (sqrt.f64 (sin.f64 b)) (pow.f64 (cos.f64 (+.f64 b a)) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sin.f64 b)) (/.f64 1 (neg.f64 (sqrt.f64 (cos.f64 (+.f64 b a))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cos.f64 (+.f64 b a)) -1/2) (sin.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (sin.f64 b)) 2) 1) (/.f64 (cbrt.f64 (sin.f64 b)) (sqrt.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (sin.f64 b)) 1) (/.f64 (sqrt.f64 (sin.f64 b)) (sqrt.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (cos.f64 (+.f64 b a)))) (/.f64 (sin.f64 b) (cbrt.f64 (sqrt.f64 (cos.f64 (+.f64 b a))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (sin.f64 b)) 2) (cbrt.f64 (cos.f64 (+.f64 b a)))) (cbrt.f64 (/.f64 (sin.f64 b) (sqrt.f64 (cos.f64 (+.f64 b a))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (sin.f64 b)) (cbrt.f64 (cos.f64 (+.f64 b a)))) (/.f64 (sqrt.f64 (sin.f64 b)) (cbrt.f64 (sqrt.f64 (cos.f64 (+.f64 b a))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cos.f64 (+.f64 b a)) 1/4)) (/.f64 (sin.f64 b) (pow.f64 (cos.f64 (+.f64 b a)) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (sin.f64 b)) 2) (pow.f64 (cos.f64 (+.f64 b a)) 1/4)) (/.f64 (cbrt.f64 (sin.f64 b)) (pow.f64 (cos.f64 (+.f64 b a)) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sin.f64 b) (sqrt.f64 (cos.f64 (+.f64 b a)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (sin.f64 b) (sqrt.f64 (cos.f64 (+.f64 b a)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (sin.f64 b) (sqrt.f64 (cos.f64 (+.f64 b a))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (sin.f64 b) (sqrt.f64 (cos.f64 (+.f64 b a))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 (cos.f64 (+.f64 b a))) (sin.f64 b)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 (sqrt.f64 (cos.f64 (+.f64 b a))) (sin.f64 b)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (sin.f64 b) (neg.f64 (sqrt.f64 (cos.f64 (+.f64 b a))))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (sin.f64 b) (sqrt.f64 (cos.f64 (+.f64 b a))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (sin.f64 b) (sqrt.f64 (cos.f64 (+.f64 b a)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (sin.f64 b) (sqrt.f64 (cos.f64 (+.f64 b a)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 (cos.f64 (+.f64 b a)) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (sin.f64 b) (sqrt.f64 (cos.f64 (+.f64 b a))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (sin.f64 b) (sqrt.f64 (cos.f64 (+.f64 b a))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (sin.f64 b) (sqrt.f64 (cos.f64 (+.f64 b a))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (sin.f64 b) (sqrt.f64 (cos.f64 (+.f64 b a))))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 r (sqrt.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (/.f64 r (sqrt.f64 (cos.f64 (+.f64 b a)))))) (cbrt.f64 (exp.f64 (/.f64 r (sqrt.f64 (cos.f64 (+.f64 b a)))))))) (log.f64 (cbrt.f64 (exp.f64 (/.f64 r (sqrt.f64 (cos.f64 (+.f64 b a))))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 r (sqrt.f64 (cos.f64 (+.f64 b a))))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 r (sqrt.f64 (cos.f64 (+.f64 b a))))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 r (sqrt.f64 (cos.f64 (+.f64 b a)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 r (pow.f64 (cos.f64 (+.f64 b a)) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 r (sqrt.f64 (cos.f64 (+.f64 b a)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 r (sqrt.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 r r)) (*.f64 (cbrt.f64 r) (pow.f64 (cos.f64 (+.f64 b a)) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 r (sqrt.f64 (cos.f64 (+.f64 b a))))) (cbrt.f64 (/.f64 (*.f64 r r) (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 r r) (cos.f64 (+.f64 b a)))) (cbrt.f64 (/.f64 r (sqrt.f64 (cos.f64 (+.f64 b a))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 r) (*.f64 (sqrt.f64 r) (pow.f64 (cos.f64 (+.f64 b a)) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 r (sqrt.f64 (cos.f64 (+.f64 b a))))) (sqrt.f64 (/.f64 r (sqrt.f64 (cos.f64 (+.f64 b a))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 r) (/.f64 1 (neg.f64 (sqrt.f64 (cos.f64 (+.f64 b a))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cos.f64 (+.f64 b a)) -1/2) r)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (cos.f64 (+.f64 b a)))) (/.f64 r (cbrt.f64 (sqrt.f64 (cos.f64 (+.f64 b a))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cos.f64 (+.f64 b a)) 1/4)) (/.f64 r (pow.f64 (cos.f64 (+.f64 b a)) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 r r)) 1) (/.f64 (cbrt.f64 r) (sqrt.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 r) 1) (/.f64 (sqrt.f64 r) (sqrt.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 r r)) (cbrt.f64 (cos.f64 (+.f64 b a)))) (cbrt.f64 (/.f64 r (sqrt.f64 (cos.f64 (+.f64 b a))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 r) (cbrt.f64 (cos.f64 (+.f64 b a)))) (/.f64 (sqrt.f64 r) (cbrt.f64 (sqrt.f64 (cos.f64 (+.f64 b a))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 r r)) (pow.f64 (cos.f64 (+.f64 b a)) 1/4)) (/.f64 (cbrt.f64 r) (pow.f64 (cos.f64 (+.f64 b a)) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 r (sqrt.f64 (cos.f64 (+.f64 b a)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 r (sqrt.f64 (cos.f64 (+.f64 b a)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 r (sqrt.f64 (cos.f64 (+.f64 b a))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 r (sqrt.f64 (cos.f64 (+.f64 b a))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 (cos.f64 (+.f64 b a))) r) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 (sqrt.f64 (cos.f64 (+.f64 b a))) r) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 r (neg.f64 (sqrt.f64 (cos.f64 (+.f64 b a))))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 (*.f64 r r) (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 r (sqrt.f64 (cos.f64 (+.f64 b a))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 r (sqrt.f64 (cos.f64 (+.f64 b a)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 r (sqrt.f64 (cos.f64 (+.f64 b a)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 r 3) (pow.f64 (cos.f64 (+.f64 b a)) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 r (sqrt.f64 (cos.f64 (+.f64 b a))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 r (sqrt.f64 (cos.f64 (+.f64 b a))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 r (sqrt.f64 (cos.f64 (+.f64 b a))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 r (sqrt.f64 (cos.f64 (+.f64 b a))))) 1))))))

simplify258.0ms (1.7%)

Algorithm
egg-herbie
Rules
731×distribute-rgt-in_binary64
722×distribute-lft-in_binary64
484×times-frac_binary64
424×associate-/l*_binary64
226×associate-*r*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02383182
17553112
226713037
Stop Event
node limit
Counts
227 → 189
Calls
Call 1
Inputs
(/.f64 (*.f64 b r) (cos.f64 a))
(+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 (pow.f64 b 2) r)) (pow.f64 (cos.f64 a) 2)) (/.f64 (*.f64 r b) (cos.f64 a)))
(+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 r (pow.f64 b 2))) (pow.f64 (cos.f64 a) 2)) (+.f64 (/.f64 (*.f64 r b) (cos.f64 a)) (*.f64 (pow.f64 b 3) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (+.f64 (*.f64 -1/2 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3))))))))
(+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 r (pow.f64 b 2))) (pow.f64 (cos.f64 a) 2)) (+.f64 (/.f64 (*.f64 r b) (cos.f64 a)) (+.f64 (*.f64 (pow.f64 b 3) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (+.f64 (*.f64 -1/2 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3)))))) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 a) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (+.f64 (*.f64 -1/2 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3)))))) (cos.f64 a))) (+.f64 (*.f64 1/6 (/.f64 (*.f64 (sin.f64 a) r) (pow.f64 (cos.f64 a) 2))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 a) r) (pow.f64 (cos.f64 a) 2))))) (pow.f64 b 4))))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 a (*.f64 -1 b))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 a (*.f64 -1 b))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 a (*.f64 -1 b))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 a (*.f64 -1 b))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))
(+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 a r)) (pow.f64 (cos.f64 b) 2)) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))
(+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 a r)) (pow.f64 (cos.f64 b) 2)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 3) r) (pow.f64 (cos.f64 b) 3))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))))) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))))
(+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 a r)) (pow.f64 (cos.f64 b) 2)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 3) (+.f64 (/.f64 (*.f64 (sin.f64 b) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 3) r) (pow.f64 (cos.f64 b) 3))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))))) (cos.f64 b)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) r) (pow.f64 (cos.f64 b) 2))) (*.f64 1/6 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) r) (pow.f64 (cos.f64 b) 2))))))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 3) r) (pow.f64 (cos.f64 b) 3))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))))) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 b (*.f64 -1 a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 b (*.f64 -1 a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 b (*.f64 -1 a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 b (*.f64 -1 a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(*.f64 (sqrt.f64 (/.f64 1 (cos.f64 a))) b)
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 (cos.f64 a))) b) (*.f64 1/2 (*.f64 (*.f64 (sin.f64 a) (pow.f64 b 2)) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 a) 3))))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 (cos.f64 a))) b) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sin.f64 a) (pow.f64 b 2)) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 a) 3))))) (*.f64 (+.f64 (*.f64 1/2 (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 (cos.f64 a))) (+.f64 (*.f64 -1 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3))) (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 a) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 a) 3))))) 2))) (sqrt.f64 (cos.f64 a)))) (*.f64 -1/6 (sqrt.f64 (/.f64 1 (cos.f64 a))))) (pow.f64 b 3))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 (cos.f64 a))) b) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sin.f64 a) (pow.f64 b 2)) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 a) 3))))) (+.f64 (*.f64 (+.f64 (*.f64 -1/12 (*.f64 (sin.f64 a) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 a) 3))))) (*.f64 -1/2 (*.f64 (+.f64 (*.f64 1/6 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (sin.f64 a) (-.f64 (*.f64 1/2 (/.f64 1 (cos.f64 a))) (+.f64 (*.f64 -1 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3))) (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 a) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 a) 3))))) 2)))) (cos.f64 a))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 a) (-.f64 (*.f64 1/2 (/.f64 1 (cos.f64 a))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3))))) (cos.f64 a))) (*.f64 -1/2 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)))))) (sqrt.f64 (cos.f64 a))))) (pow.f64 b 4)) (*.f64 (+.f64 (*.f64 1/2 (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 (cos.f64 a))) (+.f64 (*.f64 -1 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3))) (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 a) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 a) 3))))) 2))) (sqrt.f64 (cos.f64 a)))) (*.f64 -1/6 (sqrt.f64 (/.f64 1 (cos.f64 a))))) (pow.f64 b 3)))))
(*.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 a b)))))
(*.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 a b)))))
(*.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 a b)))))
(*.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 a b)))))
(*.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (cos.f64 (-.f64 a (*.f64 -1 b))))))
(*.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (cos.f64 (-.f64 a (*.f64 -1 b))))))
(*.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (cos.f64 (-.f64 a (*.f64 -1 b))))))
(*.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (cos.f64 (-.f64 a (*.f64 -1 b))))))
(*.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (cos.f64 b))))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (pow.f64 (sin.f64 b) 2) a) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 b) 3))))) (*.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (cos.f64 b)))))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (pow.f64 (sin.f64 b) 2) a) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 b) 3))))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sin.f64 b) (*.f64 (pow.f64 a 2) (-.f64 (*.f64 1/2 (/.f64 1 (cos.f64 b))) (+.f64 (*.f64 -1 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 3))) (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 b) 3))))) 2))))) (sqrt.f64 (cos.f64 b)))) (*.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (cos.f64 b))))))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (pow.f64 (sin.f64 b) 2) a) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 b) 3))))) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sin.f64 b) (*.f64 (pow.f64 a 3) (+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 b) (-.f64 (*.f64 1/2 (/.f64 1 (cos.f64 b))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 3))))) (cos.f64 b))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (sin.f64 b) (-.f64 (*.f64 1/2 (/.f64 1 (cos.f64 b))) (+.f64 (*.f64 -1 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 3))) (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 b) 3))))) 2)))) (cos.f64 b))) (+.f64 (*.f64 1/6 (/.f64 (sin.f64 b) (pow.f64 (cos.f64 b) 2))) (*.f64 -1/2 (/.f64 (sin.f64 b) (pow.f64 (cos.f64 b) 2)))))))) (sqrt.f64 (cos.f64 b)))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sin.f64 b) (*.f64 (pow.f64 a 2) (-.f64 (*.f64 1/2 (/.f64 1 (cos.f64 b))) (+.f64 (*.f64 -1 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 3))) (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 b) 3))))) 2))))) (sqrt.f64 (cos.f64 b)))) (*.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (cos.f64 b)))))))
(*.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 a b)))))
(*.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 a b)))))
(*.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 a b)))))
(*.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 a b)))))
(*.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (cos.f64 (-.f64 b (*.f64 -1 a))))))
(*.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (cos.f64 (-.f64 b (*.f64 -1 a))))))
(*.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (cos.f64 (-.f64 b (*.f64 -1 a))))))
(*.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (cos.f64 (-.f64 b (*.f64 -1 a))))))
(*.f64 (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 a b)))) r)
(*.f64 (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 a b)))) r)
(*.f64 (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 a b)))) r)
(*.f64 (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 a b)))) r)
(*.f64 (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 a b)))) r)
(*.f64 (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 a b)))) r)
(*.f64 (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 a b)))) r)
(*.f64 (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 a b)))) r)
(*.f64 (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 a b)))) r)
(*.f64 (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 a b)))) r)
(*.f64 (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 a b)))) r)
(*.f64 (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 a b)))) r)
(*.f64 (sqrt.f64 (/.f64 1 (cos.f64 a))) r)
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sin.f64 a) (*.f64 b r)) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 a) 3))))) (*.f64 (sqrt.f64 (/.f64 1 (cos.f64 a))) r))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sin.f64 a) (*.f64 b r)) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 a) 3))))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 (cos.f64 a))) (+.f64 (*.f64 -1 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3))) (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 a) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 a) 3))))) 2))) (*.f64 (pow.f64 b 2) r)) (sqrt.f64 (cos.f64 a)))) (*.f64 (sqrt.f64 (/.f64 1 (cos.f64 a))) r)))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (+.f64 (*.f64 1/6 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (sin.f64 a) (-.f64 (*.f64 1/2 (/.f64 1 (cos.f64 a))) (+.f64 (*.f64 -1 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3))) (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 a) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 a) 3))))) 2)))) (cos.f64 a))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 a) (-.f64 (*.f64 1/2 (/.f64 1 (cos.f64 a))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3))))) (cos.f64 a))) (*.f64 -1/2 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)))))) (*.f64 r (pow.f64 b 3))) (sqrt.f64 (cos.f64 a)))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sin.f64 a) (*.f64 b r)) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 a) 3))))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 (cos.f64 a))) (+.f64 (*.f64 -1 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3))) (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 a) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 a) 3))))) 2))) (*.f64 (pow.f64 b 2) r)) (sqrt.f64 (cos.f64 a)))) (*.f64 (sqrt.f64 (/.f64 1 (cos.f64 a))) r))))
(*.f64 (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 a b)))) r)
(*.f64 (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 a b)))) r)
(*.f64 (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 a b)))) r)
(*.f64 (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 a b)))) r)
(*.f64 (sqrt.f64 (/.f64 1 (cos.f64 (-.f64 a (*.f64 -1 b))))) r)
(*.f64 (sqrt.f64 (/.f64 1 (cos.f64 (-.f64 a (*.f64 -1 b))))) r)
(*.f64 (sqrt.f64 (/.f64 1 (cos.f64 (-.f64 a (*.f64 -1 b))))) r)
(*.f64 (sqrt.f64 (/.f64 1 (cos.f64 (-.f64 a (*.f64 -1 b))))) r)
(*.f64 r (sqrt.f64 (/.f64 1 (cos.f64 b))))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sin.f64 b) (*.f64 a r)) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 b) 3))))) (*.f64 r (sqrt.f64 (/.f64 1 (cos.f64 b)))))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sin.f64 b) (*.f64 a r)) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 b) 3))))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (pow.f64 a 2) (*.f64 r (-.f64 (*.f64 1/2 (/.f64 1 (cos.f64 b))) (+.f64 (*.f64 -1 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 3))) (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 b) 3))))) 2))))) (sqrt.f64 (cos.f64 b)))) (*.f64 r (sqrt.f64 (/.f64 1 (cos.f64 b))))))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sin.f64 b) (*.f64 a r)) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 b) 3))))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (pow.f64 a 2) (*.f64 r (-.f64 (*.f64 1/2 (/.f64 1 (cos.f64 b))) (+.f64 (*.f64 -1 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 3))) (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 b) 3))))) 2))))) (sqrt.f64 (cos.f64 b)))) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (pow.f64 a 3) (*.f64 (+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 b) (-.f64 (*.f64 1/2 (/.f64 1 (cos.f64 b))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 3))))) (cos.f64 b))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (sin.f64 b) (-.f64 (*.f64 1/2 (/.f64 1 (cos.f64 b))) (+.f64 (*.f64 -1 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 3))) (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 b) 3))))) 2)))) (cos.f64 b))) (+.f64 (*.f64 1/6 (/.f64 (sin.f64 b) (pow.f64 (cos.f64 b) 2))) (*.f64 -1/2 (/.f64 (sin.f64 b) (pow.f64 (cos.f64 b) 2)))))) r)) (sqrt.f64 (cos.f64 b)))) (*.f64 r (sqrt.f64 (/.f64 1 (cos.f64 b)))))))
(*.f64 (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 a b)))) r)
(*.f64 (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 a b)))) r)
(*.f64 (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 a b)))) r)
(*.f64 (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 a b)))) r)
(*.f64 (sqrt.f64 (/.f64 1 (cos.f64 (-.f64 b (*.f64 -1 a))))) r)
(*.f64 (sqrt.f64 (/.f64 1 (cos.f64 (-.f64 b (*.f64 -1 a))))) r)
(*.f64 (sqrt.f64 (/.f64 1 (cos.f64 (-.f64 b (*.f64 -1 a))))) r)
(*.f64 (sqrt.f64 (/.f64 1 (cos.f64 (-.f64 b (*.f64 -1 a))))) r)
Outputs
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 b (/.f64 (cos.f64 a) r))
(*.f64 (/.f64 b (cos.f64 a)) r)
(+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 (pow.f64 b 2) r)) (pow.f64 (cos.f64 a) 2)) (/.f64 (*.f64 r b) (cos.f64 a)))
(+.f64 (/.f64 b (/.f64 (cos.f64 a) r)) (/.f64 (sin.f64 a) (/.f64 (pow.f64 (cos.f64 a) 2) (*.f64 r (*.f64 b b)))))
(+.f64 (/.f64 b (/.f64 (cos.f64 a) r)) (*.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b (*.f64 b r))))
(+.f64 (*.f64 (/.f64 b (cos.f64 a)) r) (*.f64 (*.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) r) (*.f64 b b)))
(+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 r (pow.f64 b 2))) (pow.f64 (cos.f64 a) 2)) (+.f64 (/.f64 (*.f64 r b) (cos.f64 a)) (*.f64 (pow.f64 b 3) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (+.f64 (*.f64 -1/2 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3))))))))
(+.f64 (/.f64 (sin.f64 a) (/.f64 (pow.f64 (cos.f64 a) 2) (*.f64 r (*.f64 b b)))) (+.f64 (/.f64 b (/.f64 (cos.f64 a) r)) (*.f64 (pow.f64 b 3) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (fma.f64 -1/2 (/.f64 r (cos.f64 a)) (neg.f64 (/.f64 (*.f64 r (pow.f64 (sin.f64 a) 2)) (pow.f64 (cos.f64 a) 3))))))))
(+.f64 (*.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b (*.f64 b r))) (fma.f64 (pow.f64 b 3) (-.f64 (*.f64 (/.f64 r (cos.f64 a)) 1/3) (/.f64 (*.f64 (neg.f64 (pow.f64 (sin.f64 a) 2)) r) (pow.f64 (cos.f64 a) 3))) (/.f64 b (/.f64 (cos.f64 a) r))))
(+.f64 (*.f64 (*.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) r) (*.f64 b b)) (fma.f64 (pow.f64 b 3) (fma.f64 (/.f64 r (cos.f64 a)) 1/3 (*.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3)) r)) (*.f64 (/.f64 b (cos.f64 a)) r)))
(+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 r (pow.f64 b 2))) (pow.f64 (cos.f64 a) 2)) (+.f64 (/.f64 (*.f64 r b) (cos.f64 a)) (+.f64 (*.f64 (pow.f64 b 3) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (+.f64 (*.f64 -1/2 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3)))))) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 a) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (+.f64 (*.f64 -1/2 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3)))))) (cos.f64 a))) (+.f64 (*.f64 1/6 (/.f64 (*.f64 (sin.f64 a) r) (pow.f64 (cos.f64 a) 2))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 a) r) (pow.f64 (cos.f64 a) 2))))) (pow.f64 b 4))))))
(+.f64 (/.f64 (sin.f64 a) (/.f64 (pow.f64 (cos.f64 a) 2) (*.f64 r (*.f64 b b)))) (+.f64 (/.f64 b (/.f64 (cos.f64 a) r)) (fma.f64 (pow.f64 b 3) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (fma.f64 -1/2 (/.f64 r (cos.f64 a)) (neg.f64 (/.f64 (*.f64 r (pow.f64 (sin.f64 a) 2)) (pow.f64 (cos.f64 a) 3))))) (neg.f64 (*.f64 (fma.f64 -1 (/.f64 (*.f64 (sin.f64 a) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (fma.f64 -1/2 (/.f64 r (cos.f64 a)) (neg.f64 (/.f64 (*.f64 r (pow.f64 (sin.f64 a) 2)) (pow.f64 (cos.f64 a) 3)))))) (cos.f64 a)) (*.f64 (/.f64 (sin.f64 a) (/.f64 (pow.f64 (cos.f64 a) 2) r)) -1/3)) (pow.f64 b 4))))))
(+.f64 (*.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b (*.f64 b r))) (-.f64 (fma.f64 (pow.f64 b 3) (-.f64 (*.f64 (/.f64 r (cos.f64 a)) 1/3) (/.f64 (*.f64 (neg.f64 (pow.f64 (sin.f64 a) 2)) r) (pow.f64 (cos.f64 a) 3))) (/.f64 b (/.f64 (cos.f64 a) r))) (*.f64 (-.f64 (*.f64 (/.f64 r (/.f64 (pow.f64 (cos.f64 a) 2) (sin.f64 a))) -1/3) (*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) (-.f64 (*.f64 (/.f64 r (cos.f64 a)) 1/3) (/.f64 (*.f64 (neg.f64 (pow.f64 (sin.f64 a) 2)) r) (pow.f64 (cos.f64 a) 3))))) (pow.f64 b 4))))
(-.f64 (+.f64 (*.f64 (*.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) r) (*.f64 b b)) (fma.f64 (pow.f64 b 3) (fma.f64 (/.f64 r (cos.f64 a)) 1/3 (*.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3)) r)) (*.f64 (/.f64 b (cos.f64 a)) r))) (*.f64 (-.f64 (*.f64 (*.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) r) -1/3) (*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) (fma.f64 (/.f64 r (cos.f64 a)) 1/3 (*.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3)) r)))) (pow.f64 b 4)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 a (*.f64 -1 b))))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 a (*.f64 -1 b))))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 a (*.f64 -1 b))))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 a (*.f64 -1 b))))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r)
(*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b))
(+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 a r)) (pow.f64 (cos.f64 b) 2)) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))
(+.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r)) (/.f64 (pow.f64 (sin.f64 b) 2) (/.f64 (pow.f64 (cos.f64 b) 2) (*.f64 r a))))
(+.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r) (/.f64 (pow.f64 (sin.f64 b) 2) (/.f64 (/.f64 (pow.f64 (cos.f64 b) 2) a) r)))
(+.f64 (*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b)) (*.f64 (*.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)) r) a))
(+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 a r)) (pow.f64 (cos.f64 b) 2)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 3) r) (pow.f64 (cos.f64 b) 3))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))))) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))))
(+.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (/.f64 (pow.f64 (cos.f64 b) 2) (*.f64 r a))) (fma.f64 -1 (*.f64 (*.f64 a a) (fma.f64 -1 (/.f64 (pow.f64 (sin.f64 b) 3) (/.f64 (pow.f64 (cos.f64 b) 3) r)) (/.f64 (*.f64 -1/2 (*.f64 r (sin.f64 b))) (cos.f64 b)))) (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r))))
(+.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r) (-.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (/.f64 (/.f64 (pow.f64 (cos.f64 b) 2) a) r)) (*.f64 a (*.f64 a (-.f64 (/.f64 (*.f64 -1/2 (sin.f64 b)) (/.f64 (cos.f64 b) r)) (*.f64 (/.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 (cos.f64 b) 3)) r))))))
(+.f64 (*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b)) (-.f64 (*.f64 (*.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)) r) a) (*.f64 a (*.f64 a (fma.f64 -1/2 (*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b)) (*.f64 (/.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 (cos.f64 b) 3)) (neg.f64 r)))))))
(+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 a r)) (pow.f64 (cos.f64 b) 2)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 3) (+.f64 (/.f64 (*.f64 (sin.f64 b) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 3) r) (pow.f64 (cos.f64 b) 3))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))))) (cos.f64 b)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) r) (pow.f64 (cos.f64 b) 2))) (*.f64 1/6 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) r) (pow.f64 (cos.f64 b) 2))))))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 3) r) (pow.f64 (cos.f64 b) 3))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))))) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))))
(+.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (/.f64 (pow.f64 (cos.f64 b) 2) (*.f64 r a))) (fma.f64 -1 (*.f64 (pow.f64 a 3) (+.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) (fma.f64 -1 (/.f64 (pow.f64 (sin.f64 b) 3) (/.f64 (pow.f64 (cos.f64 b) 3) r)) (/.f64 (*.f64 -1/2 (*.f64 r (sin.f64 b))) (cos.f64 b))))) (*.f64 (/.f64 (*.f64 r (pow.f64 (sin.f64 b) 2)) (pow.f64 (cos.f64 b) 2)) -1/3))) (fma.f64 -1 (*.f64 (*.f64 a a) (fma.f64 -1 (/.f64 (pow.f64 (sin.f64 b) 3) (/.f64 (pow.f64 (cos.f64 b) 3) r)) (/.f64 (*.f64 -1/2 (*.f64 r (sin.f64 b))) (cos.f64 b)))) (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r)))))
(+.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (/.f64 (/.f64 (pow.f64 (cos.f64 b) 2) a) r)) (-.f64 (-.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r) (*.f64 a (*.f64 a (-.f64 (/.f64 (*.f64 -1/2 (sin.f64 b)) (/.f64 (cos.f64 b) r)) (*.f64 (/.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 (cos.f64 b) 3)) r))))) (*.f64 (pow.f64 a 3) (fma.f64 (*.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)) r) -1/3 (*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) (-.f64 (/.f64 (*.f64 -1/2 (sin.f64 b)) (/.f64 (cos.f64 b) r)) (*.f64 (/.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 (cos.f64 b) 3)) r)))))))
(+.f64 (*.f64 (*.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)) r) a) (-.f64 (*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b)) (*.f64 (*.f64 a a) (+.f64 (*.f64 a (fma.f64 (*.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)) r) -1/3 (*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) (fma.f64 -1/2 (*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b)) (*.f64 (/.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 (cos.f64 b) 3)) (neg.f64 r)))))) (fma.f64 -1/2 (*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b)) (*.f64 (/.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 (cos.f64 b) 3)) (neg.f64 r)))))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 b (*.f64 -1 a))))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 b (*.f64 -1 a))))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 b (*.f64 -1 a))))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 b (*.f64 -1 a))))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(*.f64 (sqrt.f64 (/.f64 1 (cos.f64 a))) b)
(*.f64 b (sqrt.f64 (/.f64 1 (cos.f64 a))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 (cos.f64 a))) b) (*.f64 1/2 (*.f64 (*.f64 (sin.f64 a) (pow.f64 b 2)) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 a) 3))))))
(fma.f64 (sqrt.f64 (/.f64 1 (cos.f64 a))) b (*.f64 1/2 (*.f64 (*.f64 (sin.f64 a) (*.f64 b b)) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 a) 3))))))
(fma.f64 b (sqrt.f64 (/.f64 1 (cos.f64 a))) (*.f64 1/2 (*.f64 (*.f64 b b) (*.f64 (sin.f64 a) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 a) 3)))))))
(fma.f64 b (sqrt.f64 (/.f64 1 (cos.f64 a))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 a) 3))) (*.f64 (*.f64 1/2 (*.f64 b b)) (sin.f64 a))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 (cos.f64 a))) b) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sin.f64 a) (pow.f64 b 2)) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 a) 3))))) (*.f64 (+.f64 (*.f64 1/2 (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 (cos.f64 a))) (+.f64 (*.f64 -1 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3))) (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 a) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 a) 3))))) 2))) (sqrt.f64 (cos.f64 a)))) (*.f64 -1/6 (sqrt.f64 (/.f64 1 (cos.f64 a))))) (pow.f64 b 3))))
(fma.f64 (sqrt.f64 (/.f64 1 (cos.f64 a))) b (fma.f64 1/2 (*.f64 (*.f64 (sin.f64 a) (*.f64 b b)) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 a) 3)))) (*.f64 (pow.f64 b 3) (fma.f64 1/2 (*.f64 (-.f64 (/.f64 1/2 (cos.f64 a)) (fma.f64 -1 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3)) (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 a) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 a) 3))))) 2))) (sqrt.f64 (cos.f64 a))) (*.f64 -1/6 (sqrt.f64 (/.f64 1 (cos.f64 a))))))))
(fma.f64 b (sqrt.f64 (/.f64 1 (cos.f64 a))) (fma.f64 (pow.f64 b 3) (fma.f64 -1/6 (sqrt.f64 (/.f64 1 (cos.f64 a))) (*.f64 1/2 (*.f64 (+.f64 (/.f64 1/2 (cos.f64 a)) (-.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3)) (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 a) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 a) 3))))) 2))) (sqrt.f64 (cos.f64 a))))) (*.f64 1/2 (*.f64 (*.f64 b b) (*.f64 (sin.f64 a) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 a) 3))))))))
(fma.f64 b (sqrt.f64 (/.f64 1 (cos.f64 a))) (fma.f64 (pow.f64 b 3) (fma.f64 -1/6 (sqrt.f64 (/.f64 1 (cos.f64 a))) (*.f64 1/2 (*.f64 (+.f64 (-.f64 (/.f64 1/2 (cos.f64 a)) (*.f64 1/4 (*.f64 (pow.f64 (sin.f64 a) 2) (/.f64 1 (pow.f64 (cos.f64 a) 3))))) (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3))) (sqrt.f64 (cos.f64 a))))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 a) 3))) (*.f64 (*.f64 1/2 (*.f64 b b)) (sin.f64 a)))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 (cos.f64 a))) b) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sin.f64 a) (pow.f64 b 2)) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 a) 3))))) (+.f64 (*.f64 (+.f64 (*.f64 -1/12 (*.f64 (sin.f64 a) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 a) 3))))) (*.f64 -1/2 (*.f64 (+.f64 (*.f64 1/6 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (sin.f64 a) (-.f64 (*.f64 1/2 (/.f64 1 (cos.f64 a))) (+.f64 (*.f64 -1 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3))) (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 a) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 a) 3))))) 2)))) (cos.f64 a))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 a) (-.f64 (*.f64 1/2 (/.f64 1 (cos.f64 a))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3))))) (cos.f64 a))) (*.f64 -1/2 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)))))) (sqrt.f64 (cos.f64 a))))) (pow.f64 b 4)) (*.f64 (+.f64 (*.f64 1/2 (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 (cos.f64 a))) (+.f64 (*.f64 -1 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3))) (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 a) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 a) 3))))) 2))) (sqrt.f64 (cos.f64 a)))) (*.f64 -1/6 (sqrt.f64 (/.f64 1 (cos.f64 a))))) (pow.f64 b 3)))))
(fma.f64 (sqrt.f64 (/.f64 1 (cos.f64 a))) b (fma.f64 1/2 (*.f64 (*.f64 (sin.f64 a) (*.f64 b b)) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 a) 3)))) (fma.f64 (fma.f64 -1/12 (*.f64 (sin.f64 a) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 a) 3)))) (*.f64 -1/2 (*.f64 (sqrt.f64 (cos.f64 a)) (fma.f64 1/6 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (fma.f64 1/2 (/.f64 (sin.f64 a) (/.f64 (cos.f64 a) (-.f64 (/.f64 1/2 (cos.f64 a)) (fma.f64 -1 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3)) (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 a) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 a) 3))))) 2))))) (fma.f64 -1 (/.f64 (sin.f64 a) (/.f64 (cos.f64 a) (-.f64 (/.f64 1/2 (cos.f64 a)) (neg.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3)))))) (*.f64 -1/2 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2))))))))) (pow.f64 b 4) (*.f64 (pow.f64 b 3) (fma.f64 1/2 (*.f64 (-.f64 (/.f64 1/2 (cos.f64 a)) (fma.f64 -1 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3)) (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 a) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 a) 3))))) 2))) (sqrt.f64 (cos.f64 a))) (*.f64 -1/6 (sqrt.f64 (/.f64 1 (cos.f64 a)))))))))
(fma.f64 b (sqrt.f64 (/.f64 1 (cos.f64 a))) (fma.f64 1/2 (*.f64 (*.f64 b b) (*.f64 (sin.f64 a) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 a) 3))))) (fma.f64 (pow.f64 b 3) (fma.f64 -1/6 (sqrt.f64 (/.f64 1 (cos.f64 a))) (*.f64 1/2 (*.f64 (+.f64 (/.f64 1/2 (cos.f64 a)) (-.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3)) (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 a) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 a) 3))))) 2))) (sqrt.f64 (cos.f64 a))))) (*.f64 (pow.f64 b 4) (fma.f64 -1/2 (*.f64 (sqrt.f64 (cos.f64 a)) (fma.f64 1/6 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (fma.f64 1/2 (*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) (+.f64 (/.f64 1/2 (cos.f64 a)) (-.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3)) (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 a) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 a) 3))))) 2)))) (-.f64 (/.f64 -1/2 (/.f64 (pow.f64 (cos.f64 a) 2) (sin.f64 a))) (*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) (+.f64 (/.f64 1/2 (cos.f64 a)) (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3)))))))) (*.f64 (sin.f64 a) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 a) 3))) -1/12)))))))
(fma.f64 b (sqrt.f64 (/.f64 1 (cos.f64 a))) (fma.f64 1/2 (*.f64 (*.f64 b b) (*.f64 (sin.f64 a) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 a) 3))))) (fma.f64 (pow.f64 b 4) (fma.f64 -1/2 (*.f64 (sqrt.f64 (cos.f64 a)) (+.f64 (-.f64 (*.f64 1/2 (*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) (+.f64 (-.f64 (/.f64 1/2 (cos.f64 a)) (*.f64 1/4 (*.f64 (pow.f64 (sin.f64 a) 2) (/.f64 1 (pow.f64 (cos.f64 a) 3))))) (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3))))) (*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) (+.f64 (/.f64 1/2 (cos.f64 a)) (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3))))) (*.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) -1/3))) (*.f64 (sin.f64 a) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 a) 3))) -1/12))) (*.f64 (pow.f64 b 3) (fma.f64 -1/6 (sqrt.f64 (/.f64 1 (cos.f64 a))) (*.f64 1/2 (*.f64 (+.f64 (-.f64 (/.f64 1/2 (cos.f64 a)) (*.f64 1/4 (*.f64 (pow.f64 (sin.f64 a) 2) (/.f64 1 (pow.f64 (cos.f64 a) 3))))) (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3))) (sqrt.f64 (cos.f64 a)))))))))
(*.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 a b)))))
(*.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 b a)))))
(*.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 a b)))))
(*.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 b a)))))
(*.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 a b)))))
(*.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 b a)))))
(*.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 a b)))))
(*.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 b a)))))
(*.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (cos.f64 (-.f64 a (*.f64 -1 b))))))
(*.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 b a)))))
(*.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (cos.f64 (-.f64 a (*.f64 -1 b))))))
(*.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 b a)))))
(*.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (cos.f64 (-.f64 a (*.f64 -1 b))))))
(*.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 b a)))))
(*.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (cos.f64 (-.f64 a (*.f64 -1 b))))))
(*.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 b a)))))
(*.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (cos.f64 b))))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (pow.f64 (sin.f64 b) 2) a) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 b) 3))))) (*.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (cos.f64 b)))))
(fma.f64 1/2 (*.f64 (*.f64 a (pow.f64 (sin.f64 b) 2)) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 b) 3)))) (*.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (cos.f64 b)))))
(fma.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (cos.f64 b))) (*.f64 1/2 (*.f64 (*.f64 a (pow.f64 (sin.f64 b) 2)) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 b) 3))))))
(fma.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (cos.f64 b))) (*.f64 (*.f64 a (pow.f64 (sin.f64 b) 2)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 b) 3))) 1/2)))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (pow.f64 (sin.f64 b) 2) a) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 b) 3))))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sin.f64 b) (*.f64 (pow.f64 a 2) (-.f64 (*.f64 1/2 (/.f64 1 (cos.f64 b))) (+.f64 (*.f64 -1 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 3))) (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 b) 3))))) 2))))) (sqrt.f64 (cos.f64 b)))) (*.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (cos.f64 b))))))
(fma.f64 1/2 (*.f64 (*.f64 a (pow.f64 (sin.f64 b) 2)) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 b) 3)))) (fma.f64 1/2 (*.f64 (*.f64 (sin.f64 b) (*.f64 (*.f64 a a) (-.f64 (/.f64 1/2 (cos.f64 b)) (fma.f64 -1 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 3)) (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 b) 3))))) 2))))) (sqrt.f64 (cos.f64 b))) (*.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (cos.f64 b))))))
(fma.f64 1/2 (*.f64 (*.f64 a (pow.f64 (sin.f64 b) 2)) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 b) 3)))) (fma.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (cos.f64 b))) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 (cos.f64 b)) (*.f64 (sin.f64 b) (*.f64 a a))) (+.f64 (/.f64 1/2 (cos.f64 b)) (-.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 3)) (pow.f64 (*.f64 (sin.f64 b) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 b) 3))) 1/2)) 2)))))))
(fma.f64 1/2 (*.f64 a (*.f64 (pow.f64 (sin.f64 b) 2) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 b) 3))))) (*.f64 (sin.f64 b) (+.f64 (sqrt.f64 (/.f64 1 (cos.f64 b))) (*.f64 (*.f64 (*.f64 a a) (*.f64 (+.f64 (/.f64 1/2 (cos.f64 b)) (+.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 3)) (*.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (/.f64 1 (pow.f64 (cos.f64 b) 3))) -1/4))) (sqrt.f64 (cos.f64 b)))) 1/2))))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (pow.f64 (sin.f64 b) 2) a) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 b) 3))))) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sin.f64 b) (*.f64 (pow.f64 a 3) (+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 b) (-.f64 (*.f64 1/2 (/.f64 1 (cos.f64 b))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 3))))) (cos.f64 b))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (sin.f64 b) (-.f64 (*.f64 1/2 (/.f64 1 (cos.f64 b))) (+.f64 (*.f64 -1 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 3))) (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 b) 3))))) 2)))) (cos.f64 b))) (+.f64 (*.f64 1/6 (/.f64 (sin.f64 b) (pow.f64 (cos.f64 b) 2))) (*.f64 -1/2 (/.f64 (sin.f64 b) (pow.f64 (cos.f64 b) 2)))))))) (sqrt.f64 (cos.f64 b)))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sin.f64 b) (*.f64 (pow.f64 a 2) (-.f64 (*.f64 1/2 (/.f64 1 (cos.f64 b))) (+.f64 (*.f64 -1 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 3))) (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 b) 3))))) 2))))) (sqrt.f64 (cos.f64 b)))) (*.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (cos.f64 b)))))))
(fma.f64 1/2 (*.f64 (*.f64 a (pow.f64 (sin.f64 b) 2)) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 b) 3)))) (fma.f64 -1/2 (*.f64 (sin.f64 b) (*.f64 (*.f64 (pow.f64 a 3) (fma.f64 -1 (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) (-.f64 (/.f64 1/2 (cos.f64 b)) (neg.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 3)))))) (fma.f64 1/2 (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) (-.f64 (/.f64 1/2 (cos.f64 b)) (fma.f64 -1 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 3)) (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 b) 3))))) 2))))) (*.f64 (/.f64 (sin.f64 b) (pow.f64 (cos.f64 b) 2)) -1/3)))) (sqrt.f64 (cos.f64 b)))) (fma.f64 1/2 (*.f64 (*.f64 (sin.f64 b) (*.f64 (*.f64 a a) (-.f64 (/.f64 1/2 (cos.f64 b)) (fma.f64 -1 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 3)) (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 b) 3))))) 2))))) (sqrt.f64 (cos.f64 b))) (*.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (cos.f64 b)))))))
(+.f64 (*.f64 (sqrt.f64 (cos.f64 b)) (+.f64 (*.f64 -1/2 (*.f64 (sin.f64 b) (*.f64 (pow.f64 a 3) (-.f64 (fma.f64 1/2 (*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) (+.f64 (/.f64 1/2 (cos.f64 b)) (-.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 3)) (pow.f64 (*.f64 (sin.f64 b) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 b) 3))) 1/2)) 2)))) (*.f64 (/.f64 (sin.f64 b) (pow.f64 (cos.f64 b) 2)) -1/3)) (*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) (+.f64 (/.f64 1/2 (cos.f64 b)) (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 3)))))))) (*.f64 (*.f64 1/2 (*.f64 (sin.f64 b) (*.f64 a a))) (+.f64 (/.f64 1/2 (cos.f64 b)) (-.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 3)) (pow.f64 (*.f64 (sin.f64 b) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 b) 3))) 1/2)) 2)))))) (fma.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (cos.f64 b))) (*.f64 1/2 (*.f64 (*.f64 a (pow.f64 (sin.f64 b) 2)) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 b) 3)))))))
(+.f64 (*.f64 (sqrt.f64 (cos.f64 b)) (*.f64 (sin.f64 b) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 a 3) (-.f64 (fma.f64 (/.f64 (sin.f64 b) (pow.f64 (cos.f64 b) 2)) -1/3 (*.f64 (/.f64 (*.f64 (sin.f64 b) 1/2) (cos.f64 b)) (+.f64 (/.f64 1/2 (cos.f64 b)) (+.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 3)) (*.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (/.f64 1 (pow.f64 (cos.f64 b) 3))) -1/4))))) (*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) (+.f64 (/.f64 1/2 (cos.f64 b)) (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 3))))))) (*.f64 1/2 (*.f64 a (*.f64 a (+.f64 (/.f64 1/2 (cos.f64 b)) (+.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 3)) (*.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (/.f64 1 (pow.f64 (cos.f64 b) 3))) -1/4))))))))) (fma.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (cos.f64 b))) (*.f64 (*.f64 a (pow.f64 (sin.f64 b) 2)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 b) 3))) 1/2))))
(*.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 a b)))))
(*.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 b a)))))
(*.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 a b)))))
(*.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 b a)))))
(*.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 a b)))))
(*.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 b a)))))
(*.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 a b)))))
(*.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 b a)))))
(*.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (cos.f64 (-.f64 b (*.f64 -1 a))))))
(*.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 b a)))))
(*.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (cos.f64 (-.f64 b (*.f64 -1 a))))))
(*.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 b a)))))
(*.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (cos.f64 (-.f64 b (*.f64 -1 a))))))
(*.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 b a)))))
(*.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (cos.f64 (-.f64 b (*.f64 -1 a))))))
(*.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 b a)))))
(*.f64 (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 a b)))) r)
(*.f64 r (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 b a)))))
(*.f64 (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 a b)))) r)
(*.f64 r (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 b a)))))
(*.f64 (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 a b)))) r)
(*.f64 r (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 b a)))))
(*.f64 (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 a b)))) r)
(*.f64 r (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 b a)))))
(*.f64 (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 a b)))) r)
(*.f64 r (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 b a)))))
(*.f64 (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 a b)))) r)
(*.f64 r (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 b a)))))
(*.f64 (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 a b)))) r)
(*.f64 r (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 b a)))))
(*.f64 (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 a b)))) r)
(*.f64 r (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 b a)))))
(*.f64 (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 a b)))) r)
(*.f64 r (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 b a)))))
(*.f64 (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 a b)))) r)
(*.f64 r (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 b a)))))
(*.f64 (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 a b)))) r)
(*.f64 r (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 b a)))))
(*.f64 (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 a b)))) r)
(*.f64 r (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 b a)))))
(*.f64 (sqrt.f64 (/.f64 1 (cos.f64 a))) r)
(*.f64 r (sqrt.f64 (/.f64 1 (cos.f64 a))))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sin.f64 a) (*.f64 b r)) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 a) 3))))) (*.f64 (sqrt.f64 (/.f64 1 (cos.f64 a))) r))
(fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 a) 3))) (*.f64 (*.f64 b r) (sin.f64 a))) (*.f64 r (sqrt.f64 (/.f64 1 (cos.f64 a)))))
(fma.f64 r (sqrt.f64 (/.f64 1 (cos.f64 a))) (*.f64 1/2 (*.f64 (*.f64 b r) (*.f64 (sin.f64 a) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 a) 3)))))))
(fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 a) 3))) (*.f64 b (*.f64 r (sin.f64 a)))) (*.f64 r (sqrt.f64 (/.f64 1 (cos.f64 a)))))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sin.f64 a) (*.f64 b r)) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 a) 3))))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 (cos.f64 a))) (+.f64 (*.f64 -1 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3))) (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 a) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 a) 3))))) 2))) (*.f64 (pow.f64 b 2) r)) (sqrt.f64 (cos.f64 a)))) (*.f64 (sqrt.f64 (/.f64 1 (cos.f64 a))) r)))
(fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 a) 3))) (*.f64 (*.f64 b r) (sin.f64 a))) (fma.f64 1/2 (*.f64 (-.f64 (/.f64 1/2 (cos.f64 a)) (fma.f64 -1 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3)) (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 a) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 a) 3))))) 2))) (*.f64 (*.f64 r (*.f64 b b)) (sqrt.f64 (cos.f64 a)))) (*.f64 r (sqrt.f64 (/.f64 1 (cos.f64 a))))))
(fma.f64 1/2 (*.f64 (*.f64 b r) (*.f64 (sin.f64 a) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 a) 3))))) (fma.f64 r (sqrt.f64 (/.f64 1 (cos.f64 a))) (*.f64 1/2 (*.f64 (+.f64 (/.f64 1/2 (cos.f64 a)) (-.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3)) (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 a) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 a) 3))))) 2))) (*.f64 (*.f64 b b) (*.f64 r (sqrt.f64 (cos.f64 a))))))))
(+.f64 (*.f64 r (sqrt.f64 (/.f64 1 (cos.f64 a)))) (*.f64 1/2 (*.f64 r (+.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 a) 3))) (*.f64 b (sin.f64 a))) (*.f64 (sqrt.f64 (cos.f64 a)) (*.f64 (*.f64 b b) (+.f64 (-.f64 (/.f64 1/2 (cos.f64 a)) (*.f64 1/4 (*.f64 (pow.f64 (sin.f64 a) 2) (/.f64 1 (pow.f64 (cos.f64 a) 3))))) (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3)))))))))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (+.f64 (*.f64 1/6 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (sin.f64 a) (-.f64 (*.f64 1/2 (/.f64 1 (cos.f64 a))) (+.f64 (*.f64 -1 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3))) (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 a) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 a) 3))))) 2)))) (cos.f64 a))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 a) (-.f64 (*.f64 1/2 (/.f64 1 (cos.f64 a))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3))))) (cos.f64 a))) (*.f64 -1/2 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)))))) (*.f64 r (pow.f64 b 3))) (sqrt.f64 (cos.f64 a)))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sin.f64 a) (*.f64 b r)) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 a) 3))))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 (cos.f64 a))) (+.f64 (*.f64 -1 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3))) (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 a) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 a) 3))))) 2))) (*.f64 (pow.f64 b 2) r)) (sqrt.f64 (cos.f64 a)))) (*.f64 (sqrt.f64 (/.f64 1 (cos.f64 a))) r))))
(fma.f64 -1/2 (*.f64 (fma.f64 1/6 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (fma.f64 1/2 (/.f64 (sin.f64 a) (/.f64 (cos.f64 a) (-.f64 (/.f64 1/2 (cos.f64 a)) (fma.f64 -1 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3)) (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 a) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 a) 3))))) 2))))) (fma.f64 -1 (/.f64 (sin.f64 a) (/.f64 (cos.f64 a) (-.f64 (/.f64 1/2 (cos.f64 a)) (neg.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3)))))) (*.f64 -1/2 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)))))) (*.f64 (*.f64 r (pow.f64 b 3)) (sqrt.f64 (cos.f64 a)))) (fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 a) 3))) (*.f64 (*.f64 b r) (sin.f64 a))) (fma.f64 1/2 (*.f64 (-.f64 (/.f64 1/2 (cos.f64 a)) (fma.f64 -1 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3)) (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 a) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 a) 3))))) 2))) (*.f64 (*.f64 r (*.f64 b b)) (sqrt.f64 (cos.f64 a)))) (*.f64 r (sqrt.f64 (/.f64 1 (cos.f64 a)))))))
(fma.f64 -1/2 (*.f64 (sqrt.f64 (cos.f64 a)) (*.f64 (fma.f64 1/6 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (fma.f64 1/2 (*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) (+.f64 (/.f64 1/2 (cos.f64 a)) (-.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3)) (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 a) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 a) 3))))) 2)))) (-.f64 (/.f64 -1/2 (/.f64 (pow.f64 (cos.f64 a) 2) (sin.f64 a))) (*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) (+.f64 (/.f64 1/2 (cos.f64 a)) (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3))))))) (*.f64 r (pow.f64 b 3)))) (fma.f64 1/2 (*.f64 (*.f64 b r) (*.f64 (sin.f64 a) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 a) 3))))) (fma.f64 r (sqrt.f64 (/.f64 1 (cos.f64 a))) (*.f64 1/2 (*.f64 (+.f64 (/.f64 1/2 (cos.f64 a)) (-.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3)) (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 a) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 a) 3))))) 2))) (*.f64 (*.f64 b b) (*.f64 r (sqrt.f64 (cos.f64 a)))))))))
(fma.f64 -1/2 (*.f64 (+.f64 (-.f64 (*.f64 1/2 (*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) (+.f64 (-.f64 (/.f64 1/2 (cos.f64 a)) (*.f64 1/4 (*.f64 (pow.f64 (sin.f64 a) 2) (/.f64 1 (pow.f64 (cos.f64 a) 3))))) (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3))))) (*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) (+.f64 (/.f64 1/2 (cos.f64 a)) (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3))))) (*.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) -1/3)) (*.f64 r (*.f64 (pow.f64 b 3) (sqrt.f64 (cos.f64 a))))) (+.f64 (*.f64 r (sqrt.f64 (/.f64 1 (cos.f64 a)))) (*.f64 1/2 (*.f64 r (+.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 a) 3))) (*.f64 b (sin.f64 a))) (*.f64 (sqrt.f64 (cos.f64 a)) (*.f64 (*.f64 b b) (+.f64 (-.f64 (/.f64 1/2 (cos.f64 a)) (*.f64 1/4 (*.f64 (pow.f64 (sin.f64 a) 2) (/.f64 1 (pow.f64 (cos.f64 a) 3))))) (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3))))))))))
(*.f64 (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 a b)))) r)
(*.f64 r (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 b a)))))
(*.f64 (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 a b)))) r)
(*.f64 r (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 b a)))))
(*.f64 (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 a b)))) r)
(*.f64 r (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 b a)))))
(*.f64 (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 a b)))) r)
(*.f64 r (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 b a)))))
(*.f64 (sqrt.f64 (/.f64 1 (cos.f64 (-.f64 a (*.f64 -1 b))))) r)
(*.f64 r (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 b a)))))
(*.f64 (sqrt.f64 (/.f64 1 (cos.f64 (-.f64 a (*.f64 -1 b))))) r)
(*.f64 r (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 b a)))))
(*.f64 (sqrt.f64 (/.f64 1 (cos.f64 (-.f64 a (*.f64 -1 b))))) r)
(*.f64 r (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 b a)))))
(*.f64 (sqrt.f64 (/.f64 1 (cos.f64 (-.f64 a (*.f64 -1 b))))) r)
(*.f64 r (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 b a)))))
(*.f64 r (sqrt.f64 (/.f64 1 (cos.f64 b))))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sin.f64 b) (*.f64 a r)) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 b) 3))))) (*.f64 r (sqrt.f64 (/.f64 1 (cos.f64 b)))))
(fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 b) 3))) (*.f64 (sin.f64 b) (*.f64 r a))) (*.f64 r (sqrt.f64 (/.f64 1 (cos.f64 b)))))
(fma.f64 (*.f64 1/2 (*.f64 r (*.f64 a (sin.f64 b)))) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 b) 3))) (*.f64 r (sqrt.f64 (/.f64 1 (cos.f64 b)))))
(fma.f64 r (sqrt.f64 (/.f64 1 (cos.f64 b))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 b) 3))) (*.f64 1/2 (*.f64 (sin.f64 b) (*.f64 r a)))))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sin.f64 b) (*.f64 a r)) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 b) 3))))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (pow.f64 a 2) (*.f64 r (-.f64 (*.f64 1/2 (/.f64 1 (cos.f64 b))) (+.f64 (*.f64 -1 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 3))) (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 b) 3))))) 2))))) (sqrt.f64 (cos.f64 b)))) (*.f64 r (sqrt.f64 (/.f64 1 (cos.f64 b))))))
(fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 b) 3))) (*.f64 (sin.f64 b) (*.f64 r a))) (fma.f64 1/2 (*.f64 (sqrt.f64 (cos.f64 b)) (*.f64 (*.f64 a a) (*.f64 r (-.f64 (/.f64 1/2 (cos.f64 b)) (fma.f64 -1 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 3)) (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 b) 3))))) 2)))))) (*.f64 r (sqrt.f64 (/.f64 1 (cos.f64 b))))))
(fma.f64 1/2 (*.f64 (*.f64 r a) (*.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 b) 3))))) (fma.f64 r (sqrt.f64 (/.f64 1 (cos.f64 b))) (*.f64 1/2 (*.f64 (sqrt.f64 (cos.f64 b)) (*.f64 (+.f64 (/.f64 1/2 (cos.f64 b)) (-.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 3)) (pow.f64 (*.f64 (sin.f64 b) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 b) 3))) 1/2)) 2))) (*.f64 r (*.f64 a a)))))))
(fma.f64 1/2 (*.f64 (*.f64 r a) (*.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 b) 3))))) (fma.f64 r (sqrt.f64 (/.f64 1 (cos.f64 b))) (*.f64 (*.f64 (+.f64 (/.f64 1/2 (cos.f64 b)) (+.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 3)) (*.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (/.f64 1 (pow.f64 (cos.f64 b) 3))) -1/4))) (*.f64 a (*.f64 r a))) (*.f64 (sqrt.f64 (cos.f64 b)) 1/2))))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sin.f64 b) (*.f64 a r)) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 b) 3))))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (pow.f64 a 2) (*.f64 r (-.f64 (*.f64 1/2 (/.f64 1 (cos.f64 b))) (+.f64 (*.f64 -1 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 3))) (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 b) 3))))) 2))))) (sqrt.f64 (cos.f64 b)))) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (pow.f64 a 3) (*.f64 (+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 b) (-.f64 (*.f64 1/2 (/.f64 1 (cos.f64 b))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 3))))) (cos.f64 b))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (sin.f64 b) (-.f64 (*.f64 1/2 (/.f64 1 (cos.f64 b))) (+.f64 (*.f64 -1 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 3))) (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 b) 3))))) 2)))) (cos.f64 b))) (+.f64 (*.f64 1/6 (/.f64 (sin.f64 b) (pow.f64 (cos.f64 b) 2))) (*.f64 -1/2 (/.f64 (sin.f64 b) (pow.f64 (cos.f64 b) 2)))))) r)) (sqrt.f64 (cos.f64 b)))) (*.f64 r (sqrt.f64 (/.f64 1 (cos.f64 b)))))))
(fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 b) 3))) (*.f64 (sin.f64 b) (*.f64 r a))) (fma.f64 1/2 (*.f64 (sqrt.f64 (cos.f64 b)) (*.f64 (*.f64 a a) (*.f64 r (-.f64 (/.f64 1/2 (cos.f64 b)) (fma.f64 -1 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 3)) (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 b) 3))))) 2)))))) (fma.f64 -1/2 (*.f64 (pow.f64 a 3) (*.f64 (*.f64 r (fma.f64 -1 (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) (-.f64 (/.f64 1/2 (cos.f64 b)) (neg.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 3)))))) (fma.f64 1/2 (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) (-.f64 (/.f64 1/2 (cos.f64 b)) (fma.f64 -1 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 3)) (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 b) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 b) 3))))) 2))))) (*.f64 (/.f64 (sin.f64 b) (pow.f64 (cos.f64 b) 2)) -1/3)))) (sqrt.f64 (cos.f64 b)))) (*.f64 r (sqrt.f64 (/.f64 1 (cos.f64 b)))))))
(+.f64 (*.f64 (sqrt.f64 (cos.f64 b)) (+.f64 (*.f64 1/2 (*.f64 (+.f64 (/.f64 1/2 (cos.f64 b)) (-.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 3)) (pow.f64 (*.f64 (sin.f64 b) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 b) 3))) 1/2)) 2))) (*.f64 r (*.f64 a a)))) (*.f64 (*.f64 -1/2 (pow.f64 a 3)) (*.f64 r (-.f64 (fma.f64 1/2 (*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) (+.f64 (/.f64 1/2 (cos.f64 b)) (-.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 3)) (pow.f64 (*.f64 (sin.f64 b) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 b) 3))) 1/2)) 2)))) (*.f64 (/.f64 (sin.f64 b) (pow.f64 (cos.f64 b) 2)) -1/3)) (*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) (+.f64 (/.f64 1/2 (cos.f64 b)) (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 3))))))))) (fma.f64 (*.f64 1/2 (*.f64 r (*.f64 a (sin.f64 b)))) (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 b) 3))) (*.f64 r (sqrt.f64 (/.f64 1 (cos.f64 b))))))
(+.f64 (*.f64 (sqrt.f64 (cos.f64 b)) (+.f64 (*.f64 1/2 (*.f64 (+.f64 (/.f64 1/2 (cos.f64 b)) (+.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 3)) (*.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (/.f64 1 (pow.f64 (cos.f64 b) 3))) -1/4))) (*.f64 a (*.f64 r a)))) (*.f64 (*.f64 -1/2 (pow.f64 a 3)) (*.f64 r (-.f64 (fma.f64 (/.f64 (sin.f64 b) (pow.f64 (cos.f64 b) 2)) -1/3 (*.f64 (/.f64 (*.f64 (sin.f64 b) 1/2) (cos.f64 b)) (+.f64 (/.f64 1/2 (cos.f64 b)) (+.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 3)) (*.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (/.f64 1 (pow.f64 (cos.f64 b) 3))) -1/4))))) (*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) (+.f64 (/.f64 1/2 (cos.f64 b)) (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 3))))))))) (fma.f64 r (sqrt.f64 (/.f64 1 (cos.f64 b))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (cos.f64 b) 3))) (*.f64 1/2 (*.f64 (sin.f64 b) (*.f64 r a))))))
(*.f64 (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 a b)))) r)
(*.f64 r (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 b a)))))
(*.f64 (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 a b)))) r)
(*.f64 r (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 b a)))))
(*.f64 (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 a b)))) r)
(*.f64 r (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 b a)))))
(*.f64 (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 a b)))) r)
(*.f64 r (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 b a)))))
(*.f64 (sqrt.f64 (/.f64 1 (cos.f64 (-.f64 b (*.f64 -1 a))))) r)
(*.f64 r (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 b a)))))
(*.f64 (sqrt.f64 (/.f64 1 (cos.f64 (-.f64 b (*.f64 -1 a))))) r)
(*.f64 r (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 b a)))))
(*.f64 (sqrt.f64 (/.f64 1 (cos.f64 (-.f64 b (*.f64 -1 a))))) r)
(*.f64 r (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 b a)))))
(*.f64 (sqrt.f64 (/.f64 1 (cos.f64 (-.f64 b (*.f64 -1 a))))) r)
(*.f64 r (sqrt.f64 (/.f64 1 (cos.f64 (+.f64 b a)))))

eval607.0ms (3.9%)

Compiler

Compiled 26190 to 8479 computations (67.6% saved)

prune331.0ms (2.1%)

Pruning

74 alts after pruning (72 fresh and 2 done)

PrunedKeptTotal
New981581039
Fresh241438
Picked101
Done224
Total1008741082
Error
0.0b
Counts
1082 → 74
Alt Table
Click to see full alt table
StatusErrorProgram
32.5b
(*.f64 (/.f64 r (cos.f64 a)) b)
0.3b
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (expm1.f64 (log1p.f64 (*.f64 (sin.f64 b) (sin.f64 a))))))
31.6b
(/.f64 (*.f64 r (sin.f64 b)) (+.f64 (cos.f64 a) (*.f64 b (-.f64 (*.f64 (cos.f64 a) (*.f64 -1/2 b)) (sin.f64 a)))))
31.6b
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 (+.f64 (*.f64 (*.f64 -1/2 b) b) 1) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a))))
16.9b
(/.f64 (pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 3) (cos.f64 (+.f64 b a)))
16.2b
(*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))
51.9b
(/.f64 (*.f64 (sin.f64 b) (neg.f64 r)) (cos.f64 (+.f64 b a)))
0.5b
(/.f64 (*.f64 r (sin.f64 b)) (+.f64 (fma.f64 (cos.f64 b) (cos.f64 a) (neg.f64 (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) 2)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) 2) (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) 2)))))
1.3b
(/.f64 (pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 3) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a))))
47.5b
(/.f64 (sqrt.f64 (pow.f64 (*.f64 r (sin.f64 b)) 2)) (cos.f64 a))
0.4b
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 3))))
16.9b
(pow.f64 (cbrt.f64 (/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)))) 3)
16.9b
(pow.f64 (cbrt.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))) 3)
0.5b
(/.f64 (*.f64 r (sin.f64 b)) (+.f64 (fma.f64 1 (*.f64 (cos.f64 b) (cos.f64 a)) (neg.f64 (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) 2)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) 2) (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) 2)))))
31.1b
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) b)))
28.7b
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))
43.6b
(pow.f64 (sqrt.f64 (*.f64 (/.f64 r (cos.f64 a)) b)) 2)
0.5b
(*.f64 (/.f64 1 (+.f64 (fma.f64 1 (*.f64 (cos.f64 b) (cos.f64 a)) (neg.f64 (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) 2)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) 2) (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) 2))))) (*.f64 r (sin.f64 b)))
26.7b
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (pow.f64 (sqrt.f64 (*.f64 (cos.f64 b) (cos.f64 a))) 2) (*.f64 (sin.f64 b) (sin.f64 a))))
36.8b
(/.f64 (exp.f64 (log.f64 (*.f64 r (sin.f64 b)))) (cos.f64 (+.f64 b a)))
22.8b
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 a) b)))
33.0b
(pow.f64 (cbrt.f64 (*.f64 (/.f64 r (cos.f64 a)) b)) 3)
32.5b
(*.f64 (/.f64 1 (cos.f64 (+.f64 b a))) (*.f64 r b))
32.5b
(*.f64 (*.f64 (/.f64 1 (cos.f64 a)) r) b)
29.9b
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 a))
16.9b
(*.f64 (log1p.f64 (expm1.f64 (/.f64 1 (cos.f64 (+.f64 b a))))) (*.f64 r (sin.f64 b)))
0.3b
(*.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))) r)
32.5b
(*.f64 (/.f64 b (cos.f64 a)) r)
51.9b
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) (neg.f64 r)))
48.1b
(pow.f64 (pow.f64 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 b a))) 3) 1/3)
16.3b
(/.f64 (*.f64 r (sin.f64 b)) (log1p.f64 (expm1.f64 (cos.f64 (+.f64 b a)))))
37.5b
(/.f64 (cbrt.f64 (pow.f64 (*.f64 r (sin.f64 b)) 3)) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a))))
0.5b
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) 3)))
25.7b
(*.f64 (/.f64 1 (cos.f64 b)) (*.f64 r (sin.f64 b)))
16.3b
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
0.3b
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a))))
27.5b
(*.f64 (/.f64 1 (-.f64 (cos.f64 b) (*.f64 a (sin.f64 b)))) (*.f64 r (sin.f64 b)))
0.6b
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 b) (cos.f64 a)))) 1) (*.f64 (sin.f64 b) (sin.f64 a))))
27.5b
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (cos.f64 b) (*.f64 a (sin.f64 b))))
30.8b
(*.f64 (sqrt.f64 (pow.f64 (cos.f64 (+.f64 b a)) -2)) (*.f64 r (sin.f64 b)))
23.1b
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) a)))
25.8b
(/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r))
16.4b
(/.f64 (*.f64 r (sin.f64 b)) (log.f64 (exp.f64 (cos.f64 (+.f64 b a)))))
0.4b
(*.f64 (/.f64 1 (fma.f64 (cos.f64 b) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 b)) (sin.f64 a)))) (*.f64 r (sin.f64 b)))
25.0b
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (cos.f64 b) (*.f64 (sin.f64 b) (sin.f64 a))))
16.2b
(/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)))
25.7b
(*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r)
0.3b
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (cos.f64 b) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 b)) (sin.f64 a))))
0.4b
(/.f64 (*.f64 r (sin.f64 b)) (+.f64 (fma.f64 (cos.f64 b) (cos.f64 a) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (cbrt.f64 (pow.f64 (sin.f64 b) 2))))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a))) (cbrt.f64 (pow.f64 (sin.f64 b) 2)) (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (cbrt.f64 (pow.f64 (sin.f64 b) 2))))))
0.4b
(*.f64 (/.f64 1 (+.f64 (fma.f64 (cos.f64 b) (cos.f64 a) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (cbrt.f64 (pow.f64 (sin.f64 b) 2))))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a))) (cbrt.f64 (pow.f64 (sin.f64 b) 2)) (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (cbrt.f64 (pow.f64 (sin.f64 b) 2)))))) (*.f64 r (sin.f64 b)))
25.7b
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))
25.7b
(*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b))
0.4b
(/.f64 (*.f64 r (sin.f64 b)) (+.f64 (fma.f64 1 (*.f64 (cos.f64 b) (cos.f64 a)) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (cbrt.f64 (pow.f64 (sin.f64 b) 2))))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a))) (cbrt.f64 (pow.f64 (sin.f64 b) 2)) (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (cbrt.f64 (pow.f64 (sin.f64 b) 2))))))
26.7b
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (exp.f64 (log.f64 (*.f64 (cos.f64 b) (cos.f64 a)))) (*.f64 (sin.f64 b) (sin.f64 a))))
0.4b
(*.f64 (/.f64 1 (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a)))) (*.f64 r (sin.f64 b)))
16.6b
(*.f64 (pow.f64 (cbrt.f64 (/.f64 1 (cos.f64 (+.f64 b a)))) 3) (*.f64 r (sin.f64 b)))
32.8b
(/.f64 1 (/.f64 (cos.f64 a) (*.f64 r b)))
0.4b
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (log1p.f64 (expm1.f64 (*.f64 (cos.f64 b) (cos.f64 a)))) (*.f64 (sin.f64 b) (sin.f64 a))))
52.2b
(log.f64 (exp.f64 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 b a)))))
32.6b
(/.f64 b (/.f64 (cos.f64 a) r))
29.9b
(*.f64 (/.f64 1 (cos.f64 a)) (*.f64 r (sin.f64 b)))
0.4b
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (expm1.f64 (log1p.f64 (*.f64 (cos.f64 b) (cos.f64 a)))) (*.f64 (sin.f64 b) (sin.f64 a))))
0.9b
(*.f64 (/.f64 1 (fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 b) (cos.f64 a))) 2) (cbrt.f64 (*.f64 (cos.f64 b) (cos.f64 a))) (*.f64 (neg.f64 (sin.f64 b)) (sin.f64 a)))) (*.f64 r (sin.f64 b)))
16.9b
(/.f64 (*.f64 (pow.f64 (cbrt.f64 r) 2) (*.f64 (cbrt.f64 r) (sin.f64 b))) (cos.f64 (+.f64 b a)))
32.5b
(/.f64 r (/.f64 (cos.f64 a) b))
41.4b
(*.f64 (-.f64 (+.f64 1 (/.f64 r (cos.f64 a))) 1) b)
31.1b
(*.f64 (/.f64 1 (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) b))) (*.f64 r (sin.f64 b)))
42.0b
(*.f64 r b)
0.4b
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (log1p.f64 (expm1.f64 (*.f64 (sin.f64 b) (sin.f64 a))))))
16.2b
(*.f64 r (/.f64 1 (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b))))
16.5b
(/.f64 1 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 (sin.f64 b) r)))
32.5b
(/.f64 (*.f64 r b) (cos.f64 (+.f64 b a)))
0.6b
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 b) (cos.f64 a))))) (*.f64 (sin.f64 b) (sin.f64 a))))
36.8b
(exp.f64 (log.f64 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 b a)))))
Compiler

Compiled 2806 to 1768 computations (37% saved)

localize21.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (cos.f64 a) (cos.f64 b))
0.2b
(*.f64 (sin.f64 b) (sin.f64 a))
0.2b
(*.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))) r)
0.2b
(/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a))))
Compiler

Compiled 65 to 12 computations (81.5% saved)

series22.0ms (0.1%)

Counts
3 → 68
Calls

21 calls:

TimeVariablePointExpression
11.0ms
a
@-inf
(/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a))))
1.0ms
b
@0
(/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a))))
1.0ms
a
@0
(/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a))))
1.0ms
b
@inf
(/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a))))
1.0ms
b
@-inf
(/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a))))

rewrite89.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
798×log-prod_binary64
604×fma-def_binary64
311×fma-neg_binary64
275×expm1-udef_binary64
275×log1p-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01357
129633
2435633
Stop Event
node limit
Counts
3 → 85
Calls
Call 1
Inputs
(/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a))))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))) r)
(*.f64 (cos.f64 a) (cos.f64 b))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))) (cbrt.f64 (exp.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))))) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 b) (/.f64 1 (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))) (cbrt.f64 (pow.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) 2)) (cbrt.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (sin.f64 b) 2)) (*.f64 (cbrt.f64 (sin.f64 b)) (/.f64 1 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))) (sqrt.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sin.f64 b)) (*.f64 (sqrt.f64 (sin.f64 b)) (/.f64 1 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sin.f64 b)) (/.f64 1 (neg.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cos.f64 (+.f64 b a))) (sin.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (sin.f64 b) 2)) 1) (/.f64 (cbrt.f64 (sin.f64 b)) (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (sin.f64 b)) 1) (/.f64 (sqrt.f64 (sin.f64 b)) (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 2)) (/.f64 (sin.f64 b) (cbrt.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (sin.f64 b) 2)) (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 2)) (cbrt.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (sin.f64 b)) (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 2)) (/.f64 (sqrt.f64 (sin.f64 b)) (cbrt.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 (cos.f64 (+.f64 b a)))) (/.f64 (sin.f64 b) (sqrt.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (sin.f64 b) 2)) (sqrt.f64 (cos.f64 (+.f64 b a)))) (/.f64 (cbrt.f64 (sin.f64 b)) (sqrt.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 b) (-.f64 (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) 3) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 3))) (fma.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (cos.f64 (-.f64 b a)) (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 b) (*.f64 (cos.f64 (-.f64 b a)) (cos.f64 (+.f64 b a)))) (cos.f64 (-.f64 b a)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (sin.f64 b) (neg.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 (cos.f64 (+.f64 b a)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 r) (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))) (cbrt.f64 (pow.f64 (exp.f64 r) (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 r) (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 r) (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 r) (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 (sin.f64 b) r)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 b a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (sin.f64 b) r)) (neg.f64 (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sin.f64 b) r) 1) (cos.f64 (+.f64 b a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sin.f64 b) r) (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 2)) (cbrt.f64 (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sin.f64 b) r) (sqrt.f64 (cos.f64 (+.f64 b a)))) (sqrt.f64 (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (sin.f64 b)) r) (neg.f64 (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 r (neg.f64 (sin.f64 b))) (neg.f64 (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 r) (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) 3) (pow.f64 r 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 r 3) (pow.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (cos.f64 a) (cos.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 b)) (cos.f64 a))) (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 b)) (cos.f64 a))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 b)) (cos.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 b)) (cos.f64 a)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 b)) (cos.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 a) (cos.f64 b)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 2 (+.f64 (cos.f64 (+.f64 b a)) (cos.f64 (-.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (cos.f64 (+.f64 b a)) (cos.f64 (-.f64 b a))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (cos.f64 (+.f64 b a)) (cos.f64 (-.f64 b a)))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (cos.f64 a) (cos.f64 b))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (cos.f64 a) (cos.f64 b))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (cos.f64 b)) (cos.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 a) (cos.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (cos.f64 a) (cos.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (cos.f64 a) (cos.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (cos.f64 a) (cos.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 a) (cos.f64 b))) 1))))))

simplify92.0ms (0.6%)

Algorithm
egg-herbie
Rules
871×fma-def_binary64
497×times-frac_binary64
450×associate-*l/_binary64
443×associate-/l*_binary64
369×associate-*r/_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01712278
15622195
220932107
Stop Event
node limit
Counts
153 → 133
Calls
Call 1
Inputs
(/.f64 b (cos.f64 a))
(+.f64 (/.f64 b (cos.f64 a)) (/.f64 (*.f64 (sin.f64 a) (pow.f64 b 2)) (pow.f64 (cos.f64 a) 2)))
(+.f64 (/.f64 b (cos.f64 a)) (+.f64 (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 (cos.f64 a))) (+.f64 (*.f64 1/6 (/.f64 1 (cos.f64 a))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3))))) (pow.f64 b 3)) (/.f64 (*.f64 (sin.f64 a) (pow.f64 b 2)) (pow.f64 (cos.f64 a) 2))))
(+.f64 (/.f64 b (cos.f64 a)) (+.f64 (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 (cos.f64 a))) (+.f64 (*.f64 1/6 (/.f64 1 (cos.f64 a))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3))))) (pow.f64 b 3)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 b 4) (+.f64 (*.f64 1/6 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2))) (+.f64 (*.f64 -1/2 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2))) (*.f64 -1 (/.f64 (*.f64 (sin.f64 a) (-.f64 (*.f64 1/2 (/.f64 1 (cos.f64 a))) (+.f64 (*.f64 1/6 (/.f64 1 (cos.f64 a))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3)))))) (cos.f64 a))))))) (/.f64 (*.f64 (sin.f64 a) (pow.f64 b 2)) (pow.f64 (cos.f64 a) 2)))))
(/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (cos.f64 b))
(+.f64 (/.f64 (sin.f64 b) (cos.f64 b)) (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) a) (pow.f64 (cos.f64 b) 2)))
(+.f64 (/.f64 (sin.f64 b) (cos.f64 b)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 -1/2 (/.f64 (sin.f64 b) (cos.f64 b))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 (cos.f64 b) 3)))))) (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) a) (pow.f64 (cos.f64 b) 2))))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 a 3) (+.f64 (/.f64 (*.f64 (sin.f64 b) (+.f64 (*.f64 -1/2 (/.f64 (sin.f64 b) (cos.f64 b))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 (cos.f64 b) 3))))) (cos.f64 b)) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2))) (*.f64 1/6 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2))))))) (+.f64 (/.f64 (sin.f64 b) (cos.f64 b)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 -1/2 (/.f64 (sin.f64 b) (cos.f64 b))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 (cos.f64 b) 3)))))) (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) a) (pow.f64 (cos.f64 b) 2)))))
(/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 b r) (cos.f64 a))
(+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 (pow.f64 b 2) r)) (pow.f64 (cos.f64 a) 2)) (/.f64 (*.f64 r b) (cos.f64 a)))
(+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 r (pow.f64 b 2))) (pow.f64 (cos.f64 a) 2)) (+.f64 (/.f64 (*.f64 r b) (cos.f64 a)) (*.f64 (pow.f64 b 3) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (+.f64 (*.f64 -1/2 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3))))))))
(+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 r (pow.f64 b 2))) (pow.f64 (cos.f64 a) 2)) (+.f64 (/.f64 (*.f64 r b) (cos.f64 a)) (+.f64 (*.f64 (pow.f64 b 3) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (+.f64 (*.f64 -1/2 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3)))))) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 a) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (+.f64 (*.f64 -1/2 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3)))))) (cos.f64 a))) (+.f64 (*.f64 1/6 (/.f64 (*.f64 (sin.f64 a) r) (pow.f64 (cos.f64 a) 2))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 a) r) (pow.f64 (cos.f64 a) 2))))) (pow.f64 b 4))))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))
(+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 a r)) (pow.f64 (cos.f64 b) 2)) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))
(+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 a r)) (pow.f64 (cos.f64 b) 2)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 3) r) (pow.f64 (cos.f64 b) 3))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))))) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))))
(+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 a r)) (pow.f64 (cos.f64 b) 2)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 3) (+.f64 (/.f64 (*.f64 (sin.f64 b) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 3) r) (pow.f64 (cos.f64 b) 3))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))))) (cos.f64 b)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) r) (pow.f64 (cos.f64 b) 2))) (*.f64 1/6 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) r) (pow.f64 (cos.f64 b) 2))))))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 3) r) (pow.f64 (cos.f64 b) 3))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))))) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(cos.f64 b)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 a 2) (cos.f64 b))) (cos.f64 b))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 a 2) (cos.f64 b))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 a 4) (cos.f64 b))) (cos.f64 b)))
(+.f64 (*.f64 -1/720 (*.f64 (pow.f64 a 6) (cos.f64 b))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 a 2) (cos.f64 b))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 a 4) (cos.f64 b))) (cos.f64 b))))
(cos.f64 a)
(+.f64 (cos.f64 a) (*.f64 -1/2 (*.f64 (cos.f64 a) (pow.f64 b 2))))
(+.f64 (*.f64 1/24 (*.f64 (cos.f64 a) (pow.f64 b 4))) (+.f64 (cos.f64 a) (*.f64 -1/2 (*.f64 (cos.f64 a) (pow.f64 b 2)))))
(+.f64 (*.f64 -1/720 (*.f64 (cos.f64 a) (pow.f64 b 6))) (+.f64 (*.f64 1/24 (*.f64 (cos.f64 a) (pow.f64 b 4))) (+.f64 (cos.f64 a) (*.f64 -1/2 (*.f64 (cos.f64 a) (pow.f64 b 2))))))
Outputs
(/.f64 b (cos.f64 a))
(+.f64 (/.f64 b (cos.f64 a)) (/.f64 (*.f64 (sin.f64 a) (pow.f64 b 2)) (pow.f64 (cos.f64 a) 2)))
(+.f64 (/.f64 b (cos.f64 a)) (/.f64 (sin.f64 a) (/.f64 (pow.f64 (cos.f64 a) 2) (*.f64 b b))))
(fma.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b b) (/.f64 b (cos.f64 a)))
(+.f64 (/.f64 b (cos.f64 a)) (+.f64 (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 (cos.f64 a))) (+.f64 (*.f64 1/6 (/.f64 1 (cos.f64 a))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3))))) (pow.f64 b 3)) (/.f64 (*.f64 (sin.f64 a) (pow.f64 b 2)) (pow.f64 (cos.f64 a) 2))))
(+.f64 (/.f64 b (cos.f64 a)) (fma.f64 (-.f64 (/.f64 1/2 (cos.f64 a)) (+.f64 (/.f64 1/6 (cos.f64 a)) (neg.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3))))) (pow.f64 b 3) (/.f64 (sin.f64 a) (/.f64 (pow.f64 (cos.f64 a) 2) (*.f64 b b)))))
(+.f64 (/.f64 b (cos.f64 a)) (fma.f64 (-.f64 (*.f64 (/.f64 1 (cos.f64 a)) 1/3) (/.f64 (neg.f64 (pow.f64 (sin.f64 a) 2)) (pow.f64 (cos.f64 a) 3))) (pow.f64 b 3) (/.f64 (sin.f64 a) (/.f64 (pow.f64 (cos.f64 a) 2) (*.f64 b b)))))
(fma.f64 (+.f64 (/.f64 1/3 (cos.f64 a)) (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3))) (pow.f64 b 3) (fma.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b b) (/.f64 b (cos.f64 a))))
(+.f64 (/.f64 b (cos.f64 a)) (+.f64 (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 (cos.f64 a))) (+.f64 (*.f64 1/6 (/.f64 1 (cos.f64 a))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3))))) (pow.f64 b 3)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 b 4) (+.f64 (*.f64 1/6 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2))) (+.f64 (*.f64 -1/2 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2))) (*.f64 -1 (/.f64 (*.f64 (sin.f64 a) (-.f64 (*.f64 1/2 (/.f64 1 (cos.f64 a))) (+.f64 (*.f64 1/6 (/.f64 1 (cos.f64 a))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3)))))) (cos.f64 a))))))) (/.f64 (*.f64 (sin.f64 a) (pow.f64 b 2)) (pow.f64 (cos.f64 a) 2)))))
(+.f64 (/.f64 b (cos.f64 a)) (fma.f64 (-.f64 (/.f64 1/2 (cos.f64 a)) (+.f64 (/.f64 1/6 (cos.f64 a)) (neg.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3))))) (pow.f64 b 3) (fma.f64 -1 (*.f64 (pow.f64 b 4) (fma.f64 1/6 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (fma.f64 -1/2 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (neg.f64 (/.f64 (sin.f64 a) (/.f64 (cos.f64 a) (-.f64 (/.f64 1/2 (cos.f64 a)) (+.f64 (/.f64 1/6 (cos.f64 a)) (neg.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3))))))))))) (/.f64 (sin.f64 a) (/.f64 (pow.f64 (cos.f64 a) 2) (*.f64 b b))))))
(+.f64 (/.f64 b (cos.f64 a)) (fma.f64 (-.f64 (*.f64 (/.f64 1 (cos.f64 a)) 1/3) (/.f64 (neg.f64 (pow.f64 (sin.f64 a) 2)) (pow.f64 (cos.f64 a) 3))) (pow.f64 b 3) (-.f64 (/.f64 (sin.f64 a) (/.f64 (pow.f64 (cos.f64 a) 2) (*.f64 b b))) (*.f64 (pow.f64 b 4) (-.f64 (*.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) -1/3) (*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) (-.f64 (*.f64 (/.f64 1 (cos.f64 a)) 1/3) (/.f64 (neg.f64 (pow.f64 (sin.f64 a) 2)) (pow.f64 (cos.f64 a) 3)))))))))
(-.f64 (fma.f64 (+.f64 (/.f64 1/3 (cos.f64 a)) (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3))) (pow.f64 b 3) (fma.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b b) (/.f64 b (cos.f64 a)))) (*.f64 (pow.f64 b 4) (fma.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) -1/3 (*.f64 (/.f64 (neg.f64 (sin.f64 a)) (cos.f64 a)) (+.f64 (/.f64 1/3 (cos.f64 a)) (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3)))))))
(/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (sin.f64 b) (cos.f64 b))
(+.f64 (/.f64 (sin.f64 b) (cos.f64 b)) (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) a) (pow.f64 (cos.f64 b) 2)))
(+.f64 (/.f64 (sin.f64 b) (cos.f64 b)) (/.f64 (pow.f64 (sin.f64 b) 2) (/.f64 (pow.f64 (cos.f64 b) 2) a)))
(+.f64 (/.f64 (sin.f64 b) (cos.f64 b)) (/.f64 a (/.f64 (pow.f64 (cos.f64 b) 2) (pow.f64 (sin.f64 b) 2))))
(fma.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)) a (/.f64 (sin.f64 b) (cos.f64 b)))
(+.f64 (/.f64 (sin.f64 b) (cos.f64 b)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 -1/2 (/.f64 (sin.f64 b) (cos.f64 b))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 (cos.f64 b) 3)))))) (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) a) (pow.f64 (cos.f64 b) 2))))
(+.f64 (/.f64 (sin.f64 b) (cos.f64 b)) (fma.f64 -1 (*.f64 (*.f64 a a) (fma.f64 -1/2 (/.f64 (sin.f64 b) (cos.f64 b)) (neg.f64 (/.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 (cos.f64 b) 3))))) (/.f64 (pow.f64 (sin.f64 b) 2) (/.f64 (pow.f64 (cos.f64 b) 2) a))))
(+.f64 (/.f64 (sin.f64 b) (cos.f64 b)) (-.f64 (/.f64 a (/.f64 (pow.f64 (cos.f64 b) 2) (pow.f64 (sin.f64 b) 2))) (*.f64 a (*.f64 a (-.f64 (*.f64 -1/2 (/.f64 (sin.f64 b) (cos.f64 b))) (/.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 (cos.f64 b) 3)))))))
(+.f64 (/.f64 (sin.f64 b) (cos.f64 b)) (*.f64 a (-.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)) (*.f64 (-.f64 (*.f64 (/.f64 -1/2 (cos.f64 b)) (sin.f64 b)) (pow.f64 (/.f64 (sin.f64 b) (cos.f64 b)) 3)) a))))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 a 3) (+.f64 (/.f64 (*.f64 (sin.f64 b) (+.f64 (*.f64 -1/2 (/.f64 (sin.f64 b) (cos.f64 b))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 (cos.f64 b) 3))))) (cos.f64 b)) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2))) (*.f64 1/6 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2))))))) (+.f64 (/.f64 (sin.f64 b) (cos.f64 b)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 -1/2 (/.f64 (sin.f64 b) (cos.f64 b))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 (cos.f64 b) 3)))))) (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) a) (pow.f64 (cos.f64 b) 2)))))
(fma.f64 -1 (*.f64 (pow.f64 a 3) (+.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) (fma.f64 -1/2 (/.f64 (sin.f64 b) (cos.f64 b)) (neg.f64 (/.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 (cos.f64 b) 3)))))) (*.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)) -1/3))) (+.f64 (/.f64 (sin.f64 b) (cos.f64 b)) (fma.f64 -1 (*.f64 (*.f64 a a) (fma.f64 -1/2 (/.f64 (sin.f64 b) (cos.f64 b)) (neg.f64 (/.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 (cos.f64 b) 3))))) (/.f64 (pow.f64 (sin.f64 b) 2) (/.f64 (pow.f64 (cos.f64 b) 2) a)))))
(+.f64 (-.f64 (/.f64 a (/.f64 (pow.f64 (cos.f64 b) 2) (pow.f64 (sin.f64 b) 2))) (*.f64 a (*.f64 a (-.f64 (*.f64 -1/2 (/.f64 (sin.f64 b) (cos.f64 b))) (/.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 (cos.f64 b) 3)))))) (fma.f64 (neg.f64 (pow.f64 a 3)) (fma.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)) -1/3 (*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) (-.f64 (*.f64 -1/2 (/.f64 (sin.f64 b) (cos.f64 b))) (/.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 (cos.f64 b) 3))))) (/.f64 (sin.f64 b) (cos.f64 b))))
(+.f64 (/.f64 (sin.f64 b) (cos.f64 b)) (-.f64 (*.f64 a (-.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)) (*.f64 (-.f64 (*.f64 (/.f64 -1/2 (cos.f64 b)) (sin.f64 b)) (pow.f64 (/.f64 (sin.f64 b) (cos.f64 b)) 3)) a))) (*.f64 (pow.f64 a 3) (fma.f64 (/.f64 (sin.f64 b) (cos.f64 b)) (-.f64 (*.f64 (/.f64 -1/2 (cos.f64 b)) (sin.f64 b)) (pow.f64 (/.f64 (sin.f64 b) (cos.f64 b)) 3)) (/.f64 (pow.f64 (sin.f64 b) 2) (/.f64 (pow.f64 (cos.f64 b) 2) -1/3))))))
(/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 r (/.f64 (cos.f64 a) b))
(*.f64 (/.f64 r (cos.f64 a)) b)
(+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 (pow.f64 b 2) r)) (pow.f64 (cos.f64 a) 2)) (/.f64 (*.f64 r b) (cos.f64 a)))
(+.f64 (/.f64 r (/.f64 (cos.f64 a) b)) (/.f64 (*.f64 (sin.f64 a) (*.f64 (*.f64 b b) r)) (pow.f64 (cos.f64 a) 2)))
(+.f64 (*.f64 (/.f64 r (cos.f64 a)) b) (*.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b (*.f64 b r))))
(fma.f64 (/.f64 b (cos.f64 a)) r (*.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 (*.f64 b b) r)))
(+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 r (pow.f64 b 2))) (pow.f64 (cos.f64 a) 2)) (+.f64 (/.f64 (*.f64 r b) (cos.f64 a)) (*.f64 (pow.f64 b 3) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (+.f64 (*.f64 -1/2 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3))))))))
(+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 (*.f64 b b) r)) (pow.f64 (cos.f64 a) 2)) (+.f64 (/.f64 r (/.f64 (cos.f64 a) b)) (*.f64 (pow.f64 b 3) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (fma.f64 -1/2 (/.f64 r (cos.f64 a)) (neg.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (/.f64 (pow.f64 (cos.f64 a) 3) r))))))))
(+.f64 (*.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b (*.f64 b r))) (fma.f64 (pow.f64 b 3) (-.f64 (*.f64 (/.f64 r (cos.f64 a)) 1/3) (/.f64 (*.f64 (neg.f64 (pow.f64 (sin.f64 a) 2)) r) (pow.f64 (cos.f64 a) 3))) (*.f64 (/.f64 r (cos.f64 a)) b)))
(fma.f64 (/.f64 b (cos.f64 a)) r (fma.f64 (pow.f64 b 3) (fma.f64 (/.f64 r (cos.f64 a)) 1/3 (/.f64 (pow.f64 (sin.f64 a) 2) (/.f64 (pow.f64 (cos.f64 a) 3) r))) (*.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 (*.f64 b b) r))))
(+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 r (pow.f64 b 2))) (pow.f64 (cos.f64 a) 2)) (+.f64 (/.f64 (*.f64 r b) (cos.f64 a)) (+.f64 (*.f64 (pow.f64 b 3) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (+.f64 (*.f64 -1/2 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3)))))) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 a) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (+.f64 (*.f64 -1/2 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3)))))) (cos.f64 a))) (+.f64 (*.f64 1/6 (/.f64 (*.f64 (sin.f64 a) r) (pow.f64 (cos.f64 a) 2))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 a) r) (pow.f64 (cos.f64 a) 2))))) (pow.f64 b 4))))))
(+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 (*.f64 b b) r)) (pow.f64 (cos.f64 a) 2)) (+.f64 (/.f64 r (/.f64 (cos.f64 a) b)) (fma.f64 (pow.f64 b 3) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (fma.f64 -1/2 (/.f64 r (cos.f64 a)) (neg.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (/.f64 (pow.f64 (cos.f64 a) 3) r))))) (neg.f64 (*.f64 (pow.f64 b 4) (fma.f64 -1 (/.f64 (sin.f64 a) (/.f64 (cos.f64 a) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (fma.f64 -1/2 (/.f64 r (cos.f64 a)) (neg.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (/.f64 (pow.f64 (cos.f64 a) 3) r))))))) (*.f64 (/.f64 (sin.f64 a) (/.f64 (pow.f64 (cos.f64 a) 2) r)) -1/3)))))))
(+.f64 (*.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b (*.f64 b r))) (-.f64 (fma.f64 (pow.f64 b 3) (-.f64 (*.f64 (/.f64 r (cos.f64 a)) 1/3) (/.f64 (*.f64 (neg.f64 (pow.f64 (sin.f64 a) 2)) r) (pow.f64 (cos.f64 a) 3))) (*.f64 (/.f64 r (cos.f64 a)) b)) (*.f64 (pow.f64 b 4) (-.f64 (/.f64 (*.f64 (sin.f64 a) -1/3) (/.f64 (pow.f64 (cos.f64 a) 2) r)) (*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) (-.f64 (*.f64 (/.f64 r (cos.f64 a)) 1/3) (/.f64 (*.f64 (neg.f64 (pow.f64 (sin.f64 a) 2)) r) (pow.f64 (cos.f64 a) 3))))))))
(-.f64 (fma.f64 (/.f64 b (cos.f64 a)) r (fma.f64 (pow.f64 b 3) (fma.f64 (/.f64 r (cos.f64 a)) 1/3 (/.f64 (pow.f64 (sin.f64 a) 2) (/.f64 (pow.f64 (cos.f64 a) 3) r))) (*.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 (*.f64 b b) r)))) (*.f64 (pow.f64 b 4) (-.f64 (/.f64 (*.f64 (sin.f64 a) r) (/.f64 (pow.f64 (cos.f64 a) 2) -1/3)) (*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) (fma.f64 (/.f64 r (cos.f64 a)) 1/3 (/.f64 (pow.f64 (sin.f64 a) 2) (/.f64 (pow.f64 (cos.f64 a) 3) r)))))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 r (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) (sin.f64 b)))
(/.f64 r (/.f64 (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b))) (sin.f64 b)))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 r (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) (sin.f64 b)))
(/.f64 r (/.f64 (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b))) (sin.f64 b)))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 r (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) (sin.f64 b)))
(/.f64 r (/.f64 (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b))) (sin.f64 b)))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 r (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) (sin.f64 b)))
(/.f64 r (/.f64 (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b))) (sin.f64 b)))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 r (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) (sin.f64 b)))
(/.f64 r (/.f64 (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b))) (sin.f64 b)))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 r (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) (sin.f64 b)))
(/.f64 r (/.f64 (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b))) (sin.f64 b)))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 r (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) (sin.f64 b)))
(/.f64 r (/.f64 (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b))) (sin.f64 b)))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 r (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) (sin.f64 b)))
(/.f64 r (/.f64 (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b))) (sin.f64 b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r))
(*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b))
(+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 a r)) (pow.f64 (cos.f64 b) 2)) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))
(+.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r)) (/.f64 (pow.f64 (sin.f64 b) 2) (/.f64 (pow.f64 (cos.f64 b) 2) (*.f64 a r))))
(+.f64 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)) (/.f64 (pow.f64 (sin.f64 b) 2) (/.f64 (pow.f64 (cos.f64 b) 2) (*.f64 a r))))
(fma.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r (*.f64 (/.f64 (*.f64 a r) (pow.f64 (cos.f64 b) 2)) (pow.f64 (sin.f64 b) 2)))
(+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 a r)) (pow.f64 (cos.f64 b) 2)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 3) r) (pow.f64 (cos.f64 b) 3))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))))) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))))
(+.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (/.f64 (pow.f64 (cos.f64 b) 2) (*.f64 a r))) (fma.f64 -1 (*.f64 (*.f64 a a) (fma.f64 -1 (/.f64 (pow.f64 (sin.f64 b) 3) (/.f64 (pow.f64 (cos.f64 b) 3) r)) (*.f64 -1/2 (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r))))) (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r))))
(+.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (/.f64 (pow.f64 (cos.f64 b) 2) (*.f64 a r))) (-.f64 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)) (*.f64 (*.f64 a a) (fma.f64 -1/2 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)) (/.f64 (neg.f64 (pow.f64 (sin.f64 b) 3)) (/.f64 (pow.f64 (cos.f64 b) 3) r))))))
(fma.f64 (*.f64 a a) (neg.f64 (-.f64 (*.f64 -1/2 (*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b))) (*.f64 (pow.f64 (/.f64 (sin.f64 b) (cos.f64 b)) 3) r))) (fma.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r (*.f64 (/.f64 (*.f64 a r) (pow.f64 (cos.f64 b) 2)) (pow.f64 (sin.f64 b) 2))))
(+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 a r)) (pow.f64 (cos.f64 b) 2)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 3) (+.f64 (/.f64 (*.f64 (sin.f64 b) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 3) r) (pow.f64 (cos.f64 b) 3))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))))) (cos.f64 b)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) r) (pow.f64 (cos.f64 b) 2))) (*.f64 1/6 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) r) (pow.f64 (cos.f64 b) 2))))))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 3) r) (pow.f64 (cos.f64 b) 3))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))))) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))))
(+.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (/.f64 (pow.f64 (cos.f64 b) 2) (*.f64 a r))) (fma.f64 -1 (*.f64 (pow.f64 a 3) (+.f64 (/.f64 (*.f64 (sin.f64 b) (fma.f64 -1 (/.f64 (pow.f64 (sin.f64 b) 3) (/.f64 (pow.f64 (cos.f64 b) 3) r)) (*.f64 -1/2 (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r))))) (cos.f64 b)) (*.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (/.f64 (pow.f64 (cos.f64 b) 2) r)) -1/3))) (fma.f64 -1 (*.f64 (*.f64 a a) (fma.f64 -1 (/.f64 (pow.f64 (sin.f64 b) 3) (/.f64 (pow.f64 (cos.f64 b) 3) r)) (*.f64 -1/2 (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r))))) (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r)))))
(+.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (/.f64 (pow.f64 (cos.f64 b) 2) (*.f64 a r))) (-.f64 (-.f64 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)) (*.f64 (*.f64 a a) (fma.f64 -1/2 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)) (/.f64 (neg.f64 (pow.f64 (sin.f64 b) 3)) (/.f64 (pow.f64 (cos.f64 b) 3) r))))) (*.f64 (pow.f64 a 3) (fma.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (/.f64 (pow.f64 (cos.f64 b) 2) r)) -1/3 (*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) (fma.f64 -1/2 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)) (/.f64 (neg.f64 (pow.f64 (sin.f64 b) 3)) (/.f64 (pow.f64 (cos.f64 b) 3) r))))))))
(fma.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)) (*.f64 a r) (-.f64 (*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b)) (*.f64 (*.f64 a a) (+.f64 (*.f64 (fma.f64 (/.f64 (sin.f64 b) (cos.f64 b)) (-.f64 (*.f64 -1/2 (*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b))) (*.f64 (pow.f64 (/.f64 (sin.f64 b) (cos.f64 b)) 3) r)) (/.f64 (pow.f64 (sin.f64 b) 2) (/.f64 (/.f64 (pow.f64 (cos.f64 b) 2) r) -1/3))) a) (-.f64 (*.f64 -1/2 (*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b))) (*.f64 (pow.f64 (/.f64 (sin.f64 b) (cos.f64 b)) 3) r))))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 r (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) (sin.f64 b)))
(/.f64 r (/.f64 (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b))) (sin.f64 b)))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 r (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) (sin.f64 b)))
(/.f64 r (/.f64 (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b))) (sin.f64 b)))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 r (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) (sin.f64 b)))
(/.f64 r (/.f64 (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b))) (sin.f64 b)))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 r (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) (sin.f64 b)))
(/.f64 r (/.f64 (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b))) (sin.f64 b)))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 r (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) (sin.f64 b)))
(/.f64 r (/.f64 (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b))) (sin.f64 b)))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 r (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) (sin.f64 b)))
(/.f64 r (/.f64 (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b))) (sin.f64 b)))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 r (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) (sin.f64 b)))
(/.f64 r (/.f64 (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b))) (sin.f64 b)))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 r (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) (sin.f64 b)))
(/.f64 r (/.f64 (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b))) (sin.f64 b)))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 r (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) (sin.f64 b)))
(/.f64 r (/.f64 (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b))) (sin.f64 b)))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 r (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) (sin.f64 b)))
(/.f64 r (/.f64 (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b))) (sin.f64 b)))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 r (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) (sin.f64 b)))
(/.f64 r (/.f64 (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b))) (sin.f64 b)))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 r (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) (sin.f64 b)))
(/.f64 r (/.f64 (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b))) (sin.f64 b)))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 r (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) (sin.f64 b)))
(/.f64 r (/.f64 (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b))) (sin.f64 b)))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 r (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) (sin.f64 b)))
(/.f64 r (/.f64 (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b))) (sin.f64 b)))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 r (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) (sin.f64 b)))
(/.f64 r (/.f64 (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b))) (sin.f64 b)))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 r (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) (sin.f64 b)))
(/.f64 r (/.f64 (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b))) (sin.f64 b)))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 r (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) (sin.f64 b)))
(/.f64 r (/.f64 (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b))) (sin.f64 b)))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 r (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) (sin.f64 b)))
(/.f64 r (/.f64 (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b))) (sin.f64 b)))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 r (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) (sin.f64 b)))
(/.f64 r (/.f64 (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b))) (sin.f64 b)))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 r (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) (sin.f64 b)))
(/.f64 r (/.f64 (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b))) (sin.f64 b)))
(cos.f64 b)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 a 2) (cos.f64 b))) (cos.f64 b))
(fma.f64 -1/2 (*.f64 (cos.f64 b) (*.f64 a a)) (cos.f64 b))
(*.f64 (+.f64 (*.f64 -1/2 (*.f64 a a)) 1) (cos.f64 b))
(*.f64 (fma.f64 -1/2 (*.f64 a a) 1) (cos.f64 b))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 a 2) (cos.f64 b))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 a 4) (cos.f64 b))) (cos.f64 b)))
(fma.f64 -1/2 (*.f64 (cos.f64 b) (*.f64 a a)) (fma.f64 1/24 (*.f64 (cos.f64 b) (pow.f64 a 4)) (cos.f64 b)))
(+.f64 (cos.f64 b) (*.f64 (cos.f64 b) (+.f64 (*.f64 -1/2 (*.f64 a a)) (*.f64 1/24 (pow.f64 a 4)))))
(*.f64 (cos.f64 b) (+.f64 (*.f64 -1/2 (*.f64 a a)) (fma.f64 1/24 (pow.f64 a 4) 1)))
(+.f64 (*.f64 -1/720 (*.f64 (pow.f64 a 6) (cos.f64 b))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 a 2) (cos.f64 b))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 a 4) (cos.f64 b))) (cos.f64 b))))
(fma.f64 -1/720 (*.f64 (cos.f64 b) (pow.f64 a 6)) (fma.f64 -1/2 (*.f64 (cos.f64 b) (*.f64 a a)) (fma.f64 1/24 (*.f64 (cos.f64 b) (pow.f64 a 4)) (cos.f64 b))))
(+.f64 (*.f64 (+.f64 (*.f64 1/24 (pow.f64 a 4)) 1) (cos.f64 b)) (*.f64 (cos.f64 b) (+.f64 (*.f64 -1/720 (pow.f64 a 6)) (*.f64 -1/2 (*.f64 a a)))))
(fma.f64 (cos.f64 b) (fma.f64 -1/720 (pow.f64 a 6) (*.f64 -1/2 (*.f64 a a))) (*.f64 (fma.f64 1/24 (pow.f64 a 4) 1) (cos.f64 b)))
(cos.f64 a)
(+.f64 (cos.f64 a) (*.f64 -1/2 (*.f64 (cos.f64 a) (pow.f64 b 2))))
(+.f64 (cos.f64 a) (*.f64 -1/2 (*.f64 (cos.f64 a) (*.f64 b b))))
(fma.f64 -1/2 (*.f64 b (*.f64 b (cos.f64 a))) (cos.f64 a))
(+.f64 (*.f64 1/24 (*.f64 (cos.f64 a) (pow.f64 b 4))) (+.f64 (cos.f64 a) (*.f64 -1/2 (*.f64 (cos.f64 a) (pow.f64 b 2)))))
(fma.f64 1/24 (*.f64 (cos.f64 a) (pow.f64 b 4)) (+.f64 (cos.f64 a) (*.f64 -1/2 (*.f64 (cos.f64 a) (*.f64 b b)))))
(fma.f64 1/24 (*.f64 (cos.f64 a) (pow.f64 b 4)) (fma.f64 -1/2 (*.f64 b (*.f64 b (cos.f64 a))) (cos.f64 a)))
(+.f64 (cos.f64 a) (*.f64 (cos.f64 a) (+.f64 (*.f64 -1/2 (*.f64 b b)) (*.f64 1/24 (pow.f64 b 4)))))
(+.f64 (*.f64 -1/720 (*.f64 (cos.f64 a) (pow.f64 b 6))) (+.f64 (*.f64 1/24 (*.f64 (cos.f64 a) (pow.f64 b 4))) (+.f64 (cos.f64 a) (*.f64 -1/2 (*.f64 (cos.f64 a) (pow.f64 b 2))))))
(fma.f64 -1/720 (*.f64 (cos.f64 a) (pow.f64 b 6)) (fma.f64 1/24 (*.f64 (cos.f64 a) (pow.f64 b 4)) (+.f64 (cos.f64 a) (*.f64 -1/2 (*.f64 (cos.f64 a) (*.f64 b b))))))
(fma.f64 -1/720 (*.f64 (cos.f64 a) (pow.f64 b 6)) (fma.f64 1/24 (*.f64 (cos.f64 a) (pow.f64 b 4)) (fma.f64 -1/2 (*.f64 b (*.f64 b (cos.f64 a))) (cos.f64 a))))
(+.f64 (fma.f64 -1/2 (*.f64 b (*.f64 b (cos.f64 a))) (cos.f64 a)) (*.f64 (cos.f64 a) (+.f64 (*.f64 1/24 (pow.f64 b 4)) (*.f64 -1/720 (pow.f64 b 6)))))

localize4.0ms (0%)

Compiler

Compiled 8 to 4 computations (50% saved)

localize25.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.2b
(/.f64 (cos.f64 (+.f64 b a)) r)
0.3b
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
4.3b
(cos.f64 (+.f64 b a))
Compiler

Compiled 30 to 8 computations (73.3% saved)

series8.0ms (0.1%)

Counts
2 → 72
Calls

18 calls:

TimeVariablePointExpression
1.0ms
a
@0
(/.f64 (cos.f64 (+.f64 b a)) r)
1.0ms
b
@0
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
1.0ms
b
@0
(/.f64 (cos.f64 (+.f64 b a)) r)
1.0ms
b
@-inf
(/.f64 (cos.f64 (+.f64 b a)) r)
1.0ms
a
@-inf
(/.f64 (cos.f64 (+.f64 b a)) r)

rewrite100.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
610×prod-diff_binary64
583×log-prod_binary64
298×pow2_binary64
208×fma-def_binary64
207×pow1/3_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0923
120623
2311923
Stop Event
node limit
Counts
2 → 89
Calls
Call 1
Inputs
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(/.f64 (cos.f64 (+.f64 b a)) r)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sin.f64 b) (/.f64 r (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 b)) (/.f64 r (cos.f64 (+.f64 b a))))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 b)) (/.f64 r (cos.f64 (+.f64 b a)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 b)) (/.f64 r (cos.f64 (+.f64 b a)))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 b)) (/.f64 r (cos.f64 (+.f64 b a)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 b) (/.f64 r (cos.f64 (+.f64 b a)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 b) (/.f64 r (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 b) (/.f64 r (cos.f64 (+.f64 b a)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (sin.f64 b) (/.f64 r (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (sin.f64 b) (/.f64 r (cos.f64 (+.f64 b a))))) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) (/.f64 r (cos.f64 (+.f64 b a))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) (/.f64 r (cos.f64 (+.f64 b a))))) 2) (cbrt.f64 (*.f64 (sin.f64 b) (/.f64 r (cos.f64 (+.f64 b a))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (sin.f64 b)) 2) (*.f64 (cbrt.f64 (sin.f64 b)) (/.f64 r (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (sin.f64 b) (/.f64 r (cos.f64 (+.f64 b a))))) (sqrt.f64 (*.f64 (sin.f64 b) (/.f64 r (cos.f64 (+.f64 b a))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sin.f64 b)) (*.f64 (sqrt.f64 (sin.f64 b)) (/.f64 r (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sin.f64 b)) (/.f64 1 (/.f64 (neg.f64 (cos.f64 (+.f64 b a))) r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (sin.f64 b)) 2) 1) (/.f64 (cbrt.f64 (sin.f64 b)) (/.f64 (cos.f64 (+.f64 b a)) r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (sin.f64 b)) 1) (/.f64 (sqrt.f64 (sin.f64 b)) (/.f64 (cos.f64 (+.f64 b a)) r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (sin.f64 b)) (cos.f64 (+.f64 b a))) (/.f64 (sqrt.f64 (sin.f64 b)) (/.f64 1 r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cos.f64 (+.f64 b a))) (/.f64 (sin.f64 b) (/.f64 1 r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (sin.f64 b)) 2) (cos.f64 (+.f64 b a))) (/.f64 (cbrt.f64 (sin.f64 b)) (/.f64 1 r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r)) 2)) (/.f64 (sin.f64 b) (cbrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (sin.f64 b)) 2) (pow.f64 (cbrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r)) 2)) (cbrt.f64 (*.f64 (sin.f64 b) (/.f64 r (cos.f64 (+.f64 b a))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (sin.f64 b)) (pow.f64 (cbrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r)) 2)) (/.f64 (sqrt.f64 (sin.f64 b)) (cbrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r))) (/.f64 (sin.f64 b) (sqrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (sin.f64 b)) 2) (sqrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r))) (/.f64 (cbrt.f64 (sin.f64 b)) (sqrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 b) 1) (/.f64 r (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 b) (neg.f64 (cos.f64 (+.f64 b a)))) (neg.f64 r))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) 1) r)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) (cbrt.f64 (*.f64 r r))) (cbrt.f64 r))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) (sqrt.f64 r)) (sqrt.f64 r))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 b) (/.f64 r (cos.f64 (+.f64 b a)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sin.f64 b) (/.f64 r (cos.f64 (+.f64 b a)))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sin.f64 b) (/.f64 r (cos.f64 (+.f64 b a)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) (/.f64 r (cos.f64 (+.f64 b a))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sin.f64 b) (/.f64 r (cos.f64 (+.f64 b a))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 (sin.f64 b) r)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 (/.f64 (cos.f64 (+.f64 b a)) r) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 (sin.f64 b) r)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (sin.f64 b) (/.f64 (neg.f64 (cos.f64 (+.f64 b a))) r)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (sin.f64 b) (/.f64 r (cos.f64 (+.f64 b a)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sin.f64 b)) (/.f64 r (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 b) (/.f64 r (cos.f64 (+.f64 b a)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sin.f64 b) (/.f64 r (cos.f64 (+.f64 b a)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 (/.f64 (cos.f64 (+.f64 b a)) r) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sin.f64 b) (/.f64 r (cos.f64 (+.f64 b a))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sin.f64 b) (/.f64 r (cos.f64 (+.f64 b a))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sin.f64 b) (/.f64 r (cos.f64 (+.f64 b a))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 b) (/.f64 r (cos.f64 (+.f64 b a))))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (cos.f64 (+.f64 b a)) r))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (cos.f64 (+.f64 b a)) r))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (cos.f64 (+.f64 b a)) r)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (cos.f64 (+.f64 b a)) r)))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (cos.f64 (+.f64 b a)) r)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (cos.f64 (+.f64 b a)) r))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (cos.f64 b) (cos.f64 a)) r) (/.f64 (*.f64 (sin.f64 b) (sin.f64 a)) r))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 (+.f64 b a)) (/.f64 1 r))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cos.f64 (+.f64 b a)) r) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (cos.f64 (+.f64 b a)) r))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r)) (pow.f64 (cbrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r)) 2) (cbrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 2) (*.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) (/.f64 1 r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r)) (sqrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cos.f64 (+.f64 b a))) (*.f64 (sqrt.f64 (cos.f64 (+.f64 b a))) (/.f64 1 r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (cos.f64 (+.f64 b a))) (/.f64 1 (neg.f64 r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 r) (cos.f64 (+.f64 b a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 2) 1) (/.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) r))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (cos.f64 (+.f64 b a))) 1) (/.f64 (sqrt.f64 (cos.f64 (+.f64 b a))) r))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (*.f64 r r))) (/.f64 (cos.f64 (+.f64 b a)) (cbrt.f64 r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 2) (cbrt.f64 (*.f64 r r))) (cbrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (cos.f64 (+.f64 b a))) (cbrt.f64 (*.f64 r r))) (/.f64 (sqrt.f64 (cos.f64 (+.f64 b a))) (cbrt.f64 r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 r)) (/.f64 (cos.f64 (+.f64 b a)) (sqrt.f64 r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 2) (sqrt.f64 r)) (/.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) (sqrt.f64 r)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (cos.f64 (+.f64 b a)) r) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (cos.f64 (+.f64 b a)) r) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (cos.f64 (+.f64 b a)) r) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 r (cos.f64 (+.f64 b a))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (cos.f64 (+.f64 b a)) 3) (pow.f64 r 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 r (cos.f64 (+.f64 b a))) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (cos.f64 (+.f64 b a)) (neg.f64 r)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (cos.f64 (+.f64 b a)) r) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (cos.f64 (+.f64 b a)) r)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (cos.f64 (+.f64 b a)) r))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (cos.f64 (+.f64 b a)) r) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (cos.f64 (+.f64 b a)) 3) (pow.f64 r 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (cos.f64 (+.f64 b a)) r)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (cos.f64 (+.f64 b a)) r)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (cos.f64 (+.f64 b a)) r)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (cos.f64 (+.f64 b a)) r)) 1))))))

simplify57.0ms (0.4%)

Algorithm
egg-herbie
Rules
691×associate-*r*_binary64
626×associate-*l*_binary64
431×fma-def_binary64
414×associate-/l*_binary64
372×times-frac_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01341407
14141360
213971327
Stop Event
node limit
Counts
161 → 126
Calls
Call 1
Inputs
(/.f64 (*.f64 b r) (cos.f64 a))
(+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 (pow.f64 b 2) r)) (pow.f64 (cos.f64 a) 2)) (/.f64 (*.f64 r b) (cos.f64 a)))
(+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 r (pow.f64 b 2))) (pow.f64 (cos.f64 a) 2)) (+.f64 (/.f64 (*.f64 r b) (cos.f64 a)) (*.f64 (pow.f64 b 3) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (+.f64 (*.f64 -1/2 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3))))))))
(+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 r (pow.f64 b 2))) (pow.f64 (cos.f64 a) 2)) (+.f64 (/.f64 (*.f64 r b) (cos.f64 a)) (+.f64 (*.f64 (pow.f64 b 3) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (+.f64 (*.f64 -1/2 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3)))))) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 a) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (+.f64 (*.f64 -1/2 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3)))))) (cos.f64 a))) (+.f64 (*.f64 1/6 (/.f64 (*.f64 (sin.f64 a) r) (pow.f64 (cos.f64 a) 2))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 a) r) (pow.f64 (cos.f64 a) 2))))) (pow.f64 b 4))))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 a (*.f64 -1 b))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 a (*.f64 -1 b))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 a (*.f64 -1 b))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 a (*.f64 -1 b))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))
(+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 a r)) (pow.f64 (cos.f64 b) 2)) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))
(+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 a r)) (pow.f64 (cos.f64 b) 2)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 3) r) (pow.f64 (cos.f64 b) 3))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))))) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))))
(+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 a r)) (pow.f64 (cos.f64 b) 2)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 3) (+.f64 (/.f64 (*.f64 (sin.f64 b) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 3) r) (pow.f64 (cos.f64 b) 3))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))))) (cos.f64 b)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) r) (pow.f64 (cos.f64 b) 2))) (*.f64 1/6 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) r) (pow.f64 (cos.f64 b) 2))))))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 3) r) (pow.f64 (cos.f64 b) 3))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))))) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 b (*.f64 -1 a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 b (*.f64 -1 a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 b (*.f64 -1 a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 b (*.f64 -1 a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (cos.f64 a) r)
(+.f64 (/.f64 (cos.f64 a) r) (*.f64 -1 (/.f64 (*.f64 (sin.f64 a) b) r)))
(+.f64 (/.f64 (cos.f64 a) r) (+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 a) b) r)) (*.f64 -1/2 (/.f64 (*.f64 (cos.f64 a) (pow.f64 b 2)) r))))
(+.f64 (*.f64 1/6 (/.f64 (*.f64 (sin.f64 a) (pow.f64 b 3)) r)) (+.f64 (/.f64 (cos.f64 a) r) (+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 a) b) r)) (*.f64 -1/2 (/.f64 (*.f64 (cos.f64 a) (pow.f64 b 2)) r)))))
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (-.f64 a (*.f64 -1 b))) r)
(/.f64 (cos.f64 (-.f64 a (*.f64 -1 b))) r)
(/.f64 (cos.f64 (-.f64 a (*.f64 -1 b))) r)
(/.f64 (cos.f64 (-.f64 a (*.f64 -1 b))) r)
(/.f64 (cos.f64 b) r)
(+.f64 (/.f64 (cos.f64 b) r) (*.f64 -1 (/.f64 (*.f64 (sin.f64 b) a) r)))
(+.f64 (/.f64 (cos.f64 b) r) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a 2) (cos.f64 b)) r)) (*.f64 -1 (/.f64 (*.f64 (sin.f64 b) a) r))))
(+.f64 (/.f64 (cos.f64 b) r) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a 2) (cos.f64 b)) r)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 b) a) r)) (*.f64 1/6 (/.f64 (*.f64 (sin.f64 b) (pow.f64 a 3)) r)))))
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (-.f64 b (*.f64 -1 a))) r)
(/.f64 (cos.f64 (-.f64 b (*.f64 -1 a))) r)
(/.f64 (cos.f64 (-.f64 b (*.f64 -1 a))) r)
(/.f64 (cos.f64 (-.f64 b (*.f64 -1 a))) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
Outputs
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 r (/.f64 (cos.f64 a) b))
(*.f64 r (/.f64 b (cos.f64 a)))
(+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 (pow.f64 b 2) r)) (pow.f64 (cos.f64 a) 2)) (/.f64 (*.f64 r b) (cos.f64 a)))
(+.f64 (/.f64 r (/.f64 (cos.f64 a) b)) (/.f64 (sin.f64 a) (/.f64 (pow.f64 (cos.f64 a) 2) (*.f64 r (*.f64 b b)))))
(+.f64 (/.f64 r (/.f64 (cos.f64 a) b)) (/.f64 (sin.f64 a) (/.f64 (pow.f64 (cos.f64 a) 2) (*.f64 b (*.f64 b r)))))
(fma.f64 (/.f64 r (cos.f64 a)) b (*.f64 (*.f64 b (*.f64 b r)) (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2))))
(+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 r (pow.f64 b 2))) (pow.f64 (cos.f64 a) 2)) (+.f64 (/.f64 (*.f64 r b) (cos.f64 a)) (*.f64 (pow.f64 b 3) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (+.f64 (*.f64 -1/2 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3))))))))
(+.f64 (/.f64 (sin.f64 a) (/.f64 (pow.f64 (cos.f64 a) 2) (*.f64 r (*.f64 b b)))) (+.f64 (/.f64 r (/.f64 (cos.f64 a) b)) (*.f64 (pow.f64 b 3) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (fma.f64 -1/2 (/.f64 r (cos.f64 a)) (neg.f64 (/.f64 (*.f64 r (pow.f64 (sin.f64 a) 2)) (pow.f64 (cos.f64 a) 3))))))))
(+.f64 (/.f64 (sin.f64 a) (/.f64 (pow.f64 (cos.f64 a) 2) (*.f64 b (*.f64 b r)))) (fma.f64 (pow.f64 b 3) (-.f64 (*.f64 (/.f64 r (cos.f64 a)) 1/3) (/.f64 (neg.f64 (pow.f64 (sin.f64 a) 2)) (/.f64 (pow.f64 (cos.f64 a) 3) r))) (/.f64 r (/.f64 (cos.f64 a) b))))
(fma.f64 (pow.f64 b 3) (fma.f64 (/.f64 r (cos.f64 a)) 1/3 (*.f64 r (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3)))) (fma.f64 (/.f64 r (cos.f64 a)) b (*.f64 (*.f64 b (*.f64 b r)) (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)))))
(+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 r (pow.f64 b 2))) (pow.f64 (cos.f64 a) 2)) (+.f64 (/.f64 (*.f64 r b) (cos.f64 a)) (+.f64 (*.f64 (pow.f64 b 3) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (+.f64 (*.f64 -1/2 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3)))))) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 a) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (+.f64 (*.f64 -1/2 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3)))))) (cos.f64 a))) (+.f64 (*.f64 1/6 (/.f64 (*.f64 (sin.f64 a) r) (pow.f64 (cos.f64 a) 2))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 a) r) (pow.f64 (cos.f64 a) 2))))) (pow.f64 b 4))))))
(+.f64 (/.f64 (sin.f64 a) (/.f64 (pow.f64 (cos.f64 a) 2) (*.f64 r (*.f64 b b)))) (+.f64 (/.f64 r (/.f64 (cos.f64 a) b)) (fma.f64 (pow.f64 b 3) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (fma.f64 -1/2 (/.f64 r (cos.f64 a)) (neg.f64 (/.f64 (*.f64 r (pow.f64 (sin.f64 a) 2)) (pow.f64 (cos.f64 a) 3))))) (neg.f64 (*.f64 (fma.f64 -1 (/.f64 (*.f64 (sin.f64 a) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (fma.f64 -1/2 (/.f64 r (cos.f64 a)) (neg.f64 (/.f64 (*.f64 r (pow.f64 (sin.f64 a) 2)) (pow.f64 (cos.f64 a) 3)))))) (cos.f64 a)) (*.f64 (/.f64 (sin.f64 a) (/.f64 (pow.f64 (cos.f64 a) 2) r)) -1/3)) (pow.f64 b 4))))))
(+.f64 (/.f64 (sin.f64 a) (/.f64 (pow.f64 (cos.f64 a) 2) (*.f64 b (*.f64 b r)))) (-.f64 (fma.f64 (pow.f64 b 3) (-.f64 (*.f64 (/.f64 r (cos.f64 a)) 1/3) (/.f64 (neg.f64 (pow.f64 (sin.f64 a) 2)) (/.f64 (pow.f64 (cos.f64 a) 3) r))) (/.f64 r (/.f64 (cos.f64 a) b))) (*.f64 (-.f64 (/.f64 (*.f64 (sin.f64 a) -1/3) (/.f64 (pow.f64 (cos.f64 a) 2) r)) (*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) (-.f64 (*.f64 (/.f64 r (cos.f64 a)) 1/3) (/.f64 (neg.f64 (pow.f64 (sin.f64 a) 2)) (/.f64 (pow.f64 (cos.f64 a) 3) r))))) (pow.f64 b 4))))
(-.f64 (fma.f64 (pow.f64 b 3) (fma.f64 (/.f64 r (cos.f64 a)) 1/3 (*.f64 r (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3)))) (fma.f64 (/.f64 r (cos.f64 a)) b (*.f64 (*.f64 b (*.f64 b r)) (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2))))) (*.f64 (-.f64 (*.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 r -1/3)) (*.f64 (fma.f64 (/.f64 r (cos.f64 a)) 1/3 (*.f64 r (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3)))) (/.f64 (sin.f64 a) (cos.f64 a)))) (pow.f64 b 4)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 a (*.f64 -1 b))))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 a (*.f64 -1 b))))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 a (*.f64 -1 b))))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 a (*.f64 -1 b))))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r))
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 b)))
(+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 a r)) (pow.f64 (cos.f64 b) 2)) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))
(+.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r)) (/.f64 (pow.f64 (sin.f64 b) 2) (/.f64 (pow.f64 (cos.f64 b) 2) (*.f64 r a))))
(fma.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r (*.f64 (*.f64 (/.f64 r (pow.f64 (cos.f64 b) 2)) (pow.f64 (sin.f64 b) 2)) a))
(+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 a r)) (pow.f64 (cos.f64 b) 2)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 3) r) (pow.f64 (cos.f64 b) 3))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))))) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))))
(+.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (/.f64 (pow.f64 (cos.f64 b) 2) (*.f64 r a))) (fma.f64 -1 (*.f64 (*.f64 a a) (fma.f64 -1 (/.f64 (pow.f64 (sin.f64 b) 3) (/.f64 (pow.f64 (cos.f64 b) 3) r)) (*.f64 -1/2 (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r))))) (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r))))
(+.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r)) (-.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (/.f64 (pow.f64 (cos.f64 b) 2) (*.f64 r a))) (*.f64 a (*.f64 a (-.f64 (*.f64 -1/2 (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r))) (*.f64 (/.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 (cos.f64 b) 3)) r))))))
(fma.f64 (*.f64 a a) (neg.f64 (fma.f64 -1/2 (*.f64 r (/.f64 (sin.f64 b) (cos.f64 b))) (*.f64 (/.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 (cos.f64 b) 3)) (neg.f64 r)))) (fma.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r (*.f64 (*.f64 (/.f64 r (pow.f64 (cos.f64 b) 2)) (pow.f64 (sin.f64 b) 2)) a)))
(+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 a r)) (pow.f64 (cos.f64 b) 2)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 3) (+.f64 (/.f64 (*.f64 (sin.f64 b) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 3) r) (pow.f64 (cos.f64 b) 3))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))))) (cos.f64 b)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) r) (pow.f64 (cos.f64 b) 2))) (*.f64 1/6 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) r) (pow.f64 (cos.f64 b) 2))))))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 3) r) (pow.f64 (cos.f64 b) 3))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))))) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))))
(+.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (/.f64 (pow.f64 (cos.f64 b) 2) (*.f64 r a))) (fma.f64 -1 (*.f64 (pow.f64 a 3) (+.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) (fma.f64 -1 (/.f64 (pow.f64 (sin.f64 b) 3) (/.f64 (pow.f64 (cos.f64 b) 3) r)) (*.f64 -1/2 (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r)))))) (*.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (/.f64 (pow.f64 (cos.f64 b) 2) r)) -1/3))) (fma.f64 -1 (*.f64 (*.f64 a a) (fma.f64 -1 (/.f64 (pow.f64 (sin.f64 b) 3) (/.f64 (pow.f64 (cos.f64 b) 3) r)) (*.f64 -1/2 (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r))))) (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r)))))
(+.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (/.f64 (pow.f64 (cos.f64 b) 2) (*.f64 r a))) (-.f64 (-.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r)) (*.f64 a (*.f64 a (-.f64 (*.f64 -1/2 (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r))) (*.f64 (/.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 (cos.f64 b) 3)) r))))) (*.f64 (pow.f64 a 3) (fma.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (/.f64 (pow.f64 (cos.f64 b) 2) r)) -1/3 (*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) (-.f64 (*.f64 -1/2 (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r))) (*.f64 (/.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 (cos.f64 b) 3)) r)))))))
(fma.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)) (*.f64 r a) (-.f64 (*.f64 r (/.f64 (sin.f64 b) (cos.f64 b))) (*.f64 (*.f64 a a) (+.f64 (*.f64 a (fma.f64 (/.f64 (sin.f64 b) (cos.f64 b)) (fma.f64 -1/2 (*.f64 r (/.f64 (sin.f64 b) (cos.f64 b))) (*.f64 (/.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 (cos.f64 b) 3)) (neg.f64 r))) (/.f64 (pow.f64 (sin.f64 b) 2) (/.f64 (/.f64 (pow.f64 (cos.f64 b) 2) r) -1/3)))) (fma.f64 -1/2 (*.f64 r (/.f64 (sin.f64 b) (cos.f64 b))) (*.f64 (/.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 (cos.f64 b) 3)) (neg.f64 r)))))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 b (*.f64 -1 a))))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 b (*.f64 -1 a))))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 b (*.f64 -1 a))))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 b (*.f64 -1 a))))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))
(/.f64 (cos.f64 a) r)
(+.f64 (/.f64 (cos.f64 a) r) (*.f64 -1 (/.f64 (*.f64 (sin.f64 a) b) r)))
(+.f64 (/.f64 (cos.f64 a) r) (neg.f64 (/.f64 (sin.f64 a) (/.f64 r b))))
(-.f64 (/.f64 (cos.f64 a) r) (*.f64 (/.f64 (sin.f64 a) r) b))
(-.f64 (/.f64 (cos.f64 a) r) (*.f64 (/.f64 b r) (sin.f64 a)))
(+.f64 (/.f64 (cos.f64 a) r) (+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 a) b) r)) (*.f64 -1/2 (/.f64 (*.f64 (cos.f64 a) (pow.f64 b 2)) r))))
(+.f64 (/.f64 (cos.f64 a) r) (fma.f64 -1 (/.f64 (sin.f64 a) (/.f64 r b)) (*.f64 -1/2 (/.f64 (cos.f64 a) (/.f64 r (*.f64 b b))))))
(+.f64 (-.f64 (/.f64 (cos.f64 a) r) (*.f64 (/.f64 (sin.f64 a) r) b)) (/.f64 -1/2 (/.f64 r (*.f64 (cos.f64 a) (*.f64 b b)))))
(-.f64 (fma.f64 -1/2 (*.f64 (/.f64 (cos.f64 a) (/.f64 r b)) b) (/.f64 (cos.f64 a) r)) (*.f64 (/.f64 b r) (sin.f64 a)))
(+.f64 (*.f64 1/6 (/.f64 (*.f64 (sin.f64 a) (pow.f64 b 3)) r)) (+.f64 (/.f64 (cos.f64 a) r) (+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 a) b) r)) (*.f64 -1/2 (/.f64 (*.f64 (cos.f64 a) (pow.f64 b 2)) r)))))
(fma.f64 1/6 (/.f64 (sin.f64 a) (/.f64 r (pow.f64 b 3))) (+.f64 (/.f64 (cos.f64 a) r) (fma.f64 -1 (/.f64 (sin.f64 a) (/.f64 r b)) (*.f64 -1/2 (/.f64 (cos.f64 a) (/.f64 r (*.f64 b b)))))))
(+.f64 (-.f64 (/.f64 -1/2 (/.f64 r (*.f64 (cos.f64 a) (*.f64 b b)))) (*.f64 (/.f64 (sin.f64 a) r) b)) (fma.f64 1/6 (*.f64 (/.f64 (sin.f64 a) r) (pow.f64 b 3)) (/.f64 (cos.f64 a) r)))
(fma.f64 1/6 (*.f64 (/.f64 (pow.f64 b 3) r) (sin.f64 a)) (-.f64 (fma.f64 -1/2 (*.f64 (/.f64 (cos.f64 a) (/.f64 r b)) b) (/.f64 (cos.f64 a) r)) (*.f64 (/.f64 b r) (sin.f64 a))))
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (+.f64 b a)) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (+.f64 b a)) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (+.f64 b a)) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (+.f64 b a)) r)
(/.f64 (cos.f64 (-.f64 a (*.f64 -1 b))) r)
(/.f64 (cos.f64 (+.f64 b a)) r)
(/.f64 (cos.f64 (-.f64 a (*.f64 -1 b))) r)
(/.f64 (cos.f64 (+.f64 b a)) r)
(/.f64 (cos.f64 (-.f64 a (*.f64 -1 b))) r)
(/.f64 (cos.f64 (+.f64 b a)) r)
(/.f64 (cos.f64 (-.f64 a (*.f64 -1 b))) r)
(/.f64 (cos.f64 (+.f64 b a)) r)
(/.f64 (cos.f64 b) r)
(+.f64 (/.f64 (cos.f64 b) r) (*.f64 -1 (/.f64 (*.f64 (sin.f64 b) a) r)))
(+.f64 (/.f64 (cos.f64 b) r) (neg.f64 (/.f64 (sin.f64 b) (/.f64 r a))))
(-.f64 (/.f64 (cos.f64 b) r) (/.f64 (sin.f64 b) (/.f64 r a)))
(-.f64 (/.f64 (cos.f64 b) r) (*.f64 a (/.f64 (sin.f64 b) r)))
(+.f64 (/.f64 (cos.f64 b) r) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a 2) (cos.f64 b)) r)) (*.f64 -1 (/.f64 (*.f64 (sin.f64 b) a) r))))
(+.f64 (/.f64 (cos.f64 b) r) (fma.f64 -1/2 (/.f64 (*.f64 a a) (/.f64 r (cos.f64 b))) (neg.f64 (/.f64 (sin.f64 b) (/.f64 r a)))))
(+.f64 (/.f64 (cos.f64 b) r) (fma.f64 -1/2 (*.f64 (/.f64 (*.f64 a a) r) (cos.f64 b)) (/.f64 (*.f64 (neg.f64 a) (sin.f64 b)) r)))
(-.f64 (fma.f64 -1/2 (/.f64 (cos.f64 b) (/.f64 (/.f64 r a) a)) (/.f64 (cos.f64 b) r)) (*.f64 a (/.f64 (sin.f64 b) r)))
(+.f64 (/.f64 (cos.f64 b) r) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a 2) (cos.f64 b)) r)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 b) a) r)) (*.f64 1/6 (/.f64 (*.f64 (sin.f64 b) (pow.f64 a 3)) r)))))
(+.f64 (/.f64 (cos.f64 b) r) (fma.f64 -1/2 (/.f64 (*.f64 a a) (/.f64 r (cos.f64 b))) (fma.f64 -1 (/.f64 (sin.f64 b) (/.f64 r a)) (*.f64 1/6 (/.f64 (sin.f64 b) (/.f64 r (pow.f64 a 3)))))))
(+.f64 (/.f64 (cos.f64 b) r) (fma.f64 -1/2 (*.f64 (/.f64 (*.f64 a a) r) (cos.f64 b)) (-.f64 (/.f64 1/6 (/.f64 r (*.f64 (sin.f64 b) (pow.f64 a 3)))) (/.f64 (sin.f64 b) (/.f64 r a)))))
(+.f64 (/.f64 (cos.f64 b) r) (-.f64 (fma.f64 1/6 (*.f64 (pow.f64 a 3) (/.f64 (sin.f64 b) r)) (*.f64 -1/2 (/.f64 (cos.f64 b) (/.f64 (/.f64 r a) a)))) (*.f64 a (/.f64 (sin.f64 b) r))))
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (+.f64 b a)) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (+.f64 b a)) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (+.f64 b a)) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (+.f64 b a)) r)
(/.f64 (cos.f64 (-.f64 b (*.f64 -1 a))) r)
(/.f64 (cos.f64 (+.f64 b a)) r)
(/.f64 (cos.f64 (-.f64 b (*.f64 -1 a))) r)
(/.f64 (cos.f64 (+.f64 b a)) r)
(/.f64 (cos.f64 (-.f64 b (*.f64 -1 a))) r)
(/.f64 (cos.f64 (+.f64 b a)) r)
(/.f64 (cos.f64 (-.f64 b (*.f64 -1 a))) r)
(/.f64 (cos.f64 (+.f64 b a)) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (+.f64 b a)) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (+.f64 b a)) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (+.f64 b a)) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (+.f64 b a)) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (+.f64 b a)) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (+.f64 b a)) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (+.f64 b a)) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (+.f64 b a)) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (+.f64 b a)) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (+.f64 b a)) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (+.f64 b a)) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (+.f64 b a)) r)

localize153.0ms (1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(/.f64 (pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 3) (cos.f64 (+.f64 b a)))
0.6b
(pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 3)
4.3b
(cos.f64 (+.f64 b a))
9.2b
(cbrt.f64 (*.f64 r (sin.f64 b)))
Compiler

Compiled 44 to 14 computations (68.2% saved)

series21.0ms (0.1%)

Counts
3 → 52
Calls

21 calls:

TimeVariablePointExpression
3.0ms
r
@-inf
(/.f64 (pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 3) (cos.f64 (+.f64 b a)))
2.0ms
b
@inf
(cbrt.f64 (*.f64 r (sin.f64 b)))
2.0ms
r
@-inf
(pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 3)
2.0ms
b
@-inf
(cbrt.f64 (*.f64 r (sin.f64 b)))
1.0ms
b
@0
(pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 3)

rewrite74.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
628×log-prod_binary64
595×prod-diff_binary64
325×pow2_binary64
224×pow1/3_binary64
223×fma-def_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01228
126728
2337028
Stop Event
node limit
Counts
3 → 112
Calls
Call 1
Inputs
(cbrt.f64 (*.f64 r (sin.f64 b)))
(pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 3)
(/.f64 (pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 3) (cos.f64 (+.f64 b a)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cbrt.f64 (*.f64 r (sin.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (*.f64 r (sin.f64 b))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (*.f64 r (sin.f64 b)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (*.f64 r (sin.f64 b)))))) (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (*.f64 r (sin.f64 b)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (cbrt.f64 (*.f64 r (sin.f64 b))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (*.f64 r (sin.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 r) (cbrt.f64 (sin.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (*.f64 r (sin.f64 b)))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 r (sin.f64 b)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 r (sin.f64 b)))) 2) (cbrt.f64 (cbrt.f64 (*.f64 r (sin.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sin.f64 b)) (cbrt.f64 r))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 r (sin.f64 b)) 1/6) (pow.f64 (*.f64 r (sin.f64 b)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cbrt.f64 (*.f64 r (sin.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 r (sin.f64 b)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 r (sin.f64 b)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 r (sin.f64 b)) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (*.f64 r (sin.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 (*.f64 r (sin.f64 b))))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 r (sin.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 r (sin.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 (*.f64 r (sin.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 r (sin.f64 b))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 r (sin.f64 b)))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 r (sin.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 r) (sin.f64 b))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 r) (sin.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 r) (sin.f64 b)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 r) (sin.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 r (sin.f64 b)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 r (sin.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 b) r)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 r (sin.f64 b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) (pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 r (sin.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 2) (cbrt.f64 (*.f64 r (sin.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 r) (*.f64 (cbrt.f64 (sin.f64 b)) (pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 r) 2) (*.f64 (cbrt.f64 r) (sin.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 r (sin.f64 b)))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 r (sin.f64 b)))) (pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (sin.f64 b)) 2) (*.f64 (cbrt.f64 (sin.f64 b)) r))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 r (sin.f64 b))) (sqrt.f64 (*.f64 r (sin.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 r) (*.f64 (sqrt.f64 r) (sin.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 r (sin.f64 b)) 1/6) (*.f64 (pow.f64 (*.f64 r (sin.f64 b)) 1/6) (pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sin.f64 b)) (*.f64 (sqrt.f64 (sin.f64 b)) r))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 r (pow.f64 (cbrt.f64 (sin.f64 b)) 2)) (cbrt.f64 (sin.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 r (sqrt.f64 (sin.f64 b))) (sqrt.f64 (sin.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 b) (pow.f64 (cbrt.f64 r) 2)) (cbrt.f64 r))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 b) (sqrt.f64 r)) (sqrt.f64 r))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 2) 1) (cbrt.f64 (*.f64 r (sin.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 2) (cbrt.f64 r)) (cbrt.f64 (sin.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 r (sin.f64 b)))) 2)) (cbrt.f64 (cbrt.f64 (*.f64 r (sin.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 2) (pow.f64 (*.f64 r (sin.f64 b)) 1/6)) (pow.f64 (*.f64 r (sin.f64 b)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 r (sin.f64 b)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 r) (sin.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 r (sin.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 r (sin.f64 b)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 r 3) (pow.f64 (sin.f64 b) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 r 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 r (sin.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 r (sin.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 r (sin.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 r (sin.f64 b))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 r (*.f64 (sin.f64 b) (/.f64 1 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 b) (*.f64 r (/.f64 1 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 r (sin.f64 b)) (/.f64 1 (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) (*.f64 (pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 2) (/.f64 1 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 2) (*.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) (/.f64 1 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)))) (pow.f64 (cbrt.f64 (/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)))) 2) (cbrt.f64 (/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 r (sin.f64 b))) (*.f64 (sqrt.f64 (*.f64 r (sin.f64 b))) (/.f64 1 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)))) (sqrt.f64 (/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 r (neg.f64 (sin.f64 b))) (/.f64 1 (neg.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cos.f64 (+.f64 b a))) (*.f64 r (sin.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 r 1) (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 b) 1) (/.f64 r (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 1) (/.f64 (pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 2) (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 2) 1) (/.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 r (sin.f64 b))) 1) (/.f64 (sqrt.f64 (*.f64 r (sin.f64 b))) (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 r (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 2)) (/.f64 (sin.f64 b) (cbrt.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 b) (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 2)) (/.f64 r (cbrt.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 2)) (/.f64 (pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 2) (cbrt.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 2)) (/.f64 (*.f64 r (sin.f64 b)) (cbrt.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 2) (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 2)) (cbrt.f64 (/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 r (sin.f64 b))) (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 2)) (/.f64 (sqrt.f64 (*.f64 r (sin.f64 b))) (cbrt.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 r (sqrt.f64 (cos.f64 (+.f64 b a)))) (/.f64 (sin.f64 b) (sqrt.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 b) (sqrt.f64 (cos.f64 (+.f64 b a)))) (/.f64 r (sqrt.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) (sqrt.f64 (cos.f64 (+.f64 b a)))) (/.f64 (pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 2) (sqrt.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 2) (sqrt.f64 (cos.f64 (+.f64 b a)))) (/.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) (sqrt.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 (cos.f64 (+.f64 b a)))) (/.f64 (*.f64 r (sin.f64 b)) (sqrt.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 r (sin.f64 b))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (*.f64 r (sin.f64 b)) 3) (pow.f64 (cos.f64 (+.f64 b a)) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 r (sin.f64 b))) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 r (sin.f64 b)) (neg.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (*.f64 r (sin.f64 b)) 3) (pow.f64 (cos.f64 (+.f64 b a)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)))) 1))))))

simplify96.0ms (0.6%)

Algorithm
egg-herbie
Rules
607×associate-*r*_binary64
567×associate-*l*_binary64
416×times-frac_binary64
375×fma-def_binary64
367×associate-/l*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01071072
13461008
21159981
37466970
Stop Event
node limit
Counts
164 → 136
Calls
Call 1
Inputs
(pow.f64 (*.f64 (sin.f64 b) r) 1/3)
(pow.f64 (*.f64 (sin.f64 b) r) 1/3)
(pow.f64 (*.f64 (sin.f64 b) r) 1/3)
(pow.f64 (*.f64 (sin.f64 b) r) 1/3)
(pow.f64 (*.f64 (sin.f64 b) r) 1/3)
(pow.f64 (*.f64 (sin.f64 b) r) 1/3)
(pow.f64 (*.f64 (sin.f64 b) r) 1/3)
(pow.f64 (*.f64 (sin.f64 b) r) 1/3)
(*.f64 (*.f64 (sin.f64 b) r) (pow.f64 1 1/3))
(*.f64 (*.f64 (sin.f64 b) r) (pow.f64 1 1/3))
(*.f64 (*.f64 (sin.f64 b) r) (pow.f64 1 1/3))
(*.f64 (*.f64 (sin.f64 b) r) (pow.f64 1 1/3))
(*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 b) r))
(*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 b) r))
(*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 b) r))
(*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 b) r))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 b r) (cos.f64 a))
(+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 (pow.f64 b 2) r)) (pow.f64 (cos.f64 a) 2)) (/.f64 (*.f64 r b) (cos.f64 a)))
(+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 r (pow.f64 b 2))) (pow.f64 (cos.f64 a) 2)) (+.f64 (/.f64 (*.f64 r b) (cos.f64 a)) (*.f64 (pow.f64 b 3) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (+.f64 (*.f64 -1/2 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3))))))))
(+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 r (pow.f64 b 2))) (pow.f64 (cos.f64 a) 2)) (+.f64 (/.f64 (*.f64 r b) (cos.f64 a)) (+.f64 (*.f64 (pow.f64 b 3) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (+.f64 (*.f64 -1/2 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3)))))) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 a) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (+.f64 (*.f64 -1/2 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3)))))) (cos.f64 a))) (+.f64 (*.f64 1/6 (/.f64 (*.f64 (sin.f64 a) r) (pow.f64 (cos.f64 a) 2))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 a) r) (pow.f64 (cos.f64 a) 2))))) (pow.f64 b 4))))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 a (*.f64 -1 b))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 a (*.f64 -1 b))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 a (*.f64 -1 b))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 a (*.f64 -1 b))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))
(+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 a r)) (pow.f64 (cos.f64 b) 2)) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))
(+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 a r)) (pow.f64 (cos.f64 b) 2)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 3) r) (pow.f64 (cos.f64 b) 3))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))))) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))))
(+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 a r)) (pow.f64 (cos.f64 b) 2)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 3) (+.f64 (/.f64 (*.f64 (sin.f64 b) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 3) r) (pow.f64 (cos.f64 b) 3))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))))) (cos.f64 b)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) r) (pow.f64 (cos.f64 b) 2))) (*.f64 1/6 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) r) (pow.f64 (cos.f64 b) 2))))))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 3) r) (pow.f64 (cos.f64 b) 3))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))))) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 b (*.f64 -1 a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 b (*.f64 -1 a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 b (*.f64 -1 a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 b (*.f64 -1 a))))
Outputs
(pow.f64 (*.f64 (sin.f64 b) r) 1/3)
(cbrt.f64 (*.f64 (sin.f64 b) r))
(pow.f64 (*.f64 (sin.f64 b) r) 1/3)
(cbrt.f64 (*.f64 (sin.f64 b) r))
(pow.f64 (*.f64 (sin.f64 b) r) 1/3)
(cbrt.f64 (*.f64 (sin.f64 b) r))
(pow.f64 (*.f64 (sin.f64 b) r) 1/3)
(cbrt.f64 (*.f64 (sin.f64 b) r))
(pow.f64 (*.f64 (sin.f64 b) r) 1/3)
(cbrt.f64 (*.f64 (sin.f64 b) r))
(pow.f64 (*.f64 (sin.f64 b) r) 1/3)
(cbrt.f64 (*.f64 (sin.f64 b) r))
(pow.f64 (*.f64 (sin.f64 b) r) 1/3)
(cbrt.f64 (*.f64 (sin.f64 b) r))
(pow.f64 (*.f64 (sin.f64 b) r) 1/3)
(cbrt.f64 (*.f64 (sin.f64 b) r))
(*.f64 (*.f64 (sin.f64 b) r) (pow.f64 1 1/3))
(*.f64 (sin.f64 b) (*.f64 r 1))
(*.f64 (sin.f64 b) r)
(*.f64 (*.f64 (sin.f64 b) r) (pow.f64 1 1/3))
(*.f64 (sin.f64 b) (*.f64 r 1))
(*.f64 (sin.f64 b) r)
(*.f64 (*.f64 (sin.f64 b) r) (pow.f64 1 1/3))
(*.f64 (sin.f64 b) (*.f64 r 1))
(*.f64 (sin.f64 b) r)
(*.f64 (*.f64 (sin.f64 b) r) (pow.f64 1 1/3))
(*.f64 (sin.f64 b) (*.f64 r 1))
(*.f64 (sin.f64 b) r)
(*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 b) r))
(*.f64 (sin.f64 b) (*.f64 r 1))
(*.f64 (sin.f64 b) r)
(*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 b) r))
(*.f64 (sin.f64 b) (*.f64 r 1))
(*.f64 (sin.f64 b) r)
(*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 b) r))
(*.f64 (sin.f64 b) (*.f64 r 1))
(*.f64 (sin.f64 b) r)
(*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 b) r))
(*.f64 (sin.f64 b) (*.f64 r 1))
(*.f64 (sin.f64 b) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 b a)))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 b a)))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 b a)))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 b a)))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 b a)))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 b a)))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 b a)))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 b a)))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 b a)))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 b a)))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 b a)))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 b a)))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 r (/.f64 (cos.f64 a) b))
(*.f64 (/.f64 r (cos.f64 a)) b)
(+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 (pow.f64 b 2) r)) (pow.f64 (cos.f64 a) 2)) (/.f64 (*.f64 r b) (cos.f64 a)))
(+.f64 (/.f64 r (/.f64 (cos.f64 a) b)) (/.f64 (*.f64 (*.f64 r (sin.f64 a)) (*.f64 b b)) (pow.f64 (cos.f64 a) 2)))
(+.f64 (*.f64 (/.f64 r (cos.f64 a)) b) (*.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 r (*.f64 b b))))
(fma.f64 (/.f64 r (cos.f64 a)) b (*.f64 (*.f64 r (*.f64 b b)) (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2))))
(+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 r (pow.f64 b 2))) (pow.f64 (cos.f64 a) 2)) (+.f64 (/.f64 (*.f64 r b) (cos.f64 a)) (*.f64 (pow.f64 b 3) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (+.f64 (*.f64 -1/2 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3))))))))
(+.f64 (+.f64 (/.f64 r (/.f64 (cos.f64 a) b)) (/.f64 (*.f64 (*.f64 r (sin.f64 a)) (*.f64 b b)) (pow.f64 (cos.f64 a) 2))) (*.f64 (pow.f64 b 3) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (fma.f64 -1/2 (/.f64 r (cos.f64 a)) (neg.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (/.f64 (pow.f64 (cos.f64 a) 3) r)))))))
(+.f64 (*.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 r (*.f64 b b))) (fma.f64 (pow.f64 b 3) (-.f64 (*.f64 (/.f64 r (cos.f64 a)) 1/3) (/.f64 (neg.f64 (*.f64 r (pow.f64 (sin.f64 a) 2))) (pow.f64 (cos.f64 a) 3))) (*.f64 (/.f64 r (cos.f64 a)) b)))
(fma.f64 (pow.f64 b 3) (fma.f64 (/.f64 r (cos.f64 a)) 1/3 (*.f64 r (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3)))) (fma.f64 (/.f64 r (cos.f64 a)) b (*.f64 (*.f64 r (*.f64 b b)) (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)))))
(+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 r (pow.f64 b 2))) (pow.f64 (cos.f64 a) 2)) (+.f64 (/.f64 (*.f64 r b) (cos.f64 a)) (+.f64 (*.f64 (pow.f64 b 3) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (+.f64 (*.f64 -1/2 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3)))))) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 a) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (+.f64 (*.f64 -1/2 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3)))))) (cos.f64 a))) (+.f64 (*.f64 1/6 (/.f64 (*.f64 (sin.f64 a) r) (pow.f64 (cos.f64 a) 2))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 a) r) (pow.f64 (cos.f64 a) 2))))) (pow.f64 b 4))))))
(+.f64 (+.f64 (/.f64 r (/.f64 (cos.f64 a) b)) (/.f64 (*.f64 (*.f64 r (sin.f64 a)) (*.f64 b b)) (pow.f64 (cos.f64 a) 2))) (fma.f64 (pow.f64 b 3) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (fma.f64 -1/2 (/.f64 r (cos.f64 a)) (neg.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (/.f64 (pow.f64 (cos.f64 a) 3) r))))) (neg.f64 (*.f64 (fma.f64 -1 (/.f64 (sin.f64 a) (/.f64 (cos.f64 a) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (fma.f64 -1/2 (/.f64 r (cos.f64 a)) (neg.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (/.f64 (pow.f64 (cos.f64 a) 3) r))))))) (*.f64 (/.f64 (*.f64 r (sin.f64 a)) (pow.f64 (cos.f64 a) 2)) -1/3)) (pow.f64 b 4)))))
(+.f64 (*.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 r (*.f64 b b))) (-.f64 (fma.f64 (pow.f64 b 3) (-.f64 (*.f64 (/.f64 r (cos.f64 a)) 1/3) (/.f64 (neg.f64 (*.f64 r (pow.f64 (sin.f64 a) 2))) (pow.f64 (cos.f64 a) 3))) (*.f64 (/.f64 r (cos.f64 a)) b)) (*.f64 (-.f64 (/.f64 (*.f64 (sin.f64 a) -1/3) (/.f64 (pow.f64 (cos.f64 a) 2) r)) (*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) (-.f64 (*.f64 (/.f64 r (cos.f64 a)) 1/3) (/.f64 (neg.f64 (*.f64 r (pow.f64 (sin.f64 a) 2))) (pow.f64 (cos.f64 a) 3))))) (pow.f64 b 4))))
(-.f64 (fma.f64 (pow.f64 b 3) (fma.f64 (/.f64 r (cos.f64 a)) 1/3 (*.f64 r (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3)))) (fma.f64 (/.f64 r (cos.f64 a)) b (*.f64 (*.f64 r (*.f64 b b)) (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2))))) (*.f64 (-.f64 (/.f64 (sin.f64 a) (/.f64 (/.f64 (pow.f64 (cos.f64 a) 2) r) -1/3)) (*.f64 (fma.f64 (/.f64 r (cos.f64 a)) 1/3 (*.f64 r (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3)))) (/.f64 (sin.f64 a) (cos.f64 a)))) (pow.f64 b 4)))
(fma.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 r (*.f64 b b)) (fma.f64 (pow.f64 b 4) (+.f64 (*.f64 (fma.f64 (/.f64 r (cos.f64 a)) 1/3 (*.f64 r (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3)))) (/.f64 (sin.f64 a) (cos.f64 a))) (*.f64 1/3 (*.f64 r (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2))))) (fma.f64 (pow.f64 b 3) (fma.f64 (/.f64 r (cos.f64 a)) 1/3 (*.f64 r (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3)))) (/.f64 r (/.f64 (cos.f64 a) b)))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 b a)))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 b a)))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 b a)))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 b a)))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 a (*.f64 -1 b))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 b a)))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 a (*.f64 -1 b))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 b a)))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 a (*.f64 -1 b))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 b a)))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 a (*.f64 -1 b))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 b a)))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r))
(*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b))
(+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 a r)) (pow.f64 (cos.f64 b) 2)) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))
(+.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r)) (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 r a)) (pow.f64 (cos.f64 b) 2)))
(+.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r)) (*.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)) (*.f64 r a)))
(fma.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r (*.f64 (*.f64 r a) (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2))))
(+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 a r)) (pow.f64 (cos.f64 b) 2)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 3) r) (pow.f64 (cos.f64 b) 3))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))))) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))))
(+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 r a)) (pow.f64 (cos.f64 b) 2)) (fma.f64 -1 (*.f64 (*.f64 a a) (fma.f64 -1 (/.f64 (pow.f64 (sin.f64 b) 3) (/.f64 (pow.f64 (cos.f64 b) 3) r)) (*.f64 -1/2 (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r))))) (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r))))
(+.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r)) (-.f64 (*.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)) (*.f64 r a)) (*.f64 a (*.f64 a (fma.f64 -1/2 (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r)) (/.f64 (neg.f64 (pow.f64 (sin.f64 b) 3)) (/.f64 (pow.f64 (cos.f64 b) 3) r)))))))
(fma.f64 (*.f64 a a) (neg.f64 (fma.f64 -1/2 (*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b)) (/.f64 (neg.f64 (pow.f64 (sin.f64 b) 3)) (/.f64 (pow.f64 (cos.f64 b) 3) r)))) (fma.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r (*.f64 (*.f64 r a) (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)))))
(fma.f64 (*.f64 a a) (neg.f64 (fma.f64 -1/2 (*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b)) (*.f64 (pow.f64 (/.f64 (sin.f64 b) (cos.f64 b)) 3) (neg.f64 r)))) (fma.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r (*.f64 (*.f64 r a) (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)))))
(+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 a r)) (pow.f64 (cos.f64 b) 2)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 3) (+.f64 (/.f64 (*.f64 (sin.f64 b) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 3) r) (pow.f64 (cos.f64 b) 3))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))))) (cos.f64 b)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) r) (pow.f64 (cos.f64 b) 2))) (*.f64 1/6 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) r) (pow.f64 (cos.f64 b) 2))))))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 3) r) (pow.f64 (cos.f64 b) 3))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))))) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))))
(+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 r a)) (pow.f64 (cos.f64 b) 2)) (fma.f64 -1 (*.f64 (pow.f64 a 3) (+.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) (fma.f64 -1 (/.f64 (pow.f64 (sin.f64 b) 3) (/.f64 (pow.f64 (cos.f64 b) 3) r)) (*.f64 -1/2 (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r)))))) (*.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (/.f64 (pow.f64 (cos.f64 b) 2) r)) -1/3))) (fma.f64 -1 (*.f64 (*.f64 a a) (fma.f64 -1 (/.f64 (pow.f64 (sin.f64 b) 3) (/.f64 (pow.f64 (cos.f64 b) 3) r)) (*.f64 -1/2 (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r))))) (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r)))))
(+.f64 (*.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)) (*.f64 r a)) (-.f64 (-.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r)) (*.f64 a (*.f64 a (fma.f64 -1/2 (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r)) (/.f64 (neg.f64 (pow.f64 (sin.f64 b) 3)) (/.f64 (pow.f64 (cos.f64 b) 3) r)))))) (*.f64 (pow.f64 a 3) (fma.f64 (*.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)) r) -1/3 (*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) (fma.f64 -1/2 (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r)) (/.f64 (neg.f64 (pow.f64 (sin.f64 b) 3)) (/.f64 (pow.f64 (cos.f64 b) 3) r))))))))
(fma.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)) (*.f64 r a) (-.f64 (*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b)) (*.f64 (*.f64 a a) (+.f64 (*.f64 a (fma.f64 (/.f64 (sin.f64 b) (cos.f64 b)) (fma.f64 -1/2 (*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b)) (/.f64 (neg.f64 (pow.f64 (sin.f64 b) 3)) (/.f64 (pow.f64 (cos.f64 b) 3) r))) (*.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)) (*.f64 r -1/3)))) (fma.f64 -1/2 (*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b)) (/.f64 (neg.f64 (pow.f64 (sin.f64 b) 3)) (/.f64 (pow.f64 (cos.f64 b) 3) r)))))))
(-.f64 (fma.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r (*.f64 (*.f64 r a) (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)))) (*.f64 (*.f64 a a) (+.f64 (*.f64 a (fma.f64 (/.f64 (sin.f64 b) (cos.f64 b)) (fma.f64 -1/2 (*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b)) (*.f64 (pow.f64 (/.f64 (sin.f64 b) (cos.f64 b)) 3) (neg.f64 r))) (*.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)) (*.f64 r -1/3)))) (fma.f64 -1/2 (*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b)) (*.f64 (pow.f64 (/.f64 (sin.f64 b) (cos.f64 b)) 3) (neg.f64 r))))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 b a)))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 b a)))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 b a)))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b)))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 b a)))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 b (*.f64 -1 a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 b a)))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 b (*.f64 -1 a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 b a)))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 b (*.f64 -1 a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 b a)))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 b (*.f64 -1 a))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 b a)))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))

localize54.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (sin.f64 b) (sin.f64 a))
0.3b
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (log1p.f64 (expm1.f64 (*.f64 (cos.f64 b) (cos.f64 a)))) (*.f64 (sin.f64 b) (sin.f64 a))))
0.3b
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 b) (cos.f64 a))))
0.5b
(expm1.f64 (*.f64 (cos.f64 b) (cos.f64 a)))
Compiler

Compiled 72 to 14 computations (80.6% saved)

series52.0ms (0.3%)

Counts
3 → 84
Calls

21 calls:

TimeVariablePointExpression
36.0ms
b
@0
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (log1p.f64 (expm1.f64 (*.f64 (cos.f64 b) (cos.f64 a)))) (*.f64 (sin.f64 b) (sin.f64 a))))
2.0ms
b
@0
(expm1.f64 (*.f64 (cos.f64 b) (cos.f64 a)))
2.0ms
a
@0
(expm1.f64 (*.f64 (cos.f64 b) (cos.f64 a)))
1.0ms
a
@0
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (log1p.f64 (expm1.f64 (*.f64 (cos.f64 b) (cos.f64 a)))) (*.f64 (sin.f64 b) (sin.f64 a))))
1.0ms
b
@inf
(expm1.f64 (*.f64 (cos.f64 b) (cos.f64 a)))

rewrite123.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
845×log-prod_binary64
443×fma-def_binary64
286×expm1-udef_binary64
286×log1p-udef_binary64
253×fma-neg_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01544
130732
2442832
Stop Event
node limit
Counts
3 → 109
Calls
Call 1
Inputs
(expm1.f64 (*.f64 (cos.f64 b) (cos.f64 a)))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 b) (cos.f64 a))))
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (log1p.f64 (expm1.f64 (*.f64 (cos.f64 b) (cos.f64 a)))) (*.f64 (sin.f64 b) (sin.f64 a))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 (exp.f64 (cos.f64 b)) (cos.f64 a)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (expm1.f64 (*.f64 (cos.f64 b) (cos.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (expm1.f64 (*.f64 (cos.f64 b) (cos.f64 a))))) (cbrt.f64 (exp.f64 (expm1.f64 (*.f64 (cos.f64 b) (cos.f64 a))))))) (log.f64 (cbrt.f64 (exp.f64 (expm1.f64 (*.f64 (cos.f64 b) (cos.f64 a)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (expm1.f64 (*.f64 (cos.f64 b) (cos.f64 a)))))) (log.f64 (sqrt.f64 (exp.f64 (expm1.f64 (*.f64 (cos.f64 b) (cos.f64 a)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (pow.f64 (exp.f64 (cos.f64 b)) (cos.f64 a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (expm1.f64 (*.f64 (cos.f64 b) (cos.f64 a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (expm1.f64 (*.f64 (cos.f64 b) (cos.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (expm1.f64 (*.f64 (cos.f64 b) (cos.f64 a)))) (pow.f64 (cbrt.f64 (expm1.f64 (*.f64 (cos.f64 b) (cos.f64 a)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (expm1.f64 (*.f64 (cos.f64 b) (cos.f64 a)))) 2) (cbrt.f64 (expm1.f64 (*.f64 (cos.f64 b) (cos.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (expm1.f64 (*.f64 (cos.f64 b) (cos.f64 a)))) (sqrt.f64 (expm1.f64 (*.f64 (cos.f64 b) (cos.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (pow.f64 (exp.f64 (cos.f64 b)) (cos.f64 a)) 3) 1) (fma.f64 (pow.f64 (exp.f64 (cos.f64 b)) (cos.f64 a)) (pow.f64 (exp.f64 (cos.f64 b)) (cos.f64 a)) (+.f64 1 (*.f64 (pow.f64 (exp.f64 (cos.f64 b)) (cos.f64 a)) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (pow.f64 (exp.f64 (cos.f64 b)) (cos.f64 a)) (pow.f64 (exp.f64 (cos.f64 b)) (cos.f64 a)) -1) (+.f64 (pow.f64 (exp.f64 (cos.f64 b)) (cos.f64 a)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (expm1.f64 (*.f64 (cos.f64 b) (cos.f64 a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (expm1.f64 (*.f64 (cos.f64 b) (cos.f64 a))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (expm1.f64 (*.f64 (cos.f64 b) (cos.f64 a)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (expm1.f64 (*.f64 (cos.f64 b) (cos.f64 a)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (expm1.f64 (*.f64 (cos.f64 b) (cos.f64 a))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (expm1.f64 (*.f64 (cos.f64 b) (cos.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (expm1.f64 (*.f64 (cos.f64 b) (cos.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (expm1.f64 (*.f64 (cos.f64 b) (cos.f64 a))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (expm1.f64 (*.f64 (cos.f64 b) (cos.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (expm1.f64 (*.f64 (cos.f64 b) (cos.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (expm1.f64 (*.f64 (cos.f64 b) (cos.f64 a)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (pow.f64 (exp.f64 (cos.f64 b)) (cos.f64 a)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 b)) (cos.f64 a))) (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 b)) (cos.f64 a)))) (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 b)) (cos.f64 a))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 b)) (cos.f64 a))) (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 b)) (cos.f64 a))) -1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (cos.f64 b) (cos.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 b)) (cos.f64 a))) (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 b)) (cos.f64 a))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 b)) (cos.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 b)) (cos.f64 a)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 b)) (cos.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log1p.f64 (pow.f64 (expm1.f64 (*.f64 (cos.f64 b) (cos.f64 a))) 3)) (log.f64 (+.f64 1 (-.f64 (pow.f64 (expm1.f64 (*.f64 (cos.f64 b) (cos.f64 a))) 2) (expm1.f64 (*.f64 (cos.f64 b) (cos.f64 a)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 b) (cos.f64 a)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (-.f64 1 (pow.f64 (expm1.f64 (*.f64 (cos.f64 b) (cos.f64 a))) 2))) (log.f64 (-.f64 1 (expm1.f64 (*.f64 (cos.f64 b) (cos.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 b) (cos.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 a) (cos.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 b) (cos.f64 a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (cos.f64 b) (cos.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (cos.f64 b) (cos.f64 a))) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 b) (cos.f64 a))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 b) (cos.f64 a))) 2) (cbrt.f64 (*.f64 (cos.f64 b) (cos.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cos.f64 b)) 2) (*.f64 (cbrt.f64 (cos.f64 b)) (cos.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (cos.f64 a) 2)) (*.f64 (cbrt.f64 (cos.f64 a)) (cos.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (cos.f64 b) (cos.f64 a))) (sqrt.f64 (*.f64 (cos.f64 b) (cos.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cos.f64 b)) (*.f64 (sqrt.f64 (cos.f64 b)) (cos.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cos.f64 a)) (*.f64 (sqrt.f64 (cos.f64 a)) (cos.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cos.f64 (+.f64 b a)) (cos.f64 (-.f64 b a))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 b) (cbrt.f64 (pow.f64 (cos.f64 a) 2))) (cbrt.f64 (cos.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 b) (sqrt.f64 (cos.f64 a))) (sqrt.f64 (cos.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 a) (pow.f64 (cbrt.f64 (cos.f64 b)) 2)) (cbrt.f64 (cos.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 a) (sqrt.f64 (cos.f64 b))) (sqrt.f64 (cos.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 2 (+.f64 (cos.f64 (+.f64 b a)) (cos.f64 (-.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (cos.f64 (+.f64 b a)) (cos.f64 (-.f64 b a))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (cos.f64 (+.f64 b a)) (cos.f64 (-.f64 b a)))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (cos.f64 b) (cos.f64 a))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (cos.f64 b) (cos.f64 a))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (cos.f64 b)) (cos.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (cos.f64 b) (cos.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (cos.f64 b) (cos.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 b) (cos.f64 a))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b)))) (cbrt.f64 (exp.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b)))))) (log.f64 (cbrt.f64 (exp.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))))) (log.f64 (sqrt.f64 (exp.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 r (/.f64 1 (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 r (*.f64 (sin.f64 b) (/.f64 1 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 b) (*.f64 r (/.f64 1 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 r (sin.f64 b)) (/.f64 1 (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))) (pow.f64 (cbrt.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))) 2) (cbrt.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (*.f64 r (sin.f64 b)) 2)) (*.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) (/.f64 1 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))) (sqrt.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 r (sin.f64 b))) (*.f64 (sqrt.f64 (*.f64 r (sin.f64 b))) (/.f64 1 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 b) (neg.f64 r)) (/.f64 1 (neg.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cos.f64 (+.f64 b a))) (*.f64 r (sin.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 r 1) (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 b) 1) (/.f64 r (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (*.f64 r (sin.f64 b)) 2)) 1) (/.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 r (sin.f64 b))) 1) (/.f64 (sqrt.f64 (*.f64 r (sin.f64 b))) (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 r (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 2)) (/.f64 (sin.f64 b) (cbrt.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 b) (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 2)) (/.f64 r (cbrt.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 2)) (/.f64 (*.f64 r (sin.f64 b)) (cbrt.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (*.f64 r (sin.f64 b)) 2)) (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 2)) (cbrt.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 r (sin.f64 b))) (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 2)) (/.f64 (sqrt.f64 (*.f64 r (sin.f64 b))) (cbrt.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 r (sqrt.f64 (cos.f64 (+.f64 b a)))) (/.f64 (sin.f64 b) (sqrt.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 b) (sqrt.f64 (cos.f64 (+.f64 b a)))) (/.f64 r (sqrt.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 (cos.f64 (+.f64 b a)))) (/.f64 (*.f64 r (sin.f64 b)) (sqrt.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (*.f64 r (sin.f64 b)) 2)) (sqrt.f64 (cos.f64 (+.f64 b a)))) (/.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) (sqrt.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 r (sin.f64 b)) (-.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) 3) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 3))) (fma.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (cos.f64 (-.f64 b a)) (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 r (sin.f64 b)) (*.f64 (cos.f64 (-.f64 b a)) (cos.f64 (+.f64 b a)))) (cos.f64 (-.f64 b a)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 r (sin.f64 b))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 r (sin.f64 b)) (neg.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (*.f64 r (sin.f64 b)) 3) (pow.f64 (cos.f64 (+.f64 b a)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))) 1))))))

simplify91.0ms (0.6%)

Algorithm
egg-herbie
Rules
880×fma-neg_binary64
365×*-commutative_binary64
356×times-frac_binary64
333×associate-+l+_binary64
314×associate-/l*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01712096
15342024
218881985
373101977
Stop Event
node limit
Counts
193 → 159
Calls
Call 1
Inputs
(-.f64 (exp.f64 (cos.f64 a)) 1)
(-.f64 (+.f64 (exp.f64 (cos.f64 a)) (*.f64 -1/2 (*.f64 (cos.f64 a) (*.f64 (pow.f64 b 2) (exp.f64 (cos.f64 a)))))) 1)
(-.f64 (+.f64 (*.f64 (+.f64 (*.f64 1/24 (cos.f64 a)) (*.f64 1/8 (pow.f64 (cos.f64 a) 2))) (*.f64 (pow.f64 b 4) (exp.f64 (cos.f64 a)))) (+.f64 (exp.f64 (cos.f64 a)) (*.f64 -1/2 (*.f64 (cos.f64 a) (*.f64 (pow.f64 b 2) (exp.f64 (cos.f64 a))))))) 1)
(-.f64 (+.f64 (*.f64 (+.f64 (*.f64 1/24 (cos.f64 a)) (*.f64 1/8 (pow.f64 (cos.f64 a) 2))) (*.f64 (pow.f64 b 4) (exp.f64 (cos.f64 a)))) (+.f64 (*.f64 (+.f64 (*.f64 -1/48 (pow.f64 (cos.f64 a) 3)) (+.f64 (*.f64 -1/720 (cos.f64 a)) (*.f64 -1/48 (pow.f64 (cos.f64 a) 2)))) (*.f64 (pow.f64 b 6) (exp.f64 (cos.f64 a)))) (+.f64 (exp.f64 (cos.f64 a)) (*.f64 -1/2 (*.f64 (cos.f64 a) (*.f64 (pow.f64 b 2) (exp.f64 (cos.f64 a)))))))) 1)
(-.f64 (exp.f64 (*.f64 (cos.f64 a) (cos.f64 b))) 1)
(-.f64 (exp.f64 (*.f64 (cos.f64 a) (cos.f64 b))) 1)
(-.f64 (exp.f64 (*.f64 (cos.f64 a) (cos.f64 b))) 1)
(-.f64 (exp.f64 (*.f64 (cos.f64 a) (cos.f64 b))) 1)
(-.f64 (exp.f64 (*.f64 (cos.f64 a) (cos.f64 b))) 1)
(-.f64 (exp.f64 (*.f64 (cos.f64 a) (cos.f64 b))) 1)
(-.f64 (exp.f64 (*.f64 (cos.f64 a) (cos.f64 b))) 1)
(-.f64 (exp.f64 (*.f64 (cos.f64 a) (cos.f64 b))) 1)
(-.f64 (exp.f64 (cos.f64 b)) 1)
(-.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 a 2) (*.f64 (cos.f64 b) (exp.f64 (cos.f64 b))))) (exp.f64 (cos.f64 b))) 1)
(-.f64 (+.f64 (*.f64 (pow.f64 a 4) (*.f64 (+.f64 (*.f64 1/8 (pow.f64 (cos.f64 b) 2)) (*.f64 1/24 (cos.f64 b))) (exp.f64 (cos.f64 b)))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 a 2) (*.f64 (cos.f64 b) (exp.f64 (cos.f64 b))))) (exp.f64 (cos.f64 b)))) 1)
(-.f64 (+.f64 (*.f64 (pow.f64 a 6) (*.f64 (+.f64 (*.f64 -1/720 (cos.f64 b)) (+.f64 (*.f64 -1/48 (pow.f64 (cos.f64 b) 2)) (*.f64 -1/48 (pow.f64 (cos.f64 b) 3)))) (exp.f64 (cos.f64 b)))) (+.f64 (*.f64 (pow.f64 a 4) (*.f64 (+.f64 (*.f64 1/8 (pow.f64 (cos.f64 b) 2)) (*.f64 1/24 (cos.f64 b))) (exp.f64 (cos.f64 b)))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 a 2) (*.f64 (cos.f64 b) (exp.f64 (cos.f64 b))))) (exp.f64 (cos.f64 b))))) 1)
(-.f64 (exp.f64 (*.f64 (cos.f64 a) (cos.f64 b))) 1)
(-.f64 (exp.f64 (*.f64 (cos.f64 a) (cos.f64 b))) 1)
(-.f64 (exp.f64 (*.f64 (cos.f64 a) (cos.f64 b))) 1)
(-.f64 (exp.f64 (*.f64 (cos.f64 a) (cos.f64 b))) 1)
(-.f64 (exp.f64 (*.f64 (cos.f64 a) (cos.f64 b))) 1)
(-.f64 (exp.f64 (*.f64 (cos.f64 a) (cos.f64 b))) 1)
(-.f64 (exp.f64 (*.f64 (cos.f64 a) (cos.f64 b))) 1)
(-.f64 (exp.f64 (*.f64 (cos.f64 a) (cos.f64 b))) 1)
(cos.f64 a)
(+.f64 (cos.f64 a) (*.f64 -1/2 (*.f64 (cos.f64 a) (pow.f64 b 2))))
(+.f64 (*.f64 1/24 (*.f64 (cos.f64 a) (pow.f64 b 4))) (+.f64 (cos.f64 a) (*.f64 -1/2 (*.f64 (cos.f64 a) (pow.f64 b 2)))))
(+.f64 (*.f64 -1/720 (*.f64 (cos.f64 a) (pow.f64 b 6))) (+.f64 (*.f64 1/24 (*.f64 (cos.f64 a) (pow.f64 b 4))) (+.f64 (cos.f64 a) (*.f64 -1/2 (*.f64 (cos.f64 a) (pow.f64 b 2))))))
(*.f64 (cos.f64 a) (cos.f64 b))
(*.f64 (cos.f64 a) (cos.f64 b))
(*.f64 (cos.f64 a) (cos.f64 b))
(*.f64 (cos.f64 a) (cos.f64 b))
(*.f64 (cos.f64 a) (cos.f64 b))
(*.f64 (cos.f64 a) (cos.f64 b))
(*.f64 (cos.f64 a) (cos.f64 b))
(*.f64 (cos.f64 a) (cos.f64 b))
(cos.f64 b)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 a 2) (cos.f64 b))) (cos.f64 b))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 a 2) (cos.f64 b))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 a 4) (cos.f64 b))) (cos.f64 b)))
(+.f64 (*.f64 -1/720 (*.f64 (pow.f64 a 6) (cos.f64 b))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 a 2) (cos.f64 b))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 a 4) (cos.f64 b))) (cos.f64 b))))
(*.f64 (cos.f64 a) (cos.f64 b))
(*.f64 (cos.f64 a) (cos.f64 b))
(*.f64 (cos.f64 a) (cos.f64 b))
(*.f64 (cos.f64 a) (cos.f64 b))
(*.f64 (cos.f64 a) (cos.f64 b))
(*.f64 (cos.f64 a) (cos.f64 b))
(*.f64 (cos.f64 a) (cos.f64 b))
(*.f64 (cos.f64 a) (cos.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 b r) (cos.f64 a))
(+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 (pow.f64 b 2) r)) (pow.f64 (cos.f64 a) 2)) (/.f64 (*.f64 r b) (cos.f64 a)))
(+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 r (pow.f64 b 2))) (pow.f64 (cos.f64 a) 2)) (+.f64 (/.f64 (*.f64 r b) (cos.f64 a)) (*.f64 (pow.f64 b 3) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (+.f64 (*.f64 -1/2 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3))))))))
(+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 r (pow.f64 b 2))) (pow.f64 (cos.f64 a) 2)) (+.f64 (/.f64 (*.f64 r b) (cos.f64 a)) (+.f64 (*.f64 (pow.f64 b 3) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (+.f64 (*.f64 -1/2 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3)))))) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 a) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (+.f64 (*.f64 -1/2 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3)))))) (cos.f64 a))) (+.f64 (*.f64 1/6 (/.f64 (*.f64 (sin.f64 a) r) (pow.f64 (cos.f64 a) 2))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 a) r) (pow.f64 (cos.f64 a) 2))))) (pow.f64 b 4))))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))
(+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 a r)) (pow.f64 (cos.f64 b) 2)) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))
(+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 a r)) (pow.f64 (cos.f64 b) 2)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 3) r) (pow.f64 (cos.f64 b) 3))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))))) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))))
(+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 a r)) (pow.f64 (cos.f64 b) 2)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 3) (+.f64 (/.f64 (*.f64 (sin.f64 b) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 3) r) (pow.f64 (cos.f64 b) 3))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))))) (cos.f64 b)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) r) (pow.f64 (cos.f64 b) 2))) (*.f64 1/6 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) r) (pow.f64 (cos.f64 b) 2))))))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 3) r) (pow.f64 (cos.f64 b) 3))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))))) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
Outputs
(-.f64 (exp.f64 (cos.f64 a)) 1)
(expm1.f64 (cos.f64 a))
(-.f64 (+.f64 (exp.f64 (cos.f64 a)) (*.f64 -1/2 (*.f64 (cos.f64 a) (*.f64 (pow.f64 b 2) (exp.f64 (cos.f64 a)))))) 1)
(+.f64 (exp.f64 (cos.f64 a)) (-.f64 (*.f64 -1/2 (*.f64 (cos.f64 a) (*.f64 (exp.f64 (cos.f64 a)) (*.f64 b b)))) 1))
(+.f64 (*.f64 (cos.f64 a) (*.f64 (*.f64 (exp.f64 (cos.f64 a)) (*.f64 b b)) -1/2)) (expm1.f64 (cos.f64 a)))
(+.f64 (*.f64 (+.f64 (*.f64 (cos.f64 a) (*.f64 -1/2 (*.f64 b b))) 1) (exp.f64 (cos.f64 a))) -1)
(fma.f64 (+.f64 (*.f64 (cos.f64 a) (*.f64 -1/2 (*.f64 b b))) 1) (exp.f64 (cos.f64 a)) -1)
(-.f64 (+.f64 (*.f64 (+.f64 (*.f64 1/24 (cos.f64 a)) (*.f64 1/8 (pow.f64 (cos.f64 a) 2))) (*.f64 (pow.f64 b 4) (exp.f64 (cos.f64 a)))) (+.f64 (exp.f64 (cos.f64 a)) (*.f64 -1/2 (*.f64 (cos.f64 a) (*.f64 (pow.f64 b 2) (exp.f64 (cos.f64 a))))))) 1)
(+.f64 (fma.f64 (fma.f64 1/24 (cos.f64 a) (*.f64 1/8 (pow.f64 (cos.f64 a) 2))) (*.f64 (exp.f64 (cos.f64 a)) (pow.f64 b 4)) (+.f64 (exp.f64 (cos.f64 a)) (*.f64 -1/2 (*.f64 (cos.f64 a) (*.f64 (exp.f64 (cos.f64 a)) (*.f64 b b)))))) -1)
(+.f64 (*.f64 (+.f64 (*.f64 (fma.f64 1/8 (pow.f64 (cos.f64 a) 2) (*.f64 (cos.f64 a) 1/24)) (pow.f64 b 4)) 1) (exp.f64 (cos.f64 a))) (fma.f64 -1/2 (*.f64 (exp.f64 (cos.f64 a)) (*.f64 (cos.f64 a) (*.f64 b b))) -1))
(+.f64 (*.f64 (exp.f64 (cos.f64 a)) (+.f64 (*.f64 (cos.f64 a) (*.f64 -1/2 (*.f64 b b))) (+.f64 1 (*.f64 (*.f64 (cos.f64 a) (+.f64 1/24 (*.f64 (cos.f64 a) 1/8))) (pow.f64 b 4))))) -1)
(fma.f64 (exp.f64 (cos.f64 a)) (+.f64 (*.f64 (cos.f64 a) (*.f64 -1/2 (*.f64 b b))) (+.f64 1 (*.f64 (*.f64 (cos.f64 a) (+.f64 1/24 (*.f64 (cos.f64 a) 1/8))) (pow.f64 b 4)))) -1)
(-.f64 (+.f64 (*.f64 (+.f64 (*.f64 1/24 (cos.f64 a)) (*.f64 1/8 (pow.f64 (cos.f64 a) 2))) (*.f64 (pow.f64 b 4) (exp.f64 (cos.f64 a)))) (+.f64 (*.f64 (+.f64 (*.f64 -1/48 (pow.f64 (cos.f64 a) 3)) (+.f64 (*.f64 -1/720 (cos.f64 a)) (*.f64 -1/48 (pow.f64 (cos.f64 a) 2)))) (*.f64 (pow.f64 b 6) (exp.f64 (cos.f64 a)))) (+.f64 (exp.f64 (cos.f64 a)) (*.f64 -1/2 (*.f64 (cos.f64 a) (*.f64 (pow.f64 b 2) (exp.f64 (cos.f64 a)))))))) 1)
(+.f64 (fma.f64 (fma.f64 1/24 (cos.f64 a) (*.f64 1/8 (pow.f64 (cos.f64 a) 2))) (*.f64 (exp.f64 (cos.f64 a)) (pow.f64 b 4)) (fma.f64 (fma.f64 -1/48 (pow.f64 (cos.f64 a) 3) (fma.f64 -1/720 (cos.f64 a) (*.f64 (pow.f64 (cos.f64 a) 2) -1/48))) (*.f64 (exp.f64 (cos.f64 a)) (pow.f64 b 6)) (+.f64 (exp.f64 (cos.f64 a)) (*.f64 -1/2 (*.f64 (cos.f64 a) (*.f64 (exp.f64 (cos.f64 a)) (*.f64 b b))))))) -1)
(+.f64 (*.f64 (exp.f64 (cos.f64 a)) (+.f64 (*.f64 (fma.f64 1/8 (pow.f64 (cos.f64 a) 2) (*.f64 (cos.f64 a) 1/24)) (pow.f64 b 4)) (*.f64 (fma.f64 -1/48 (pow.f64 (cos.f64 a) 3) (fma.f64 (pow.f64 (cos.f64 a) 2) -1/48 (*.f64 (cos.f64 a) -1/720))) (pow.f64 b 6)))) (+.f64 (*.f64 (cos.f64 a) (*.f64 (*.f64 (exp.f64 (cos.f64 a)) (*.f64 b b)) -1/2)) (expm1.f64 (cos.f64 a))))
(+.f64 (*.f64 (exp.f64 (cos.f64 a)) (+.f64 (*.f64 (cos.f64 a) (*.f64 -1/2 (*.f64 b b))) (+.f64 1 (*.f64 (*.f64 (cos.f64 a) (+.f64 1/24 (*.f64 (cos.f64 a) 1/8))) (pow.f64 b 4))))) (fma.f64 (fma.f64 -1/48 (pow.f64 (cos.f64 a) 3) (*.f64 (cos.f64 a) (+.f64 -1/720 (*.f64 (cos.f64 a) -1/48)))) (*.f64 (exp.f64 (cos.f64 a)) (pow.f64 b 6)) -1))
(fma.f64 (*.f64 (cos.f64 a) (+.f64 1/24 (*.f64 (cos.f64 a) 1/8))) (*.f64 (exp.f64 (cos.f64 a)) (pow.f64 b 4)) (fma.f64 (exp.f64 (cos.f64 a)) (+.f64 (*.f64 (cos.f64 a) (*.f64 -1/2 (*.f64 b b))) (+.f64 1 (*.f64 (fma.f64 -1/48 (pow.f64 (cos.f64 a) 3) (*.f64 (cos.f64 a) (+.f64 -1/720 (*.f64 (cos.f64 a) -1/48)))) (pow.f64 b 6)))) -1))
(-.f64 (exp.f64 (*.f64 (cos.f64 a) (cos.f64 b))) 1)
(expm1.f64 (*.f64 (cos.f64 a) (cos.f64 b)))
(-.f64 (exp.f64 (*.f64 (cos.f64 a) (cos.f64 b))) 1)
(expm1.f64 (*.f64 (cos.f64 a) (cos.f64 b)))
(-.f64 (exp.f64 (*.f64 (cos.f64 a) (cos.f64 b))) 1)
(expm1.f64 (*.f64 (cos.f64 a) (cos.f64 b)))
(-.f64 (exp.f64 (*.f64 (cos.f64 a) (cos.f64 b))) 1)
(expm1.f64 (*.f64 (cos.f64 a) (cos.f64 b)))
(-.f64 (exp.f64 (*.f64 (cos.f64 a) (cos.f64 b))) 1)
(expm1.f64 (*.f64 (cos.f64 a) (cos.f64 b)))
(-.f64 (exp.f64 (*.f64 (cos.f64 a) (cos.f64 b))) 1)
(expm1.f64 (*.f64 (cos.f64 a) (cos.f64 b)))
(-.f64 (exp.f64 (*.f64 (cos.f64 a) (cos.f64 b))) 1)
(expm1.f64 (*.f64 (cos.f64 a) (cos.f64 b)))
(-.f64 (exp.f64 (*.f64 (cos.f64 a) (cos.f64 b))) 1)
(expm1.f64 (*.f64 (cos.f64 a) (cos.f64 b)))
(-.f64 (exp.f64 (cos.f64 b)) 1)
(expm1.f64 (cos.f64 b))
(-.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 a 2) (*.f64 (cos.f64 b) (exp.f64 (cos.f64 b))))) (exp.f64 (cos.f64 b))) 1)
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 a a) (*.f64 (cos.f64 b) (exp.f64 (cos.f64 b))))) (expm1.f64 (cos.f64 b)))
(fma.f64 (*.f64 -1/2 (*.f64 a a)) (*.f64 (cos.f64 b) (exp.f64 (cos.f64 b))) (expm1.f64 (cos.f64 b)))
(fma.f64 -1/2 (*.f64 (exp.f64 (cos.f64 b)) (*.f64 (cos.f64 b) (*.f64 a a))) (expm1.f64 (cos.f64 b)))
(fma.f64 (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 b) (*.f64 a a))) 1) (exp.f64 (cos.f64 b)) -1)
(-.f64 (+.f64 (*.f64 (pow.f64 a 4) (*.f64 (+.f64 (*.f64 1/8 (pow.f64 (cos.f64 b) 2)) (*.f64 1/24 (cos.f64 b))) (exp.f64 (cos.f64 b)))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 a 2) (*.f64 (cos.f64 b) (exp.f64 (cos.f64 b))))) (exp.f64 (cos.f64 b)))) 1)
(+.f64 (fma.f64 (pow.f64 a 4) (*.f64 (exp.f64 (cos.f64 b)) (fma.f64 1/8 (pow.f64 (cos.f64 b) 2) (*.f64 1/24 (cos.f64 b)))) (fma.f64 -1/2 (*.f64 (*.f64 a a) (*.f64 (cos.f64 b) (exp.f64 (cos.f64 b)))) (exp.f64 (cos.f64 b)))) -1)
(fma.f64 (pow.f64 a 4) (*.f64 (exp.f64 (cos.f64 b)) (fma.f64 1/24 (cos.f64 b) (*.f64 1/8 (pow.f64 (cos.f64 b) 2)))) (fma.f64 (*.f64 -1/2 (*.f64 a a)) (*.f64 (cos.f64 b) (exp.f64 (cos.f64 b))) (expm1.f64 (cos.f64 b))))
(+.f64 (expm1.f64 (cos.f64 b)) (*.f64 (exp.f64 (cos.f64 b)) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 b) (*.f64 a a))) (*.f64 (pow.f64 a 4) (*.f64 (cos.f64 b) (+.f64 (*.f64 1/8 (cos.f64 b)) 1/24))))))
(-.f64 (+.f64 (*.f64 (pow.f64 a 6) (*.f64 (+.f64 (*.f64 -1/720 (cos.f64 b)) (+.f64 (*.f64 -1/48 (pow.f64 (cos.f64 b) 2)) (*.f64 -1/48 (pow.f64 (cos.f64 b) 3)))) (exp.f64 (cos.f64 b)))) (+.f64 (*.f64 (pow.f64 a 4) (*.f64 (+.f64 (*.f64 1/8 (pow.f64 (cos.f64 b) 2)) (*.f64 1/24 (cos.f64 b))) (exp.f64 (cos.f64 b)))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 a 2) (*.f64 (cos.f64 b) (exp.f64 (cos.f64 b))))) (exp.f64 (cos.f64 b))))) 1)
(+.f64 (fma.f64 (pow.f64 a 6) (*.f64 (exp.f64 (cos.f64 b)) (fma.f64 -1/720 (cos.f64 b) (*.f64 -1/48 (+.f64 (pow.f64 (cos.f64 b) 2) (pow.f64 (cos.f64 b) 3))))) (fma.f64 (pow.f64 a 4) (*.f64 (exp.f64 (cos.f64 b)) (fma.f64 1/8 (pow.f64 (cos.f64 b) 2) (*.f64 1/24 (cos.f64 b)))) (fma.f64 -1/2 (*.f64 (*.f64 a a) (*.f64 (cos.f64 b) (exp.f64 (cos.f64 b)))) (exp.f64 (cos.f64 b))))) -1)
(+.f64 (*.f64 (exp.f64 (cos.f64 b)) (+.f64 (*.f64 (pow.f64 a 6) (fma.f64 -1/48 (+.f64 (pow.f64 (cos.f64 b) 2) (pow.f64 (cos.f64 b) 3)) (*.f64 -1/720 (cos.f64 b)))) (*.f64 (pow.f64 a 4) (fma.f64 1/24 (cos.f64 b) (*.f64 1/8 (pow.f64 (cos.f64 b) 2)))))) (fma.f64 (*.f64 -1/2 (*.f64 a a)) (*.f64 (cos.f64 b) (exp.f64 (cos.f64 b))) (expm1.f64 (cos.f64 b))))
(fma.f64 (pow.f64 a 6) (*.f64 (exp.f64 (cos.f64 b)) (fma.f64 -1/48 (+.f64 (pow.f64 (cos.f64 b) 2) (pow.f64 (cos.f64 b) 3)) (*.f64 -1/720 (cos.f64 b)))) (+.f64 (expm1.f64 (cos.f64 b)) (*.f64 (exp.f64 (cos.f64 b)) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 b) (*.f64 a a))) (*.f64 (pow.f64 a 4) (*.f64 (cos.f64 b) (+.f64 (*.f64 1/8 (cos.f64 b)) 1/24)))))))
(+.f64 (*.f64 (exp.f64 (cos.f64 b)) (+.f64 (*.f64 -1/2 (*.f64 (cos.f64 b) (*.f64 a a))) (*.f64 (pow.f64 a 4) (*.f64 (cos.f64 b) (+.f64 (*.f64 1/8 (cos.f64 b)) 1/24))))) (fma.f64 (+.f64 (*.f64 (pow.f64 a 6) (fma.f64 -1/48 (+.f64 (pow.f64 (cos.f64 b) 2) (pow.f64 (cos.f64 b) 3)) (*.f64 -1/720 (cos.f64 b)))) 1) (exp.f64 (cos.f64 b)) -1))
(-.f64 (exp.f64 (*.f64 (cos.f64 a) (cos.f64 b))) 1)
(expm1.f64 (*.f64 (cos.f64 a) (cos.f64 b)))
(-.f64 (exp.f64 (*.f64 (cos.f64 a) (cos.f64 b))) 1)
(expm1.f64 (*.f64 (cos.f64 a) (cos.f64 b)))
(-.f64 (exp.f64 (*.f64 (cos.f64 a) (cos.f64 b))) 1)
(expm1.f64 (*.f64 (cos.f64 a) (cos.f64 b)))
(-.f64 (exp.f64 (*.f64 (cos.f64 a) (cos.f64 b))) 1)
(expm1.f64 (*.f64 (cos.f64 a) (cos.f64 b)))
(-.f64 (exp.f64 (*.f64 (cos.f64 a) (cos.f64 b))) 1)
(expm1.f64 (*.f64 (cos.f64 a) (cos.f64 b)))
(-.f64 (exp.f64 (*.f64 (cos.f64 a) (cos.f64 b))) 1)
(expm1.f64 (*.f64 (cos.f64 a) (cos.f64 b)))
(-.f64 (exp.f64 (*.f64 (cos.f64 a) (cos.f64 b))) 1)
(expm1.f64 (*.f64 (cos.f64 a) (cos.f64 b)))
(-.f64 (exp.f64 (*.f64 (cos.f64 a) (cos.f64 b))) 1)
(expm1.f64 (*.f64 (cos.f64 a) (cos.f64 b)))
(cos.f64 a)
(+.f64 (cos.f64 a) (*.f64 -1/2 (*.f64 (cos.f64 a) (pow.f64 b 2))))
(+.f64 (cos.f64 a) (*.f64 -1/2 (*.f64 (cos.f64 a) (*.f64 b b))))
(fma.f64 -1/2 (*.f64 (cos.f64 a) (*.f64 b b)) (cos.f64 a))
(+.f64 (*.f64 1/24 (*.f64 (cos.f64 a) (pow.f64 b 4))) (+.f64 (cos.f64 a) (*.f64 -1/2 (*.f64 (cos.f64 a) (pow.f64 b 2)))))
(fma.f64 1/24 (*.f64 (cos.f64 a) (pow.f64 b 4)) (+.f64 (cos.f64 a) (*.f64 -1/2 (*.f64 (cos.f64 a) (*.f64 b b)))))
(fma.f64 1/24 (*.f64 (cos.f64 a) (pow.f64 b 4)) (fma.f64 -1/2 (*.f64 (cos.f64 a) (*.f64 b b)) (cos.f64 a)))
(+.f64 (cos.f64 a) (*.f64 (cos.f64 a) (+.f64 (*.f64 -1/2 (*.f64 b b)) (*.f64 1/24 (pow.f64 b 4)))))
(+.f64 (*.f64 -1/720 (*.f64 (cos.f64 a) (pow.f64 b 6))) (+.f64 (*.f64 1/24 (*.f64 (cos.f64 a) (pow.f64 b 4))) (+.f64 (cos.f64 a) (*.f64 -1/2 (*.f64 (cos.f64 a) (pow.f64 b 2))))))
(fma.f64 -1/720 (*.f64 (cos.f64 a) (pow.f64 b 6)) (fma.f64 1/24 (*.f64 (cos.f64 a) (pow.f64 b 4)) (+.f64 (cos.f64 a) (*.f64 -1/2 (*.f64 (cos.f64 a) (*.f64 b b))))))
(fma.f64 -1/720 (*.f64 (cos.f64 a) (pow.f64 b 6)) (fma.f64 1/24 (*.f64 (cos.f64 a) (pow.f64 b 4)) (fma.f64 -1/2 (*.f64 (cos.f64 a) (*.f64 b b)) (cos.f64 a))))
(+.f64 (fma.f64 1/24 (*.f64 (cos.f64 a) (pow.f64 b 4)) (cos.f64 a)) (*.f64 (cos.f64 a) (+.f64 (*.f64 -1/2 (*.f64 b b)) (*.f64 -1/720 (pow.f64 b 6)))))
(*.f64 (cos.f64 a) (cos.f64 b))
(*.f64 (cos.f64 a) (cos.f64 b))
(*.f64 (cos.f64 a) (cos.f64 b))
(*.f64 (cos.f64 a) (cos.f64 b))
(*.f64 (cos.f64 a) (cos.f64 b))
(*.f64 (cos.f64 a) (cos.f64 b))
(*.f64 (cos.f64 a) (cos.f64 b))
(*.f64 (cos.f64 a) (cos.f64 b))
(cos.f64 b)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 a 2) (cos.f64 b))) (cos.f64 b))
(fma.f64 -1/2 (*.f64 (cos.f64 b) (*.f64 a a)) (cos.f64 b))
(fma.f64 -1/2 (*.f64 a (*.f64 a (cos.f64 b))) (cos.f64 b))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 a 2) (cos.f64 b))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 a 4) (cos.f64 b))) (cos.f64 b)))
(fma.f64 -1/2 (*.f64 (cos.f64 b) (*.f64 a a)) (fma.f64 1/24 (*.f64 (cos.f64 b) (pow.f64 a 4)) (cos.f64 b)))
(+.f64 (cos.f64 b) (*.f64 (cos.f64 b) (+.f64 (*.f64 -1/2 (*.f64 a a)) (*.f64 1/24 (pow.f64 a 4)))))
(*.f64 (cos.f64 b) (+.f64 (*.f64 a (*.f64 a -1/2)) (+.f64 1 (*.f64 1/24 (pow.f64 a 4)))))
(+.f64 (*.f64 -1/720 (*.f64 (pow.f64 a 6) (cos.f64 b))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 a 2) (cos.f64 b))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 a 4) (cos.f64 b))) (cos.f64 b))))
(fma.f64 -1/720 (*.f64 (cos.f64 b) (pow.f64 a 6)) (fma.f64 -1/2 (*.f64 (cos.f64 b) (*.f64 a a)) (fma.f64 1/24 (*.f64 (cos.f64 b) (pow.f64 a 4)) (cos.f64 b))))
(+.f64 (*.f64 (+.f64 (*.f64 1/24 (pow.f64 a 4)) 1) (cos.f64 b)) (*.f64 (cos.f64 b) (+.f64 (*.f64 -1/720 (pow.f64 a 6)) (*.f64 -1/2 (*.f64 a a)))))
(+.f64 (cos.f64 b) (*.f64 (cos.f64 b) (+.f64 (+.f64 (*.f64 -1/720 (pow.f64 a 6)) (*.f64 a (*.f64 a -1/2))) (*.f64 1/24 (pow.f64 a 4)))))
(*.f64 (cos.f64 a) (cos.f64 b))
(*.f64 (cos.f64 a) (cos.f64 b))
(*.f64 (cos.f64 a) (cos.f64 b))
(*.f64 (cos.f64 a) (cos.f64 b))
(*.f64 (cos.f64 a) (cos.f64 b))
(*.f64 (cos.f64 a) (cos.f64 b))
(*.f64 (cos.f64 a) (cos.f64 b))
(*.f64 (cos.f64 a) (cos.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a))))
(/.f64 (sin.f64 b) (/.f64 (fma.f64 (cos.f64 a) (cos.f64 b) (*.f64 (sin.f64 a) (neg.f64 (sin.f64 b)))) r))
(*.f64 (/.f64 r (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a))))
(/.f64 (sin.f64 b) (/.f64 (fma.f64 (cos.f64 a) (cos.f64 b) (*.f64 (sin.f64 a) (neg.f64 (sin.f64 b)))) r))
(*.f64 (/.f64 r (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a))))
(/.f64 (sin.f64 b) (/.f64 (fma.f64 (cos.f64 a) (cos.f64 b) (*.f64 (sin.f64 a) (neg.f64 (sin.f64 b)))) r))
(*.f64 (/.f64 r (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a))))
(/.f64 (sin.f64 b) (/.f64 (fma.f64 (cos.f64 a) (cos.f64 b) (*.f64 (sin.f64 a) (neg.f64 (sin.f64 b)))) r))
(*.f64 (/.f64 r (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a))))
(/.f64 (sin.f64 b) (/.f64 (fma.f64 (cos.f64 a) (cos.f64 b) (*.f64 (sin.f64 a) (neg.f64 (sin.f64 b)))) r))
(*.f64 (/.f64 r (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a))))
(/.f64 (sin.f64 b) (/.f64 (fma.f64 (cos.f64 a) (cos.f64 b) (*.f64 (sin.f64 a) (neg.f64 (sin.f64 b)))) r))
(*.f64 (/.f64 r (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a))))
(/.f64 (sin.f64 b) (/.f64 (fma.f64 (cos.f64 a) (cos.f64 b) (*.f64 (sin.f64 a) (neg.f64 (sin.f64 b)))) r))
(*.f64 (/.f64 r (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a))))
(/.f64 (sin.f64 b) (/.f64 (fma.f64 (cos.f64 a) (cos.f64 b) (*.f64 (sin.f64 a) (neg.f64 (sin.f64 b)))) r))
(*.f64 (/.f64 r (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a))))
(/.f64 (sin.f64 b) (/.f64 (fma.f64 (cos.f64 a) (cos.f64 b) (*.f64 (sin.f64 a) (neg.f64 (sin.f64 b)))) r))
(*.f64 (/.f64 r (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a))))
(/.f64 (sin.f64 b) (/.f64 (fma.f64 (cos.f64 a) (cos.f64 b) (*.f64 (sin.f64 a) (neg.f64 (sin.f64 b)))) r))
(*.f64 (/.f64 r (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a))))
(/.f64 (sin.f64 b) (/.f64 (fma.f64 (cos.f64 a) (cos.f64 b) (*.f64 (sin.f64 a) (neg.f64 (sin.f64 b)))) r))
(*.f64 (/.f64 r (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a))))
(/.f64 (sin.f64 b) (/.f64 (fma.f64 (cos.f64 a) (cos.f64 b) (*.f64 (sin.f64 a) (neg.f64 (sin.f64 b)))) r))
(*.f64 (/.f64 r (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))) (sin.f64 b))
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 r (/.f64 (cos.f64 a) b))
(*.f64 (/.f64 r (cos.f64 a)) b)
(*.f64 b (/.f64 r (cos.f64 a)))
(+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 (pow.f64 b 2) r)) (pow.f64 (cos.f64 a) 2)) (/.f64 (*.f64 r b) (cos.f64 a)))
(+.f64 (/.f64 r (/.f64 (cos.f64 a) b)) (/.f64 (sin.f64 a) (/.f64 (pow.f64 (cos.f64 a) 2) (*.f64 (*.f64 b b) r))))
(+.f64 (*.f64 (/.f64 r (cos.f64 a)) b) (*.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 (*.f64 b b) r)))
(+.f64 (*.f64 b (/.f64 r (cos.f64 a))) (*.f64 (*.f64 (*.f64 b b) r) (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2))))
(+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 r (pow.f64 b 2))) (pow.f64 (cos.f64 a) 2)) (+.f64 (/.f64 (*.f64 r b) (cos.f64 a)) (*.f64 (pow.f64 b 3) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (+.f64 (*.f64 -1/2 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3))))))))
(+.f64 (/.f64 (sin.f64 a) (/.f64 (pow.f64 (cos.f64 a) 2) (*.f64 (*.f64 b b) r))) (+.f64 (/.f64 r (/.f64 (cos.f64 a) b)) (*.f64 (pow.f64 b 3) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (fma.f64 -1/2 (/.f64 r (cos.f64 a)) (neg.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (/.f64 (pow.f64 (cos.f64 a) 3) r))))))))
(+.f64 (*.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 (*.f64 b b) r)) (fma.f64 (pow.f64 b 3) (-.f64 (*.f64 (/.f64 r (cos.f64 a)) 1/3) (/.f64 (neg.f64 (pow.f64 (sin.f64 a) 2)) (/.f64 (pow.f64 (cos.f64 a) 3) r))) (*.f64 (/.f64 r (cos.f64 a)) b)))
(+.f64 (*.f64 (*.f64 (*.f64 b b) r) (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2))) (fma.f64 (pow.f64 b 3) (fma.f64 (/.f64 r (cos.f64 a)) 1/3 (/.f64 (pow.f64 (sin.f64 a) 2) (/.f64 (pow.f64 (cos.f64 a) 3) r))) (*.f64 b (/.f64 r (cos.f64 a)))))
(+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 r (pow.f64 b 2))) (pow.f64 (cos.f64 a) 2)) (+.f64 (/.f64 (*.f64 r b) (cos.f64 a)) (+.f64 (*.f64 (pow.f64 b 3) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (+.f64 (*.f64 -1/2 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3)))))) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 a) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (+.f64 (*.f64 -1/2 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3)))))) (cos.f64 a))) (+.f64 (*.f64 1/6 (/.f64 (*.f64 (sin.f64 a) r) (pow.f64 (cos.f64 a) 2))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 a) r) (pow.f64 (cos.f64 a) 2))))) (pow.f64 b 4))))))
(+.f64 (/.f64 (sin.f64 a) (/.f64 (pow.f64 (cos.f64 a) 2) (*.f64 (*.f64 b b) r))) (+.f64 (/.f64 r (/.f64 (cos.f64 a) b)) (fma.f64 (pow.f64 b 3) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (fma.f64 -1/2 (/.f64 r (cos.f64 a)) (neg.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (/.f64 (pow.f64 (cos.f64 a) 3) r))))) (neg.f64 (*.f64 (pow.f64 b 4) (fma.f64 -1 (/.f64 (sin.f64 a) (/.f64 (cos.f64 a) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (fma.f64 -1/2 (/.f64 r (cos.f64 a)) (neg.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (/.f64 (pow.f64 (cos.f64 a) 3) r))))))) (*.f64 (/.f64 (sin.f64 a) (/.f64 (pow.f64 (cos.f64 a) 2) r)) -1/3)))))))
(+.f64 (*.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 (*.f64 b b) r)) (-.f64 (fma.f64 (pow.f64 b 3) (-.f64 (*.f64 (/.f64 r (cos.f64 a)) 1/3) (/.f64 (neg.f64 (pow.f64 (sin.f64 a) 2)) (/.f64 (pow.f64 (cos.f64 a) 3) r))) (*.f64 (/.f64 r (cos.f64 a)) b)) (*.f64 (pow.f64 b 4) (-.f64 (*.f64 (/.f64 r (/.f64 (pow.f64 (cos.f64 a) 2) (sin.f64 a))) -1/3) (*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) (-.f64 (*.f64 (/.f64 r (cos.f64 a)) 1/3) (/.f64 (neg.f64 (pow.f64 (sin.f64 a) 2)) (/.f64 (pow.f64 (cos.f64 a) 3) r))))))))
(-.f64 (fma.f64 (pow.f64 b 3) (fma.f64 (/.f64 r (cos.f64 a)) 1/3 (/.f64 (pow.f64 (sin.f64 a) 2) (/.f64 (pow.f64 (cos.f64 a) 3) r))) (*.f64 b (/.f64 r (cos.f64 a)))) (-.f64 (*.f64 (pow.f64 b 4) (-.f64 (/.f64 (*.f64 (*.f64 r (sin.f64 a)) -1/3) (pow.f64 (cos.f64 a) 2)) (*.f64 (fma.f64 (/.f64 r (cos.f64 a)) 1/3 (/.f64 (pow.f64 (sin.f64 a) 2) (/.f64 (pow.f64 (cos.f64 a) 3) r))) (/.f64 (sin.f64 a) (cos.f64 a))))) (*.f64 (*.f64 (*.f64 b b) r) (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a))))
(/.f64 (sin.f64 b) (/.f64 (fma.f64 (cos.f64 a) (cos.f64 b) (*.f64 (sin.f64 a) (neg.f64 (sin.f64 b)))) r))
(*.f64 (/.f64 r (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a))))
(/.f64 (sin.f64 b) (/.f64 (fma.f64 (cos.f64 a) (cos.f64 b) (*.f64 (sin.f64 a) (neg.f64 (sin.f64 b)))) r))
(*.f64 (/.f64 r (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a))))
(/.f64 (sin.f64 b) (/.f64 (fma.f64 (cos.f64 a) (cos.f64 b) (*.f64 (sin.f64 a) (neg.f64 (sin.f64 b)))) r))
(*.f64 (/.f64 r (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a))))
(/.f64 (sin.f64 b) (/.f64 (fma.f64 (cos.f64 a) (cos.f64 b) (*.f64 (sin.f64 a) (neg.f64 (sin.f64 b)))) r))
(*.f64 (/.f64 r (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a))))
(/.f64 (sin.f64 b) (/.f64 (fma.f64 (cos.f64 a) (cos.f64 b) (*.f64 (sin.f64 a) (neg.f64 (sin.f64 b)))) r))
(*.f64 (/.f64 r (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a))))
(/.f64 (sin.f64 b) (/.f64 (fma.f64 (cos.f64 a) (cos.f64 b) (*.f64 (sin.f64 a) (neg.f64 (sin.f64 b)))) r))
(*.f64 (/.f64 r (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a))))
(/.f64 (sin.f64 b) (/.f64 (fma.f64 (cos.f64 a) (cos.f64 b) (*.f64 (sin.f64 a) (neg.f64 (sin.f64 b)))) r))
(*.f64 (/.f64 r (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a))))
(/.f64 (sin.f64 b) (/.f64 (fma.f64 (cos.f64 a) (cos.f64 b) (*.f64 (sin.f64 a) (neg.f64 (sin.f64 b)))) r))
(*.f64 (/.f64 r (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r)
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 b)))
(+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 a r)) (pow.f64 (cos.f64 b) 2)) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))
(+.f64 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)) (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 a r)) (pow.f64 (cos.f64 b) 2)))
(+.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r) (*.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)) (*.f64 a r)))
(+.f64 (*.f64 r (/.f64 (sin.f64 b) (cos.f64 b))) (*.f64 (*.f64 a r) (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2))))
(+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 a r)) (pow.f64 (cos.f64 b) 2)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 3) r) (pow.f64 (cos.f64 b) 3))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))))) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))))
(+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 a r)) (pow.f64 (cos.f64 b) 2)) (fma.f64 -1 (*.f64 (*.f64 a a) (fma.f64 -1 (/.f64 (*.f64 r (pow.f64 (sin.f64 b) 3)) (pow.f64 (cos.f64 b) 3)) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))))) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))))
(+.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r) (-.f64 (*.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)) (*.f64 a r)) (*.f64 (*.f64 a a) (-.f64 (*.f64 -1/2 (*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r)) (/.f64 (pow.f64 (sin.f64 b) 3) (/.f64 (pow.f64 (cos.f64 b) 3) r))))))
(+.f64 (*.f64 r (/.f64 (sin.f64 b) (cos.f64 b))) (-.f64 (*.f64 (*.f64 a r) (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2))) (*.f64 (*.f64 a a) (fma.f64 -1/2 (*.f64 r (/.f64 (sin.f64 b) (cos.f64 b))) (*.f64 (/.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 (cos.f64 b) 3)) (neg.f64 r))))))
(-.f64 (*.f64 (*.f64 a r) (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2))) (fma.f64 (*.f64 a a) (fma.f64 -1/2 (*.f64 r (/.f64 (sin.f64 b) (cos.f64 b))) (*.f64 (/.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 (cos.f64 b) 3)) (neg.f64 r))) (neg.f64 (*.f64 r (/.f64 (sin.f64 b) (cos.f64 b))))))
(+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 a r)) (pow.f64 (cos.f64 b) 2)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 3) (+.f64 (/.f64 (*.f64 (sin.f64 b) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 3) r) (pow.f64 (cos.f64 b) 3))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))))) (cos.f64 b)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) r) (pow.f64 (cos.f64 b) 2))) (*.f64 1/6 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) r) (pow.f64 (cos.f64 b) 2))))))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 3) r) (pow.f64 (cos.f64 b) 3))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))))) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))))
(+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 a r)) (pow.f64 (cos.f64 b) 2)) (fma.f64 -1 (*.f64 (pow.f64 a 3) (+.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) (fma.f64 -1 (/.f64 (*.f64 r (pow.f64 (sin.f64 b) 3)) (pow.f64 (cos.f64 b) 3)) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))))) (*.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (/.f64 (pow.f64 (cos.f64 b) 2) r)) -1/3))) (fma.f64 -1 (*.f64 (*.f64 a a) (fma.f64 -1 (/.f64 (*.f64 r (pow.f64 (sin.f64 b) 3)) (pow.f64 (cos.f64 b) 3)) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))))) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))))
(+.f64 (*.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)) (*.f64 a r)) (-.f64 (-.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r) (*.f64 (*.f64 a a) (-.f64 (*.f64 -1/2 (*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r)) (/.f64 (pow.f64 (sin.f64 b) 3) (/.f64 (pow.f64 (cos.f64 b) 3) r))))) (*.f64 (pow.f64 a 3) (fma.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (/.f64 (pow.f64 (cos.f64 b) 2) r)) -1/3 (*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) (-.f64 (*.f64 -1/2 (*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r)) (/.f64 (pow.f64 (sin.f64 b) 3) (/.f64 (pow.f64 (cos.f64 b) 3) r))))))))
(+.f64 (*.f64 r (/.f64 (sin.f64 b) (cos.f64 b))) (-.f64 (*.f64 (*.f64 a r) (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2))) (*.f64 (*.f64 a a) (+.f64 (*.f64 a (fma.f64 (*.f64 (/.f64 r (pow.f64 (cos.f64 b) 2)) (pow.f64 (sin.f64 b) 2)) -1/3 (*.f64 (fma.f64 -1/2 (*.f64 r (/.f64 (sin.f64 b) (cos.f64 b))) (*.f64 (/.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 (cos.f64 b) 3)) (neg.f64 r))) (/.f64 (sin.f64 b) (cos.f64 b))))) (fma.f64 -1/2 (*.f64 r (/.f64 (sin.f64 b) (cos.f64 b))) (*.f64 (/.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 (cos.f64 b) 3)) (neg.f64 r)))))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a))))
(/.f64 (sin.f64 b) (/.f64 (fma.f64 (cos.f64 a) (cos.f64 b) (*.f64 (sin.f64 a) (neg.f64 (sin.f64 b)))) r))
(*.f64 (/.f64 r (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a))))
(/.f64 (sin.f64 b) (/.f64 (fma.f64 (cos.f64 a) (cos.f64 b) (*.f64 (sin.f64 a) (neg.f64 (sin.f64 b)))) r))
(*.f64 (/.f64 r (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a))))
(/.f64 (sin.f64 b) (/.f64 (fma.f64 (cos.f64 a) (cos.f64 b) (*.f64 (sin.f64 a) (neg.f64 (sin.f64 b)))) r))
(*.f64 (/.f64 r (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a))))
(/.f64 (sin.f64 b) (/.f64 (fma.f64 (cos.f64 a) (cos.f64 b) (*.f64 (sin.f64 a) (neg.f64 (sin.f64 b)))) r))
(*.f64 (/.f64 r (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a))))
(/.f64 (sin.f64 b) (/.f64 (fma.f64 (cos.f64 a) (cos.f64 b) (*.f64 (sin.f64 a) (neg.f64 (sin.f64 b)))) r))
(*.f64 (/.f64 r (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a))))
(/.f64 (sin.f64 b) (/.f64 (fma.f64 (cos.f64 a) (cos.f64 b) (*.f64 (sin.f64 a) (neg.f64 (sin.f64 b)))) r))
(*.f64 (/.f64 r (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a))))
(/.f64 (sin.f64 b) (/.f64 (fma.f64 (cos.f64 a) (cos.f64 b) (*.f64 (sin.f64 a) (neg.f64 (sin.f64 b)))) r))
(*.f64 (/.f64 r (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a))))
(/.f64 (sin.f64 b) (/.f64 (fma.f64 (cos.f64 a) (cos.f64 b) (*.f64 (sin.f64 a) (neg.f64 (sin.f64 b)))) r))
(*.f64 (/.f64 r (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))) (sin.f64 b))

eval400.0ms (2.6%)

Compiler

Compiled 18492 to 5845 computations (68.4% saved)

prune470.0ms (3%)

Pruning

78 alts after pruning (73 fresh and 5 done)

PrunedKeptTotal
New76234796
Fresh283967
Picked011
Done246
Total79278870
Error
0.0b
Counts
870 → 78
Alt Table
Click to see full alt table
StatusErrorProgram
32.5b
(*.f64 (/.f64 r (cos.f64 a)) b)
31.6b
(/.f64 (*.f64 r (sin.f64 b)) (+.f64 (cos.f64 a) (*.f64 b (-.f64 (*.f64 (cos.f64 a) (*.f64 -1/2 b)) (sin.f64 a)))))
31.6b
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 (+.f64 (*.f64 (*.f64 -1/2 b) b) 1) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a))))
16.2b
(*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))
51.9b
(/.f64 (*.f64 (sin.f64 b) (neg.f64 r)) (cos.f64 (+.f64 b a)))
16.9b
(pow.f64 (cbrt.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)) 3)
47.5b
(/.f64 (sqrt.f64 (pow.f64 (*.f64 r (sin.f64 b)) 2)) (cos.f64 a))
16.3b
(*.f64 (/.f64 1 (cos.f64 (+.f64 b a))) (/.f64 (sin.f64 b) (/.f64 1 r)))
25.8b
(/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r))
16.2b
(*.f64 r (/.f64 1 (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b))))
43.6b
(pow.f64 (sqrt.f64 (*.f64 (/.f64 r (cos.f64 a)) b)) 2)
36.8b
(/.f64 (exp.f64 (log.f64 (*.f64 r (sin.f64 b)))) (cos.f64 (+.f64 b a)))
22.8b
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 a) b)))
52.7b
(/.f64 (sin.f64 b) (log.f64 (exp.f64 (/.f64 (cos.f64 (+.f64 b a)) r))))
33.0b
(pow.f64 (cbrt.f64 (*.f64 (/.f64 r (cos.f64 a)) b)) 3)
0.3b
(*.f64 (/.f64 r (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))) (sin.f64 b))
28.7b
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))
32.5b
(*.f64 (/.f64 1 (cos.f64 (+.f64 b a))) (*.f64 r b))
32.5b
(*.f64 (*.f64 (/.f64 1 (cos.f64 a)) r) b)
23.1b
(*.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) a))) r)
29.9b
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 a))
16.9b
(*.f64 (log1p.f64 (expm1.f64 (/.f64 1 (cos.f64 (+.f64 b a))))) (*.f64 r (sin.f64 b)))
1.3b
(/.f64 (pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 3) (fma.f64 (cos.f64 b) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 b)) (sin.f64 a))))
0.3b
(*.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))) r)
32.5b
(*.f64 (/.f64 b (cos.f64 a)) r)
51.9b
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) (neg.f64 r)))
1.3b
(/.f64 (pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 3) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a))))
0.4b
(/.f64 (sin.f64 b) (/.f64 (fma.f64 (cos.f64 b) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 b)) (sin.f64 a))) r))
16.3b
(/.f64 (*.f64 r (sin.f64 b)) (log1p.f64 (expm1.f64 (cos.f64 (+.f64 b a)))))
17.0b
(/.f64 (pow.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (cbrt.f64 r)) 3) (cos.f64 (+.f64 b a)))
25.0b
(*.f64 (/.f64 (sin.f64 b) (-.f64 (cos.f64 b) (*.f64 (sin.f64 b) (sin.f64 a)))) r)
48.1b
(pow.f64 (pow.f64 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 b a))) 3) 1/3)
30.3b
(/.f64 (pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 3) (cos.f64 a))
36.8b
(exp.f64 (log.f64 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 b a)))))
0.4b
(/.f64 (sin.f64 b) (/.f64 (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a))) r))
25.7b
(*.f64 (/.f64 1 (cos.f64 b)) (*.f64 r (sin.f64 b)))
0.5b
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 (*.f64 (cos.f64 b) (cbrt.f64 (pow.f64 (cos.f64 a) 2))) (cbrt.f64 (cos.f64 a))) (*.f64 (sin.f64 b) (sin.f64 a))))
37.0b
(/.f64 (pow.f64 (exp.f64 (*.f64 (log.f64 (*.f64 r (sin.f64 b))) 1/3)) 3) (cos.f64 (+.f64 b a)))
37.1b
(/.f64 (pow.f64 (pow.f64 (*.f64 (sin.f64 b) r) 1/3) 3) (cos.f64 (+.f64 b a)))
27.5b
(*.f64 (/.f64 1 (-.f64 (cos.f64 b) (*.f64 a (sin.f64 b)))) (*.f64 r (sin.f64 b)))
29.9b
(/.f64 (sin.f64 b) (/.f64 (cos.f64 a) r))
0.3b
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a))))
30.8b
(*.f64 (sqrt.f64 (pow.f64 (cos.f64 (+.f64 b a)) -2)) (*.f64 r (sin.f64 b)))
0.9b
(/.f64 (sin.f64 b) (/.f64 (fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 b) (cos.f64 a))) 2) (cbrt.f64 (*.f64 (cos.f64 b) (cos.f64 a))) (*.f64 (neg.f64 (sin.f64 b)) (sin.f64 a))) r))
0.6b
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 b) (cos.f64 a)))) 1) (*.f64 (sin.f64 b) (sin.f64 a))))
27.5b
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (cos.f64 b) (*.f64 a (sin.f64 b))))
0.4b
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (expm1.f64 (log1p.f64 (*.f64 (cos.f64 b) (cos.f64 a)))) (*.f64 (sin.f64 b) (sin.f64 a))))
16.4b
(/.f64 (*.f64 r (sin.f64 b)) (log.f64 (exp.f64 (cos.f64 (+.f64 b a)))))
16.9b
(/.f64 (sin.f64 b) (pow.f64 (cbrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r)) 3))
25.0b
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (cos.f64 b) (*.f64 (sin.f64 b) (sin.f64 a))))
16.2b
(/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)))
25.7b
(*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r)
31.2b
(/.f64 (sin.f64 b) (/.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) b)) r))
25.7b
(*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b))
0.4b
(/.f64 (*.f64 r (sin.f64 b)) (+.f64 (fma.f64 1 (*.f64 (cos.f64 b) (cos.f64 a)) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (cbrt.f64 (pow.f64 (sin.f64 b) 2))))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a))) (cbrt.f64 (pow.f64 (sin.f64 b) 2)) (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (cbrt.f64 (pow.f64 (sin.f64 b) 2))))))
0.4b
(*.f64 (/.f64 1 (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a)))) (*.f64 r (sin.f64 b)))
1.3b
(/.f64 (pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 3) (+.f64 (fma.f64 1 (*.f64 (cos.f64 b) (cos.f64 a)) (neg.f64 (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) 2)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) 2) (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) 2)))))
32.8b
(/.f64 1 (/.f64 (cos.f64 a) (*.f64 r b)))
0.4b
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (log1p.f64 (expm1.f64 (*.f64 (cos.f64 b) (cos.f64 a)))) (*.f64 (sin.f64 b) (sin.f64 a))))
40.1b
(/.f64 (sin.f64 b) (exp.f64 (log.f64 (/.f64 (cos.f64 (+.f64 b a)) r))))
52.2b
(log.f64 (exp.f64 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 b a)))))
32.6b
(/.f64 b (/.f64 (cos.f64 a) r))
29.9b
(*.f64 (/.f64 1 (cos.f64 a)) (*.f64 r (sin.f64 b)))
32.5b
(/.f64 r (/.f64 (cos.f64 a) b))
25.7b
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))
16.8b
(*.f64 (pow.f64 (cbrt.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))) 3) r)
28.7b
(*.f64 (/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))) r)
26.7b
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (pow.f64 (sqrt.f64 (*.f64 (cos.f64 b) (cos.f64 a))) 2) (*.f64 (sin.f64 b) (sin.f64 a))))
37.1b
(/.f64 (pow.f64 (pow.f64 (pow.f64 (*.f64 r (sin.f64 b)) 1/6) 2) 3) (cos.f64 (+.f64 b a)))
41.4b
(*.f64 (-.f64 (+.f64 1 (/.f64 r (cos.f64 a))) 1) b)
0.4b
(*.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 3)))) r)
0.4b
(/.f64 (sin.f64 b) (-.f64 (/.f64 (*.f64 (cos.f64 b) (cos.f64 a)) r) (/.f64 (*.f64 (sin.f64 b) (sin.f64 a)) r)))
0.3b
(*.f64 (/.f64 (sin.f64 b) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b)))) r)
31.1b
(*.f64 (/.f64 1 (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) b))) (*.f64 r (sin.f64 b)))
42.0b
(*.f64 r b)
26.2b
(/.f64 (pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 3) (cos.f64 b))
16.5b
(/.f64 1 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 (sin.f64 b) r)))
32.5b
(/.f64 (*.f64 r b) (cos.f64 (+.f64 b a)))
Compiler

Compiled 2514 to 1678 computations (33.3% saved)

localize55.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (cos.f64 a) (cos.f64 b))
0.1b
(fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b)))
0.2b
(*.f64 (/.f64 (sin.f64 b) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b)))) r)
0.2b
(/.f64 (sin.f64 b) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b))))
Compiler

Compiled 63 to 12 computations (81% saved)

series30.0ms (0.2%)

Counts
3 → 84
Calls

21 calls:

TimeVariablePointExpression
4.0ms
r
@inf
(*.f64 (/.f64 (sin.f64 b) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b)))) r)
2.0ms
b
@inf
(/.f64 (sin.f64 b) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b))))
2.0ms
a
@-inf
(/.f64 (sin.f64 b) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b))))
2.0ms
a
@inf
(/.f64 (sin.f64 b) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b))))
2.0ms
b
@-inf
(/.f64 (sin.f64 b) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b))))

rewrite208.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
674×log-prod_binary64
669×prod-diff_binary64
242×expm1-udef_binary64
242×log1p-udef_binary64
226×pow3_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01367
127231
2366131
Stop Event
node limit
Counts
3 → 224
Calls
Call 1
Inputs
(/.f64 (sin.f64 b) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b))))
(*.f64 (/.f64 (sin.f64 b) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b)))) r)
(fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))) (cbrt.f64 (exp.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))))) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 b) (/.f64 1 (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))) (cbrt.f64 (pow.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) 2)) (cbrt.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (sin.f64 b) 2)) (*.f64 (cbrt.f64 (sin.f64 b)) (/.f64 1 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))) (sqrt.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sin.f64 b)) (*.f64 (sqrt.f64 (sin.f64 b)) (/.f64 1 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sin.f64 b)) (/.f64 1 (neg.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cos.f64 (+.f64 b a))) (sin.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (sin.f64 b) 2)) 1) (/.f64 (cbrt.f64 (sin.f64 b)) (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (sin.f64 b)) 1) (/.f64 (sqrt.f64 (sin.f64 b)) (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 2)) (/.f64 (sin.f64 b) (cbrt.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (sin.f64 b) 2)) (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 2)) (cbrt.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (sin.f64 b)) (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 2)) (/.f64 (sqrt.f64 (sin.f64 b)) (cbrt.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 (cos.f64 (+.f64 b a)))) (/.f64 (sin.f64 b) (sqrt.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (sin.f64 b) 2)) (sqrt.f64 (cos.f64 (+.f64 b a)))) (/.f64 (cbrt.f64 (sin.f64 b)) (sqrt.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (sin.f64 b) (neg.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 (cos.f64 (+.f64 b a)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 r) (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))) (cbrt.f64 (pow.f64 (exp.f64 r) (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 r) (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 r) (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 r) (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 (sin.f64 b) r)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 b a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (sin.f64 b) r)) (neg.f64 (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sin.f64 b) r) 1) (cos.f64 (+.f64 b a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sin.f64 b) r) (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 2)) (cbrt.f64 (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sin.f64 b) r) (sqrt.f64 (cos.f64 (+.f64 b a)))) (sqrt.f64 (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (sin.f64 b)) r) (neg.f64 (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 r (neg.f64 (sin.f64 b))) (neg.f64 (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 (sin.f64 b) r)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 r) (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) 3) (pow.f64 r 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 r 3) (pow.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 (+.f64 b a)) (fma.f64 (sin.f64 a) (sin.f64 b) (*.f64 (sin.f64 b) (sin.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 (+.f64 b a)) (fma.f64 (neg.f64 (sin.f64 b)) (sin.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 (+.f64 b a)) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))) (sqrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (*.f64 (sin.f64 b) (sin.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 (+.f64 b a)) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sqrt.f64 (sin.f64 a)))) (*.f64 (sqrt.f64 (sin.f64 b)) (sqrt.f64 (sin.f64 a))) (*.f64 (sin.f64 b) (sin.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cos.f64 (+.f64 b a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 1) (*.f64 (cos.f64 a) (cos.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cos.f64 a) (cos.f64 b) (neg.f64 (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 1))) (fma.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 1 (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cos.f64 b) (cos.f64 a) (neg.f64 (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 1))) (fma.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 1 (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cos.f64 a) (cos.f64 b)) 1 (neg.f64 (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 1))) (fma.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 1 (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (*.f64 (cos.f64 a) (cos.f64 b)) (neg.f64 (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 1))) (fma.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 1 (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (cos.f64 b)) 2) (*.f64 (cbrt.f64 (cos.f64 b)) (cos.f64 a)) (neg.f64 (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 1))) (fma.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 1 (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cbrt.f64 (*.f64 (cos.f64 a) (cos.f64 b))) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 a) (cos.f64 b))) 2) (neg.f64 (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 1))) (fma.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 1 (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 a) (cos.f64 b))) 2) (cbrt.f64 (*.f64 (cos.f64 a) (cos.f64 b))) (neg.f64 (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 1))) (fma.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 1 (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (cos.f64 a)) 2) (*.f64 (cbrt.f64 (cos.f64 a)) (cos.f64 b)) (neg.f64 (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 1))) (fma.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 1 (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (cos.f64 b)) (*.f64 (sqrt.f64 (cos.f64 b)) (cos.f64 a)) (neg.f64 (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 1))) (fma.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 1 (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (*.f64 (cos.f64 a) (cos.f64 b))) (sqrt.f64 (*.f64 (cos.f64 a) (cos.f64 b))) (neg.f64 (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 1))) (fma.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 1 (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (cos.f64 a)) (*.f64 (sqrt.f64 (cos.f64 a)) (cos.f64 b)) (neg.f64 (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 1))) (fma.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 1 (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (+.f64 (cos.f64 (+.f64 b a)) (cos.f64 (+.f64 b a))) 1/2 (neg.f64 (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 1))) (fma.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 1 (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cos.f64 a) (pow.f64 (cbrt.f64 (cos.f64 b)) 2)) (cbrt.f64 (cos.f64 b)) (neg.f64 (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 1))) (fma.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 1 (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cos.f64 a) (sqrt.f64 (cos.f64 b))) (sqrt.f64 (cos.f64 b)) (neg.f64 (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 1))) (fma.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 1 (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cos.f64 b) (pow.f64 (cbrt.f64 (cos.f64 a)) 2)) (cbrt.f64 (cos.f64 a)) (neg.f64 (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 1))) (fma.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 1 (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cos.f64 b) (sqrt.f64 (cos.f64 a))) (sqrt.f64 (cos.f64 a)) (neg.f64 (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 1))) (fma.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 1 (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cos.f64 a) (cos.f64 b) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (cbrt.f64 (pow.f64 (sin.f64 b) 2))))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a))) (cbrt.f64 (pow.f64 (sin.f64 b) 2)) (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (cbrt.f64 (pow.f64 (sin.f64 b) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cos.f64 b) (cos.f64 a) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (cbrt.f64 (pow.f64 (sin.f64 b) 2))))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a))) (cbrt.f64 (pow.f64 (sin.f64 b) 2)) (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (cbrt.f64 (pow.f64 (sin.f64 b) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cos.f64 a) (cos.f64 b)) 1 (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (cbrt.f64 (pow.f64 (sin.f64 b) 2))))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a))) (cbrt.f64 (pow.f64 (sin.f64 b) 2)) (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (cbrt.f64 (pow.f64 (sin.f64 b) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (*.f64 (cos.f64 a) (cos.f64 b)) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (cbrt.f64 (pow.f64 (sin.f64 b) 2))))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a))) (cbrt.f64 (pow.f64 (sin.f64 b) 2)) (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (cbrt.f64 (pow.f64 (sin.f64 b) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (cos.f64 b)) 2) (*.f64 (cbrt.f64 (cos.f64 b)) (cos.f64 a)) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (cbrt.f64 (pow.f64 (sin.f64 b) 2))))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a))) (cbrt.f64 (pow.f64 (sin.f64 b) 2)) (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (cbrt.f64 (pow.f64 (sin.f64 b) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cbrt.f64 (*.f64 (cos.f64 a) (cos.f64 b))) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 a) (cos.f64 b))) 2) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (cbrt.f64 (pow.f64 (sin.f64 b) 2))))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a))) (cbrt.f64 (pow.f64 (sin.f64 b) 2)) (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (cbrt.f64 (pow.f64 (sin.f64 b) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 a) (cos.f64 b))) 2) (cbrt.f64 (*.f64 (cos.f64 a) (cos.f64 b))) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (cbrt.f64 (pow.f64 (sin.f64 b) 2))))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a))) (cbrt.f64 (pow.f64 (sin.f64 b) 2)) (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (cbrt.f64 (pow.f64 (sin.f64 b) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (cos.f64 a)) 2) (*.f64 (cbrt.f64 (cos.f64 a)) (cos.f64 b)) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (cbrt.f64 (pow.f64 (sin.f64 b) 2))))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a))) (cbrt.f64 (pow.f64 (sin.f64 b) 2)) (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (cbrt.f64 (pow.f64 (sin.f64 b) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (cos.f64 b)) (*.f64 (sqrt.f64 (cos.f64 b)) (cos.f64 a)) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (cbrt.f64 (pow.f64 (sin.f64 b) 2))))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a))) (cbrt.f64 (pow.f64 (sin.f64 b) 2)) (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (cbrt.f64 (pow.f64 (sin.f64 b) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (*.f64 (cos.f64 a) (cos.f64 b))) (sqrt.f64 (*.f64 (cos.f64 a) (cos.f64 b))) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (cbrt.f64 (pow.f64 (sin.f64 b) 2))))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a))) (cbrt.f64 (pow.f64 (sin.f64 b) 2)) (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (cbrt.f64 (pow.f64 (sin.f64 b) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (cos.f64 a)) (*.f64 (sqrt.f64 (cos.f64 a)) (cos.f64 b)) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (cbrt.f64 (pow.f64 (sin.f64 b) 2))))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a))) (cbrt.f64 (pow.f64 (sin.f64 b) 2)) (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (cbrt.f64 (pow.f64 (sin.f64 b) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (+.f64 (cos.f64 (+.f64 b a)) (cos.f64 (+.f64 b a))) 1/2 (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (cbrt.f64 (pow.f64 (sin.f64 b) 2))))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a))) (cbrt.f64 (pow.f64 (sin.f64 b) 2)) (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (cbrt.f64 (pow.f64 (sin.f64 b) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cos.f64 a) (pow.f64 (cbrt.f64 (cos.f64 b)) 2)) (cbrt.f64 (cos.f64 b)) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (cbrt.f64 (pow.f64 (sin.f64 b) 2))))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a))) (cbrt.f64 (pow.f64 (sin.f64 b) 2)) (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (cbrt.f64 (pow.f64 (sin.f64 b) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cos.f64 a) (sqrt.f64 (cos.f64 b))) (sqrt.f64 (cos.f64 b)) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (cbrt.f64 (pow.f64 (sin.f64 b) 2))))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a))) (cbrt.f64 (pow.f64 (sin.f64 b) 2)) (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (cbrt.f64 (pow.f64 (sin.f64 b) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cos.f64 b) (pow.f64 (cbrt.f64 (cos.f64 a)) 2)) (cbrt.f64 (cos.f64 a)) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (cbrt.f64 (pow.f64 (sin.f64 b) 2))))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a))) (cbrt.f64 (pow.f64 (sin.f64 b) 2)) (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (cbrt.f64 (pow.f64 (sin.f64 b) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cos.f64 b) (sqrt.f64 (cos.f64 a))) (sqrt.f64 (cos.f64 a)) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (cbrt.f64 (pow.f64 (sin.f64 b) 2))))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a))) (cbrt.f64 (pow.f64 (sin.f64 b) 2)) (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (cbrt.f64 (pow.f64 (sin.f64 b) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cos.f64 a) (cos.f64 b) (neg.f64 (*.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a)) (sqrt.f64 (sin.f64 b))))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a))) (sqrt.f64 (sin.f64 b)) (*.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a)) (sqrt.f64 (sin.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cos.f64 b) (cos.f64 a) (neg.f64 (*.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a)) (sqrt.f64 (sin.f64 b))))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a))) (sqrt.f64 (sin.f64 b)) (*.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a)) (sqrt.f64 (sin.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cos.f64 a) (cos.f64 b)) 1 (neg.f64 (*.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a)) (sqrt.f64 (sin.f64 b))))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a))) (sqrt.f64 (sin.f64 b)) (*.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a)) (sqrt.f64 (sin.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (*.f64 (cos.f64 a) (cos.f64 b)) (neg.f64 (*.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a)) (sqrt.f64 (sin.f64 b))))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a))) (sqrt.f64 (sin.f64 b)) (*.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a)) (sqrt.f64 (sin.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (cos.f64 b)) 2) (*.f64 (cbrt.f64 (cos.f64 b)) (cos.f64 a)) (neg.f64 (*.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a)) (sqrt.f64 (sin.f64 b))))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a))) (sqrt.f64 (sin.f64 b)) (*.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a)) (sqrt.f64 (sin.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cbrt.f64 (*.f64 (cos.f64 a) (cos.f64 b))) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 a) (cos.f64 b))) 2) (neg.f64 (*.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a)) (sqrt.f64 (sin.f64 b))))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a))) (sqrt.f64 (sin.f64 b)) (*.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a)) (sqrt.f64 (sin.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 a) (cos.f64 b))) 2) (cbrt.f64 (*.f64 (cos.f64 a) (cos.f64 b))) (neg.f64 (*.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a)) (sqrt.f64 (sin.f64 b))))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a))) (sqrt.f64 (sin.f64 b)) (*.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a)) (sqrt.f64 (sin.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (cos.f64 a)) 2) (*.f64 (cbrt.f64 (cos.f64 a)) (cos.f64 b)) (neg.f64 (*.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a)) (sqrt.f64 (sin.f64 b))))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a))) (sqrt.f64 (sin.f64 b)) (*.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a)) (sqrt.f64 (sin.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (cos.f64 b)) (*.f64 (sqrt.f64 (cos.f64 b)) (cos.f64 a)) (neg.f64 (*.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a)) (sqrt.f64 (sin.f64 b))))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a))) (sqrt.f64 (sin.f64 b)) (*.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a)) (sqrt.f64 (sin.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (*.f64 (cos.f64 a) (cos.f64 b))) (sqrt.f64 (*.f64 (cos.f64 a) (cos.f64 b))) (neg.f64 (*.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a)) (sqrt.f64 (sin.f64 b))))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a))) (sqrt.f64 (sin.f64 b)) (*.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a)) (sqrt.f64 (sin.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (cos.f64 a)) (*.f64 (sqrt.f64 (cos.f64 a)) (cos.f64 b)) (neg.f64 (*.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a)) (sqrt.f64 (sin.f64 b))))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a))) (sqrt.f64 (sin.f64 b)) (*.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a)) (sqrt.f64 (sin.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (+.f64 (cos.f64 (+.f64 b a)) (cos.f64 (+.f64 b a))) 1/2 (neg.f64 (*.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a)) (sqrt.f64 (sin.f64 b))))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a))) (sqrt.f64 (sin.f64 b)) (*.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a)) (sqrt.f64 (sin.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cos.f64 a) (pow.f64 (cbrt.f64 (cos.f64 b)) 2)) (cbrt.f64 (cos.f64 b)) (neg.f64 (*.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a)) (sqrt.f64 (sin.f64 b))))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a))) (sqrt.f64 (sin.f64 b)) (*.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a)) (sqrt.f64 (sin.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cos.f64 a) (sqrt.f64 (cos.f64 b))) (sqrt.f64 (cos.f64 b)) (neg.f64 (*.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a)) (sqrt.f64 (sin.f64 b))))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a))) (sqrt.f64 (sin.f64 b)) (*.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a)) (sqrt.f64 (sin.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cos.f64 b) (pow.f64 (cbrt.f64 (cos.f64 a)) 2)) (cbrt.f64 (cos.f64 a)) (neg.f64 (*.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a)) (sqrt.f64 (sin.f64 b))))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a))) (sqrt.f64 (sin.f64 b)) (*.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a)) (sqrt.f64 (sin.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cos.f64 b) (sqrt.f64 (cos.f64 a))) (sqrt.f64 (cos.f64 a)) (neg.f64 (*.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a)) (sqrt.f64 (sin.f64 b))))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a))) (sqrt.f64 (sin.f64 b)) (*.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a)) (sqrt.f64 (sin.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cos.f64 a) (cos.f64 b) (neg.f64 (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))))))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))) (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))) (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cos.f64 b) (cos.f64 a) (neg.f64 (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))))))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))) (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))) (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cos.f64 a) (cos.f64 b)) 1 (neg.f64 (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))))))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))) (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))) (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (*.f64 (cos.f64 a) (cos.f64 b)) (neg.f64 (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))))))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))) (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))) (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (cos.f64 b)) 2) (*.f64 (cbrt.f64 (cos.f64 b)) (cos.f64 a)) (neg.f64 (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))))))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))) (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))) (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cbrt.f64 (*.f64 (cos.f64 a) (cos.f64 b))) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 a) (cos.f64 b))) 2) (neg.f64 (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))))))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))) (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))) (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 a) (cos.f64 b))) 2) (cbrt.f64 (*.f64 (cos.f64 a) (cos.f64 b))) (neg.f64 (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))))))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))) (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))) (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (cos.f64 a)) 2) (*.f64 (cbrt.f64 (cos.f64 a)) (cos.f64 b)) (neg.f64 (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))))))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))) (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))) (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (cos.f64 b)) (*.f64 (sqrt.f64 (cos.f64 b)) (cos.f64 a)) (neg.f64 (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))))))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))) (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))) (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (*.f64 (cos.f64 a) (cos.f64 b))) (sqrt.f64 (*.f64 (cos.f64 a) (cos.f64 b))) (neg.f64 (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))))))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))) (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))) (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (cos.f64 a)) (*.f64 (sqrt.f64 (cos.f64 a)) (cos.f64 b)) (neg.f64 (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))))))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))) (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))) (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (+.f64 (cos.f64 (+.f64 b a)) (cos.f64 (+.f64 b a))) 1/2 (neg.f64 (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))))))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))) (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))) (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cos.f64 a) (pow.f64 (cbrt.f64 (cos.f64 b)) 2)) (cbrt.f64 (cos.f64 b)) (neg.f64 (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))))))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))) (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))) (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cos.f64 a) (sqrt.f64 (cos.f64 b))) (sqrt.f64 (cos.f64 b)) (neg.f64 (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))))))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))) (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))) (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cos.f64 b) (pow.f64 (cbrt.f64 (cos.f64 a)) 2)) (cbrt.f64 (cos.f64 a)) (neg.f64 (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))))))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))) (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))) (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cos.f64 b) (sqrt.f64 (cos.f64 a))) (sqrt.f64 (cos.f64 a)) (neg.f64 (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))))))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))) (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))) (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cos.f64 a) (cos.f64 b) (neg.f64 (*.f64 (cbrt.f64 (sin.f64 a)) (*.f64 (sin.f64 b) (pow.f64 (cbrt.f64 (sin.f64 a)) 2))))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 a))) (*.f64 (sin.f64 b) (pow.f64 (cbrt.f64 (sin.f64 a)) 2)) (*.f64 (cbrt.f64 (sin.f64 a)) (*.f64 (sin.f64 b) (pow.f64 (cbrt.f64 (sin.f64 a)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cos.f64 b) (cos.f64 a) (neg.f64 (*.f64 (cbrt.f64 (sin.f64 a)) (*.f64 (sin.f64 b) (pow.f64 (cbrt.f64 (sin.f64 a)) 2))))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 a))) (*.f64 (sin.f64 b) (pow.f64 (cbrt.f64 (sin.f64 a)) 2)) (*.f64 (cbrt.f64 (sin.f64 a)) (*.f64 (sin.f64 b) (pow.f64 (cbrt.f64 (sin.f64 a)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cos.f64 a) (cos.f64 b)) 1 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 a)) (*.f64 (sin.f64 b) (pow.f64 (cbrt.f64 (sin.f64 a)) 2))))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 a))) (*.f64 (sin.f64 b) (pow.f64 (cbrt.f64 (sin.f64 a)) 2)) (*.f64 (cbrt.f64 (sin.f64 a)) (*.f64 (sin.f64 b) (pow.f64 (cbrt.f64 (sin.f64 a)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (*.f64 (cos.f64 a) (cos.f64 b)) (neg.f64 (*.f64 (cbrt.f64 (sin.f64 a)) (*.f64 (sin.f64 b) (pow.f64 (cbrt.f64 (sin.f64 a)) 2))))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 a))) (*.f64 (sin.f64 b) (pow.f64 (cbrt.f64 (sin.f64 a)) 2)) (*.f64 (cbrt.f64 (sin.f64 a)) (*.f64 (sin.f64 b) (pow.f64 (cbrt.f64 (sin.f64 a)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (cos.f64 b)) 2) (*.f64 (cbrt.f64 (cos.f64 b)) (cos.f64 a)) (neg.f64 (*.f64 (cbrt.f64 (sin.f64 a)) (*.f64 (sin.f64 b) (pow.f64 (cbrt.f64 (sin.f64 a)) 2))))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 a))) (*.f64 (sin.f64 b) (pow.f64 (cbrt.f64 (sin.f64 a)) 2)) (*.f64 (cbrt.f64 (sin.f64 a)) (*.f64 (sin.f64 b) (pow.f64 (cbrt.f64 (sin.f64 a)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cbrt.f64 (*.f64 (cos.f64 a) (cos.f64 b))) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 a) (cos.f64 b))) 2) (neg.f64 (*.f64 (cbrt.f64 (sin.f64 a)) (*.f64 (sin.f64 b) (pow.f64 (cbrt.f64 (sin.f64 a)) 2))))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 a))) (*.f64 (sin.f64 b) (pow.f64 (cbrt.f64 (sin.f64 a)) 2)) (*.f64 (cbrt.f64 (sin.f64 a)) (*.f64 (sin.f64 b) (pow.f64 (cbrt.f64 (sin.f64 a)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 a) (cos.f64 b))) 2) (cbrt.f64 (*.f64 (cos.f64 a) (cos.f64 b))) (neg.f64 (*.f64 (cbrt.f64 (sin.f64 a)) (*.f64 (sin.f64 b) (pow.f64 (cbrt.f64 (sin.f64 a)) 2))))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 a))) (*.f64 (sin.f64 b) (pow.f64 (cbrt.f64 (sin.f64 a)) 2)) (*.f64 (cbrt.f64 (sin.f64 a)) (*.f64 (sin.f64 b) (pow.f64 (cbrt.f64 (sin.f64 a)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (cos.f64 a)) 2) (*.f64 (cbrt.f64 (cos.f64 a)) (cos.f64 b)) (neg.f64 (*.f64 (cbrt.f64 (sin.f64 a)) (*.f64 (sin.f64 b) (pow.f64 (cbrt.f64 (sin.f64 a)) 2))))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 a))) (*.f64 (sin.f64 b) (pow.f64 (cbrt.f64 (sin.f64 a)) 2)) (*.f64 (cbrt.f64 (sin.f64 a)) (*.f64 (sin.f64 b) (pow.f64 (cbrt.f64 (sin.f64 a)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (cos.f64 b)) (*.f64 (sqrt.f64 (cos.f64 b)) (cos.f64 a)) (neg.f64 (*.f64 (cbrt.f64 (sin.f64 a)) (*.f64 (sin.f64 b) (pow.f64 (cbrt.f64 (sin.f64 a)) 2))))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 a))) (*.f64 (sin.f64 b) (pow.f64 (cbrt.f64 (sin.f64 a)) 2)) (*.f64 (cbrt.f64 (sin.f64 a)) (*.f64 (sin.f64 b) (pow.f64 (cbrt.f64 (sin.f64 a)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (*.f64 (cos.f64 a) (cos.f64 b))) (sqrt.f64 (*.f64 (cos.f64 a) (cos.f64 b))) (neg.f64 (*.f64 (cbrt.f64 (sin.f64 a)) (*.f64 (sin.f64 b) (pow.f64 (cbrt.f64 (sin.f64 a)) 2))))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 a))) (*.f64 (sin.f64 b) (pow.f64 (cbrt.f64 (sin.f64 a)) 2)) (*.f64 (cbrt.f64 (sin.f64 a)) (*.f64 (sin.f64 b) (pow.f64 (cbrt.f64 (sin.f64 a)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (cos.f64 a)) (*.f64 (sqrt.f64 (cos.f64 a)) (cos.f64 b)) (neg.f64 (*.f64 (cbrt.f64 (sin.f64 a)) (*.f64 (sin.f64 b) (pow.f64 (cbrt.f64 (sin.f64 a)) 2))))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 a))) (*.f64 (sin.f64 b) (pow.f64 (cbrt.f64 (sin.f64 a)) 2)) (*.f64 (cbrt.f64 (sin.f64 a)) (*.f64 (sin.f64 b) (pow.f64 (cbrt.f64 (sin.f64 a)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (+.f64 (cos.f64 (+.f64 b a)) (cos.f64 (+.f64 b a))) 1/2 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 a)) (*.f64 (sin.f64 b) (pow.f64 (cbrt.f64 (sin.f64 a)) 2))))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 a))) (*.f64 (sin.f64 b) (pow.f64 (cbrt.f64 (sin.f64 a)) 2)) (*.f64 (cbrt.f64 (sin.f64 a)) (*.f64 (sin.f64 b) (pow.f64 (cbrt.f64 (sin.f64 a)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cos.f64 a) (pow.f64 (cbrt.f64 (cos.f64 b)) 2)) (cbrt.f64 (cos.f64 b)) (neg.f64 (*.f64 (cbrt.f64 (sin.f64 a)) (*.f64 (sin.f64 b) (pow.f64 (cbrt.f64 (sin.f64 a)) 2))))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 a))) (*.f64 (sin.f64 b) (pow.f64 (cbrt.f64 (sin.f64 a)) 2)) (*.f64 (cbrt.f64 (sin.f64 a)) (*.f64 (sin.f64 b) (pow.f64 (cbrt.f64 (sin.f64 a)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cos.f64 a) (sqrt.f64 (cos.f64 b))) (sqrt.f64 (cos.f64 b)) (neg.f64 (*.f64 (cbrt.f64 (sin.f64 a)) (*.f64 (sin.f64 b) (pow.f64 (cbrt.f64 (sin.f64 a)) 2))))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 a))) (*.f64 (sin.f64 b) (pow.f64 (cbrt.f64 (sin.f64 a)) 2)) (*.f64 (cbrt.f64 (sin.f64 a)) (*.f64 (sin.f64 b) (pow.f64 (cbrt.f64 (sin.f64 a)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cos.f64 b) (pow.f64 (cbrt.f64 (cos.f64 a)) 2)) (cbrt.f64 (cos.f64 a)) (neg.f64 (*.f64 (cbrt.f64 (sin.f64 a)) (*.f64 (sin.f64 b) (pow.f64 (cbrt.f64 (sin.f64 a)) 2))))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 a))) (*.f64 (sin.f64 b) (pow.f64 (cbrt.f64 (sin.f64 a)) 2)) (*.f64 (cbrt.f64 (sin.f64 a)) (*.f64 (sin.f64 b) (pow.f64 (cbrt.f64 (sin.f64 a)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cos.f64 b) (sqrt.f64 (cos.f64 a))) (sqrt.f64 (cos.f64 a)) (neg.f64 (*.f64 (cbrt.f64 (sin.f64 a)) (*.f64 (sin.f64 b) (pow.f64 (cbrt.f64 (sin.f64 a)) 2))))) (fma.f64 (neg.f64 (cbrt.f64 (sin.f64 a))) (*.f64 (sin.f64 b) (pow.f64 (cbrt.f64 (sin.f64 a)) 2)) (*.f64 (cbrt.f64 (sin.f64 a)) (*.f64 (sin.f64 b) (pow.f64 (cbrt.f64 (sin.f64 a)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cos.f64 a) (cos.f64 b) (neg.f64 (*.f64 (sqrt.f64 (sin.f64 a)) (*.f64 (sin.f64 b) (sqrt.f64 (sin.f64 a)))))) (fma.f64 (neg.f64 (sqrt.f64 (sin.f64 a))) (*.f64 (sin.f64 b) (sqrt.f64 (sin.f64 a))) (*.f64 (sqrt.f64 (sin.f64 a)) (*.f64 (sin.f64 b) (sqrt.f64 (sin.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cos.f64 b) (cos.f64 a) (neg.f64 (*.f64 (sqrt.f64 (sin.f64 a)) (*.f64 (sin.f64 b) (sqrt.f64 (sin.f64 a)))))) (fma.f64 (neg.f64 (sqrt.f64 (sin.f64 a))) (*.f64 (sin.f64 b) (sqrt.f64 (sin.f64 a))) (*.f64 (sqrt.f64 (sin.f64 a)) (*.f64 (sin.f64 b) (sqrt.f64 (sin.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cos.f64 a) (cos.f64 b)) 1 (neg.f64 (*.f64 (sqrt.f64 (sin.f64 a)) (*.f64 (sin.f64 b) (sqrt.f64 (sin.f64 a)))))) (fma.f64 (neg.f64 (sqrt.f64 (sin.f64 a))) (*.f64 (sin.f64 b) (sqrt.f64 (sin.f64 a))) (*.f64 (sqrt.f64 (sin.f64 a)) (*.f64 (sin.f64 b) (sqrt.f64 (sin.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (*.f64 (cos.f64 a) (cos.f64 b)) (neg.f64 (*.f64 (sqrt.f64 (sin.f64 a)) (*.f64 (sin.f64 b) (sqrt.f64 (sin.f64 a)))))) (fma.f64 (neg.f64 (sqrt.f64 (sin.f64 a))) (*.f64 (sin.f64 b) (sqrt.f64 (sin.f64 a))) (*.f64 (sqrt.f64 (sin.f64 a)) (*.f64 (sin.f64 b) (sqrt.f64 (sin.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (cos.f64 b)) 2) (*.f64 (cbrt.f64 (cos.f64 b)) (cos.f64 a)) (neg.f64 (*.f64 (sqrt.f64 (sin.f64 a)) (*.f64 (sin.f64 b) (sqrt.f64 (sin.f64 a)))))) (fma.f64 (neg.f64 (sqrt.f64 (sin.f64 a))) (*.f64 (sin.f64 b) (sqrt.f64 (sin.f64 a))) (*.f64 (sqrt.f64 (sin.f64 a)) (*.f64 (sin.f64 b) (sqrt.f64 (sin.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cbrt.f64 (*.f64 (cos.f64 a) (cos.f64 b))) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 a) (cos.f64 b))) 2) (neg.f64 (*.f64 (sqrt.f64 (sin.f64 a)) (*.f64 (sin.f64 b) (sqrt.f64 (sin.f64 a)))))) (fma.f64 (neg.f64 (sqrt.f64 (sin.f64 a))) (*.f64 (sin.f64 b) (sqrt.f64 (sin.f64 a))) (*.f64 (sqrt.f64 (sin.f64 a)) (*.f64 (sin.f64 b) (sqrt.f64 (sin.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 a) (cos.f64 b))) 2) (cbrt.f64 (*.f64 (cos.f64 a) (cos.f64 b))) (neg.f64 (*.f64 (sqrt.f64 (sin.f64 a)) (*.f64 (sin.f64 b) (sqrt.f64 (sin.f64 a)))))) (fma.f64 (neg.f64 (sqrt.f64 (sin.f64 a))) (*.f64 (sin.f64 b) (sqrt.f64 (sin.f64 a))) (*.f64 (sqrt.f64 (sin.f64 a)) (*.f64 (sin.f64 b) (sqrt.f64 (sin.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (cos.f64 a)) 2) (*.f64 (cbrt.f64 (cos.f64 a)) (cos.f64 b)) (neg.f64 (*.f64 (sqrt.f64 (sin.f64 a)) (*.f64 (sin.f64 b) (sqrt.f64 (sin.f64 a)))))) (fma.f64 (neg.f64 (sqrt.f64 (sin.f64 a))) (*.f64 (sin.f64 b) (sqrt.f64 (sin.f64 a))) (*.f64 (sqrt.f64 (sin.f64 a)) (*.f64 (sin.f64 b) (sqrt.f64 (sin.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (cos.f64 b)) (*.f64 (sqrt.f64 (cos.f64 b)) (cos.f64 a)) (neg.f64 (*.f64 (sqrt.f64 (sin.f64 a)) (*.f64 (sin.f64 b) (sqrt.f64 (sin.f64 a)))))) (fma.f64 (neg.f64 (sqrt.f64 (sin.f64 a))) (*.f64 (sin.f64 b) (sqrt.f64 (sin.f64 a))) (*.f64 (sqrt.f64 (sin.f64 a)) (*.f64 (sin.f64 b) (sqrt.f64 (sin.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (*.f64 (cos.f64 a) (cos.f64 b))) (sqrt.f64 (*.f64 (cos.f64 a) (cos.f64 b))) (neg.f64 (*.f64 (sqrt.f64 (sin.f64 a)) (*.f64 (sin.f64 b) (sqrt.f64 (sin.f64 a)))))) (fma.f64 (neg.f64 (sqrt.f64 (sin.f64 a))) (*.f64 (sin.f64 b) (sqrt.f64 (sin.f64 a))) (*.f64 (sqrt.f64 (sin.f64 a)) (*.f64 (sin.f64 b) (sqrt.f64 (sin.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (cos.f64 a)) (*.f64 (sqrt.f64 (cos.f64 a)) (cos.f64 b)) (neg.f64 (*.f64 (sqrt.f64 (sin.f64 a)) (*.f64 (sin.f64 b) (sqrt.f64 (sin.f64 a)))))) (fma.f64 (neg.f64 (sqrt.f64 (sin.f64 a))) (*.f64 (sin.f64 b) (sqrt.f64 (sin.f64 a))) (*.f64 (sqrt.f64 (sin.f64 a)) (*.f64 (sin.f64 b) (sqrt.f64 (sin.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (+.f64 (cos.f64 (+.f64 b a)) (cos.f64 (+.f64 b a))) 1/2 (neg.f64 (*.f64 (sqrt.f64 (sin.f64 a)) (*.f64 (sin.f64 b) (sqrt.f64 (sin.f64 a)))))) (fma.f64 (neg.f64 (sqrt.f64 (sin.f64 a))) (*.f64 (sin.f64 b) (sqrt.f64 (sin.f64 a))) (*.f64 (sqrt.f64 (sin.f64 a)) (*.f64 (sin.f64 b) (sqrt.f64 (sin.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cos.f64 a) (pow.f64 (cbrt.f64 (cos.f64 b)) 2)) (cbrt.f64 (cos.f64 b)) (neg.f64 (*.f64 (sqrt.f64 (sin.f64 a)) (*.f64 (sin.f64 b) (sqrt.f64 (sin.f64 a)))))) (fma.f64 (neg.f64 (sqrt.f64 (sin.f64 a))) (*.f64 (sin.f64 b) (sqrt.f64 (sin.f64 a))) (*.f64 (sqrt.f64 (sin.f64 a)) (*.f64 (sin.f64 b) (sqrt.f64 (sin.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cos.f64 a) (sqrt.f64 (cos.f64 b))) (sqrt.f64 (cos.f64 b)) (neg.f64 (*.f64 (sqrt.f64 (sin.f64 a)) (*.f64 (sin.f64 b) (sqrt.f64 (sin.f64 a)))))) (fma.f64 (neg.f64 (sqrt.f64 (sin.f64 a))) (*.f64 (sin.f64 b) (sqrt.f64 (sin.f64 a))) (*.f64 (sqrt.f64 (sin.f64 a)) (*.f64 (sin.f64 b) (sqrt.f64 (sin.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cos.f64 b) (pow.f64 (cbrt.f64 (cos.f64 a)) 2)) (cbrt.f64 (cos.f64 a)) (neg.f64 (*.f64 (sqrt.f64 (sin.f64 a)) (*.f64 (sin.f64 b) (sqrt.f64 (sin.f64 a)))))) (fma.f64 (neg.f64 (sqrt.f64 (sin.f64 a))) (*.f64 (sin.f64 b) (sqrt.f64 (sin.f64 a))) (*.f64 (sqrt.f64 (sin.f64 a)) (*.f64 (sin.f64 b) (sqrt.f64 (sin.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cos.f64 b) (sqrt.f64 (cos.f64 a))) (sqrt.f64 (cos.f64 a)) (neg.f64 (*.f64 (sqrt.f64 (sin.f64 a)) (*.f64 (sin.f64 b) (sqrt.f64 (sin.f64 a)))))) (fma.f64 (neg.f64 (sqrt.f64 (sin.f64 a))) (*.f64 (sin.f64 b) (sqrt.f64 (sin.f64 a))) (*.f64 (sqrt.f64 (sin.f64 a)) (*.f64 (sin.f64 b) (sqrt.f64 (sin.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cos.f64 a) (cos.f64 b) (neg.f64 (*.f64 (sin.f64 a) (*.f64 (sin.f64 b) -1)))) (fma.f64 (sin.f64 a) (*.f64 (sin.f64 b) -1) (*.f64 (sin.f64 a) (*.f64 (sin.f64 b) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cos.f64 b) (cos.f64 a) (neg.f64 (*.f64 (sin.f64 a) (*.f64 (sin.f64 b) -1)))) (fma.f64 (sin.f64 a) (*.f64 (sin.f64 b) -1) (*.f64 (sin.f64 a) (*.f64 (sin.f64 b) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cos.f64 a) (cos.f64 b)) 1 (neg.f64 (*.f64 (sin.f64 a) (*.f64 (sin.f64 b) -1)))) (fma.f64 (sin.f64 a) (*.f64 (sin.f64 b) -1) (*.f64 (sin.f64 a) (*.f64 (sin.f64 b) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (*.f64 (cos.f64 a) (cos.f64 b)) (neg.f64 (*.f64 (sin.f64 a) (*.f64 (sin.f64 b) -1)))) (fma.f64 (sin.f64 a) (*.f64 (sin.f64 b) -1) (*.f64 (sin.f64 a) (*.f64 (sin.f64 b) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (cos.f64 b)) 2) (*.f64 (cbrt.f64 (cos.f64 b)) (cos.f64 a)) (neg.f64 (*.f64 (sin.f64 a) (*.f64 (sin.f64 b) -1)))) (fma.f64 (sin.f64 a) (*.f64 (sin.f64 b) -1) (*.f64 (sin.f64 a) (*.f64 (sin.f64 b) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (cbrt.f64 (*.f64 (cos.f64 a) (cos.f64 b))) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 a) (cos.f64 b))) 2) (neg.f64 (*.f64 (sin.f64 a) (*.f64 (sin.f64 b) -1)))) (fma.f64 (sin.f64 a) (*.f64 (sin.f64 b) -1) (*.f64 (sin.f64 a) (*.f64 (sin.f64 b) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 a) (cos.f64 b))) 2) (cbrt.f64 (*.f64 (cos.f64 a) (cos.f64 b))) (neg.f64 (*.f64 (sin.f64 a) (*.f64 (sin.f64 b) -1)))) (fma.f64 (sin.f64 a) (*.f64 (sin.f64 b) -1) (*.f64 (sin.f64 a) (*.f64 (sin.f64 b) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (cos.f64 a)) 2) (*.f64 (cbrt.f64 (cos.f64 a)) (cos.f64 b)) (neg.f64 (*.f64 (sin.f64 a) (*.f64 (sin.f64 b) -1)))) (fma.f64 (sin.f64 a) (*.f64 (sin.f64 b) -1) (*.f64 (sin.f64 a) (*.f64 (sin.f64 b) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (cos.f64 b)) (*.f64 (sqrt.f64 (cos.f64 b)) (cos.f64 a)) (neg.f64 (*.f64 (sin.f64 a) (*.f64 (sin.f64 b) -1)))) (fma.f64 (sin.f64 a) (*.f64 (sin.f64 b) -1) (*.f64 (sin.f64 a) (*.f64 (sin.f64 b) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (*.f64 (cos.f64 a) (cos.f64 b))) (sqrt.f64 (*.f64 (cos.f64 a) (cos.f64 b))) (neg.f64 (*.f64 (sin.f64 a) (*.f64 (sin.f64 b) -1)))) (fma.f64 (sin.f64 a) (*.f64 (sin.f64 b) -1) (*.f64 (sin.f64 a) (*.f64 (sin.f64 b) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (cos.f64 a)) (*.f64 (sqrt.f64 (cos.f64 a)) (cos.f64 b)) (neg.f64 (*.f64 (sin.f64 a) (*.f64 (sin.f64 b) -1)))) (fma.f64 (sin.f64 a) (*.f64 (sin.f64 b) -1) (*.f64 (sin.f64 a) (*.f64 (sin.f64 b) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (+.f64 (cos.f64 (+.f64 b a)) (cos.f64 (+.f64 b a))) 1/2 (neg.f64 (*.f64 (sin.f64 a) (*.f64 (sin.f64 b) -1)))) (fma.f64 (sin.f64 a) (*.f64 (sin.f64 b) -1) (*.f64 (sin.f64 a) (*.f64 (sin.f64 b) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cos.f64 a) (pow.f64 (cbrt.f64 (cos.f64 b)) 2)) (cbrt.f64 (cos.f64 b)) (neg.f64 (*.f64 (sin.f64 a) (*.f64 (sin.f64 b) -1)))) (fma.f64 (sin.f64 a) (*.f64 (sin.f64 b) -1) (*.f64 (sin.f64 a) (*.f64 (sin.f64 b) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cos.f64 a) (sqrt.f64 (cos.f64 b))) (sqrt.f64 (cos.f64 b)) (neg.f64 (*.f64 (sin.f64 a) (*.f64 (sin.f64 b) -1)))) (fma.f64 (sin.f64 a) (*.f64 (sin.f64 b) -1) (*.f64 (sin.f64 a) (*.f64 (sin.f64 b) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cos.f64 b) (pow.f64 (cbrt.f64 (cos.f64 a)) 2)) (cbrt.f64 (cos.f64 a)) (neg.f64 (*.f64 (sin.f64 a) (*.f64 (sin.f64 b) -1)))) (fma.f64 (sin.f64 a) (*.f64 (sin.f64 b) -1) (*.f64 (sin.f64 a) (*.f64 (sin.f64 b) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cos.f64 b) (sqrt.f64 (cos.f64 a))) (sqrt.f64 (cos.f64 a)) (neg.f64 (*.f64 (sin.f64 a) (*.f64 (sin.f64 b) -1)))) (fma.f64 (sin.f64 a) (*.f64 (sin.f64 b) -1) (*.f64 (sin.f64 a) (*.f64 (sin.f64 b) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (cos.f64 (+.f64 b a)))) (cbrt.f64 (exp.f64 (cos.f64 (+.f64 b a)))))) (log.f64 (cbrt.f64 (exp.f64 (cos.f64 (+.f64 b a))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (cos.f64 (+.f64 b a))))) (log.f64 (sqrt.f64 (exp.f64 (cos.f64 (+.f64 b a))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (cos.f64 (+.f64 b a)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 a) (cos.f64 (neg.f64 b))) (*.f64 (sin.f64 a) (sin.f64 (neg.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 a) (cos.f64 (*.f64 -1 b))) (*.f64 (sin.f64 a) (sin.f64 (*.f64 -1 b))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 a) (cos.f64 (*.f64 (neg.f64 (pow.f64 (cbrt.f64 b) 2)) (cbrt.f64 b)))) (*.f64 (sin.f64 a) (sin.f64 (*.f64 (neg.f64 (pow.f64 (cbrt.f64 b) 2)) (cbrt.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 a) (cos.f64 (*.f64 (neg.f64 (sqrt.f64 b)) (sqrt.f64 b)))) (*.f64 (sin.f64 a) (sin.f64 (*.f64 (neg.f64 (sqrt.f64 b)) (sqrt.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 (+.f64 b a)) (cos.f64 (fma.f64 (neg.f64 b) 1 b))) (*.f64 (sin.f64 (-.f64 a b)) (sin.f64 (fma.f64 (neg.f64 b) 1 b))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 (+.f64 b a)) (cos.f64 (fma.f64 (neg.f64 (cbrt.f64 b)) (pow.f64 (cbrt.f64 b) 2) b))) (*.f64 (sin.f64 (-.f64 a b)) (sin.f64 (fma.f64 (neg.f64 (cbrt.f64 b)) (pow.f64 (cbrt.f64 b) 2) b))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 (+.f64 b a)) (cos.f64 (fma.f64 (neg.f64 (sqrt.f64 b)) (sqrt.f64 b) b))) (*.f64 (sin.f64 (-.f64 a b)) (sin.f64 (fma.f64 (neg.f64 (sqrt.f64 b)) (sqrt.f64 b) b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cos.f64 (+.f64 b a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 2) (cbrt.f64 (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cos.f64 (+.f64 b a))) (sqrt.f64 (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 (+.f64 b a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 3) (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) 3)) (fma.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a)) (-.f64 (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) 2) (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 (sin.f64 b) (sin.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a))) (pow.f64 (*.f64 (cos.f64 a) (cos.f64 b)) 2)) (neg.f64 (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cos.f64 (+.f64 b a)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (cos.f64 (+.f64 b a))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cos.f64 (+.f64 b a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cos.f64 (+.f64 b a)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (pow.f64 (exp.f64 (cos.f64 b)) (cos.f64 a)) (exp.f64 (*.f64 (sin.f64 b) (sin.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 a) (cos.f64 b)))) (exp.f64 (*.f64 (sin.f64 b) (sin.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 (cos.f64 b)) (cos.f64 a)) (exp.f64 (*.f64 (sin.f64 b) (sin.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 a) (cos.f64 b)))) (exp.f64 (*.f64 (sin.f64 b) (sin.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (+.f64 1 (expm1.f64 (*.f64 (cos.f64 a) (cos.f64 b))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (cos.f64 (+.f64 b a)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cos.f64 (+.f64 b a))))) (#(struct:change #<rule egg-rr> (2) ((x cos.f64 (-.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x cos.f64 (-.f64 b a))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cos.f64 (+.f64 b a))) 1))))))

simplify220.0ms (1.4%)

Algorithm
egg-herbie
Rules
940×fma-def_binary64
497×times-frac_binary64
452×associate-/l*_binary64
437×associate-*l/_binary64
359×associate-*r/_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01702607
15652465
220892378
Stop Event
node limit
Counts
308 → 274
Calls
Call 1
Inputs
(/.f64 b (cos.f64 a))
(+.f64 (/.f64 b (cos.f64 a)) (/.f64 (*.f64 (sin.f64 a) (pow.f64 b 2)) (pow.f64 (cos.f64 a) 2)))
(+.f64 (/.f64 b (cos.f64 a)) (+.f64 (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 (cos.f64 a))) (+.f64 (*.f64 1/6 (/.f64 1 (cos.f64 a))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3))))) (pow.f64 b 3)) (/.f64 (*.f64 (sin.f64 a) (pow.f64 b 2)) (pow.f64 (cos.f64 a) 2))))
(+.f64 (/.f64 b (cos.f64 a)) (+.f64 (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 (cos.f64 a))) (+.f64 (*.f64 1/6 (/.f64 1 (cos.f64 a))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3))))) (pow.f64 b 3)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 b 4) (+.f64 (*.f64 1/6 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2))) (+.f64 (*.f64 -1/2 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2))) (*.f64 -1 (/.f64 (*.f64 (sin.f64 a) (-.f64 (*.f64 1/2 (/.f64 1 (cos.f64 a))) (+.f64 (*.f64 1/6 (/.f64 1 (cos.f64 a))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3)))))) (cos.f64 a))))))) (/.f64 (*.f64 (sin.f64 a) (pow.f64 b 2)) (pow.f64 (cos.f64 a) 2)))))
(/.f64 (sin.f64 b) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (sin.f64 b) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (sin.f64 b) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (sin.f64 b) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (sin.f64 b) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (sin.f64 b) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (sin.f64 b) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (sin.f64 b) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (sin.f64 b) (cos.f64 b))
(+.f64 (/.f64 (sin.f64 b) (cos.f64 b)) (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) a) (pow.f64 (cos.f64 b) 2)))
(+.f64 (/.f64 (sin.f64 b) (cos.f64 b)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 -1/2 (/.f64 (sin.f64 b) (cos.f64 b))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 (cos.f64 b) 3)))))) (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) a) (pow.f64 (cos.f64 b) 2))))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 a 3) (+.f64 (/.f64 (*.f64 (sin.f64 b) (+.f64 (*.f64 -1/2 (/.f64 (sin.f64 b) (cos.f64 b))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 (cos.f64 b) 3))))) (cos.f64 b)) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2))) (*.f64 1/6 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2))))))) (+.f64 (/.f64 (sin.f64 b) (cos.f64 b)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 -1/2 (/.f64 (sin.f64 b) (cos.f64 b))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 (cos.f64 b) 3)))))) (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) a) (pow.f64 (cos.f64 b) 2)))))
(/.f64 (sin.f64 b) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (sin.f64 b) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (sin.f64 b) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (sin.f64 b) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (sin.f64 b) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (sin.f64 b) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (sin.f64 b) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (sin.f64 b) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (*.f64 b r) (cos.f64 a))
(+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 (pow.f64 b 2) r)) (pow.f64 (cos.f64 a) 2)) (/.f64 (*.f64 r b) (cos.f64 a)))
(+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 r (pow.f64 b 2))) (pow.f64 (cos.f64 a) 2)) (+.f64 (/.f64 (*.f64 r b) (cos.f64 a)) (*.f64 (pow.f64 b 3) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (+.f64 (*.f64 -1/2 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3))))))))
(+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 r (pow.f64 b 2))) (pow.f64 (cos.f64 a) 2)) (+.f64 (/.f64 (*.f64 r b) (cos.f64 a)) (+.f64 (*.f64 (pow.f64 b 3) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (+.f64 (*.f64 -1/2 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3)))))) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 a) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (+.f64 (*.f64 -1/2 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3)))))) (cos.f64 a))) (+.f64 (*.f64 1/6 (/.f64 (*.f64 (sin.f64 a) r) (pow.f64 (cos.f64 a) 2))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 a) r) (pow.f64 (cos.f64 a) 2))))) (pow.f64 b 4))))))
(/.f64 (*.f64 (sin.f64 b) r) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))
(+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 a r)) (pow.f64 (cos.f64 b) 2)) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))
(+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 a r)) (pow.f64 (cos.f64 b) 2)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 3) r) (pow.f64 (cos.f64 b) 3))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))))) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))))
(+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 a r)) (pow.f64 (cos.f64 b) 2)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 3) (+.f64 (/.f64 (*.f64 (sin.f64 b) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 3) r) (pow.f64 (cos.f64 b) 3))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))))) (cos.f64 b)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) r) (pow.f64 (cos.f64 b) 2))) (*.f64 1/6 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) r) (pow.f64 (cos.f64 b) 2))))))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 3) r) (pow.f64 (cos.f64 b) 3))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))))) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))))
(/.f64 (*.f64 (sin.f64 b) r) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(cos.f64 a)
(+.f64 (cos.f64 a) (*.f64 -1 (*.f64 (sin.f64 a) b)))
(+.f64 (cos.f64 a) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) b)) (*.f64 -1/2 (*.f64 (cos.f64 a) (pow.f64 b 2)))))
(+.f64 (cos.f64 a) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) b)) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 a) (pow.f64 b 3))) (*.f64 -1/2 (*.f64 (cos.f64 a) (pow.f64 b 2))))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b)))
(cos.f64 b)
(+.f64 (*.f64 -1 (*.f64 (sin.f64 b) a)) (cos.f64 b))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 b) a)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 a 2) (cos.f64 b))) (cos.f64 b)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 b) a)) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 b) (pow.f64 a 3))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 a 2) (cos.f64 b))) (cos.f64 b))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b)))
Outputs
(/.f64 b (cos.f64 a))
(+.f64 (/.f64 b (cos.f64 a)) (/.f64 (*.f64 (sin.f64 a) (pow.f64 b 2)) (pow.f64 (cos.f64 a) 2)))
(+.f64 (/.f64 b (cos.f64 a)) (/.f64 (sin.f64 a) (/.f64 (pow.f64 (cos.f64 a) 2) (*.f64 b b))))
(fma.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b b) (/.f64 b (cos.f64 a)))
(+.f64 (/.f64 b (cos.f64 a)) (+.f64 (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 (cos.f64 a))) (+.f64 (*.f64 1/6 (/.f64 1 (cos.f64 a))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3))))) (pow.f64 b 3)) (/.f64 (*.f64 (sin.f64 a) (pow.f64 b 2)) (pow.f64 (cos.f64 a) 2))))
(+.f64 (/.f64 b (cos.f64 a)) (fma.f64 (-.f64 (/.f64 1/2 (cos.f64 a)) (+.f64 (/.f64 1/6 (cos.f64 a)) (neg.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3))))) (pow.f64 b 3) (/.f64 (sin.f64 a) (/.f64 (pow.f64 (cos.f64 a) 2) (*.f64 b b)))))
(+.f64 (/.f64 b (cos.f64 a)) (fma.f64 (-.f64 (*.f64 (/.f64 1 (cos.f64 a)) 1/3) (/.f64 (neg.f64 (pow.f64 (sin.f64 a) 2)) (pow.f64 (cos.f64 a) 3))) (pow.f64 b 3) (/.f64 (sin.f64 a) (/.f64 (pow.f64 (cos.f64 a) 2) (*.f64 b b)))))
(fma.f64 (+.f64 (/.f64 1/3 (cos.f64 a)) (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3))) (pow.f64 b 3) (fma.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b b) (/.f64 b (cos.f64 a))))
(+.f64 (/.f64 b (cos.f64 a)) (+.f64 (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 (cos.f64 a))) (+.f64 (*.f64 1/6 (/.f64 1 (cos.f64 a))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3))))) (pow.f64 b 3)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 b 4) (+.f64 (*.f64 1/6 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2))) (+.f64 (*.f64 -1/2 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2))) (*.f64 -1 (/.f64 (*.f64 (sin.f64 a) (-.f64 (*.f64 1/2 (/.f64 1 (cos.f64 a))) (+.f64 (*.f64 1/6 (/.f64 1 (cos.f64 a))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3)))))) (cos.f64 a))))))) (/.f64 (*.f64 (sin.f64 a) (pow.f64 b 2)) (pow.f64 (cos.f64 a) 2)))))
(+.f64 (/.f64 b (cos.f64 a)) (fma.f64 (-.f64 (/.f64 1/2 (cos.f64 a)) (+.f64 (/.f64 1/6 (cos.f64 a)) (neg.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3))))) (pow.f64 b 3) (fma.f64 -1 (*.f64 (pow.f64 b 4) (fma.f64 1/6 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (fma.f64 -1/2 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (neg.f64 (/.f64 (sin.f64 a) (/.f64 (cos.f64 a) (-.f64 (/.f64 1/2 (cos.f64 a)) (+.f64 (/.f64 1/6 (cos.f64 a)) (neg.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3))))))))))) (/.f64 (sin.f64 a) (/.f64 (pow.f64 (cos.f64 a) 2) (*.f64 b b))))))
(+.f64 (/.f64 b (cos.f64 a)) (fma.f64 (-.f64 (*.f64 (/.f64 1 (cos.f64 a)) 1/3) (/.f64 (neg.f64 (pow.f64 (sin.f64 a) 2)) (pow.f64 (cos.f64 a) 3))) (pow.f64 b 3) (-.f64 (/.f64 (sin.f64 a) (/.f64 (pow.f64 (cos.f64 a) 2) (*.f64 b b))) (*.f64 (pow.f64 b 4) (-.f64 (*.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) -1/3) (*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) (-.f64 (*.f64 (/.f64 1 (cos.f64 a)) 1/3) (/.f64 (neg.f64 (pow.f64 (sin.f64 a) 2)) (pow.f64 (cos.f64 a) 3)))))))))
(-.f64 (fma.f64 (+.f64 (/.f64 1/3 (cos.f64 a)) (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3))) (pow.f64 b 3) (fma.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b b) (/.f64 b (cos.f64 a)))) (*.f64 (pow.f64 b 4) (fma.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) -1/3 (*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) (neg.f64 (+.f64 (/.f64 1/3 (cos.f64 a)) (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3))))))))
(/.f64 (sin.f64 b) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (sin.f64 b) (fma.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (sin.f64 b) (fma.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (sin.f64 b) (fma.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (sin.f64 b) (fma.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (sin.f64 b) (fma.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (sin.f64 b) (fma.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (sin.f64 b) (fma.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (sin.f64 b) (fma.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (cos.f64 b))
(+.f64 (/.f64 (sin.f64 b) (cos.f64 b)) (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) a) (pow.f64 (cos.f64 b) 2)))
(+.f64 (/.f64 (sin.f64 b) (cos.f64 b)) (/.f64 (pow.f64 (sin.f64 b) 2) (/.f64 (pow.f64 (cos.f64 b) 2) a)))
(+.f64 (/.f64 (sin.f64 b) (cos.f64 b)) (/.f64 a (/.f64 (pow.f64 (cos.f64 b) 2) (pow.f64 (sin.f64 b) 2))))
(fma.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)) a (/.f64 (sin.f64 b) (cos.f64 b)))
(+.f64 (/.f64 (sin.f64 b) (cos.f64 b)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 -1/2 (/.f64 (sin.f64 b) (cos.f64 b))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 (cos.f64 b) 3)))))) (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) a) (pow.f64 (cos.f64 b) 2))))
(+.f64 (/.f64 (sin.f64 b) (cos.f64 b)) (fma.f64 -1 (*.f64 (*.f64 a a) (fma.f64 -1/2 (/.f64 (sin.f64 b) (cos.f64 b)) (neg.f64 (/.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 (cos.f64 b) 3))))) (/.f64 (pow.f64 (sin.f64 b) 2) (/.f64 (pow.f64 (cos.f64 b) 2) a))))
(+.f64 (/.f64 (sin.f64 b) (cos.f64 b)) (-.f64 (/.f64 a (/.f64 (pow.f64 (cos.f64 b) 2) (pow.f64 (sin.f64 b) 2))) (*.f64 (*.f64 a a) (-.f64 (/.f64 (*.f64 -1/2 (sin.f64 b)) (cos.f64 b)) (/.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 (cos.f64 b) 3))))))
(+.f64 (/.f64 (sin.f64 b) (cos.f64 b)) (*.f64 a (-.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)) (*.f64 (-.f64 (*.f64 (/.f64 -1/2 (cos.f64 b)) (sin.f64 b)) (pow.f64 (/.f64 (sin.f64 b) (cos.f64 b)) 3)) a))))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 a 3) (+.f64 (/.f64 (*.f64 (sin.f64 b) (+.f64 (*.f64 -1/2 (/.f64 (sin.f64 b) (cos.f64 b))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 (cos.f64 b) 3))))) (cos.f64 b)) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2))) (*.f64 1/6 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2))))))) (+.f64 (/.f64 (sin.f64 b) (cos.f64 b)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 -1/2 (/.f64 (sin.f64 b) (cos.f64 b))) (*.f64 -1 (/.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 (cos.f64 b) 3)))))) (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) a) (pow.f64 (cos.f64 b) 2)))))
(fma.f64 -1 (*.f64 (pow.f64 a 3) (+.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) (fma.f64 -1/2 (/.f64 (sin.f64 b) (cos.f64 b)) (neg.f64 (/.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 (cos.f64 b) 3)))))) (*.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)) -1/3))) (+.f64 (/.f64 (sin.f64 b) (cos.f64 b)) (fma.f64 -1 (*.f64 (*.f64 a a) (fma.f64 -1/2 (/.f64 (sin.f64 b) (cos.f64 b)) (neg.f64 (/.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 (cos.f64 b) 3))))) (/.f64 (pow.f64 (sin.f64 b) 2) (/.f64 (pow.f64 (cos.f64 b) 2) a)))))
(+.f64 (-.f64 (/.f64 a (/.f64 (pow.f64 (cos.f64 b) 2) (pow.f64 (sin.f64 b) 2))) (*.f64 (*.f64 a a) (-.f64 (/.f64 (*.f64 -1/2 (sin.f64 b)) (cos.f64 b)) (/.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 (cos.f64 b) 3))))) (fma.f64 (neg.f64 (pow.f64 a 3)) (fma.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)) -1/3 (*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) (-.f64 (/.f64 (*.f64 -1/2 (sin.f64 b)) (cos.f64 b)) (/.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 (cos.f64 b) 3))))) (/.f64 (sin.f64 b) (cos.f64 b))))
(+.f64 (/.f64 (sin.f64 b) (cos.f64 b)) (-.f64 (*.f64 a (-.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)) (*.f64 (-.f64 (*.f64 (/.f64 -1/2 (cos.f64 b)) (sin.f64 b)) (pow.f64 (/.f64 (sin.f64 b) (cos.f64 b)) 3)) a))) (*.f64 (pow.f64 a 3) (fma.f64 (/.f64 (sin.f64 b) (cos.f64 b)) (-.f64 (*.f64 (/.f64 -1/2 (cos.f64 b)) (sin.f64 b)) (pow.f64 (/.f64 (sin.f64 b) (cos.f64 b)) 3)) (/.f64 (*.f64 -1/3 (pow.f64 (sin.f64 b) 2)) (pow.f64 (cos.f64 b) 2))))))
(/.f64 (sin.f64 b) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (sin.f64 b) (fma.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (sin.f64 b) (fma.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (sin.f64 b) (fma.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (sin.f64 b) (fma.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (sin.f64 b) (fma.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (sin.f64 b) (fma.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (sin.f64 b) (fma.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (sin.f64 b) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (sin.f64 b) (fma.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))))
(/.f64 (*.f64 b r) (cos.f64 a))
(*.f64 (/.f64 b (cos.f64 a)) r)
(*.f64 (/.f64 r (cos.f64 a)) b)
(+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 (pow.f64 b 2) r)) (pow.f64 (cos.f64 a) 2)) (/.f64 (*.f64 r b) (cos.f64 a)))
(+.f64 (/.f64 (*.f64 b r) (cos.f64 a)) (/.f64 (*.f64 (sin.f64 a) (*.f64 (*.f64 b b) r)) (pow.f64 (cos.f64 a) 2)))
(+.f64 (*.f64 (/.f64 b (cos.f64 a)) r) (/.f64 (sin.f64 a) (/.f64 (pow.f64 (cos.f64 a) 2) (*.f64 b (*.f64 b r)))))
(fma.f64 (/.f64 b (cos.f64 a)) r (*.f64 (*.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b b)) r))
(+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 r (pow.f64 b 2))) (pow.f64 (cos.f64 a) 2)) (+.f64 (/.f64 (*.f64 r b) (cos.f64 a)) (*.f64 (pow.f64 b 3) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (+.f64 (*.f64 -1/2 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3))))))))
(+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 (*.f64 b b) r)) (pow.f64 (cos.f64 a) 2)) (+.f64 (/.f64 (*.f64 b r) (cos.f64 a)) (*.f64 (pow.f64 b 3) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (fma.f64 -1/2 (/.f64 r (cos.f64 a)) (neg.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (/.f64 (pow.f64 (cos.f64 a) 3) r))))))))
(+.f64 (/.f64 (sin.f64 a) (/.f64 (pow.f64 (cos.f64 a) 2) (*.f64 b (*.f64 b r)))) (fma.f64 (pow.f64 b 3) (-.f64 (*.f64 (/.f64 r (cos.f64 a)) 1/3) (/.f64 (*.f64 (neg.f64 (pow.f64 (sin.f64 a) 2)) r) (pow.f64 (cos.f64 a) 3))) (*.f64 (/.f64 b (cos.f64 a)) r)))
(fma.f64 (/.f64 b (cos.f64 a)) r (fma.f64 (pow.f64 b 3) (fma.f64 (/.f64 r (cos.f64 a)) 1/3 (*.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3)) r)) (*.f64 (*.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b b)) r)))
(+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 r (pow.f64 b 2))) (pow.f64 (cos.f64 a) 2)) (+.f64 (/.f64 (*.f64 r b) (cos.f64 a)) (+.f64 (*.f64 (pow.f64 b 3) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (+.f64 (*.f64 -1/2 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3)))))) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 a) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (+.f64 (*.f64 -1/2 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3)))))) (cos.f64 a))) (+.f64 (*.f64 1/6 (/.f64 (*.f64 (sin.f64 a) r) (pow.f64 (cos.f64 a) 2))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 a) r) (pow.f64 (cos.f64 a) 2))))) (pow.f64 b 4))))))
(+.f64 (/.f64 (*.f64 (sin.f64 a) (*.f64 (*.f64 b b) r)) (pow.f64 (cos.f64 a) 2)) (+.f64 (/.f64 (*.f64 b r) (cos.f64 a)) (fma.f64 (pow.f64 b 3) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (fma.f64 -1/2 (/.f64 r (cos.f64 a)) (neg.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (/.f64 (pow.f64 (cos.f64 a) 3) r))))) (neg.f64 (*.f64 (pow.f64 b 4) (fma.f64 -1 (/.f64 (*.f64 (sin.f64 a) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (fma.f64 -1/2 (/.f64 r (cos.f64 a)) (neg.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (/.f64 (pow.f64 (cos.f64 a) 3) r)))))) (cos.f64 a)) (*.f64 (/.f64 (sin.f64 a) (/.f64 (pow.f64 (cos.f64 a) 2) r)) -1/3)))))))
(+.f64 (/.f64 (sin.f64 a) (/.f64 (pow.f64 (cos.f64 a) 2) (*.f64 b (*.f64 b r)))) (-.f64 (fma.f64 (pow.f64 b 3) (-.f64 (*.f64 (/.f64 r (cos.f64 a)) 1/3) (/.f64 (*.f64 (neg.f64 (pow.f64 (sin.f64 a) 2)) r) (pow.f64 (cos.f64 a) 3))) (*.f64 (/.f64 b (cos.f64 a)) r)) (*.f64 (pow.f64 b 4) (-.f64 (*.f64 (/.f64 (*.f64 (sin.f64 a) r) (pow.f64 (cos.f64 a) 2)) -1/3) (*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) (-.f64 (*.f64 (/.f64 r (cos.f64 a)) 1/3) (/.f64 (*.f64 (neg.f64 (pow.f64 (sin.f64 a) 2)) r) (pow.f64 (cos.f64 a) 3))))))))
(-.f64 (fma.f64 (/.f64 b (cos.f64 a)) r (fma.f64 (pow.f64 b 3) (fma.f64 (/.f64 r (cos.f64 a)) 1/3 (*.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3)) r)) (*.f64 (*.f64 (/.f64 (sin.f64 a) (pow.f64 (cos.f64 a) 2)) (*.f64 b b)) r))) (*.f64 (pow.f64 b 4) (-.f64 (*.f64 (*.f64 (/.f64 r (pow.f64 (cos.f64 a) 2)) (sin.f64 a)) -1/3) (*.f64 (/.f64 (sin.f64 a) (cos.f64 a)) (fma.f64 (/.f64 r (cos.f64 a)) 1/3 (*.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 (cos.f64 a) 3)) r))))))
(/.f64 (*.f64 (sin.f64 b) r) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (fma.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 r (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) (sin.f64 b)))
(*.f64 (/.f64 r (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (fma.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 r (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) (sin.f64 b)))
(*.f64 (/.f64 r (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (fma.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 r (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) (sin.f64 b)))
(*.f64 (/.f64 r (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (fma.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 r (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) (sin.f64 b)))
(*.f64 (/.f64 r (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (fma.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 r (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) (sin.f64 b)))
(*.f64 (/.f64 r (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (fma.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 r (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) (sin.f64 b)))
(*.f64 (/.f64 r (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (fma.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 r (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) (sin.f64 b)))
(*.f64 (/.f64 r (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (fma.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 r (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) (sin.f64 b)))
(*.f64 (/.f64 r (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r))
(*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b))
(+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 a r)) (pow.f64 (cos.f64 b) 2)) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))
(+.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r)) (/.f64 (pow.f64 (sin.f64 b) 2) (/.f64 (pow.f64 (cos.f64 b) 2) (*.f64 a r))))
(+.f64 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)) (/.f64 (pow.f64 (sin.f64 b) 2) (/.f64 (pow.f64 (cos.f64 b) 2) (*.f64 a r))))
(fma.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)) (*.f64 a r) (*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b)))
(+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 a r)) (pow.f64 (cos.f64 b) 2)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 3) r) (pow.f64 (cos.f64 b) 3))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))))) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))))
(+.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (/.f64 (pow.f64 (cos.f64 b) 2) (*.f64 a r))) (fma.f64 -1 (*.f64 (*.f64 a a) (fma.f64 -1 (/.f64 (pow.f64 (sin.f64 b) 3) (/.f64 (pow.f64 (cos.f64 b) 3) r)) (/.f64 (*.f64 -1/2 (*.f64 (sin.f64 b) r)) (cos.f64 b)))) (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r))))
(+.f64 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)) (-.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (/.f64 (pow.f64 (cos.f64 b) 2) (*.f64 a r))) (*.f64 (*.f64 a a) (fma.f64 -1/2 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)) (/.f64 (*.f64 (neg.f64 (pow.f64 (sin.f64 b) 3)) r) (pow.f64 (cos.f64 b) 3))))))
(fma.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r (fma.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)) (*.f64 a r) (*.f64 (-.f64 (*.f64 -1/2 (*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b))) (*.f64 (pow.f64 (/.f64 (sin.f64 b) (cos.f64 b)) 3) r)) (*.f64 a (neg.f64 a)))))
(+.f64 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 a r)) (pow.f64 (cos.f64 b) 2)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 3) (+.f64 (/.f64 (*.f64 (sin.f64 b) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 3) r) (pow.f64 (cos.f64 b) 3))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))))) (cos.f64 b)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) r) (pow.f64 (cos.f64 b) 2))) (*.f64 1/6 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) r) (pow.f64 (cos.f64 b) 2))))))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 3) r) (pow.f64 (cos.f64 b) 3))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))))) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))))
(+.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (/.f64 (pow.f64 (cos.f64 b) 2) (*.f64 a r))) (fma.f64 -1 (*.f64 (pow.f64 a 3) (+.f64 (/.f64 (*.f64 (sin.f64 b) (fma.f64 -1 (/.f64 (pow.f64 (sin.f64 b) 3) (/.f64 (pow.f64 (cos.f64 b) 3) r)) (/.f64 (*.f64 -1/2 (*.f64 (sin.f64 b) r)) (cos.f64 b)))) (cos.f64 b)) (*.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (/.f64 (pow.f64 (cos.f64 b) 2) r)) -1/3))) (fma.f64 -1 (*.f64 (*.f64 a a) (fma.f64 -1 (/.f64 (pow.f64 (sin.f64 b) 3) (/.f64 (pow.f64 (cos.f64 b) 3) r)) (/.f64 (*.f64 -1/2 (*.f64 (sin.f64 b) r)) (cos.f64 b)))) (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r)))))
(+.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (/.f64 (pow.f64 (cos.f64 b) 2) (*.f64 a r))) (-.f64 (-.f64 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)) (*.f64 (*.f64 a a) (fma.f64 -1/2 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)) (/.f64 (*.f64 (neg.f64 (pow.f64 (sin.f64 b) 3)) r) (pow.f64 (cos.f64 b) 3))))) (*.f64 (pow.f64 a 3) (fma.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (/.f64 (pow.f64 (cos.f64 b) 2) r)) -1/3 (*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) (fma.f64 -1/2 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)) (/.f64 (*.f64 (neg.f64 (pow.f64 (sin.f64 b) 3)) r) (pow.f64 (cos.f64 b) 3))))))))
(fma.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)) (*.f64 a r) (-.f64 (*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b)) (*.f64 (*.f64 a a) (+.f64 (*.f64 (fma.f64 (/.f64 (sin.f64 b) (cos.f64 b)) (-.f64 (*.f64 -1/2 (*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b))) (*.f64 (pow.f64 (/.f64 (sin.f64 b) (cos.f64 b)) 3) r)) (*.f64 (/.f64 (*.f64 -1/3 (pow.f64 (sin.f64 b) 2)) (pow.f64 (cos.f64 b) 2)) r)) a) (-.f64 (*.f64 -1/2 (*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b))) (*.f64 (pow.f64 (/.f64 (sin.f64 b) (cos.f64 b)) 3) r))))))
(/.f64 (*.f64 (sin.f64 b) r) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (fma.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 r (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) (sin.f64 b)))
(*.f64 (/.f64 r (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (fma.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 r (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) (sin.f64 b)))
(*.f64 (/.f64 r (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (fma.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 r (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) (sin.f64 b)))
(*.f64 (/.f64 r (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (fma.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 r (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) (sin.f64 b)))
(*.f64 (/.f64 r (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (fma.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 r (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) (sin.f64 b)))
(*.f64 (/.f64 r (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (fma.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 r (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) (sin.f64 b)))
(*.f64 (/.f64 r (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (fma.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 r (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) (sin.f64 b)))
(*.f64 (/.f64 r (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (fma.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 r (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) (sin.f64 b)))
(*.f64 (/.f64 r (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (fma.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 r (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) (sin.f64 b)))
(*.f64 (/.f64 r (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (fma.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 r (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) (sin.f64 b)))
(*.f64 (/.f64 r (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (fma.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 r (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) (sin.f64 b)))
(*.f64 (/.f64 r (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (fma.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 r (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) (sin.f64 b)))
(*.f64 (/.f64 r (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (fma.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 r (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) (sin.f64 b)))
(*.f64 (/.f64 r (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (fma.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 r (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) (sin.f64 b)))
(*.f64 (/.f64 r (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (fma.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 r (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) (sin.f64 b)))
(*.f64 (/.f64 r (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (fma.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 r (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) (sin.f64 b)))
(*.f64 (/.f64 r (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (fma.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 r (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) (sin.f64 b)))
(*.f64 (/.f64 r (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (fma.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 r (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) (sin.f64 b)))
(*.f64 (/.f64 r (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (fma.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 r (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) (sin.f64 b)))
(*.f64 (/.f64 r (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 (*.f64 (sin.f64 b) r) (fma.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b))))
(/.f64 r (/.f64 (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b))) (sin.f64 b)))
(*.f64 (/.f64 r (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))) (sin.f64 b))
(cos.f64 a)
(+.f64 (cos.f64 a) (*.f64 -1 (*.f64 (sin.f64 a) b)))
(+.f64 (cos.f64 a) (neg.f64 (*.f64 b (sin.f64 a))))
(-.f64 (cos.f64 a) (*.f64 b (sin.f64 a)))
(fma.f64 (sin.f64 a) (neg.f64 b) (cos.f64 a))
(+.f64 (cos.f64 a) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) b)) (*.f64 -1/2 (*.f64 (cos.f64 a) (pow.f64 b 2)))))
(+.f64 (cos.f64 a) (fma.f64 -1 (*.f64 b (sin.f64 a)) (*.f64 -1/2 (*.f64 (cos.f64 a) (*.f64 b b)))))
(+.f64 (cos.f64 a) (fma.f64 -1/2 (*.f64 b (*.f64 b (cos.f64 a))) (*.f64 (sin.f64 a) (neg.f64 b))))
(+.f64 (cos.f64 a) (*.f64 b (-.f64 (*.f64 (*.f64 (cos.f64 a) -1/2) b) (sin.f64 a))))
(+.f64 (cos.f64 a) (+.f64 (*.f64 -1 (*.f64 (sin.f64 a) b)) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 a) (pow.f64 b 3))) (*.f64 -1/2 (*.f64 (cos.f64 a) (pow.f64 b 2))))))
(+.f64 (cos.f64 a) (fma.f64 -1 (*.f64 b (sin.f64 a)) (fma.f64 1/6 (*.f64 (sin.f64 a) (pow.f64 b 3)) (*.f64 -1/2 (*.f64 (cos.f64 a) (*.f64 b b))))))
(+.f64 (-.f64 (cos.f64 a) (*.f64 b (sin.f64 a))) (fma.f64 1/6 (*.f64 (sin.f64 a) (pow.f64 b 3)) (*.f64 (cos.f64 a) (*.f64 (*.f64 b b) -1/2))))
(+.f64 (cos.f64 a) (fma.f64 (*.f64 b b) (*.f64 (cos.f64 a) -1/2) (*.f64 (sin.f64 a) (+.f64 (neg.f64 b) (*.f64 1/6 (pow.f64 b 3))))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b)))
(fma.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b)))
(-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b)))
(fma.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b)))
(-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b)))
(fma.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b)))
(-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b)))
(fma.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b)))
(-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b)))
(fma.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b)))
(-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b)))
(fma.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b)))
(-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b)))
(fma.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b)))
(-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b)))
(fma.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b)))
(-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))
(cos.f64 b)
(+.f64 (*.f64 -1 (*.f64 (sin.f64 b) a)) (cos.f64 b))
(fma.f64 -1 (*.f64 a (sin.f64 b)) (cos.f64 b))
(-.f64 (cos.f64 b) (*.f64 a (sin.f64 b)))
(fma.f64 (sin.f64 b) (neg.f64 a) (cos.f64 b))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 b) a)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 a 2) (cos.f64 b))) (cos.f64 b)))
(fma.f64 -1 (*.f64 a (sin.f64 b)) (fma.f64 -1/2 (*.f64 (cos.f64 b) (*.f64 a a)) (cos.f64 b)))
(-.f64 (*.f64 (+.f64 (*.f64 -1/2 (*.f64 a a)) 1) (cos.f64 b)) (*.f64 a (sin.f64 b)))
(fma.f64 a (neg.f64 (sin.f64 b)) (*.f64 (fma.f64 -1/2 (*.f64 a a) 1) (cos.f64 b)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 b) a)) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 b) (pow.f64 a 3))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 a 2) (cos.f64 b))) (cos.f64 b))))
(fma.f64 -1 (*.f64 a (sin.f64 b)) (fma.f64 1/6 (*.f64 (sin.f64 b) (pow.f64 a 3)) (fma.f64 -1/2 (*.f64 (cos.f64 b) (*.f64 a a)) (cos.f64 b))))
(-.f64 (fma.f64 1/6 (*.f64 (sin.f64 b) (pow.f64 a 3)) (*.f64 (+.f64 (*.f64 -1/2 (*.f64 a a)) 1) (cos.f64 b))) (*.f64 a (sin.f64 b)))
(fma.f64 (fma.f64 -1/2 (*.f64 a a) 1) (cos.f64 b) (*.f64 (sin.f64 b) (+.f64 (neg.f64 a) (*.f64 1/6 (pow.f64 a 3)))))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b)))
(fma.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b)))
(-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b)))
(fma.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b)))
(-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b)))
(fma.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b)))
(-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b)))
(fma.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b)))
(-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b)))
(fma.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b)))
(-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b)))
(fma.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b)))
(-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b)))
(fma.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b)))
(-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))
(+.f64 (*.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b))) (*.f64 (cos.f64 a) (cos.f64 b)))
(fma.f64 -1 (*.f64 (sin.f64 a) (sin.f64 b)) (*.f64 (cos.f64 a) (cos.f64 b)))
(-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 a) (sin.f64 b)))

localize19.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (/.f64 b (cos.f64 a)) r)
0.1b
(/.f64 b (cos.f64 a))
Compiler

Compiled 18 to 6 computations (66.7% saved)

series88.0ms (0.6%)

Counts
2 → 40
Calls

15 calls:

TimeVariablePointExpression
74.0ms
a
@0
(*.f64 (/.f64 b (cos.f64 a)) r)
2.0ms
a
@inf
(*.f64 (/.f64 b (cos.f64 a)) r)
1.0ms
a
@0
(/.f64 b (cos.f64 a))
1.0ms
r
@0
(*.f64 (/.f64 b (cos.f64 a)) r)
1.0ms
b
@0
(*.f64 (/.f64 b (cos.f64 a)) r)

rewrite124.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
777×pow1_binary64
715×add-log-exp_binary64
715×log1p-expm1-u_binary64
715×expm1-log1p-u_binary64
698×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0715
114415
2189915
Stop Event
node limit
Counts
2 → 54
Calls
Call 1
Inputs
(/.f64 b (cos.f64 a))
(*.f64 (/.f64 b (cos.f64 a)) r)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 b (cos.f64 a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 b (/.f64 1 (cos.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 b (cos.f64 a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 b (cos.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 b (cos.f64 a))) (pow.f64 (cbrt.f64 (/.f64 b (cos.f64 a))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 b (cos.f64 a))) 2) (cbrt.f64 (/.f64 b (cos.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 b) 2) (*.f64 (cbrt.f64 b) (/.f64 1 (cos.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 b (cos.f64 a))) (sqrt.f64 (/.f64 b (cos.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 b) (*.f64 (sqrt.f64 b) (/.f64 1 (cos.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 b) (/.f64 1 (neg.f64 (cos.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cos.f64 a)) b)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 b) 2) 1) (/.f64 (cbrt.f64 b) (cos.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 b) 1) (/.f64 (sqrt.f64 b) (cos.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (cos.f64 a)) 2)) (/.f64 b (cbrt.f64 (cos.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 b) 2) (pow.f64 (cbrt.f64 (cos.f64 a)) 2)) (cbrt.f64 (/.f64 b (cos.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 b) (pow.f64 (cbrt.f64 (cos.f64 a)) 2)) (/.f64 (sqrt.f64 b) (cbrt.f64 (cos.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 (cos.f64 a))) (/.f64 b (sqrt.f64 (cos.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 b) 2) (sqrt.f64 (cos.f64 a))) (/.f64 (cbrt.f64 b) (sqrt.f64 (cos.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 b (cos.f64 a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 b (cos.f64 a)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 b (cos.f64 a))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 b (cos.f64 a))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (cos.f64 a) b) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 b (neg.f64 (cos.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 b (cos.f64 a)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 b (cos.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 b (cos.f64 a)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 b 3) (pow.f64 (cos.f64 a) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 b (cos.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 b (cos.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 b (cos.f64 a))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (/.f64 b (cos.f64 a)) r)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 b (/.f64 (cos.f64 a) r))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 r (/.f64 (cos.f64 a) b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (cos.f64 a) (*.f64 b r)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 b r) (cos.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 b r)) (neg.f64 (cos.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 b r) 1) (cos.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 b r) (pow.f64 (cbrt.f64 (cos.f64 a)) 2)) (cbrt.f64 (cos.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 b r) (sqrt.f64 (cos.f64 a))) (sqrt.f64 (cos.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 b) r) (neg.f64 (cos.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 r (neg.f64 b)) (neg.f64 (cos.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 b (cos.f64 a)) r) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 b (cos.f64 a)) r) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 b (cos.f64 a)) r)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (/.f64 b (cos.f64 a)) r)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (/.f64 b (cos.f64 a)) r) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 r) (/.f64 b (cos.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (/.f64 b (cos.f64 a)) r) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (/.f64 b (cos.f64 a)) 3) (pow.f64 r 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 r 3) (pow.f64 (/.f64 b (cos.f64 a)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (/.f64 b (cos.f64 a)) r)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (/.f64 b (cos.f64 a)) r)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (/.f64 b (cos.f64 a)) r)))))))

simplify78.0ms (0.5%)

Algorithm
egg-herbie
Rules
666×distribute-rgt-in_binary64
630×distribute-lft-in_binary64
544×fma-def_binary64
525×distribute-lft-neg-in_binary64
523×distribute-rgt-neg-in_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
059513
1208475
2826452
34100442
Stop Event
node limit
Counts
94 → 70
Calls
Call 1
Inputs
b
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) b)) b)
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) b)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 4) (+.f64 (*.f64 1/24 b) (*.f64 -1/4 b)))) b))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) b)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 4) (+.f64 (*.f64 1/24 b) (*.f64 -1/4 b)))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 6) (+.f64 (*.f64 1/48 b) (+.f64 (*.f64 1/2 (+.f64 (*.f64 1/24 b) (*.f64 -1/4 b))) (*.f64 -1/720 b))))) b)))
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 (*.f64 b r) (cos.f64 a))
(*.f64 b r)
(+.f64 (*.f64 b r) (*.f64 1/2 (*.f64 (pow.f64 a 2) (*.f64 b r))))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 a 4) (+.f64 (*.f64 -1/4 (*.f64 r b)) (*.f64 1/24 (*.f64 b r))))) (+.f64 (*.f64 b r) (*.f64 1/2 (*.f64 (pow.f64 a 2) (*.f64 b r)))))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 a 4) (+.f64 (*.f64 -1/4 (*.f64 r b)) (*.f64 1/24 (*.f64 b r))))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 6) (+.f64 (*.f64 1/48 (*.f64 r b)) (+.f64 (*.f64 -1/720 (*.f64 b r)) (*.f64 1/2 (+.f64 (*.f64 -1/4 (*.f64 r b)) (*.f64 1/24 (*.f64 b r)))))))) (+.f64 (*.f64 b r) (*.f64 1/2 (*.f64 (pow.f64 a 2) (*.f64 b r))))))
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 (*.f64 r b) (cos.f64 a))
Outputs
b
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) b)) b)
(fma.f64 1/2 (*.f64 b (*.f64 a a)) b)
(*.f64 b (fma.f64 1/2 (*.f64 a a) 1))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) b)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 4) (+.f64 (*.f64 1/24 b) (*.f64 -1/4 b)))) b))
(fma.f64 1/2 (*.f64 b (*.f64 a a)) (fma.f64 -1 (*.f64 (pow.f64 a 4) (*.f64 b -5/24)) b))
(fma.f64 1/2 (*.f64 b (*.f64 a a)) (-.f64 b (*.f64 (pow.f64 a 4) (*.f64 b -5/24))))
(fma.f64 b (*.f64 1/2 (*.f64 a a)) (fma.f64 (pow.f64 a 4) (*.f64 b 5/24) b))
(*.f64 b (-.f64 (fma.f64 1/2 (*.f64 a a) 1) (*.f64 (pow.f64 a 4) -5/24)))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) b)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 4) (+.f64 (*.f64 1/24 b) (*.f64 -1/4 b)))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 6) (+.f64 (*.f64 1/48 b) (+.f64 (*.f64 1/2 (+.f64 (*.f64 1/24 b) (*.f64 -1/4 b))) (*.f64 -1/720 b))))) b)))
(fma.f64 1/2 (*.f64 b (*.f64 a a)) (fma.f64 -1 (*.f64 (pow.f64 a 4) (*.f64 b -5/24)) (fma.f64 -1 (*.f64 (pow.f64 a 6) (fma.f64 1/48 b (fma.f64 1/2 (*.f64 b -5/24) (*.f64 b -1/720)))) b)))
(fma.f64 1/2 (*.f64 b (*.f64 a a)) (-.f64 (-.f64 b (*.f64 (pow.f64 a 6) (fma.f64 b 1/48 (fma.f64 b -1/720 (*.f64 b -5/48))))) (*.f64 (pow.f64 a 4) (*.f64 b -5/24))))
(-.f64 (fma.f64 b (*.f64 1/2 (*.f64 a a)) (fma.f64 (pow.f64 a 4) (*.f64 b 5/24) b)) (*.f64 (pow.f64 a 6) (fma.f64 b 1/48 (*.f64 b -19/180))))
(-.f64 (*.f64 b (-.f64 (fma.f64 1/2 (*.f64 a a) 1) (*.f64 (pow.f64 a 4) -5/24))) (*.f64 (pow.f64 a 6) (fma.f64 b 1/48 (*.f64 b -19/180))))
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 b (/.f64 (cos.f64 a) r))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 b (/.f64 (cos.f64 a) r))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 b (/.f64 (cos.f64 a) r))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 b (/.f64 (cos.f64 a) r))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 b (/.f64 (cos.f64 a) r))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 b (/.f64 (cos.f64 a) r))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 b (/.f64 (cos.f64 a) r))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 b (/.f64 (cos.f64 a) r))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 b (/.f64 (cos.f64 a) r))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 b (/.f64 (cos.f64 a) r))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 b (/.f64 (cos.f64 a) r))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 b (/.f64 (cos.f64 a) r))
(*.f64 r (/.f64 b (cos.f64 a)))
(*.f64 b r)
(+.f64 (*.f64 b r) (*.f64 1/2 (*.f64 (pow.f64 a 2) (*.f64 b r))))
(fma.f64 b r (*.f64 1/2 (*.f64 (*.f64 a a) (*.f64 b r))))
(*.f64 (+.f64 (*.f64 1/2 (*.f64 a a)) 1) (*.f64 b r))
(*.f64 (*.f64 b (fma.f64 1/2 (*.f64 a a) 1)) r)
(*.f64 b (*.f64 (fma.f64 1/2 (*.f64 a a) 1) r))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 a 4) (+.f64 (*.f64 -1/4 (*.f64 r b)) (*.f64 1/24 (*.f64 b r))))) (+.f64 (*.f64 b r) (*.f64 1/2 (*.f64 (pow.f64 a 2) (*.f64 b r)))))
(fma.f64 -1 (*.f64 (pow.f64 a 4) (fma.f64 -1/4 (*.f64 b r) (*.f64 1/24 (*.f64 b r)))) (fma.f64 b r (*.f64 1/2 (*.f64 (*.f64 a a) (*.f64 b r)))))
(-.f64 (*.f64 (+.f64 (*.f64 1/2 (*.f64 a a)) 1) (*.f64 b r)) (*.f64 (pow.f64 a 4) (*.f64 (*.f64 b r) -5/24)))
(fma.f64 (fma.f64 1/2 (*.f64 a a) 1) (*.f64 b r) (*.f64 (pow.f64 a 4) (*.f64 (*.f64 b r) 5/24)))
(*.f64 (*.f64 b r) (-.f64 (fma.f64 1/2 (*.f64 a a) 1) (*.f64 (pow.f64 a 4) -5/24)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 a 4) (+.f64 (*.f64 -1/4 (*.f64 r b)) (*.f64 1/24 (*.f64 b r))))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 6) (+.f64 (*.f64 1/48 (*.f64 r b)) (+.f64 (*.f64 -1/720 (*.f64 b r)) (*.f64 1/2 (+.f64 (*.f64 -1/4 (*.f64 r b)) (*.f64 1/24 (*.f64 b r)))))))) (+.f64 (*.f64 b r) (*.f64 1/2 (*.f64 (pow.f64 a 2) (*.f64 b r))))))
(fma.f64 -1 (*.f64 (pow.f64 a 4) (fma.f64 -1/4 (*.f64 b r) (*.f64 1/24 (*.f64 b r)))) (fma.f64 -1 (*.f64 (pow.f64 a 6) (fma.f64 1/48 (*.f64 b r) (fma.f64 -1/720 (*.f64 b r) (*.f64 1/2 (fma.f64 -1/4 (*.f64 b r) (*.f64 1/24 (*.f64 b r))))))) (fma.f64 b r (*.f64 1/2 (*.f64 (*.f64 a a) (*.f64 b r))))))
(-.f64 (-.f64 (*.f64 (+.f64 (*.f64 1/2 (*.f64 a a)) 1) (*.f64 b r)) (*.f64 (pow.f64 a 6) (+.f64 (*.f64 1/2 (*.f64 (*.f64 b r) -5/24)) (*.f64 (*.f64 b r) 7/360)))) (*.f64 (pow.f64 a 4) (*.f64 (*.f64 b r) -5/24)))
(fma.f64 (fma.f64 1/2 (*.f64 a a) 1) (*.f64 b r) (fma.f64 (pow.f64 a 4) (*.f64 (*.f64 b r) 5/24) (*.f64 (pow.f64 a 6) (neg.f64 (fma.f64 b (*.f64 1/48 r) (*.f64 (*.f64 b r) -19/180))))))
(-.f64 (*.f64 (*.f64 b r) (-.f64 (fma.f64 1/2 (*.f64 a a) 1) (*.f64 (pow.f64 a 4) -5/24))) (*.f64 (pow.f64 a 6) (fma.f64 (*.f64 b r) 7/360 (*.f64 b (*.f64 r -5/48)))))
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 b (/.f64 (cos.f64 a) r))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 b (/.f64 (cos.f64 a) r))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 b (/.f64 (cos.f64 a) r))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 b (/.f64 (cos.f64 a) r))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 b (/.f64 (cos.f64 a) r))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 b (/.f64 (cos.f64 a) r))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 b (/.f64 (cos.f64 a) r))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 b (/.f64 (cos.f64 a) r))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 b (/.f64 (cos.f64 a) r))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 b (/.f64 (cos.f64 a) r))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 b (/.f64 (cos.f64 a) r))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 b (/.f64 (cos.f64 a) r))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 b (/.f64 (cos.f64 a) r))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 b (/.f64 (cos.f64 a) r))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 b (/.f64 (cos.f64 a) r))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 b (/.f64 (cos.f64 a) r))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 b (/.f64 (cos.f64 a) r))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 b (/.f64 (cos.f64 a) r))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 b (/.f64 (cos.f64 a) r))
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 (*.f64 r b) (cos.f64 a))
(/.f64 b (/.f64 (cos.f64 a) r))
(*.f64 r (/.f64 b (cos.f64 a)))

localize149.0ms (1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.2b
(/.f64 (cos.f64 (+.f64 b a)) (neg.f64 r))
0.3b
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) (neg.f64 r)))
4.3b
(cos.f64 (+.f64 b a))
Compiler

Compiled 34 to 9 computations (73.5% saved)

series20.0ms (0.1%)

Counts
2 → 72
Calls

18 calls:

TimeVariablePointExpression
2.0ms
a
@-inf
(/.f64 (cos.f64 (+.f64 b a)) (neg.f64 r))
2.0ms
b
@0
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) (neg.f64 r)))
2.0ms
a
@0
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) (neg.f64 r)))
1.0ms
b
@inf
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) (neg.f64 r)))
1.0ms
b
@-inf
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) (neg.f64 r)))

rewrite102.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
610×prod-diff_binary64
591×log-prod_binary64
295×pow2_binary64
216×fma-def_binary64
205×pow1/3_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01027
122923
2355123
Stop Event
node limit
Counts
2 → 102
Calls
Call 1
Inputs
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) (neg.f64 r)))
(/.f64 (cos.f64 (+.f64 b a)) (neg.f64 r))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sin.f64 b) (/.f64 r (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 b)) (/.f64 r (cos.f64 (+.f64 b a))))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 b)) (/.f64 r (cos.f64 (+.f64 b a)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 b)) (/.f64 r (cos.f64 (+.f64 b a)))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 b)) (/.f64 r (cos.f64 (+.f64 b a)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 b) (/.f64 r (cos.f64 (+.f64 b a)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 b) (/.f64 r (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 b) (/.f64 r (cos.f64 (+.f64 b a)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (sin.f64 b) (/.f64 r (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (sin.f64 b)) 2) (*.f64 (cbrt.f64 (sin.f64 b)) (/.f64 r (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (sin.f64 b) (/.f64 r (cos.f64 (+.f64 b a))))) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) (/.f64 r (cos.f64 (+.f64 b a))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) (/.f64 r (cos.f64 (+.f64 b a))))) 2) (cbrt.f64 (*.f64 (sin.f64 b) (/.f64 r (cos.f64 (+.f64 b a))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sin.f64 b)) (*.f64 (sqrt.f64 (sin.f64 b)) (/.f64 r (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (sin.f64 b) (/.f64 r (cos.f64 (+.f64 b a))))) (sqrt.f64 (*.f64 (sin.f64 b) (/.f64 r (cos.f64 (+.f64 b a))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sin.f64 b)) (/.f64 r (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (sin.f64 b)) 2) 1) (/.f64 (cbrt.f64 (sin.f64 b)) (/.f64 (cos.f64 (+.f64 b a)) r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (sin.f64 b)) 1) (/.f64 (sqrt.f64 (sin.f64 b)) (/.f64 (cos.f64 (+.f64 b a)) r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (sin.f64 b)) (cos.f64 (+.f64 b a))) (/.f64 (sqrt.f64 (sin.f64 b)) (/.f64 1 r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cos.f64 (+.f64 b a))) (/.f64 (sin.f64 b) (/.f64 1 r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (sin.f64 b)) 2) (cos.f64 (+.f64 b a))) (/.f64 (cbrt.f64 (sin.f64 b)) (/.f64 1 r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r)) 2)) (/.f64 (sin.f64 b) (cbrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (sin.f64 b)) 2) (pow.f64 (cbrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r)) 2)) (cbrt.f64 (*.f64 (sin.f64 b) (/.f64 r (cos.f64 (+.f64 b a))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (sin.f64 b)) (pow.f64 (cbrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r)) 2)) (/.f64 (sqrt.f64 (sin.f64 b)) (cbrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r))) (/.f64 (sin.f64 b) (sqrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (sin.f64 b)) 2) (sqrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r))) (/.f64 (cbrt.f64 (sin.f64 b)) (sqrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 b) 1) (/.f64 r (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 b) (neg.f64 (cos.f64 (+.f64 b a)))) r)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) 1) r)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) (pow.f64 (cbrt.f64 r) 2)) (cbrt.f64 r))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) (sqrt.f64 r)) (sqrt.f64 r))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) -1) r)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 b) (/.f64 r (cos.f64 (+.f64 b a)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sin.f64 b) (/.f64 r (cos.f64 (+.f64 b a)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) (/.f64 r (cos.f64 (+.f64 b a))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sin.f64 b) (/.f64 r (cos.f64 (+.f64 b a))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 (sin.f64 b) r)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 (/.f64 (cos.f64 (+.f64 b a)) r) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 (sin.f64 b) r)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (sin.f64 b) (/.f64 r (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (sin.f64 b) (/.f64 r (cos.f64 (+.f64 b a)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sin.f64 b)) (/.f64 r (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 b) (/.f64 r (cos.f64 (+.f64 b a)))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 1 (pow.f64 (exp.f64 (sin.f64 b)) (/.f64 r (cos.f64 (+.f64 b a))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 1 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 b) (/.f64 r (cos.f64 (+.f64 b a))))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sin.f64 b) (/.f64 r (cos.f64 (+.f64 b a)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 (/.f64 (cos.f64 (+.f64 b a)) r) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sin.f64 b) (/.f64 r (cos.f64 (+.f64 b a))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sin.f64 b) (/.f64 r (cos.f64 (+.f64 b a))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sin.f64 b) (/.f64 r (cos.f64 (+.f64 b a))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 b) (/.f64 r (cos.f64 (+.f64 b a))))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (cos.f64 (+.f64 b a)) r))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (cos.f64 (+.f64 b a)) r))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (cos.f64 (+.f64 b a)) r)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (cos.f64 (+.f64 b a)) r)))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (cos.f64 (+.f64 b a)) r)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 (cos.f64 (+.f64 b a)) r))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (cos.f64 (+.f64 b a)) r))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (cos.f64 b) (cos.f64 a)) r) (/.f64 (*.f64 (sin.f64 b) (sin.f64 a)) r))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 (+.f64 b a)) (/.f64 1 r))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 (+.f64 b a)) (neg.f64 (/.f64 1 r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cos.f64 (+.f64 b a)) r) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (cos.f64 (+.f64 b a)) r))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r)) (pow.f64 (cbrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r)) 2) (cbrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r)) 2) (neg.f64 (cbrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 2) (*.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) (/.f64 1 r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r)) (sqrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r)) (neg.f64 (sqrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cos.f64 (+.f64 b a))) (*.f64 (sqrt.f64 (cos.f64 (+.f64 b a))) (/.f64 1 r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (cos.f64 (+.f64 b a))) (/.f64 1 r))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 r) (cos.f64 (+.f64 b a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (cos.f64 (+.f64 b a)) r))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 2) 1) (/.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) r))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (cos.f64 (+.f64 b a))) 1) (/.f64 (sqrt.f64 (cos.f64 (+.f64 b a))) r))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 r) 2)) (/.f64 (cos.f64 (+.f64 b a)) (cbrt.f64 r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 2) (pow.f64 (cbrt.f64 r) 2)) (cbrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (cos.f64 (+.f64 b a))) (pow.f64 (cbrt.f64 r) 2)) (/.f64 (sqrt.f64 (cos.f64 (+.f64 b a))) (cbrt.f64 r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 r)) (/.f64 (cos.f64 (+.f64 b a)) (sqrt.f64 r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 2) (sqrt.f64 r)) (/.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) (sqrt.f64 r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 2) -1) (/.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) r))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (cos.f64 (+.f64 b a))) -1) (/.f64 (sqrt.f64 (cos.f64 (+.f64 b a))) r))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r))) (sqrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 (cbrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r)) 2)) (cbrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (cos.f64 (+.f64 b a)) r) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (cos.f64 (+.f64 b a)) r) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 r (cos.f64 (+.f64 b a))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (cos.f64 (+.f64 b a)) 3) (pow.f64 r 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 r (cos.f64 (+.f64 b a))) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (cos.f64 (+.f64 b a)) r))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (cos.f64 (+.f64 b a)) r) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (cos.f64 (+.f64 b a)) r)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (cos.f64 (+.f64 b a)) r))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 1 (exp.f64 (/.f64 (cos.f64 (+.f64 b a)) r))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 1 (+.f64 1 (expm1.f64 (/.f64 (cos.f64 (+.f64 b a)) r)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 1 (/.f64 1 (exp.f64 (/.f64 (cos.f64 (+.f64 b a)) r)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (cos.f64 (+.f64 b a)) r) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (cos.f64 (+.f64 b a)) 3) (pow.f64 r 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (cos.f64 (+.f64 b a)) r)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (cos.f64 (+.f64 b a)) r)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (cos.f64 (+.f64 b a)) r)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (cos.f64 (+.f64 b a)) r)) 1))))))

simplify110.0ms (0.7%)

Algorithm
egg-herbie
Rules
539×associate-*r*_binary64
470×associate-*l*_binary64
423×associate-/l*_binary64
405×times-frac_binary64
355×fma-def_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01361550
14391497
213731453
374831444
Stop Event
node limit
Counts
174 → 142
Calls
Call 1
Inputs
(*.f64 -1 (/.f64 (*.f64 r b) (cos.f64 a)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 r b) (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (sin.f64 a) (*.f64 (pow.f64 b 2) r)) (pow.f64 (cos.f64 a) 2))))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 b 3) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (+.f64 (*.f64 -1/2 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3))))))) (+.f64 (*.f64 -1 (/.f64 (*.f64 r b) (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (sin.f64 a) (*.f64 (pow.f64 b 2) r)) (pow.f64 (cos.f64 a) 2)))))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 b 3) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (+.f64 (*.f64 -1/2 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3))))))) (+.f64 (*.f64 -1 (/.f64 (*.f64 r b) (cos.f64 a))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 a) (*.f64 (pow.f64 b 2) r)) (pow.f64 (cos.f64 a) 2))) (*.f64 (+.f64 (*.f64 1/6 (/.f64 (*.f64 (sin.f64 a) r) (pow.f64 (cos.f64 a) 2))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 a) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (+.f64 (*.f64 -1/2 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3)))))) (cos.f64 a))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 a) r) (pow.f64 (cos.f64 a) 2))))) (pow.f64 b 4)))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 a (*.f64 -1 b)))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 a (*.f64 -1 b)))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 a (*.f64 -1 b)))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 a (*.f64 -1 b)))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 a r)) (pow.f64 (cos.f64 b) 2))) (*.f64 -1 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))))
(+.f64 (*.f64 (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 3) r) (pow.f64 (cos.f64 b) 3))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))) (pow.f64 a 2)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 a r)) (pow.f64 (cos.f64 b) 2))) (*.f64 -1 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))))
(+.f64 (*.f64 (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 3) r) (pow.f64 (cos.f64 b) 3))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))) (pow.f64 a 2)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 a r)) (pow.f64 (cos.f64 b) 2))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))) (*.f64 (+.f64 (/.f64 (*.f64 (sin.f64 b) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 3) r) (pow.f64 (cos.f64 b) 3))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))))) (cos.f64 b)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) r) (pow.f64 (cos.f64 b) 2))) (*.f64 1/6 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) r) (pow.f64 (cos.f64 b) 2))))) (pow.f64 a 3)))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 b (*.f64 -1 a)))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 b (*.f64 -1 a)))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 b (*.f64 -1 a)))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 b (*.f64 -1 a)))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b))))
(*.f64 -1 (/.f64 (cos.f64 a) r))
(+.f64 (*.f64 -1 (/.f64 (cos.f64 a) r)) (/.f64 (*.f64 (sin.f64 a) b) r))
(+.f64 (*.f64 -1 (/.f64 (cos.f64 a) r)) (+.f64 (/.f64 (*.f64 (sin.f64 a) b) r) (*.f64 1/2 (/.f64 (*.f64 (cos.f64 a) (pow.f64 b 2)) r))))
(+.f64 (*.f64 -1/6 (/.f64 (*.f64 (sin.f64 a) (pow.f64 b 3)) r)) (+.f64 (*.f64 -1 (/.f64 (cos.f64 a) r)) (+.f64 (/.f64 (*.f64 (sin.f64 a) b) r) (*.f64 1/2 (/.f64 (*.f64 (cos.f64 a) (pow.f64 b 2)) r)))))
(*.f64 -1 (/.f64 (cos.f64 (+.f64 a b)) r))
(*.f64 -1 (/.f64 (cos.f64 (+.f64 a b)) r))
(*.f64 -1 (/.f64 (cos.f64 (+.f64 a b)) r))
(*.f64 -1 (/.f64 (cos.f64 (+.f64 a b)) r))
(*.f64 -1 (/.f64 (cos.f64 (-.f64 a (*.f64 -1 b))) r))
(*.f64 -1 (/.f64 (cos.f64 (-.f64 a (*.f64 -1 b))) r))
(*.f64 -1 (/.f64 (cos.f64 (-.f64 a (*.f64 -1 b))) r))
(*.f64 -1 (/.f64 (cos.f64 (-.f64 a (*.f64 -1 b))) r))
(*.f64 -1 (/.f64 (cos.f64 b) r))
(+.f64 (*.f64 -1 (/.f64 (cos.f64 b) r)) (/.f64 (*.f64 (sin.f64 b) a) r))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 a 2) (cos.f64 b)) r)) (+.f64 (*.f64 -1 (/.f64 (cos.f64 b) r)) (/.f64 (*.f64 (sin.f64 b) a) r)))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 a 2) (cos.f64 b)) r)) (+.f64 (*.f64 -1 (/.f64 (cos.f64 b) r)) (+.f64 (*.f64 -1/6 (/.f64 (*.f64 (sin.f64 b) (pow.f64 a 3)) r)) (/.f64 (*.f64 (sin.f64 b) a) r))))
(*.f64 -1 (/.f64 (cos.f64 (+.f64 a b)) r))
(*.f64 -1 (/.f64 (cos.f64 (+.f64 a b)) r))
(*.f64 -1 (/.f64 (cos.f64 (+.f64 a b)) r))
(*.f64 -1 (/.f64 (cos.f64 (+.f64 a b)) r))
(*.f64 -1 (/.f64 (cos.f64 (-.f64 b (*.f64 -1 a))) r))
(*.f64 -1 (/.f64 (cos.f64 (-.f64 b (*.f64 -1 a))) r))
(*.f64 -1 (/.f64 (cos.f64 (-.f64 b (*.f64 -1 a))) r))
(*.f64 -1 (/.f64 (cos.f64 (-.f64 b (*.f64 -1 a))) r))
(*.f64 -1 (/.f64 (cos.f64 (+.f64 a b)) r))
(*.f64 -1 (/.f64 (cos.f64 (+.f64 a b)) r))
(*.f64 -1 (/.f64 (cos.f64 (+.f64 a b)) r))
(*.f64 -1 (/.f64 (cos.f64 (+.f64 a b)) r))
(*.f64 -1 (/.f64 (cos.f64 (+.f64 a b)) r))
(*.f64 -1 (/.f64 (cos.f64 (+.f64 a b)) r))
(*.f64 -1 (/.f64 (cos.f64 (+.f64 a b)) r))
(*.f64 -1 (/.f64 (cos.f64 (+.f64 a b)) r))
(*.f64 -1 (/.f64 (cos.f64 (+.f64 a b)) r))
(*.f64 -1 (/.f64 (cos.f64 (+.f64 a b)) r))
(*.f64 -1 (/.f64 (cos.f64 (+.f64 a b)) r))
(*.f64 -1 (/.f64 (cos.f64 (+.f64 a b)) r))
Outputs
(*.f64 -1 (/.f64 (*.f64 r b) (cos.f64 a)))
(neg.f64 (/.f64 r (/.f64 (cos.f64 a) b)))
(/.f64 (*.f64 (neg.f64 b) r) (cos.f64 a))
(/.f64 (*.f64 b (neg.f64 r)) (cos.f64 a))
(+.f64 (*.f64 -1 (/.f64 (*.f64 r b) (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (sin.f64 a) (*.f64 (pow.f64 b 2) r)) (pow.f64 (cos.f64 a) 2))))
(fma.f64 -1 (/.f64 r (/.f64 (cos.f64 a) b)) (neg.f64 (/.f64 (sin.f64 a) (/.f64 (pow.f64 (cos.f64 a) 2) (*.f64 r (*.f64 b b))))))
(-.f64 (/.f64 (*.f64 (neg.f64 b) r) (cos.f64 a)) (/.f64 (*.f64 r (*.f64 (sin.f64 a) (*.f64 b b))) (pow.f64 (cos.f64 a) 2)))
(neg.f64 (fma.f64 (/.f64 r (cos.f64 a)) b (*.f64 (/.f64 (sin.f64 a) (/.f64 (pow.f64 (cos.f64 a) 2) r)) (*.f64 b b))))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 b 3) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (+.f64 (*.f64 -1/2 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3))))))) (+.f64 (*.f64 -1 (/.f64 (*.f64 r b) (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (sin.f64 a) (*.f64 (pow.f64 b 2) r)) (pow.f64 (cos.f64 a) 2)))))
(fma.f64 -1 (*.f64 (pow.f64 b 3) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (fma.f64 -1/2 (/.f64 r (cos.f64 a)) (neg.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (/.f64 (pow.f64 (cos.f64 a) 3) r)))))) (fma.f64 -1 (/.f64 r (/.f64 (cos.f64 a) b)) (neg.f64 (/.f64 (sin.f64 a) (/.f64 (pow.f64 (cos.f64 a) 2) (*.f64 r (*.f64 b b)))))))
(-.f64 (-.f64 (/.f64 (*.f64 (neg.f64 b) r) (cos.f64 a)) (/.f64 (*.f64 r (*.f64 (sin.f64 a) (*.f64 b b))) (pow.f64 (cos.f64 a) 2))) (*.f64 (pow.f64 b 3) (-.f64 (*.f64 (/.f64 r (cos.f64 a)) 1/3) (/.f64 (neg.f64 (*.f64 r (pow.f64 (sin.f64 a) 2))) (pow.f64 (cos.f64 a) 3)))))
(neg.f64 (fma.f64 (pow.f64 b 3) (fma.f64 (/.f64 r (cos.f64 a)) 1/3 (*.f64 (/.f64 r (pow.f64 (cos.f64 a) 3)) (pow.f64 (sin.f64 a) 2))) (fma.f64 (/.f64 r (cos.f64 a)) b (*.f64 (/.f64 (sin.f64 a) (/.f64 (pow.f64 (cos.f64 a) 2) r)) (*.f64 b b)))))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 b 3) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (+.f64 (*.f64 -1/2 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3))))))) (+.f64 (*.f64 -1 (/.f64 (*.f64 r b) (cos.f64 a))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 a) (*.f64 (pow.f64 b 2) r)) (pow.f64 (cos.f64 a) 2))) (*.f64 (+.f64 (*.f64 1/6 (/.f64 (*.f64 (sin.f64 a) r) (pow.f64 (cos.f64 a) 2))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 a) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (+.f64 (*.f64 -1/2 (/.f64 r (cos.f64 a))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 a) 2) r) (pow.f64 (cos.f64 a) 3)))))) (cos.f64 a))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 a) r) (pow.f64 (cos.f64 a) 2))))) (pow.f64 b 4)))))
(fma.f64 -1 (*.f64 (pow.f64 b 3) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (fma.f64 -1/2 (/.f64 r (cos.f64 a)) (neg.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (/.f64 (pow.f64 (cos.f64 a) 3) r)))))) (fma.f64 -1 (/.f64 r (/.f64 (cos.f64 a) b)) (fma.f64 -1 (/.f64 (sin.f64 a) (/.f64 (pow.f64 (cos.f64 a) 2) (*.f64 r (*.f64 b b)))) (*.f64 (fma.f64 1/6 (/.f64 (sin.f64 a) (/.f64 (pow.f64 (cos.f64 a) 2) r)) (fma.f64 -1 (/.f64 (*.f64 (sin.f64 a) (-.f64 (*.f64 -1/6 (/.f64 r (cos.f64 a))) (fma.f64 -1/2 (/.f64 r (cos.f64 a)) (neg.f64 (/.f64 (pow.f64 (sin.f64 a) 2) (/.f64 (pow.f64 (cos.f64 a) 3) r)))))) (cos.f64 a)) (*.f64 -1/2 (/.f64 (sin.f64 a) (/.f64 (pow.f64 (cos.f64 a) 2) r))))) (pow.f64 b 4)))))
(-.f64 (-.f64 (fma.f64 (fma.f64 1/6 (/.f64 r (/.f64 (pow.f64 (cos.f64 a) 2) (sin.f64 a))) (fma.f64 -1/2 (/.f64 r (/.f64 (pow.f64 (cos.f64 a) 2) (sin.f64 a))) (/.f64 (neg.f64 (*.f64 (sin.f64 a) (-.f64 (*.f64 (/.f64 r (cos.f64 a)) 1/3) (/.f64 (neg.f64 (*.f64 r (pow.f64 (sin.f64 a) 2))) (pow.f64 (cos.f64 a) 3))))) (cos.f64 a)))) (pow.f64 b 4) (/.f64 (neg.f64 (*.f64 r (*.f64 (sin.f64 a) (*.f64 b b)))) (pow.f64 (cos.f64 a) 2))) (*.f64 (/.f64 r (cos.f64 a)) b)) (*.f64 (pow.f64 b 3) (-.f64 (*.f64 (/.f64 r (cos.f64 a)) 1/3) (/.f64 (neg.f64 (*.f64 r (pow.f64 (sin.f64 a) 2))) (pow.f64 (cos.f64 a) 3)))))
(fma.f64 -1 (fma.f64 (pow.f64 b 3) (fma.f64 (/.f64 r (cos.f64 a)) 1/3 (*.f64 (/.f64 r (pow.f64 (cos.f64 a) 3)) (pow.f64 (sin.f64 a) 2))) (fma.f64 (/.f64 r (cos.f64 a)) b (*.f64 (/.f64 (sin.f64 a) (/.f64 (pow.f64 (cos.f64 a) 2) r)) (*.f64 b b)))) (*.f64 (-.f64 (*.f64 (/.f64 (sin.f64 a) (/.f64 (pow.f64 (cos.f64 a) 2) r)) -1/3) (*.f64 (fma.f64 (/.f64 r (cos.f64 a)) 1/3 (*.f64 (/.f64 r (pow.f64 (cos.f64 a) 3)) (pow.f64 (sin.f64 a) 2))) (/.f64 (sin.f64 a) (cos.f64 a)))) (pow.f64 b 4)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b))))
(neg.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r)))
(/.f64 (neg.f64 (sin.f64 b)) (/.f64 (cos.f64 (+.f64 b a)) r))
(/.f64 (*.f64 (sin.f64 b) (neg.f64 r)) (cos.f64 (+.f64 b a)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b))))
(neg.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r)))
(/.f64 (neg.f64 (sin.f64 b)) (/.f64 (cos.f64 (+.f64 b a)) r))
(/.f64 (*.f64 (sin.f64 b) (neg.f64 r)) (cos.f64 (+.f64 b a)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b))))
(neg.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r)))
(/.f64 (neg.f64 (sin.f64 b)) (/.f64 (cos.f64 (+.f64 b a)) r))
(/.f64 (*.f64 (sin.f64 b) (neg.f64 r)) (cos.f64 (+.f64 b a)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b))))
(neg.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r)))
(/.f64 (neg.f64 (sin.f64 b)) (/.f64 (cos.f64 (+.f64 b a)) r))
(/.f64 (*.f64 (sin.f64 b) (neg.f64 r)) (cos.f64 (+.f64 b a)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 a (*.f64 -1 b)))))
(neg.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r)))
(/.f64 (neg.f64 (sin.f64 b)) (/.f64 (cos.f64 (+.f64 b a)) r))
(/.f64 (*.f64 (sin.f64 b) (neg.f64 r)) (cos.f64 (+.f64 b a)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 a (*.f64 -1 b)))))
(neg.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r)))
(/.f64 (neg.f64 (sin.f64 b)) (/.f64 (cos.f64 (+.f64 b a)) r))
(/.f64 (*.f64 (sin.f64 b) (neg.f64 r)) (cos.f64 (+.f64 b a)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 a (*.f64 -1 b)))))
(neg.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r)))
(/.f64 (neg.f64 (sin.f64 b)) (/.f64 (cos.f64 (+.f64 b a)) r))
(/.f64 (*.f64 (sin.f64 b) (neg.f64 r)) (cos.f64 (+.f64 b a)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 a (*.f64 -1 b)))))
(neg.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r)))
(/.f64 (neg.f64 (sin.f64 b)) (/.f64 (cos.f64 (+.f64 b a)) r))
(/.f64 (*.f64 (sin.f64 b) (neg.f64 r)) (cos.f64 (+.f64 b a)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))
(neg.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r)))
(/.f64 (neg.f64 (sin.f64 b)) (/.f64 (cos.f64 b) r))
(/.f64 (*.f64 (sin.f64 b) (neg.f64 r)) (cos.f64 b))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 a r)) (pow.f64 (cos.f64 b) 2))) (*.f64 -1 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))))
(*.f64 -1 (+.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (/.f64 (pow.f64 (cos.f64 b) 2) (*.f64 r a))) (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r))))
(-.f64 (/.f64 (neg.f64 (sin.f64 b)) (/.f64 (cos.f64 b) r)) (*.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)) (*.f64 r a)))
(neg.f64 (fma.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)) (*.f64 r a) (*.f64 r (/.f64 (sin.f64 b) (cos.f64 b)))))
(+.f64 (*.f64 (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 3) r) (pow.f64 (cos.f64 b) 3))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))) (pow.f64 a 2)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 a r)) (pow.f64 (cos.f64 b) 2))) (*.f64 -1 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))))
(fma.f64 (fma.f64 -1 (/.f64 (pow.f64 (sin.f64 b) 3) (/.f64 (pow.f64 (cos.f64 b) 3) r)) (*.f64 -1/2 (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r)))) (*.f64 a a) (*.f64 -1 (+.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (/.f64 (pow.f64 (cos.f64 b) 2) (*.f64 r a))) (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r)))))
(-.f64 (-.f64 (*.f64 (fma.f64 -1/2 (*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r) (/.f64 (neg.f64 (pow.f64 (sin.f64 b) 3)) (/.f64 (pow.f64 (cos.f64 b) 3) r))) (*.f64 a a)) (*.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)) (*.f64 r a))) (*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r))
(-.f64 (*.f64 (fma.f64 -1/2 (*.f64 r (/.f64 (sin.f64 b) (cos.f64 b))) (*.f64 (/.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 (cos.f64 b) 3)) (neg.f64 r))) (*.f64 a a)) (fma.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)) (*.f64 r a) (*.f64 r (/.f64 (sin.f64 b) (cos.f64 b)))))
(-.f64 (*.f64 (fma.f64 -1/2 (*.f64 r (/.f64 (sin.f64 b) (cos.f64 b))) (*.f64 (pow.f64 (/.f64 (sin.f64 b) (cos.f64 b)) 3) (neg.f64 r))) (*.f64 a a)) (fma.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)) (*.f64 r a) (*.f64 r (/.f64 (sin.f64 b) (cos.f64 b)))))
(+.f64 (*.f64 (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 3) r) (pow.f64 (cos.f64 b) 3))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)))) (pow.f64 a 2)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) (*.f64 a r)) (pow.f64 (cos.f64 b) 2))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))) (*.f64 (+.f64 (/.f64 (*.f64 (sin.f64 b) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 3) r) (pow.f64 (cos.f64 b) 3))) (*.f64 -1/2 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))))) (cos.f64 b)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) r) (pow.f64 (cos.f64 b) 2))) (*.f64 1/6 (/.f64 (*.f64 (pow.f64 (sin.f64 b) 2) r) (pow.f64 (cos.f64 b) 2))))) (pow.f64 a 3)))))
(fma.f64 (fma.f64 -1 (/.f64 (pow.f64 (sin.f64 b) 3) (/.f64 (pow.f64 (cos.f64 b) 3) r)) (*.f64 -1/2 (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r)))) (*.f64 a a) (fma.f64 -1 (/.f64 (pow.f64 (sin.f64 b) 2) (/.f64 (pow.f64 (cos.f64 b) 2) (*.f64 r a))) (fma.f64 -1 (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r)) (*.f64 (+.f64 (/.f64 (*.f64 (sin.f64 b) (fma.f64 -1 (/.f64 (pow.f64 (sin.f64 b) 3) (/.f64 (pow.f64 (cos.f64 b) 3) r)) (*.f64 -1/2 (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r))))) (cos.f64 b)) (*.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (/.f64 (pow.f64 (cos.f64 b) 2) r)) -1/3)) (pow.f64 a 3)))))
(fma.f64 (fma.f64 -1/2 (*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r) (/.f64 (neg.f64 (pow.f64 (sin.f64 b) 3)) (/.f64 (pow.f64 (cos.f64 b) 3) r))) (*.f64 a a) (-.f64 (-.f64 (*.f64 (fma.f64 (*.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)) r) -1/3 (*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) (fma.f64 -1/2 (*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r) (/.f64 (neg.f64 (pow.f64 (sin.f64 b) 3)) (/.f64 (pow.f64 (cos.f64 b) 3) r))))) (pow.f64 a 3)) (*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r)) (*.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)) (*.f64 r a))))
(fma.f64 -1 (fma.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)) (*.f64 r a) (*.f64 r (/.f64 (sin.f64 b) (cos.f64 b)))) (*.f64 (*.f64 a a) (+.f64 (*.f64 a (fma.f64 (/.f64 (sin.f64 b) (cos.f64 b)) (fma.f64 -1/2 (*.f64 r (/.f64 (sin.f64 b) (cos.f64 b))) (*.f64 (/.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 (cos.f64 b) 3)) (neg.f64 r))) (*.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (/.f64 (pow.f64 (cos.f64 b) 2) r)) -1/3))) (fma.f64 -1/2 (*.f64 r (/.f64 (sin.f64 b) (cos.f64 b))) (*.f64 (/.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 (cos.f64 b) 3)) (neg.f64 r))))))
(fma.f64 -1 (fma.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 (cos.f64 b) 2)) (*.f64 r a) (*.f64 r (/.f64 (sin.f64 b) (cos.f64 b)))) (*.f64 (*.f64 a a) (+.f64 (*.f64 a (fma.f64 (/.f64 (sin.f64 b) (cos.f64 b)) (fma.f64 -1/2 (*.f64 r (/.f64 (sin.f64 b) (cos.f64 b))) (*.f64 (pow.f64 (/.f64 (sin.f64 b) (cos.f64 b)) 3) (neg.f64 r))) (*.f64 (/.f64 (pow.f64 (sin.f64 b) 2) (/.f64 (pow.f64 (cos.f64 b) 2) r)) -1/3))) (fma.f64 -1/2 (*.f64 r (/.f64 (sin.f64 b) (cos.f64 b))) (*.f64 (pow.f64 (/.f64 (sin.f64 b) (cos.f64 b)) 3) (neg.f64 r))))))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b))))
(neg.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r)))
(/.f64 (neg.f64 (sin.f64 b)) (/.f64 (cos.f64 (+.f64 b a)) r))
(/.f64 (*.f64 (sin.f64 b) (neg.f64 r)) (cos.f64 (+.f64 b a)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b))))
(neg.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r)))
(/.f64 (neg.f64 (sin.f64 b)) (/.f64 (cos.f64 (+.f64 b a)) r))
(/.f64 (*.f64 (sin.f64 b) (neg.f64 r)) (cos.f64 (+.f64 b a)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b))))
(neg.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r)))
(/.f64 (neg.f64 (sin.f64 b)) (/.f64 (cos.f64 (+.f64 b a)) r))
(/.f64 (*.f64 (sin.f64 b) (neg.f64 r)) (cos.f64 (+.f64 b a)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b))))
(neg.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r)))
(/.f64 (neg.f64 (sin.f64 b)) (/.f64 (cos.f64 (+.f64 b a)) r))
(/.f64 (*.f64 (sin.f64 b) (neg.f64 r)) (cos.f64 (+.f64 b a)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 b (*.f64 -1 a)))))
(neg.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r)))
(/.f64 (neg.f64 (sin.f64 b)) (/.f64 (cos.f64 (+.f64 b a)) r))
(/.f64 (*.f64 (sin.f64 b) (neg.f64 r)) (cos.f64 (+.f64 b a)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 b (*.f64 -1 a)))))
(neg.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r)))
(/.f64 (neg.f64 (sin.f64 b)) (/.f64 (cos.f64 (+.f64 b a)) r))
(/.f64 (*.f64 (sin.f64 b) (neg.f64 r)) (cos.f64 (+.f64 b a)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 b (*.f64 -1 a)))))
(neg.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r)))
(/.f64 (neg.f64 (sin.f64 b)) (/.f64 (cos.f64 (+.f64 b a)) r))
(/.f64 (*.f64 (sin.f64 b) (neg.f64 r)) (cos.f64 (+.f64 b a)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (-.f64 b (*.f64 -1 a)))))
(neg.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r)))
(/.f64 (neg.f64 (sin.f64 b)) (/.f64 (cos.f64 (+.f64 b a)) r))
(/.f64 (*.f64 (sin.f64 b) (neg.f64 r)) (cos.f64 (+.f64 b a)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b))))
(neg.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r)))
(/.f64 (neg.f64 (sin.f64 b)) (/.f64 (cos.f64 (+.f64 b a)) r))
(/.f64 (*.f64 (sin.f64 b) (neg.f64 r)) (cos.f64 (+.f64 b a)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b))))
(neg.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r)))
(/.f64 (neg.f64 (sin.f64 b)) (/.f64 (cos.f64 (+.f64 b a)) r))
(/.f64 (*.f64 (sin.f64 b) (neg.f64 r)) (cos.f64 (+.f64 b a)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b))))
(neg.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r)))
(/.f64 (neg.f64 (sin.f64 b)) (/.f64 (cos.f64 (+.f64 b a)) r))
(/.f64 (*.f64 (sin.f64 b) (neg.f64 r)) (cos.f64 (+.f64 b a)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b))))
(neg.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r)))
(/.f64 (neg.f64 (sin.f64 b)) (/.f64 (cos.f64 (+.f64 b a)) r))
(/.f64 (*.f64 (sin.f64 b) (neg.f64 r)) (cos.f64 (+.f64 b a)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b))))
(neg.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r)))
(/.f64 (neg.f64 (sin.f64 b)) (/.f64 (cos.f64 (+.f64 b a)) r))
(/.f64 (*.f64 (sin.f64 b) (neg.f64 r)) (cos.f64 (+.f64 b a)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b))))
(neg.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r)))
(/.f64 (neg.f64 (sin.f64 b)) (/.f64 (cos.f64 (+.f64 b a)) r))
(/.f64 (*.f64 (sin.f64 b) (neg.f64 r)) (cos.f64 (+.f64 b a)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b))))
(neg.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r)))
(/.f64 (neg.f64 (sin.f64 b)) (/.f64 (cos.f64 (+.f64 b a)) r))
(/.f64 (*.f64 (sin.f64 b) (neg.f64 r)) (cos.f64 (+.f64 b a)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b))))
(neg.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r)))
(/.f64 (neg.f64 (sin.f64 b)) (/.f64 (cos.f64 (+.f64 b a)) r))
(/.f64 (*.f64 (sin.f64 b) (neg.f64 r)) (cos.f64 (+.f64 b a)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b))))
(neg.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r)))
(/.f64 (neg.f64 (sin.f64 b)) (/.f64 (cos.f64 (+.f64 b a)) r))
(/.f64 (*.f64 (sin.f64 b) (neg.f64 r)) (cos.f64 (+.f64 b a)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b))))
(neg.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r)))
(/.f64 (neg.f64 (sin.f64 b)) (/.f64 (cos.f64 (+.f64 b a)) r))
(/.f64 (*.f64 (sin.f64 b) (neg.f64 r)) (cos.f64 (+.f64 b a)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b))))
(neg.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r)))
(/.f64 (neg.f64 (sin.f64 b)) (/.f64 (cos.f64 (+.f64 b a)) r))
(/.f64 (*.f64 (sin.f64 b) (neg.f64 r)) (cos.f64 (+.f64 b a)))
(*.f64 -1 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 a b))))
(neg.f64 (/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r)))
(/.f64 (neg.f64 (sin.f64 b)) (/.f64 (cos.f64 (+.f64 b a)) r))
(/.f64 (*.f64 (sin.f64 b) (neg.f64 r)) (cos.f64 (+.f64 b a)))
(*.f64 -1 (/.f64 (cos.f64 a) r))
(neg.f64 (/.f64 (cos.f64 a) r))
(/.f64 (neg.f64 (cos.f64 a)) r)
(+.f64 (*.f64 -1 (/.f64 (cos.f64 a) r)) (/.f64 (*.f64 (sin.f64 a) b) r))
(fma.f64 -1 (/.f64 (cos.f64 a) r) (/.f64 (sin.f64 a) (/.f64 r b)))
(-.f64 (/.f64 b (/.f64 r (sin.f64 a))) (/.f64 (cos.f64 a) r))
(-.f64 (*.f64 b (/.f64 (sin.f64 a) r)) (/.f64 (cos.f64 a) r))
(+.f64 (*.f64 -1 (/.f64 (cos.f64 a) r)) (+.f64 (/.f64 (*.f64 (sin.f64 a) b) r) (*.f64 1/2 (/.f64 (*.f64 (cos.f64 a) (pow.f64 b 2)) r))))
(+.f64 (fma.f64 -1 (/.f64 (cos.f64 a) r) (/.f64 (sin.f64 a) (/.f64 r b))) (*.f64 1/2 (/.f64 (cos.f64 a) (/.f64 r (*.f64 b b)))))
(-.f64 (fma.f64 1/2 (*.f64 (/.f64 (cos.f64 a) r) (*.f64 b b)) (/.f64 b (/.f64 r (sin.f64 a)))) (/.f64 (cos.f64 a) r))
(-.f64 (fma.f64 (/.f64 (sin.f64 a) r) b (*.f64 (/.f64 (cos.f64 a) r) (*.f64 (*.f64 b b) 1/2))) (/.f64 (cos.f64 a) r))
(+.f64 (*.f64 -1/6 (/.f64 (*.f64 (sin.f64 a) (pow.f64 b 3)) r)) (+.f64 (*.f64 -1 (/.f64 (cos.f64 a) r)) (+.f64 (/.f64 (*.f64 (sin.f64 a) b) r) (*.f64 1/2 (/.f64 (*.f64 (cos.f64 a) (pow.f64 b 2)) r)))))
(fma.f64 -1/6 (/.f64 (sin.f64 a) (/.f64 r (pow.f64 b 3))) (+.f64 (fma.f64 -1 (/.f64 (cos.f64 a) r) (/.f64 (sin.f64 a) (/.f64 r b))) (*.f64 1/2 (/.f64 (cos.f64 a) (/.f64 r (*.f64 b b))))))
(fma.f64 -1/6 (*.f64 (/.f64 (sin.f64 a) r) (pow.f64 b 3)) (-.f64 (fma.f64 1/2 (*.f64 (/.f64 (cos.f64 a) r) (*.f64 b b)) (/.f64 b (/.f64 r (sin.f64 a)))) (/.f64 (cos.f64 a) r)))
(-.f64 (fma.f64 -1/6 (*.f64 (pow.f64 b 3) (/.f64 (sin.f64 a) r)) (fma.f64 (/.f64 (sin.f64 a) r) b (*.f64 (/.f64 (cos.f64 a) r) (*.f64 (*.f64 b b) 1/2)))) (/.f64 (cos.f64 a) r))
(*.f64 -1 (/.f64 (cos.f64 (+.f64 a b)) r))
(neg.f64 (/.f64 (cos.f64 (+.f64 b a)) r))
(/.f64 (neg.f64 (cos.f64 (+.f64 b a))) r)
(*.f64 -1 (/.f64 (cos.f64 (+.f64 a b)) r))
(neg.f64 (/.f64 (cos.f64 (+.f64 b a)) r))
(/.f64 (neg.f64 (cos.f64 (+.f64 b a))) r)
(*.f64 -1 (/.f64 (cos.f64 (+.f64 a b)) r))
(neg.f64 (/.f64 (cos.f64 (+.f64 b a)) r))
(/.f64 (neg.f64 (cos.f64 (+.f64 b a))) r)
(*.f64 -1 (/.f64 (cos.f64 (+.f64 a b)) r))
(neg.f64 (/.f64 (cos.f64 (+.f64 b a)) r))
(/.f64 (neg.f64 (cos.f64 (+.f64 b a))) r)
(*.f64 -1 (/.f64 (cos.f64 (-.f64 a (*.f64 -1 b))) r))
(neg.f64 (/.f64 (cos.f64 (+.f64 b a)) r))
(/.f64 (neg.f64 (cos.f64 (+.f64 b a))) r)
(*.f64 -1 (/.f64 (cos.f64 (-.f64 a (*.f64 -1 b))) r))
(neg.f64 (/.f64 (cos.f64 (+.f64 b a)) r))
(/.f64 (neg.f64 (cos.f64 (+.f64 b a))) r)
(*.f64 -1 (/.f64 (cos.f64 (-.f64 a (*.f64 -1 b))) r))
(neg.f64 (/.f64 (cos.f64 (+.f64 b a)) r))
(/.f64 (neg.f64 (cos.f64 (+.f64 b a))) r)
(*.f64 -1 (/.f64 (cos.f64 (-.f64 a (*.f64 -1 b))) r))
(neg.f64 (/.f64 (cos.f64 (+.f64 b a)) r))
(/.f64 (neg.f64 (cos.f64 (+.f64 b a))) r)
(*.f64 -1 (/.f64 (cos.f64 b) r))
(neg.f64 (/.f64 (cos.f64 b) r))
(/.f64 (neg.f64 (cos.f64 b)) r)
(+.f64 (*.f64 -1 (/.f64 (cos.f64 b) r)) (/.f64 (*.f64 (sin.f64 b) a) r))
(fma.f64 -1 (/.f64 (cos.f64 b) r) (/.f64 (sin.f64 b) (/.f64 r a)))
(-.f64 (*.f64 (/.f64 (sin.f64 b) r) a) (/.f64 (cos.f64 b) r))
(-.f64 (*.f64 a (/.f64 (sin.f64 b) r)) (/.f64 (cos.f64 b) r))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 a 2) (cos.f64 b)) r)) (+.f64 (*.f64 -1 (/.f64 (cos.f64 b) r)) (/.f64 (*.f64 (sin.f64 b) a) r)))
(fma.f64 1/2 (/.f64 (*.f64 (cos.f64 b) (*.f64 a a)) r) (fma.f64 -1 (/.f64 (cos.f64 b) r) (/.f64 (sin.f64 b) (/.f64 r a))))
(fma.f64 1/2 (/.f64 (cos.f64 b) (/.f64 r (*.f64 a a))) (-.f64 (*.f64 (/.f64 (sin.f64 b) r) a) (/.f64 (cos.f64 b) r)))
(fma.f64 (/.f64 (sin.f64 b) r) a (-.f64 (*.f64 (*.f64 1/2 (/.f64 a (/.f64 r a))) (cos.f64 b)) (/.f64 (cos.f64 b) r)))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 a 2) (cos.f64 b)) r)) (+.f64 (*.f64 -1 (/.f64 (cos.f64 b) r)) (+.f64 (*.f64 -1/6 (/.f64 (*.f64 (sin.f64 b) (pow.f64 a 3)) r)) (/.f64 (*.f64 (sin.f64 b) a) r))))
(fma.f64 1/2 (/.f64 (*.f64 (cos.f64 b) (*.f64 a a)) r) (fma.f64 -1 (/.f64 (cos.f64 b) r) (fma.f64 -1/6 (/.f64 (sin.f64 b) (/.f64 r (pow.f64 a 3))) (/.f64 (sin.f64 b) (/.f64 r a)))))
(fma.f64 1/2 (/.f64 (cos.f64 b) (/.f64 r (*.f64 a a))) (-.f64 (fma.f64 -1/6 (/.f64 (sin.f64 b) (/.f64 r (pow.f64 a 3))) (*.f64 (/.f64 (sin.f64 b) r) a)) (/.f64 (cos.f64 b) r)))
(-.f64 (fma.f64 1/2 (*.f64 (cos.f64 b) (/.f64 a (/.f64 r a))) (fma.f64 (/.f64 (sin.f64 b) r) a (/.f64 (*.f64 -1/6 (sin.f64 b)) (/.f64 r (pow.f64 a 3))))) (/.f64 (cos.f64 b) r))
(*.f64 -1 (/.f64 (cos.f64 (+.f64 a b)) r))
(neg.f64 (/.f64 (cos.f64 (+.f64 b a)) r))
(/.f64 (neg.f64 (cos.f64 (+.f64 b a))) r)
(*.f64 -1 (/.f64 (cos.f64 (+.f64 a b)) r))
(neg.f64 (/.f64 (cos.f64 (+.f64 b a)) r))
(/.f64 (neg.f64 (cos.f64 (+.f64 b a))) r)
(*.f64 -1 (/.f64 (cos.f64 (+.f64 a b)) r))
(neg.f64 (/.f64 (cos.f64 (+.f64 b a)) r))
(/.f64 (neg.f64 (cos.f64 (+.f64 b a))) r)
(*.f64 -1 (/.f64 (cos.f64 (+.f64 a b)) r))
(neg.f64 (/.f64 (cos.f64 (+.f64 b a)) r))
(/.f64 (neg.f64 (cos.f64 (+.f64 b a))) r)
(*.f64 -1 (/.f64 (cos.f64 (-.f64 b (*.f64 -1 a))) r))
(neg.f64 (/.f64 (cos.f64 (+.f64 b a)) r))
(/.f64 (neg.f64 (cos.f64 (+.f64 b a))) r)
(*.f64 -1 (/.f64 (cos.f64 (-.f64 b (*.f64 -1 a))) r))
(neg.f64 (/.f64 (cos.f64 (+.f64 b a)) r))
(/.f64 (neg.f64 (cos.f64 (+.f64 b a))) r)
(*.f64 -1 (/.f64 (cos.f64 (-.f64 b (*.f64 -1 a))) r))
(neg.f64 (/.f64 (cos.f64 (+.f64 b a)) r))
(/.f64 (neg.f64 (cos.f64 (+.f64 b a))) r)
(*.f64 -1 (/.f64 (cos.f64 (-.f64 b (*.f64 -1 a))) r))
(neg.f64 (/.f64 (cos.f64 (+.f64 b a)) r))
(/.f64 (neg.f64 (cos.f64 (+.f64 b a))) r)
(*.f64 -1 (/.f64 (cos.f64 (+.f64 a b)) r))
(neg.f64 (/.f64 (cos.f64 (+.f64 b a)) r))
(/.f64 (neg.f64 (cos.f64 (+.f64 b a))) r)
(*.f64 -1 (/.f64 (cos.f64 (+.f64 a b)) r))
(neg.f64 (/.f64 (cos.f64 (+.f64 b a)) r))
(/.f64 (neg.f64 (cos.f64 (+.f64 b a))) r)
(*.f64 -1 (/.f64 (cos.f64 (+.f64 a b)) r))
(neg.f64 (/.f64 (cos.f64 (+.f64 b a)) r))
(/.f64 (neg.f64 (cos.f64 (+.f64 b a))) r)
(*.f64 -1 (/.f64 (cos.f64 (+.f64 a b)) r))
(neg.f64 (/.f64 (cos.f64 (+.f64 b a)) r))
(/.f64 (neg.f64 (cos.f64 (+.f64 b a))) r)
(*.f64 -1 (/.f64 (cos.f64 (+.f64 a b)) r))
(neg.f64 (/.f64 (cos.f64 (+.f64 b a)) r))
(/.f64 (neg.f64 (cos.f64 (+.f64 b a))) r)
(*.f64 -1 (/.f64 (cos.f64 (+.f64 a b)) r))
(neg.f64 (/.f64 (cos.f64 (+.f64 b a)) r))
(/.f64 (neg.f64 (cos.f64 (+.f64 b a))) r)
(*.f64 -1 (/.f64 (cos.f64 (+.f64 a b)) r))
(neg.f64 (/.f64 (cos.f64 (+.f64 b a)) r))
(/.f64 (neg.f64 (cos.f64 (+.f64 b a))) r)
(*.f64 -1 (/.f64 (cos.f64 (+.f64 a b)) r))
(neg.f64 (/.f64 (cos.f64 (+.f64 b a)) r))
(/.f64 (neg.f64 (cos.f64 (+.f64 b a))) r)
(*.f64 -1 (/.f64 (cos.f64 (+.f64 a b)) r))
(neg.f64 (/.f64 (cos.f64 (+.f64 b a)) r))
(/.f64 (neg.f64 (cos.f64 (+.f64 b a))) r)
(*.f64 -1 (/.f64 (cos.f64 (+.f64 a b)) r))
(neg.f64 (/.f64 (cos.f64 (+.f64 b a)) r))
(/.f64 (neg.f64 (cos.f64 (+.f64 b a))) r)
(*.f64 -1 (/.f64 (cos.f64 (+.f64 a b)) r))
(neg.f64 (/.f64 (cos.f64 (+.f64 b a)) r))
(/.f64 (neg.f64 (cos.f64 (+.f64 b a))) r)
(*.f64 -1 (/.f64 (cos.f64 (+.f64 a b)) r))
(neg.f64 (/.f64 (cos.f64 (+.f64 b a)) r))
(/.f64 (neg.f64 (cos.f64 (+.f64 b a))) r)

localize36.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(exp.f64 (/.f64 (cos.f64 (+.f64 b a)) r))
0.2b
(/.f64 (cos.f64 (+.f64 b a)) r)
3.3b
(log.f64 (exp.f64 (/.f64 (cos.f64 (+.f64 b a)) r)))
4.3b
(cos.f64 (+.f64 b a))
Compiler

Compiled 47 to 10 computations (78.7% saved)

series18.0ms (0.1%)

Counts
2 → 72
Calls

18 calls:

TimeVariablePointExpression
2.0ms
b
@0
(exp.f64 (/.f64 (cos.f64 (+.f64 b a)) r))
2.0ms
a
@0
(exp.f64 (/.f64 (cos.f64 (+.f64 b a)) r))
1.0ms
r
@inf
(exp.f64 (/.f64 (cos.f64 (+.f64 b a)) r))
1.0ms
r
@-inf
(exp.f64 (/.f64 (cos.f64 (+.f64 b a)) r))
1.0ms
b
@-inf
(exp.f64 (/.f64 (cos.f64 (+.f64 b a)) r))

rewrite123.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
576×unpow-prod-down_binary64
548×prod-diff_binary64
453×log-prod_binary64
255×pow2_binary64
211×fma-def_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0920
118320
2252220
Stop Event
node limit
Counts
2 → 151
Calls
Call 1
Inputs
(log.f64 (exp.f64 (/.f64 (cos.f64 (+.f64 b a)) r)))
(exp.f64 (/.f64 (cos.f64 (+.f64 b a)) r))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (cos.f64 (+.f64 b a)) r) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (/.f64 (cos.f64 (+.f64 b a)) r)) (*.f64 1/2 (/.f64 (cos.f64 (+.f64 b a)) r)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/3 (/.f64 (cos.f64 (+.f64 b a)) r)) (*.f64 2 (*.f64 1/3 (/.f64 (cos.f64 (+.f64 b a)) r))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (cos.f64 (+.f64 b a)) r))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 2 (*.f64 1/3 (/.f64 (cos.f64 (+.f64 b a)) r))) (*.f64 1/3 (/.f64 (cos.f64 (+.f64 b a)) r)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (cos.f64 (+.f64 b a)) r))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (cos.f64 b) (cos.f64 a)) r) (/.f64 (*.f64 (sin.f64 b) (sin.f64 a)) r))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 (+.f64 b a)) (/.f64 1 r))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cos.f64 (+.f64 b a)) r) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (cos.f64 (+.f64 b a)) r))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 2) (*.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) (/.f64 1 r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 2) (pow.f64 (*.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) (/.f64 1 r)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r)) (pow.f64 (cbrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r)) 2) (cbrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cos.f64 (+.f64 b a))) (*.f64 (sqrt.f64 (cos.f64 (+.f64 b a))) (/.f64 1 r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cos.f64 (+.f64 b a))) (pow.f64 (*.f64 (sqrt.f64 (cos.f64 (+.f64 b a))) (/.f64 1 r)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r)) (sqrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (cos.f64 (+.f64 b a))) (/.f64 1 (neg.f64 r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (cos.f64 (+.f64 b a))) (pow.f64 (/.f64 1 (neg.f64 r)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 3 (*.f64 1/3 (/.f64 (cos.f64 (+.f64 b a)) r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 r) (cos.f64 (+.f64 b a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 r) (pow.f64 (/.f64 1 (cos.f64 (+.f64 b a))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 1/2 (/.f64 (cos.f64 (+.f64 b a)) r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/3 (*.f64 3 (/.f64 (cos.f64 (+.f64 b a)) r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 2) 1) (/.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) r))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (cos.f64 (+.f64 b a))) 1) (/.f64 (sqrt.f64 (cos.f64 (+.f64 b a))) r))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 r) -2) (/.f64 (cos.f64 (+.f64 b a)) (cbrt.f64 r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 2) (pow.f64 (cbrt.f64 r) 2)) (cbrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (cos.f64 (+.f64 b a))) (pow.f64 (cbrt.f64 r) 2)) (/.f64 (sqrt.f64 (cos.f64 (+.f64 b a))) (cbrt.f64 r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 r -1/2) (/.f64 (cos.f64 (+.f64 b a)) (sqrt.f64 r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 2) (sqrt.f64 r)) (/.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) (sqrt.f64 r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (/.f64 (cos.f64 (+.f64 b a)) r))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 2) 1) 1) (pow.f64 (/.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) r) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (sqrt.f64 (cos.f64 (+.f64 b a))) 1) 1) (pow.f64 (/.f64 (sqrt.f64 (cos.f64 (+.f64 b a))) r) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 r) -2) 1) (pow.f64 (/.f64 (cos.f64 (+.f64 b a)) (cbrt.f64 r)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 2) (pow.f64 (cbrt.f64 r) 2)) 1) (cbrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (sqrt.f64 (cos.f64 (+.f64 b a))) (pow.f64 (cbrt.f64 r) 2)) 1) (pow.f64 (/.f64 (sqrt.f64 (cos.f64 (+.f64 b a))) (cbrt.f64 r)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 r -1/2) 1) (pow.f64 (/.f64 (cos.f64 (+.f64 b a)) (sqrt.f64 r)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 2) (sqrt.f64 r)) 1) (pow.f64 (/.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) (sqrt.f64 r)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (pow.f64 (/.f64 r (cos.f64 (+.f64 b a))) -3)) 1/3) (pow.f64 (sqrt.f64 (pow.f64 (/.f64 r (cos.f64 (+.f64 b a))) -3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 (cos.f64 (+.f64 b a)) r) 2) (cos.f64 (+.f64 b a))) 1/3) (cbrt.f64 (/.f64 1 r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 (cos.f64 (+.f64 b a)) r) 2) (pow.f64 (cbrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r)) 2)) 1/3) (cbrt.f64 (cbrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 (cos.f64 (+.f64 b a)) r) 2) (sqrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r))) 1/3) (cbrt.f64 (sqrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r))) 2) 3) (cbrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r))) 3) (pow.f64 (sqrt.f64 (cbrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (/.f64 r (cos.f64 (+.f64 b a)))) 2) -1) (cbrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (pow.f64 (cbrt.f64 r) 2) 1) -1) (pow.f64 (/.f64 (cbrt.f64 r) (cos.f64 (+.f64 b a))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (sqrt.f64 r) 1) -1) (pow.f64 (/.f64 (sqrt.f64 r) (cos.f64 (+.f64 b a))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) -2) -1) (pow.f64 (/.f64 r (cbrt.f64 (cos.f64 (+.f64 b a)))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (pow.f64 (cbrt.f64 r) 2) (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 2)) -1) (pow.f64 (/.f64 (cbrt.f64 r) (cbrt.f64 (cos.f64 (+.f64 b a)))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (sqrt.f64 r) (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 2)) -1) (pow.f64 (/.f64 (sqrt.f64 r) (cbrt.f64 (cos.f64 (+.f64 b a)))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cos.f64 (+.f64 b a)) -1/2) -1) (pow.f64 (/.f64 r (sqrt.f64 (cos.f64 (+.f64 b a)))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (pow.f64 (cbrt.f64 r) 2) (sqrt.f64 (cos.f64 (+.f64 b a)))) -1) (pow.f64 (/.f64 (cbrt.f64 r) (sqrt.f64 (cos.f64 (+.f64 b a)))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (sqrt.f64 r) (sqrt.f64 (cos.f64 (+.f64 b a)))) -1) (pow.f64 (/.f64 (sqrt.f64 r) (sqrt.f64 (cos.f64 (+.f64 b a)))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cos.f64 (+.f64 b a)) r)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 r (cos.f64 (+.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (/.f64 r (cos.f64 (+.f64 b a))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 2) (/.f64 r (cbrt.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (cos.f64 (+.f64 b a))) (/.f64 r (sqrt.f64 (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (cos.f64 (+.f64 b a))) (neg.f64 r))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (neg.f64 (/.f64 r (cos.f64 (+.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (cos.f64 (+.f64 b a)))) (neg.f64 (neg.f64 r)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (cos.f64 (+.f64 b a)) (sqrt.f64 r)) (sqrt.f64 r))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (cos.f64 (+.f64 b a)) 1) r)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (cos.f64 (+.f64 b a)) (pow.f64 (cbrt.f64 r) 2)) (cbrt.f64 r))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (cos.f64 (+.f64 b a)) r) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (cos.f64 (+.f64 b a)) r) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 r (cos.f64 (+.f64 b a))) -3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 r (cos.f64 (+.f64 b a))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (cos.f64 (+.f64 b a)) 3) (pow.f64 r 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 r (cos.f64 (+.f64 b a))) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (cos.f64 (+.f64 b a)) (neg.f64 r)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (cos.f64 (+.f64 b a)) r) 2))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 r (cos.f64 (+.f64 b a))) -3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (cos.f64 (+.f64 b a)) 3) (pow.f64 r 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (cos.f64 (+.f64 b a)) r)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (cos.f64 (+.f64 b a)) r)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (cos.f64 (+.f64 b a)) r)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (cos.f64 (+.f64 b a)) r)) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (exp.f64 (/.f64 (cos.f64 (+.f64 b a)) r)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (exp.f64 (/.f64 (cos.f64 (+.f64 b a)) r)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (exp.f64 (/.f64 (cos.f64 (+.f64 b a)) r))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (exp.f64 (/.f64 (cos.f64 (+.f64 b a)) r))))) (log.f64 (sqrt.f64 (exp.f64 (exp.f64 (/.f64 (cos.f64 (+.f64 b a)) r))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (exp.f64 (/.f64 (cos.f64 (+.f64 b a)) r)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 (/.f64 (cos.f64 (+.f64 b a)) r)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (exp.f64 (/.f64 (cos.f64 (+.f64 b a)) r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (exp.f64 (/.f64 (cos.f64 (+.f64 b a)) r))) (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (cos.f64 (+.f64 b a)) r))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (cos.f64 (+.f64 b a)) r))) 2) (cbrt.f64 (exp.f64 (/.f64 (cos.f64 (+.f64 b a)) r))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (exp.f64 (/.f64 (cos.f64 (+.f64 b a)) r))) (sqrt.f64 (exp.f64 (/.f64 (cos.f64 (+.f64 b a)) r))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (exp.f64 (/.f64 (cos.f64 (+.f64 b a)) r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 (/.f64 1 r)) (exp.f64 (/.f64 (cos.f64 (+.f64 b a)) r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 (+.f64 b a)))) 2) (/.f64 1 r)) (pow.f64 (cbrt.f64 (exp.f64 (cos.f64 (+.f64 b a)))) (/.f64 1 r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 (+.f64 b a)))) (/.f64 1 r)) (pow.f64 (sqrt.f64 (exp.f64 (cos.f64 (+.f64 b a)))) (/.f64 1 r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (pow.f64 (exp.f64 (/.f64 (cos.f64 (+.f64 b a)) r)) 3)) 1/3) (pow.f64 (sqrt.f64 (pow.f64 (exp.f64 (/.f64 (cos.f64 (+.f64 b a)) r)) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (pow.f64 (exp.f64 (/.f64 (cos.f64 (+.f64 b a)) r)) 2) (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (cos.f64 (+.f64 b a)) r))) 2)) 1/3) (cbrt.f64 (cbrt.f64 (exp.f64 (/.f64 (cos.f64 (+.f64 b a)) r)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (pow.f64 (exp.f64 (/.f64 (cos.f64 (+.f64 b a)) r)) 2) (sqrt.f64 (exp.f64 (/.f64 (cos.f64 (+.f64 b a)) r)))) 1/3) (cbrt.f64 (sqrt.f64 (exp.f64 (/.f64 (cos.f64 (+.f64 b a)) r)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (/.f64 (cos.f64 (+.f64 b a)) r)))) 2) 3) (cbrt.f64 (exp.f64 (/.f64 (cos.f64 (+.f64 b a)) r))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (exp.f64 (/.f64 (cos.f64 (+.f64 b a)) r)))) 3) (pow.f64 (sqrt.f64 (cbrt.f64 (exp.f64 (/.f64 (cos.f64 (+.f64 b a)) r)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (exp.f64 1) (*.f64 1/2 (/.f64 (cos.f64 (+.f64 b a)) r))) (pow.f64 (exp.f64 1) (*.f64 1/2 (/.f64 (cos.f64 (+.f64 b a)) r))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (exp.f64 1) (*.f64 2 (*.f64 1/3 (/.f64 (cos.f64 (+.f64 b a)) r)))) (pow.f64 (exp.f64 1) (*.f64 1/3 (/.f64 (cos.f64 (+.f64 b a)) r))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (pow.f64 (exp.f64 1) (/.f64 (cos.f64 (+.f64 b a)) (neg.f64 r))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (exp.f64 1) (exp.f64 (log1p.f64 (/.f64 (cos.f64 (+.f64 b a)) r)))) (pow.f64 (exp.f64 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (exp.f64 1) (/.f64 (*.f64 (cos.f64 b) (cos.f64 a)) r)) (pow.f64 (exp.f64 1) (/.f64 (*.f64 (sin.f64 b) (sin.f64 a)) r)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (/.f64 (cos.f64 (+.f64 b a)) r)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (cos.f64 (+.f64 b a))) (/.f64 1 r))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (/.f64 (cos.f64 (+.f64 b a)) r)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (/.f64 (cos.f64 (+.f64 b a)) r)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (exp.f64 (/.f64 (cos.f64 (+.f64 b a)) r))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (exp.f64 (/.f64 (cos.f64 (+.f64 b a)) r))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r)) 2)) (cbrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r)) 2)) (*.f64 (cbrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 2)) (*.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) (/.f64 1 r)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r))) (sqrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r))) (*.f64 (sqrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (/.f64 (cos.f64 (+.f64 b a)) r))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (cos.f64 (+.f64 b a)))) (*.f64 (sqrt.f64 (cos.f64 (+.f64 b a))) (/.f64 1 r)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (exp.f64 (cos.f64 (+.f64 b a)))) (/.f64 1 (neg.f64 r)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 1) 1) (/.f64 (cos.f64 (+.f64 b a)) r))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (cos.f64 (+.f64 b a))) (pow.f64 (cbrt.f64 (/.f64 1 r)) 2)) (cbrt.f64 (/.f64 1 r)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (cos.f64 (+.f64 b a))) (sqrt.f64 (/.f64 1 r))) (sqrt.f64 (/.f64 1 r)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r)) 2)) 1) (cbrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r)) 2)) (cbrt.f64 (cos.f64 (+.f64 b a)))) (cbrt.f64 (/.f64 1 r)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r)) 2)) (cbrt.f64 (pow.f64 (cbrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r)) 2))) (cbrt.f64 (cbrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r)) 2)) (cbrt.f64 (sqrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r)))) (cbrt.f64 (sqrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r)) 2)) (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r))) 2)) (cbrt.f64 (cbrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r)) 2)) (sqrt.f64 (cbrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r)))) (sqrt.f64 (cbrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r))) 1) (sqrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r))) (cbrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r))) (cbrt.f64 (sqrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r))) (sqrt.f64 (cos.f64 (+.f64 b a)))) (sqrt.f64 (/.f64 1 r)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r))) (sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r)) 2))) (sqrt.f64 (cbrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r))) (sqrt.f64 (sqrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r)))) (sqrt.f64 (sqrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 1) (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 2)) (*.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) (/.f64 1 r)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 1) (cbrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r))) (pow.f64 (cbrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 1) (pow.f64 (cbrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r)) 2)) (cbrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 1) (sqrt.f64 (cos.f64 (+.f64 b a)))) (*.f64 (sqrt.f64 (cos.f64 (+.f64 b a))) (/.f64 1 r)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 1) (sqrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r))) (sqrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 1) (/.f64 1 r)) (cos.f64 (+.f64 b a)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 1) (/.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 2) 1)) (/.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) r))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 1) (/.f64 (sqrt.f64 (cos.f64 (+.f64 b a))) 1)) (/.f64 (sqrt.f64 (cos.f64 (+.f64 b a))) r))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 1) (pow.f64 (cbrt.f64 r) -2)) (/.f64 (cos.f64 (+.f64 b a)) (cbrt.f64 r)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 1) (/.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 2) (pow.f64 (cbrt.f64 r) 2))) (cbrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 1) (/.f64 (sqrt.f64 (cos.f64 (+.f64 b a))) (pow.f64 (cbrt.f64 r) 2))) (/.f64 (sqrt.f64 (cos.f64 (+.f64 b a))) (cbrt.f64 r)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 1) (pow.f64 r -1/2)) (/.f64 (cos.f64 (+.f64 b a)) (sqrt.f64 r)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 1) (/.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 2) (sqrt.f64 r))) (/.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) (sqrt.f64 r)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (exp.f64 (/.f64 (cos.f64 (+.f64 b a)) r)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (exp.f64 (/.f64 (cos.f64 (+.f64 b a)) r))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (exp.f64 (/.f64 (cos.f64 (+.f64 b a)) r)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (exp.f64 (/.f64 (cos.f64 (+.f64 b a)) r)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (exp.f64 (/.f64 (cos.f64 (+.f64 b a)) r))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (exp.f64 (/.f64 (cos.f64 (+.f64 b a)) r))))))))

simplify166.0ms (1.1%)

Algorithm
egg-herbie
Rules
698×associate-*r*_binary64
668×fma-neg_binary64
652×associate-*l*_binary64
443×times-frac_binary64
428×fma-def_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01341360
14091331
213771273
378941273
Stop Event
node limit
Counts
223 → 192
Calls
Call 1
Inputs
(/.f64 (cos.f64 a) r)
(+.f64 (/.f64 (cos.f64 a) r) (*.f64 -1 (/.f64 (*.f64 (sin.f64 a) b) r)))
(+.f64 (/.f64 (cos.f64 a) r) (+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 a) b) r)) (*.f64 -1/2 (/.f64 (*.f64 (cos.f64 a) (pow.f64 b 2)) r))))
(+.f64 (*.f64 1/6 (/.f64 (*.f64 (sin.f64 a) (pow.f64 b 3)) r)) (+.f64 (/.f64 (cos.f64 a) r) (+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 a) b) r)) (*.f64 -1/2 (/.f64 (*.f64 (cos.f64 a) (pow.f64 b 2)) r)))))
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (-.f64 a (*.f64 -1 b))) r)
(/.f64 (cos.f64 (-.f64 a (*.f64 -1 b))) r)
(/.f64 (cos.f64 (-.f64 a (*.f64 -1 b))) r)
(/.f64 (cos.f64 (-.f64 a (*.f64 -1 b))) r)
(/.f64 (cos.f64 b) r)
(+.f64 (/.f64 (cos.f64 b) r) (*.f64 -1 (/.f64 (*.f64 (sin.f64 b) a) r)))
(+.f64 (/.f64 (cos.f64 b) r) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a 2) (cos.f64 b)) r)) (*.f64 -1 (/.f64 (*.f64 (sin.f64 b) a) r))))
(+.f64 (/.f64 (cos.f64 b) r) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a 2) (cos.f64 b)) r)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 b) a) r)) (*.f64 1/6 (/.f64 (*.f64 (sin.f64 b) (pow.f64 a 3)) r)))))
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (-.f64 b (*.f64 -1 a))) r)
(/.f64 (cos.f64 (-.f64 b (*.f64 -1 a))) r)
(/.f64 (cos.f64 (-.f64 b (*.f64 -1 a))) r)
(/.f64 (cos.f64 (-.f64 b (*.f64 -1 a))) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
(exp.f64 (/.f64 (cos.f64 a) r))
(+.f64 (exp.f64 (/.f64 (cos.f64 a) r)) (*.f64 -1 (/.f64 (*.f64 (sin.f64 a) (*.f64 (exp.f64 (/.f64 (cos.f64 a) r)) b)) r)))
(+.f64 (exp.f64 (/.f64 (cos.f64 a) r)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 a) (*.f64 (exp.f64 (/.f64 (cos.f64 a) r)) b)) r)) (*.f64 (exp.f64 (/.f64 (cos.f64 a) r)) (*.f64 (pow.f64 b 2) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 r 2))) (*.f64 -1/2 (/.f64 (cos.f64 a) r)))))))
(+.f64 (*.f64 (exp.f64 (/.f64 (cos.f64 a) r)) (*.f64 (pow.f64 b 3) (+.f64 (*.f64 -1/6 (/.f64 (pow.f64 (sin.f64 a) 3) (pow.f64 r 3))) (+.f64 (*.f64 1/6 (/.f64 (sin.f64 a) r)) (*.f64 1/2 (/.f64 (*.f64 (sin.f64 a) (cos.f64 a)) (pow.f64 r 2))))))) (+.f64 (exp.f64 (/.f64 (cos.f64 a) r)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 a) (*.f64 (exp.f64 (/.f64 (cos.f64 a) r)) b)) r)) (*.f64 (exp.f64 (/.f64 (cos.f64 a) r)) (*.f64 (pow.f64 b 2) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 r 2))) (*.f64 -1/2 (/.f64 (cos.f64 a) r))))))))
(exp.f64 (/.f64 (cos.f64 (+.f64 a b)) r))
(exp.f64 (/.f64 (cos.f64 (+.f64 a b)) r))
(exp.f64 (/.f64 (cos.f64 (+.f64 a b)) r))
(exp.f64 (/.f64 (cos.f64 (+.f64 a b)) r))
(exp.f64 (/.f64 (cos.f64 (-.f64 a (*.f64 -1 b))) r))
(exp.f64 (/.f64 (cos.f64 (-.f64 a (*.f64 -1 b))) r))
(exp.f64 (/.f64 (cos.f64 (-.f64 a (*.f64 -1 b))) r))
(exp.f64 (/.f64 (cos.f64 (-.f64 a (*.f64 -1 b))) r))
(exp.f64 (/.f64 (cos.f64 b) r))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 b) (*.f64 a (exp.f64 (/.f64 (cos.f64 b) r)))) r)) (exp.f64 (/.f64 (cos.f64 b) r)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 b) (*.f64 a (exp.f64 (/.f64 (cos.f64 b) r)))) r)) (+.f64 (exp.f64 (/.f64 (cos.f64 b) r)) (*.f64 (pow.f64 a 2) (*.f64 (exp.f64 (/.f64 (cos.f64 b) r)) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 r 2))) (*.f64 -1/2 (/.f64 (cos.f64 b) r)))))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 b) (*.f64 a (exp.f64 (/.f64 (cos.f64 b) r)))) r)) (+.f64 (exp.f64 (/.f64 (cos.f64 b) r)) (+.f64 (*.f64 (pow.f64 a 3) (*.f64 (exp.f64 (/.f64 (cos.f64 b) r)) (+.f64 (*.f64 1/6 (/.f64 (sin.f64 b) r)) (+.f64 (*.f64 -1/6 (/.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 r 3))) (*.f64 1/2 (/.f64 (*.f64 (sin.f64 b) (cos.f64 b)) (pow.f64 r 2))))))) (*.f64 (pow.f64 a 2) (*.f64 (exp.f64 (/.f64 (cos.f64 b) r)) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 r 2))) (*.f64 -1/2 (/.f64 (cos.f64 b) r))))))))
(exp.f64 (/.f64 (cos.f64 (+.f64 a b)) r))
(exp.f64 (/.f64 (cos.f64 (+.f64 a b)) r))
(exp.f64 (/.f64 (cos.f64 (+.f64 a b)) r))
(exp.f64 (/.f64 (cos.f64 (+.f64 a b)) r))
(exp.f64 (/.f64 (cos.f64 (-.f64 b (*.f64 -1 a))) r))
(exp.f64 (/.f64 (cos.f64 (-.f64 b (*.f64 -1 a))) r))
(exp.f64 (/.f64 (cos.f64 (-.f64 b (*.f64 -1 a))) r))
(exp.f64 (/.f64 (cos.f64 (-.f64 b (*.f64 -1 a))) r))
(exp.f64 (/.f64 (cos.f64 (+.f64 a b)) r))
(exp.f64 (/.f64 (cos.f64 (+.f64 a b)) r))
(exp.f64 (/.f64 (cos.f64 (+.f64 a b)) r))
(exp.f64 (/.f64 (cos.f64 (+.f64 a b)) r))
1
(+.f64 1 (/.f64 (cos.f64 (+.f64 a b)) r))
(+.f64 1 (+.f64 (/.f64 (cos.f64 (+.f64 a b)) r) (*.f64 1/2 (/.f64 (pow.f64 (cos.f64 (+.f64 a b)) 2) (pow.f64 r 2)))))
(+.f64 (*.f64 1/6 (/.f64 (pow.f64 (cos.f64 (+.f64 a b)) 3) (pow.f64 r 3))) (+.f64 1 (+.f64 (/.f64 (cos.f64 (+.f64 a b)) r) (*.f64 1/2 (/.f64 (pow.f64 (cos.f64 (+.f64 a b)) 2) (pow.f64 r 2))))))
1
(+.f64 1 (/.f64 (cos.f64 (+.f64 a b)) r))
(+.f64 1 (+.f64 (/.f64 (cos.f64 (+.f64 a b)) r) (*.f64 1/2 (/.f64 (pow.f64 (cos.f64 (+.f64 a b)) 2) (pow.f64 r 2)))))
(+.f64 (*.f64 1/6 (/.f64 (pow.f64 (cos.f64 (+.f64 a b)) 3) (pow.f64 r 3))) (+.f64 1 (+.f64 (/.f64 (cos.f64 (+.f64 a b)) r) (*.f64 1/2 (/.f64 (pow.f64 (cos.f64 (+.f64 a b)) 2) (pow.f64 r 2))))))
Outputs
(/.f64 (cos.f64 a) r)
(+.f64 (/.f64 (cos.f64 a) r) (*.f64 -1 (/.f64 (*.f64 (sin.f64 a) b) r)))
(+.f64 (/.f64 (cos.f64 a) r) (neg.f64 (/.f64 (sin.f64 a) (/.f64 r b))))
(-.f64 (/.f64 (cos.f64 a) r) (*.f64 (/.f64 (sin.f64 a) r) b))
(-.f64 (/.f64 (cos.f64 a) r) (*.f64 b (/.f64 (sin.f64 a) r)))
(+.f64 (/.f64 (cos.f64 a) r) (+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 a) b) r)) (*.f64 -1/2 (/.f64 (*.f64 (cos.f64 a) (pow.f64 b 2)) r))))
(+.f64 (/.f64 (cos.f64 a) r) (fma.f64 -1 (/.f64 (sin.f64 a) (/.f64 r b)) (*.f64 -1/2 (/.f64 (*.f64 (cos.f64 a) (*.f64 b b)) r))))
(+.f64 (-.f64 (/.f64 (cos.f64 a) r) (*.f64 (/.f64 (sin.f64 a) r) b)) (*.f64 (/.f64 (cos.f64 a) r) (*.f64 -1/2 (*.f64 b b))))
(-.f64 (*.f64 (+.f64 (*.f64 b (*.f64 b -1/2)) 1) (/.f64 (cos.f64 a) r)) (*.f64 b (/.f64 (sin.f64 a) r)))
(+.f64 (*.f64 1/6 (/.f64 (*.f64 (sin.f64 a) (pow.f64 b 3)) r)) (+.f64 (/.f64 (cos.f64 a) r) (+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 a) b) r)) (*.f64 -1/2 (/.f64 (*.f64 (cos.f64 a) (pow.f64 b 2)) r)))))
(fma.f64 1/6 (/.f64 (sin.f64 a) (/.f64 r (pow.f64 b 3))) (+.f64 (/.f64 (cos.f64 a) r) (fma.f64 -1 (/.f64 (sin.f64 a) (/.f64 r b)) (*.f64 -1/2 (/.f64 (*.f64 (cos.f64 a) (*.f64 b b)) r)))))
(+.f64 (-.f64 (*.f64 (/.f64 (cos.f64 a) r) (*.f64 -1/2 (*.f64 b b))) (*.f64 (/.f64 (sin.f64 a) r) b)) (fma.f64 1/6 (/.f64 (pow.f64 b 3) (/.f64 r (sin.f64 a))) (/.f64 (cos.f64 a) r)))
(fma.f64 1/6 (/.f64 (sin.f64 a) (/.f64 r (pow.f64 b 3))) (-.f64 (*.f64 (+.f64 (*.f64 b (*.f64 b -1/2)) 1) (/.f64 (cos.f64 a) r)) (*.f64 b (/.f64 (sin.f64 a) r))))
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (-.f64 a (*.f64 -1 b))) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (-.f64 a (*.f64 -1 b))) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (-.f64 a (*.f64 -1 b))) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (-.f64 a (*.f64 -1 b))) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 b) r)
(+.f64 (/.f64 (cos.f64 b) r) (*.f64 -1 (/.f64 (*.f64 (sin.f64 b) a) r)))
(+.f64 (/.f64 (cos.f64 b) r) (neg.f64 (/.f64 (*.f64 a (sin.f64 b)) r)))
(-.f64 (/.f64 (cos.f64 b) r) (/.f64 (sin.f64 b) (/.f64 r a)))
(-.f64 (/.f64 (cos.f64 b) r) (*.f64 (/.f64 a r) (sin.f64 b)))
(+.f64 (/.f64 (cos.f64 b) r) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a 2) (cos.f64 b)) r)) (*.f64 -1 (/.f64 (*.f64 (sin.f64 b) a) r))))
(+.f64 (/.f64 (cos.f64 b) r) (fma.f64 -1/2 (/.f64 (*.f64 a a) (/.f64 r (cos.f64 b))) (neg.f64 (/.f64 (*.f64 a (sin.f64 b)) r))))
(+.f64 (/.f64 (cos.f64 b) r) (-.f64 (/.f64 (*.f64 -1/2 (*.f64 a (*.f64 a (cos.f64 b)))) r) (/.f64 (sin.f64 b) (/.f64 r a))))
(-.f64 (fma.f64 -1/2 (*.f64 (cos.f64 b) (/.f64 a (/.f64 r a))) (/.f64 (cos.f64 b) r)) (*.f64 (/.f64 a r) (sin.f64 b)))
(+.f64 (/.f64 (cos.f64 b) r) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a 2) (cos.f64 b)) r)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 b) a) r)) (*.f64 1/6 (/.f64 (*.f64 (sin.f64 b) (pow.f64 a 3)) r)))))
(+.f64 (/.f64 (cos.f64 b) r) (fma.f64 -1/2 (/.f64 (*.f64 a a) (/.f64 r (cos.f64 b))) (fma.f64 -1 (/.f64 (*.f64 a (sin.f64 b)) r) (*.f64 1/6 (/.f64 (*.f64 (sin.f64 b) (pow.f64 a 3)) r)))))
(+.f64 (/.f64 (cos.f64 b) r) (fma.f64 -1/2 (/.f64 a (/.f64 (/.f64 r (cos.f64 b)) a)) (-.f64 (/.f64 (*.f64 1/6 (sin.f64 b)) (/.f64 r (pow.f64 a 3))) (/.f64 (sin.f64 b) (/.f64 r a)))))
(fma.f64 -1/2 (*.f64 (cos.f64 b) (/.f64 a (/.f64 r a))) (-.f64 (fma.f64 1/6 (*.f64 (/.f64 (pow.f64 a 3) r) (sin.f64 b)) (/.f64 (cos.f64 b) r)) (*.f64 (/.f64 a r) (sin.f64 b))))
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (-.f64 b (*.f64 -1 a))) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (-.f64 b (*.f64 -1 a))) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (-.f64 b (*.f64 -1 a))) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (-.f64 b (*.f64 -1 a))) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
(/.f64 (cos.f64 (+.f64 a b)) r)
(exp.f64 (/.f64 (cos.f64 a) r))
(+.f64 (exp.f64 (/.f64 (cos.f64 a) r)) (*.f64 -1 (/.f64 (*.f64 (sin.f64 a) (*.f64 (exp.f64 (/.f64 (cos.f64 a) r)) b)) r)))
(+.f64 (exp.f64 (/.f64 (cos.f64 a) r)) (neg.f64 (/.f64 (sin.f64 a) (/.f64 r (*.f64 b (exp.f64 (/.f64 (cos.f64 a) r)))))))
(-.f64 (exp.f64 (/.f64 (cos.f64 a) r)) (*.f64 (/.f64 (sin.f64 a) r) (*.f64 b (exp.f64 (/.f64 (cos.f64 a) r)))))
(-.f64 (exp.f64 (/.f64 (cos.f64 a) r)) (*.f64 (*.f64 b (/.f64 (sin.f64 a) r)) (exp.f64 (/.f64 (cos.f64 a) r))))
(+.f64 (exp.f64 (/.f64 (cos.f64 a) r)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 a) (*.f64 (exp.f64 (/.f64 (cos.f64 a) r)) b)) r)) (*.f64 (exp.f64 (/.f64 (cos.f64 a) r)) (*.f64 (pow.f64 b 2) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 r 2))) (*.f64 -1/2 (/.f64 (cos.f64 a) r)))))))
(+.f64 (exp.f64 (/.f64 (cos.f64 a) r)) (fma.f64 -1 (/.f64 (sin.f64 a) (/.f64 r (*.f64 b (exp.f64 (/.f64 (cos.f64 a) r))))) (*.f64 (exp.f64 (/.f64 (cos.f64 a) r)) (*.f64 (*.f64 b b) (fma.f64 1/2 (/.f64 (pow.f64 (sin.f64 a) 2) (*.f64 r r)) (/.f64 (*.f64 -1/2 (cos.f64 a)) r))))))
(+.f64 (exp.f64 (/.f64 (cos.f64 a) r)) (fma.f64 (exp.f64 (/.f64 (cos.f64 a) r)) (*.f64 b (*.f64 b (fma.f64 (/.f64 (cos.f64 a) r) -1/2 (*.f64 1/2 (/.f64 (/.f64 (pow.f64 (sin.f64 a) 2) r) r))))) (/.f64 (neg.f64 (*.f64 (*.f64 (sin.f64 a) b) (exp.f64 (/.f64 (cos.f64 a) r)))) r)))
(-.f64 (*.f64 (+.f64 (*.f64 b (*.f64 b (fma.f64 (/.f64 (cos.f64 a) r) -1/2 (*.f64 (/.f64 1/2 r) (/.f64 (pow.f64 (sin.f64 a) 2) r))))) 1) (exp.f64 (/.f64 (cos.f64 a) r))) (*.f64 (*.f64 b (/.f64 (sin.f64 a) r)) (exp.f64 (/.f64 (cos.f64 a) r))))
(fma.f64 (+.f64 (*.f64 b (*.f64 b (fma.f64 (/.f64 (cos.f64 a) r) -1/2 (*.f64 (/.f64 1/2 r) (/.f64 (pow.f64 (sin.f64 a) 2) r))))) 1) (exp.f64 (/.f64 (cos.f64 a) r)) (*.f64 (*.f64 (/.f64 (neg.f64 (sin.f64 a)) r) b) (exp.f64 (/.f64 (cos.f64 a) r))))
(+.f64 (*.f64 (exp.f64 (/.f64 (cos.f64 a) r)) (*.f64 (pow.f64 b 3) (+.f64 (*.f64 -1/6 (/.f64 (pow.f64 (sin.f64 a) 3) (pow.f64 r 3))) (+.f64 (*.f64 1/6 (/.f64 (sin.f64 a) r)) (*.f64 1/2 (/.f64 (*.f64 (sin.f64 a) (cos.f64 a)) (pow.f64 r 2))))))) (+.f64 (exp.f64 (/.f64 (cos.f64 a) r)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 a) (*.f64 (exp.f64 (/.f64 (cos.f64 a) r)) b)) r)) (*.f64 (exp.f64 (/.f64 (cos.f64 a) r)) (*.f64 (pow.f64 b 2) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 (sin.f64 a) 2) (pow.f64 r 2))) (*.f64 -1/2 (/.f64 (cos.f64 a) r))))))))
(fma.f64 (exp.f64 (/.f64 (cos.f64 a) r)) (*.f64 (pow.f64 b 3) (fma.f64 -1/6 (/.f64 (pow.f64 (sin.f64 a) 3) (pow.f64 r 3)) (fma.f64 1/6 (/.f64 (sin.f64 a) r) (*.f64 1/2 (/.f64 (*.f64 (cos.f64 a) (sin.f64 a)) (*.f64 r r)))))) (+.f64 (exp.f64 (/.f64 (cos.f64 a) r)) (fma.f64 -1 (/.f64 (sin.f64 a) (/.f64 r (*.f64 b (exp.f64 (/.f64 (cos.f64 a) r))))) (*.f64 (exp.f64 (/.f64 (cos.f64 a) r)) (*.f64 (*.f64 b b) (fma.f64 1/2 (/.f64 (pow.f64 (sin.f64 a) 2) (*.f64 r r)) (/.f64 (*.f64 -1/2 (cos.f64 a)) r)))))))
(+.f64 (fma.f64 (exp.f64 (/.f64 (cos.f64 a) r)) (*.f64 b (*.f64 b (fma.f64 (/.f64 (cos.f64 a) r) -1/2 (*.f64 1/2 (/.f64 (/.f64 (pow.f64 (sin.f64 a) 2) r) r))))) (/.f64 (neg.f64 (*.f64 (*.f64 (sin.f64 a) b) (exp.f64 (/.f64 (cos.f64 a) r)))) r)) (*.f64 (+.f64 (*.f64 (pow.f64 b 3) (fma.f64 -1/6 (/.f64 (pow.f64 (sin.f64 a) 3) (pow.f64 r 3)) (fma.f64 1/6 (/.f64 (sin.f64 a) r) (*.f64 (/.f64 1/2 r) (/.f64 (*.f64 (cos.f64 a) (sin.f64 a)) r))))) 1) (exp.f64 (/.f64 (cos.f64 a) r))))
(-.f64 (*.f64 (exp.f64 (/.f64 (cos.f64 a) r)) (+.f64 (fma.f64 (pow.f64 b 3) (fma.f64 -1/6 (pow.f64 (/.f64 (sin.f64 a) r) 3) (fma.f64 (/.f64 1/2 r) (/.f64 (cos.f64 a) (/.f64 r (sin.f64 a))) (/.f64 (sin.f64 a) (/.f64 r 1/6)))) 1) (*.f64 b (*.f64 b (fma.f64 (/.f64 (cos.f64 a) r) -1/2 (*.f64 (/.f64 1/2 r) (/.f64 (pow.f64 (sin.f64 a) 2) r))))))) (*.f64 (*.f64 b (/.f64 (sin.f64 a) r)) (exp.f64 (/.f64 (cos.f64 a) r))))
(fma.f64 (exp.f64 (/.f64 (cos.f64 a) r)) (+.f64 (fma.f64 (pow.f64 b 3) (fma.f64 -1/6 (pow.f64 (/.f64 (sin.f64 a) r) 3) (fma.f64 (/.f64 1/2 r) (/.f64 (cos.f64 a) (/.f64 r (sin.f64 a))) (/.f64 (sin.f64 a) (/.f64 r 1/6)))) 1) (*.f64 b (*.f64 b (fma.f64 (/.f64 (cos.f64 a) r) -1/2 (*.f64 (/.f64 1/2 r) (/.f64 (pow.f64 (sin.f64 a) 2) r)))))) (*.f64 (*.f64 (/.f64 (neg.f64 (sin.f64 a)) r) b) (exp.f64 (/.f64 (cos.f64 a) r))))
(exp.f64 (/.f64 (cos.f64 (+.f64 a b)) r))
(exp.f64 (/.f64 (cos.f64 (+.f64 a b)) r))
(exp.f64 (/.f64 (cos.f64 (+.f64 a b)) r))
(exp.f64 (/.f64 (cos.f64 (+.f64 a b)) r))
(exp.f64 (/.f64 (cos.f64 (-.f64 a (*.f64 -1 b))) r))
(exp.f64 (/.f64 (cos.f64 (+.f64 a b)) r))
(exp.f64 (/.f64 (cos.f64 (-.f64 a (*.f64 -1 b))) r))
(exp.f64 (/.f64 (cos.f64 (+.f64 a b)) r))
(exp.f64 (/.f64 (cos.f64 (-.f64 a (*.f64 -1 b))) r))
(exp.f64 (/.f64 (cos.f64 (+.f64 a b)) r))
(exp.f64 (/.f64 (cos.f64 (-.f64 a (*.f64 -1 b))) r))
(exp.f64 (/.f64 (cos.f64 (+.f64 a b)) r))
(exp.f64 (/.f64 (cos.f64 b) r))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 b) (*.f64 a (exp.f64 (/.f64 (cos.f64 b) r)))) r)) (exp.f64 (/.f64 (cos.f64 b) r)))
(fma.f64 -1 (/.f64 (sin.f64 b) (/.f64 r (*.f64 a (exp.f64 (/.f64 (cos.f64 b) r))))) (exp.f64 (/.f64 (cos.f64 b) r)))
(-.f64 (exp.f64 (/.f64 (cos.f64 b) r)) (*.f64 (/.f64 (sin.f64 b) r) (*.f64 a (exp.f64 (/.f64 (cos.f64 b) r)))))
(-.f64 (exp.f64 (/.f64 (cos.f64 b) r)) (*.f64 (*.f64 (/.f64 a r) (sin.f64 b)) (exp.f64 (/.f64 (cos.f64 b) r))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 b) (*.f64 a (exp.f64 (/.f64 (cos.f64 b) r)))) r)) (+.f64 (exp.f64 (/.f64 (cos.f64 b) r)) (*.f64 (pow.f64 a 2) (*.f64 (exp.f64 (/.f64 (cos.f64 b) r)) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 r 2))) (*.f64 -1/2 (/.f64 (cos.f64 b) r)))))))
(+.f64 (fma.f64 -1 (/.f64 (sin.f64 b) (/.f64 r (*.f64 a (exp.f64 (/.f64 (cos.f64 b) r))))) (exp.f64 (/.f64 (cos.f64 b) r))) (*.f64 (*.f64 a a) (*.f64 (exp.f64 (/.f64 (cos.f64 b) r)) (fma.f64 1/2 (/.f64 (pow.f64 (sin.f64 b) 2) (*.f64 r r)) (*.f64 -1/2 (/.f64 (cos.f64 b) r))))))
(-.f64 (fma.f64 (*.f64 a a) (*.f64 (exp.f64 (/.f64 (cos.f64 b) r)) (fma.f64 -1/2 (/.f64 (cos.f64 b) r) (*.f64 (/.f64 1/2 r) (/.f64 (pow.f64 (sin.f64 b) 2) r)))) (exp.f64 (/.f64 (cos.f64 b) r))) (*.f64 (/.f64 (sin.f64 b) r) (*.f64 a (exp.f64 (/.f64 (cos.f64 b) r)))))
(-.f64 (*.f64 (+.f64 (*.f64 (*.f64 a a) (fma.f64 -1/2 (/.f64 (cos.f64 b) r) (*.f64 1/2 (/.f64 (/.f64 (pow.f64 (sin.f64 b) 2) r) r)))) 1) (exp.f64 (/.f64 (cos.f64 b) r))) (*.f64 (*.f64 (/.f64 a r) (sin.f64 b)) (exp.f64 (/.f64 (cos.f64 b) r))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (sin.f64 b) (*.f64 a (exp.f64 (/.f64 (cos.f64 b) r)))) r)) (+.f64 (exp.f64 (/.f64 (cos.f64 b) r)) (+.f64 (*.f64 (pow.f64 a 3) (*.f64 (exp.f64 (/.f64 (cos.f64 b) r)) (+.f64 (*.f64 1/6 (/.f64 (sin.f64 b) r)) (+.f64 (*.f64 -1/6 (/.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 r 3))) (*.f64 1/2 (/.f64 (*.f64 (sin.f64 b) (cos.f64 b)) (pow.f64 r 2))))))) (*.f64 (pow.f64 a 2) (*.f64 (exp.f64 (/.f64 (cos.f64 b) r)) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 (sin.f64 b) 2) (pow.f64 r 2))) (*.f64 -1/2 (/.f64 (cos.f64 b) r))))))))
(+.f64 (fma.f64 -1 (/.f64 (sin.f64 b) (/.f64 r (*.f64 a (exp.f64 (/.f64 (cos.f64 b) r))))) (exp.f64 (/.f64 (cos.f64 b) r))) (fma.f64 (pow.f64 a 3) (*.f64 (exp.f64 (/.f64 (cos.f64 b) r)) (fma.f64 1/6 (/.f64 (sin.f64 b) r) (fma.f64 -1/6 (/.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 r 3)) (*.f64 1/2 (/.f64 (*.f64 (cos.f64 b) (sin.f64 b)) (*.f64 r r)))))) (*.f64 (*.f64 a a) (*.f64 (exp.f64 (/.f64 (cos.f64 b) r)) (fma.f64 1/2 (/.f64 (pow.f64 (sin.f64 b) 2) (*.f64 r r)) (*.f64 -1/2 (/.f64 (cos.f64 b) r)))))))
(+.f64 (-.f64 (exp.f64 (/.f64 (cos.f64 b) r)) (*.f64 (/.f64 (sin.f64 b) r) (*.f64 a (exp.f64 (/.f64 (cos.f64 b) r))))) (fma.f64 (*.f64 a a) (*.f64 (exp.f64 (/.f64 (cos.f64 b) r)) (fma.f64 -1/2 (/.f64 (cos.f64 b) r) (*.f64 (/.f64 1/2 r) (/.f64 (pow.f64 (sin.f64 b) 2) r)))) (*.f64 (fma.f64 1/6 (/.f64 (sin.f64 b) r) (fma.f64 1/2 (/.f64 (*.f64 (cos.f64 b) (sin.f64 b)) (*.f64 r r)) (*.f64 -1/6 (/.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 r 3))))) (*.f64 (pow.f64 a 3) (exp.f64 (/.f64 (cos.f64 b) r))))))
(+.f64 (-.f64 (exp.f64 (/.f64 (cos.f64 b) r)) (*.f64 (*.f64 (/.f64 a r) (sin.f64 b)) (exp.f64 (/.f64 (cos.f64 b) r)))) (*.f64 (exp.f64 (/.f64 (cos.f64 b) r)) (+.f64 (*.f64 (*.f64 a a) (fma.f64 -1/2 (/.f64 (cos.f64 b) r) (*.f64 1/2 (/.f64 (/.f64 (pow.f64 (sin.f64 b) 2) r) r)))) (*.f64 (pow.f64 a 3) (fma.f64 1/6 (/.f64 (sin.f64 b) r) (fma.f64 -1/6 (pow.f64 (/.f64 (sin.f64 b) r) 3) (*.f64 (/.f64 (cos.f64 b) r) (*.f64 (/.f64 (sin.f64 b) r) 1/2))))))))
(exp.f64 (/.f64 (cos.f64 (+.f64 a b)) r))
(exp.f64 (/.f64 (cos.f64 (+.f64 a b)) r))
(exp.f64 (/.f64 (cos.f64 (+.f64 a b)) r))
(exp.f64 (/.f64 (cos.f64 (+.f64 a b)) r))
(exp.f64 (/.f64 (cos.f64 (-.f64 b (*.f64 -1 a))) r))
(exp.f64 (/.f64 (cos.f64 (+.f64 a b)) r))
(exp.f64 (/.f64 (cos.f64 (-.f64 b (*.f64 -1 a))) r))
(exp.f64 (/.f64 (cos.f64 (+.f64 a b)) r))
(exp.f64 (/.f64 (cos.f64 (-.f64 b (*.f64 -1 a))) r))
(exp.f64 (/.f64 (cos.f64 (+.f64 a b)) r))
(exp.f64 (/.f64 (cos.f64 (-.f64 b (*.f64 -1 a))) r))
(exp.f64 (/.f64 (cos.f64 (+.f64 a b)) r))
(exp.f64 (/.f64 (cos.f64 (+.f64 a b)) r))
(exp.f64 (/.f64 (cos.f64 (+.f64 a b)) r))
(exp.f64 (/.f64 (cos.f64 (+.f64 a b)) r))
(exp.f64 (/.f64 (cos.f64 (+.f64 a b)) r))
1
(+.f64 1 (/.f64 (cos.f64 (+.f64 a b)) r))
(+.f64 (/.f64 (cos.f64 (+.f64 a b)) r) 1)
(+.f64 1 (+.f64 (/.f64 (cos.f64 (+.f64 a b)) r) (*.f64 1/2 (/.f64 (pow.f64 (cos.f64 (+.f64 a b)) 2) (pow.f64 r 2)))))
(+.f64 1 (+.f64 (/.f64 (cos.f64 (+.f64 a b)) r) (*.f64 1/2 (/.f64 (pow.f64 (cos.f64 (+.f64 a b)) 2) (*.f64 r r)))))
(+.f64 1 (fma.f64 1/2 (/.f64 (pow.f64 (cos.f64 (+.f64 a b)) 2) (*.f64 r r)) (/.f64 (cos.f64 (+.f64 a b)) r)))
(+.f64 (/.f64 (cos.f64 (+.f64 a b)) r) (fma.f64 1/2 (/.f64 (pow.f64 (cos.f64 (+.f64 a b)) 2) (*.f64 r r)) 1))
(+.f64 (*.f64 1/6 (/.f64 (pow.f64 (cos.f64 (+.f64 a b)) 3) (pow.f64 r 3))) (+.f64 1 (+.f64 (/.f64 (cos.f64 (+.f64 a b)) r) (*.f64 1/2 (/.f64 (pow.f64 (cos.f64 (+.f64 a b)) 2) (pow.f64 r 2))))))
(fma.f64 1/6 (/.f64 (pow.f64 (cos.f64 (+.f64 a b)) 3) (pow.f64 r 3)) (+.f64 1 (+.f64 (/.f64 (cos.f64 (+.f64 a b)) r) (*.f64 1/2 (/.f64 (pow.f64 (cos.f64 (+.f64 a b)) 2) (*.f64 r r))))))
(+.f64 (fma.f64 1/2 (/.f64 (pow.f64 (cos.f64 (+.f64 a b)) 2) (*.f64 r r)) (/.f64 (cos.f64 (+.f64 a b)) r)) (fma.f64 1/6 (/.f64 (pow.f64 (cos.f64 (+.f64 a b)) 3) (pow.f64 r 3)) 1))
(+.f64 1 (fma.f64 1/6 (pow.f64 (/.f64 (cos.f64 (+.f64 a b)) r) 3) (fma.f64 1/2 (/.f64 (pow.f64 (cos.f64 (+.f64 a b)) 2) (*.f64 r r)) (/.f64 (cos.f64 (+.f64 a b)) r))))
1
(+.f64 1 (/.f64 (cos.f64 (+.f64 a b)) r))
(+.f64 (/.f64 (cos.f64 (+.f64 a b)) r) 1)
(+.f64 1 (+.f64 (/.f64 (cos.f64 (+.f64 a b)) r) (*.f64 1/2 (/.f64 (pow.f64 (cos.f64 (+.f64 a b)) 2) (pow.f64 r 2)))))
(+.f64 1 (+.f64 (/.f64 (cos.f64 (+.f64 a b)) r) (*.f64 1/2 (/.f64 (pow.f64 (cos.f64 (+.f64 a b)) 2) (*.f64 r r)))))
(+.f64 1 (fma.f64 1/2 (/.f64 (pow.f64 (cos.f64 (+.f64 a b)) 2) (*.f64 r r)) (/.f64 (cos.f64 (+.f64 a b)) r)))
(+.f64 (/.f64 (cos.f64 (+.f64 a b)) r) (fma.f64 1/2 (/.f64 (pow.f64 (cos.f64 (+.f64 a b)) 2) (*.f64 r r)) 1))
(+.f64 (*.f64 1/6 (/.f64 (pow.f64 (cos.f64 (+.f64 a b)) 3) (pow.f64 r 3))) (+.f64 1 (+.f64 (/.f64 (cos.f64 (+.f64 a b)) r) (*.f64 1/2 (/.f64 (pow.f64 (cos.f64 (+.f64 a b)) 2) (pow.f64 r 2))))))
(fma.f64 1/6 (/.f64 (pow.f64 (cos.f64 (+.f64 a b)) 3) (pow.f64 r 3)) (+.f64 1 (+.f64 (/.f64 (cos.f64 (+.f64 a b)) r) (*.f64 1/2 (/.f64 (pow.f64 (cos.f64 (+.f64 a b)) 2) (*.f64 r r))))))
(+.f64 (fma.f64 1/2 (/.f64 (pow.f64 (cos.f64 (+.f64 a b)) 2) (*.f64 r r)) (/.f64 (cos.f64 (+.f64 a b)) r)) (fma.f64 1/6 (/.f64 (pow.f64 (cos.f64 (+.f64 a b)) 3) (pow.f64 r 3)) 1))
(+.f64 1 (fma.f64 1/6 (pow.f64 (/.f64 (cos.f64 (+.f64 a b)) r) 3) (fma.f64 1/2 (/.f64 (pow.f64 (cos.f64 (+.f64 a b)) 2) (*.f64 r r)) (/.f64 (cos.f64 (+.f64 a b)) r))))

localize22.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.6b
(cbrt.f64 (sin.f64 b))
0.6b
(cbrt.f64 r)
0.6b
(pow.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (cbrt.f64 r)) 3)
4.3b
(cos.f64 (+.f64 b a))
Compiler

Compiled 48 to 15 computations (68.8% saved)

series14.0ms (0.1%)

Counts
3 → 16
Calls

12 calls:

TimeVariablePointExpression
4.0ms
b
@-inf
(cbrt.f64 (sin.f64 b))
2.0ms
b
@inf
(pow.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (cbrt.f64 r)) 3)
2.0ms
b
@-inf
(pow.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (cbrt.f64 r)) 3)
2.0ms
b
@inf
(cbrt.f64 (sin.f64 b))
1.0ms
b
@0
(pow.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (cbrt.f64 r)) 3)

rewrite66.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
771×pow1_binary64
717×add-log-exp_binary64
717×log1p-expm1-u_binary64
717×expm1-log1p-u_binary64
695×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0919
118614
2204914
Stop Event
node limit
Counts
3 → 66
Calls
Call 1
Inputs
(pow.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (cbrt.f64 r)) 3)
(cbrt.f64 r)
(cbrt.f64 (sin.f64 b))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (sin.f64 b) r)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 b) r)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sin.f64 b)) (*.f64 (cbrt.f64 r) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) r)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 r (sin.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 r) (*.f64 (cbrt.f64 (sin.f64 b)) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) r)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (sin.f64 b) r)) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) r)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 b) r) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (sin.f64 b) r))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) r)) 2) (cbrt.f64 (*.f64 (sin.f64 b) r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (sin.f64 b)) 2) (*.f64 (cbrt.f64 (sin.f64 b)) r))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) r)) 2)) (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 (sin.f64 b) r))) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) r)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sin.f64 b)) (*.f64 (sqrt.f64 (sin.f64 b)) r))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cbrt.f64 (*.f64 (sin.f64 b) r))) (*.f64 (sqrt.f64 (cbrt.f64 (*.f64 (sin.f64 b) r))) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) r)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (sin.f64 b) r)) (sqrt.f64 (*.f64 (sin.f64 b) r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) r)) 2)) 3) (cbrt.f64 (*.f64 (sin.f64 b) r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (*.f64 (sin.f64 b) r))) 3) (pow.f64 (sqrt.f64 (cbrt.f64 (*.f64 (sin.f64 b) r))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 b) (pow.f64 (cbrt.f64 r) 2)) (cbrt.f64 r))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 b) (sqrt.f64 r)) (sqrt.f64 r))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) r)) 2) (cbrt.f64 (sin.f64 b))) (cbrt.f64 r))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) r)) 2) (cbrt.f64 r)) (cbrt.f64 (sin.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) r)) 2) 1) (cbrt.f64 (*.f64 (sin.f64 b) r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) r)) 2) (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) r)) 2))) (cbrt.f64 (cbrt.f64 (*.f64 (sin.f64 b) r))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) r)) 2) (sqrt.f64 (cbrt.f64 (*.f64 (sin.f64 b) r)))) (sqrt.f64 (cbrt.f64 (*.f64 (sin.f64 b) r))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (sin.f64 b) r) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sin.f64 b)) r))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sin.f64 b) r) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (sin.f64 b) 3) (pow.f64 r 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sin.f64 b) r)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sin.f64 b) r)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sin.f64 b) r)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (cbrt.f64 r)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 r) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 r))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 r)) (pow.f64 (cbrt.f64 (cbrt.f64 r)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 r)) 2) (cbrt.f64 (cbrt.f64 r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 r 1/6) (pow.f64 r 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cbrt.f64 r))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 r) 2) 1/3) (cbrt.f64 (cbrt.f64 r)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 r) 1/3) (pow.f64 (sqrt.f64 r) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 r 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 r) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 r)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 r 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 r) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 r)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 r)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 r)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 r)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (cbrt.f64 (sin.f64 b))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sin.f64 b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (sin.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (sin.f64 b))) (cbrt.f64 (pow.f64 (cbrt.f64 (sin.f64 b)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (sin.f64 b)) 2)) (cbrt.f64 (cbrt.f64 (sin.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sin.f64 b) 1/6) (pow.f64 (sin.f64 b) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cbrt.f64 (sin.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (sin.f64 b)) 2) 1/3) (cbrt.f64 (cbrt.f64 (sin.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (sin.f64 b)) 1/3) (pow.f64 (sqrt.f64 (sin.f64 b)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sin.f64 b) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sin.f64 b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 b))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (sin.f64 b) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (sin.f64 b)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (sin.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (sin.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (sin.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 (sin.f64 b))))))))

simplify203.0ms (1.3%)

Algorithm
egg-herbie
Rules
1290×sqr-pow_binary64
666×pow-sqr_binary64
625×cube-prod_binary64
559×fabs-mul_binary64
373×unpow3_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
011112
12988
24188
35288
47688
516988
654788
7121488
8130688
9144488
10160788
11184688
12217388
13260188
14310688
15371388
16443688
17475988
18504388
19526788
20544588
21552988
22647288
23744988
24791588
Stop Event
node limit
Counts
82 → 69
Calls
Call 1
Inputs
(*.f64 (*.f64 (sin.f64 b) r) (pow.f64 1 1/3))
(*.f64 (*.f64 (sin.f64 b) r) (pow.f64 1 1/3))
(*.f64 (*.f64 (sin.f64 b) r) (pow.f64 1 1/3))
(*.f64 (*.f64 (sin.f64 b) r) (pow.f64 1 1/3))
(*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 b) r))
(*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 b) r))
(*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 b) r))
(*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 b) r))
(pow.f64 (sin.f64 b) 1/3)
(pow.f64 (sin.f64 b) 1/3)
(pow.f64 (sin.f64 b) 1/3)
(pow.f64 (sin.f64 b) 1/3)
(pow.f64 (sin.f64 b) 1/3)
(pow.f64 (sin.f64 b) 1/3)
(pow.f64 (sin.f64 b) 1/3)
(pow.f64 (sin.f64 b) 1/3)
Outputs
(*.f64 (*.f64 (sin.f64 b) r) (pow.f64 1 1/3))
(*.f64 (sin.f64 b) (*.f64 r 1))
(*.f64 (sin.f64 b) r)
(*.f64 (*.f64 (sin.f64 b) r) (pow.f64 1 1/3))
(*.f64 (sin.f64 b) (*.f64 r 1))
(*.f64 (sin.f64 b) r)
(*.f64 (*.f64 (sin.f64 b) r) (pow.f64 1 1/3))
(*.f64 (sin.f64 b) (*.f64 r 1))
(*.f64 (sin.f64 b) r)
(*.f64 (*.f64 (sin.f64 b) r) (pow.f64 1 1/3))
(*.f64 (sin.f64 b) (*.f64 r 1))
(*.f64 (sin.f64 b) r)
(*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 b) r))
(*.f64 (sin.f64 b) (*.f64 r 1))
(*.f64 (sin.f64 b) r)
(*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 b) r))
(*.f64 (sin.f64 b) (*.f64 r 1))
(*.f64 (sin.f64 b) r)
(*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 b) r))
(*.f64 (sin.f64 b) (*.f64 r 1))
(*.f64 (sin.f64 b) r)
(*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 b) r))
(*.f64 (sin.f64 b) (*.f64 r 1))
(*.f64 (sin.f64 b) r)
(pow.f64 (sin.f64 b) 1/3)
(cbrt.f64 (sin.f64 b))
(pow.f64 (sin.f64 b) 1/3)
(cbrt.f64 (sin.f64 b))
(pow.f64 (sin.f64 b) 1/3)
(cbrt.f64 (sin.f64 b))
(pow.f64 (sin.f64 b) 1/3)
(cbrt.f64 (sin.f64 b))
(pow.f64 (sin.f64 b) 1/3)
(cbrt.f64 (sin.f64 b))
(pow.f64 (sin.f64 b) 1/3)
(cbrt.f64 (sin.f64 b))
(pow.f64 (sin.f64 b) 1/3)
(cbrt.f64 (sin.f64 b))
(pow.f64 (sin.f64 b) 1/3)
(cbrt.f64 (sin.f64 b))

eval1.2s (7.8%)

Compiler

Compiled 26964 to 8241 computations (69.4% saved)

prune345.0ms (2.2%)

Pruning

89 alts after pruning (82 fresh and 7 done)

PrunedKeptTotal
New1056341090
Fresh204868
Picked101
Done279
Total1079891168
Error
0.0b
Counts
1168 → 89
Alt Table
Click to see full alt table
StatusErrorProgram
32.5b
(*.f64 (/.f64 r (cos.f64 a)) b)
31.6b
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 (+.f64 (*.f64 (*.f64 -1/2 b) b) 1) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a))))
51.9b
(/.f64 (*.f64 (sin.f64 b) (neg.f64 r)) (cos.f64 (+.f64 b a)))
16.9b
(pow.f64 (cbrt.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)) 3)
29.8b
(*.f64 (/.f64 (sin.f64 b) (cos.f64 a)) r)
52.7b
(/.f64 (sin.f64 b) (log.f64 (exp.f64 (/.f64 (cos.f64 b) r))))
25.8b
(/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r))
51.9b
(/.f64 (sin.f64 b) (*.f64 (neg.f64 (cos.f64 (+.f64 b a))) (/.f64 1 r)))
22.8b
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 a) b)))
32.5b
(/.f64 r (/.f64 (cos.f64 a) b))
28.7b
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))
40.1b
(/.f64 (sin.f64 b) (exp.f64 (log.f64 (/.f64 (cos.f64 (+.f64 b a)) r))))
50.8b
(/.f64 (*.f64 (sin.f64 b) (neg.f64 r)) (cos.f64 b))
0.3b
(*.f64 (/.f64 r (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))) (sin.f64 b))
32.5b
(*.f64 (/.f64 1 (cos.f64 (+.f64 b a))) (*.f64 r b))
32.5b
(*.f64 (*.f64 (/.f64 1 (cos.f64 a)) r) b)
23.1b
(*.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) a))) r)
51.7b
(*.f64 (-.f64 (+.f64 1 (/.f64 b (cos.f64 a))) 1) r)
29.9b
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 a))
16.9b
(*.f64 (log1p.f64 (expm1.f64 (/.f64 1 (cos.f64 (+.f64 b a))))) (*.f64 r (sin.f64 b)))
1.3b
(/.f64 (pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 3) (fma.f64 (cos.f64 b) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 b)) (sin.f64 a))))
0.3b
(*.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))) r)
32.5b
(*.f64 (/.f64 b (cos.f64 a)) r)
16.3b
(*.f64 (/.f64 1 (cos.f64 (+.f64 b a))) (/.f64 (sin.f64 b) (/.f64 1 r)))
32.6b
(/.f64 b (/.f64 (cos.f64 a) r))
1.3b
(/.f64 (pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 3) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a))))
0.4b
(/.f64 (sin.f64 b) (/.f64 (fma.f64 (cos.f64 b) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 b)) (sin.f64 a))) r))
25.0b
(*.f64 (/.f64 (sin.f64 b) (-.f64 (cos.f64 b) (*.f64 (sin.f64 b) (sin.f64 a)))) r)
48.1b
(pow.f64 (pow.f64 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 b a))) 3) 1/3)
38.7b
(/.f64 (-.f64 (+.f64 1 (*.f64 (sin.f64 b) r)) 1) (cos.f64 (+.f64 b a)))
16.5b
(/.f64 1 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 (sin.f64 b) r)))
30.3b
(/.f64 (pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 3) (cos.f64 a))
25.0b
(*.f64 (/.f64 (sin.f64 b) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (cos.f64 b))) r)
36.8b
(exp.f64 (log.f64 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 b a)))))
30.4b
(/.f64 (pow.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (cbrt.f64 r)) 3) (cos.f64 a))
16.2b
(/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)))
0.4b
(/.f64 (sin.f64 b) (/.f64 (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a))) r))
51.9b
(/.f64 (sin.f64 b) (/.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 3) (neg.f64 r)))
25.7b
(*.f64 (/.f64 1 (cos.f64 b)) (*.f64 r (sin.f64 b)))
0.5b
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 (*.f64 (cos.f64 b) (cbrt.f64 (pow.f64 (cos.f64 a) 2))) (cbrt.f64 (cos.f64 a))) (*.f64 (sin.f64 b) (sin.f64 a))))
62.8b
(/.f64 (sin.f64 b) (log.f64 (+.f64 (/.f64 (cos.f64 (+.f64 a b)) r) 1)))
37.1b
(/.f64 (pow.f64 (pow.f64 (*.f64 (sin.f64 b) r) 1/3) 3) (cos.f64 (+.f64 b a)))
31.8b
(/.f64 (sin.f64 b) (-.f64 (*.f64 (+.f64 (*.f64 b (*.f64 b -1/2)) 1) (/.f64 (cos.f64 a) r)) (*.f64 b (/.f64 (sin.f64 a) r))))
27.5b
(*.f64 (/.f64 1 (-.f64 (cos.f64 b) (*.f64 a (sin.f64 b)))) (*.f64 r (sin.f64 b)))
29.9b
(/.f64 (sin.f64 b) (/.f64 (cos.f64 a) r))
0.3b
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a))))
0.6b
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 b) (cos.f64 a)))) 1) (*.f64 (sin.f64 b) (sin.f64 a))))
27.5b
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (cos.f64 b) (*.f64 a (sin.f64 b))))
36.8b
(/.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 b) r))) (cos.f64 (+.f64 b a)))
0.4b
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (expm1.f64 (log1p.f64 (*.f64 (cos.f64 b) (cos.f64 a)))) (*.f64 (sin.f64 b) (sin.f64 a))))
16.4b
(/.f64 (*.f64 r (sin.f64 b)) (log.f64 (exp.f64 (cos.f64 (+.f64 b a)))))
16.4b
(/.f64 (sin.f64 b) (*.f64 1/3 (*.f64 3 (/.f64 (cos.f64 (+.f64 b a)) r))))
42.1b
(*.f64 (/.f64 (sin.f64 b) (+.f64 (fma.f64 (*.f64 (cos.f64 a) (sqrt.f64 (cos.f64 b))) (sqrt.f64 (cos.f64 b)) (neg.f64 (*.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a)) (sqrt.f64 (sin.f64 b))))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a))) (sqrt.f64 (sin.f64 b)) (*.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a)) (sqrt.f64 (sin.f64 b)))))) r)
32.5b
(*.f64 (*.f64 (/.f64 1 (cos.f64 a)) b) r)
16.9b
(/.f64 (sin.f64 b) (pow.f64 (cbrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r)) 3))
25.0b
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (cos.f64 b) (*.f64 (sin.f64 b) (sin.f64 a))))
50.3b
(/.f64 (sin.f64 b) (/.f64 (neg.f64 (cos.f64 a)) r))
31.2b
(/.f64 (sin.f64 b) (/.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) b)) r))
51.9b
(/.f64 (sin.f64 b) (/.f64 (log.f64 (+.f64 1 (expm1.f64 (cos.f64 (+.f64 b a))))) (neg.f64 r)))
16.4b
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (-.f64 b a))) r)
25.7b
(*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b))
0.4b
(/.f64 (*.f64 r (sin.f64 b)) (+.f64 (fma.f64 1 (*.f64 (cos.f64 b) (cos.f64 a)) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (cbrt.f64 (pow.f64 (sin.f64 b) 2))))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a))) (cbrt.f64 (pow.f64 (sin.f64 b) 2)) (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (cbrt.f64 (pow.f64 (sin.f64 b) 2))))))
52.7b
(*.f64 (log.f64 (exp.f64 (/.f64 b (cos.f64 a)))) r)
51.9b
(/.f64 (sin.f64 b) (/.f64 (cbrt.f64 (pow.f64 (cos.f64 (+.f64 b a)) 3)) (neg.f64 r)))
0.8b
(*.f64 (/.f64 (sin.f64 b) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 a) (cos.f64 b))) 3))) r)
0.4b
(*.f64 (/.f64 1 (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a)))) (*.f64 r (sin.f64 b)))
25.7b
(*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r)
51.9b
(*.f64 (/.f64 (sin.f64 b) (neg.f64 (cos.f64 (+.f64 b a)))) r)
32.8b
(/.f64 1 (/.f64 (cos.f64 a) (*.f64 r b)))
0.4b
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (log1p.f64 (expm1.f64 (*.f64 (cos.f64 b) (cos.f64 a)))) (*.f64 (sin.f64 b) (sin.f64 a))))
28.7b
(*.f64 (/.f64 (sin.f64 b) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (cos.f64 a))) r)
51.9b
(/.f64 (sin.f64 b) (/.f64 (expm1.f64 (log1p.f64 (cos.f64 (+.f64 b a)))) (neg.f64 r)))
52.2b
(log.f64 (exp.f64 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 b a)))))
29.9b
(*.f64 (/.f64 1 (cos.f64 a)) (*.f64 r (sin.f64 b)))
51.9b
(/.f64 (sin.f64 b) (/.f64 (log1p.f64 (expm1.f64 (cos.f64 (+.f64 b a)))) (neg.f64 r)))
28.7b
(*.f64 (/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))) r)
53.0b
(/.f64 (*.f64 b (neg.f64 r)) (cos.f64 a))
0.4b
(*.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 3)))) r)
26.7b
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (pow.f64 (sqrt.f64 (*.f64 (cos.f64 b) (cos.f64 a))) 2) (*.f64 (sin.f64 b) (sin.f64 a))))
25.7b
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))
41.4b
(*.f64 (-.f64 (+.f64 1 (/.f64 r (cos.f64 a))) 1) b)
0.4b
(/.f64 (sin.f64 b) (-.f64 (/.f64 (*.f64 (cos.f64 b) (cos.f64 a)) r) (/.f64 (*.f64 (sin.f64 b) (sin.f64 a)) r)))
0.3b
(*.f64 (/.f64 (sin.f64 b) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b)))) r)
50.8b
(/.f64 (sin.f64 b) (/.f64 (neg.f64 (cos.f64 b)) r))
32.5b
(/.f64 (*.f64 r b) (cos.f64 (+.f64 b a)))
31.1b
(*.f64 (/.f64 1 (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) b))) (*.f64 r (sin.f64 b)))
42.0b
(*.f64 r b)
26.2b
(/.f64 (pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 3) (cos.f64 b))
43.6b
(pow.f64 (sqrt.f64 (*.f64 (/.f64 r (cos.f64 a)) b)) 2)
Compiler

Compiled 1413 to 953 computations (32.6% saved)

regimes1.1s (7.3%)

Counts
171 → 1
Calls
Call 1
Inputs
(*.f64 r b)
(/.f64 r (/.f64 (cos.f64 a) b))
(/.f64 b (/.f64 (cos.f64 a) r))
(*.f64 (/.f64 b (cos.f64 a)) r)
(/.f64 b (/.f64 (cos.f64 a) r))
(/.f64 r (/.f64 (cos.f64 a) b))
(*.f64 (/.f64 r (cos.f64 a)) b)
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 (*.f64 b (neg.f64 r)) (cos.f64 a))
(*.f64 (*.f64 (/.f64 1 (cos.f64 a)) b) r)
(*.f64 (*.f64 (/.f64 1 (cos.f64 a)) r) b)
(/.f64 1 (/.f64 (cos.f64 a) (*.f64 r b)))
(/.f64 (*.f64 r b) (cos.f64 (+.f64 b a)))
(/.f64 (*.f64 r b) (cos.f64 (+.f64 b a)))
(*.f64 (-.f64 (+.f64 1 (/.f64 b (cos.f64 a))) 1) r)
(*.f64 (/.f64 1 (cos.f64 (+.f64 b a))) (*.f64 r b))
(*.f64 (-.f64 (+.f64 1 (/.f64 r (cos.f64 a))) 1) b)
(*.f64 (/.f64 (sin.f64 b) (cos.f64 a)) r)
(*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r)
(/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 a) r))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))
(*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b))
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 a))
(*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))
(/.f64 (*.f64 (sin.f64 b) (neg.f64 r)) (cos.f64 b))
(/.f64 (sin.f64 b) (/.f64 (neg.f64 (cos.f64 a)) r))
(/.f64 (sin.f64 b) (/.f64 (neg.f64 (cos.f64 b)) r))
(/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (-.f64 b a))) r)
(*.f64 (/.f64 1 (cos.f64 b)) (*.f64 r (sin.f64 b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)))
(*.f64 (/.f64 1 (cos.f64 a)) (*.f64 r (sin.f64 b)))
(*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))) r)
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 b a)))
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 a b)))
(*.f64 (/.f64 (sin.f64 b) (neg.f64 (cos.f64 (+.f64 b a)))) r)
(/.f64 (*.f64 (sin.f64 b) (neg.f64 r)) (cos.f64 (+.f64 b a)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) (neg.f64 r)))
(/.f64 1 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 (sin.f64 b) r)))
(*.f64 r (/.f64 1 (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b))))
(*.f64 r (/.f64 1 (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b))))
(/.f64 1 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 (sin.f64 b) r)))
(*.f64 (/.f64 1 (cos.f64 (+.f64 b a))) (*.f64 r (sin.f64 b)))
(*.f64 r (/.f64 1 (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b))))
(*.f64 (sin.f64 b) (*.f64 r (/.f64 1 (cos.f64 (+.f64 b a)))))
(/.f64 (sin.f64 b) (*.f64 (neg.f64 (cos.f64 (+.f64 b a))) (/.f64 1 r)))
(*.f64 (/.f64 1 (cos.f64 (+.f64 b a))) (/.f64 (sin.f64 b) (/.f64 1 r)))
(/.f64 (-.f64 (+.f64 1 (*.f64 (sin.f64 b) r)) 1) (cos.f64 (+.f64 b a)))
(/.f64 (sin.f64 b) (*.f64 1/3 (*.f64 3 (/.f64 (cos.f64 (+.f64 b a)) r))))
(*.f64 (/.f64 1 (cos.f64 (+.f64 b a))) (/.f64 (sin.f64 b) (/.f64 1 r)))
(/.f64 (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 b 3) r)) (*.f64 r b)) (cos.f64 (+.f64 b a)))
(*.f64 (log.f64 (exp.f64 (/.f64 b (cos.f64 a)))) r)
(pow.f64 (sqrt.f64 (*.f64 (/.f64 r (cos.f64 a)) b)) 2)
(pow.f64 (cbrt.f64 (*.f64 (/.f64 r (cos.f64 a)) b)) 3)
(pow.f64 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 r (sin.f64 b))) -1)
(/.f64 (sin.f64 b) (log.f64 (+.f64 (/.f64 (cos.f64 (+.f64 a b)) r) 1)))
(/.f64 (sin.f64 b) (/.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) b)) r))
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) b)))
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (cos.f64 b) (*.f64 a (sin.f64 b))))
(*.f64 (/.f64 1 (-.f64 (cos.f64 b) (*.f64 a (sin.f64 b)))) (*.f64 r (sin.f64 b)))
(*.f64 (/.f64 1 (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) b))) (*.f64 r (sin.f64 b)))
(/.f64 (sin.f64 b) (-.f64 (*.f64 (+.f64 (*.f64 b (*.f64 b -1/2)) 1) (/.f64 (cos.f64 a) r)) (*.f64 b (/.f64 (sin.f64 a) r))))
(/.f64 (sin.f64 b) (log.f64 (exp.f64 (/.f64 (cos.f64 b) r))))
(/.f64 (pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 3) (cos.f64 a))
(/.f64 (pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 3) (cos.f64 b))
(/.f64 (sqrt.f64 (pow.f64 (*.f64 r (sin.f64 b)) 2)) (cos.f64 a))
(/.f64 (sin.f64 b) (exp.f64 (log.f64 (/.f64 (cos.f64 (+.f64 b a)) r))))
(/.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 b) r))) (cos.f64 (+.f64 b a)))
(/.f64 (sin.f64 b) (log.f64 (exp.f64 (/.f64 (cos.f64 (+.f64 b a)) r))))
(/.f64 (sin.f64 b) (exp.f64 (log.f64 (/.f64 (cos.f64 (+.f64 b a)) r))))
(log.f64 (exp.f64 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 b a)))))
(exp.f64 (log.f64 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 b a)))))
(/.f64 (exp.f64 (log.f64 (*.f64 r (sin.f64 b)))) (cos.f64 (+.f64 b a)))
(exp.f64 (log.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))))
(/.f64 (*.f64 r (sin.f64 b)) (log1p.f64 (expm1.f64 (cos.f64 (+.f64 b a)))))
(/.f64 (*.f64 r (sin.f64 b)) (log.f64 (exp.f64 (cos.f64 (+.f64 b a)))))
(log.f64 (exp.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))))
(/.f64 (sin.f64 b) (/.f64 (expm1.f64 (log1p.f64 (cos.f64 (+.f64 b a)))) (neg.f64 r)))
(/.f64 (sin.f64 b) (/.f64 (log1p.f64 (expm1.f64 (cos.f64 (+.f64 b a)))) (neg.f64 r)))
(pow.f64 (cbrt.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)) 3)
(/.f64 (sin.f64 b) (pow.f64 (cbrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r)) 3))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))) 3) r)
(/.f64 (pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 3) (cos.f64 (+.f64 b a)))
(pow.f64 (cbrt.f64 (/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)))) 3)
(*.f64 (sqrt.f64 (pow.f64 (cos.f64 (+.f64 b a)) -2)) (*.f64 r (sin.f64 b)))
(pow.f64 (cbrt.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))) 3)
(/.f64 (sqrt.f64 (pow.f64 (*.f64 r (sin.f64 b)) 2)) (cos.f64 (+.f64 b a)))
(/.f64 (pow.f64 (sqrt.f64 (*.f64 r (sin.f64 b))) 2) (cos.f64 (+.f64 b a)))
(/.f64 (*.f64 r (sin.f64 b)) (sqrt.f64 (pow.f64 (cos.f64 (+.f64 b a)) 2)))
(/.f64 (pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 3) (cos.f64 (+.f64 b a)))
(/.f64 (sin.f64 b) (/.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 3) (neg.f64 r)))
(/.f64 (sin.f64 b) (/.f64 (cbrt.f64 (pow.f64 (cos.f64 (+.f64 b a)) 3)) (neg.f64 r)))
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (cos.f64 b) (*.f64 (sin.f64 b) (sin.f64 a)))) r)
(/.f64 (pow.f64 (pow.f64 (*.f64 (sin.f64 b) r) 1/3) 3) (cos.f64 (+.f64 b a)))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))) r)
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))
(*.f64 (log1p.f64 (expm1.f64 (/.f64 1 (cos.f64 (+.f64 b a))))) (*.f64 r (sin.f64 b)))
(pow.f64 (pow.f64 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 b a))) 3) 1/3)
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (cos.f64 b) (*.f64 (sin.f64 b) (sin.f64 a))))
(pow.f64 (pow.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b)) 3) 1/3)
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (exp.f64 (log1p.f64 (cos.f64 (+.f64 b a)))) 1))
(/.f64 (sin.f64 b) (/.f64 (log.f64 (+.f64 1 (expm1.f64 (cos.f64 (+.f64 b a))))) (neg.f64 r)))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 1 (cos.f64 (+.f64 b a)))) 3) (*.f64 r (sin.f64 b)))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) a))) r)
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 a) b)))
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) a)))
(/.f64 (*.f64 r (sin.f64 b)) (+.f64 (cos.f64 a) (*.f64 b (-.f64 (*.f64 (cos.f64 a) (*.f64 -1/2 b)) (sin.f64 a)))))
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 (fma.f64 -1/2 (*.f64 a a) 1) (cos.f64 b)) (*.f64 a (sin.f64 b))))
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 (+.f64 (*.f64 (*.f64 -1/2 b) b) 1) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a))))
(/.f64 (pow.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (cbrt.f64 r)) 3) (cos.f64 a))
(*.f64 (/.f64 (sin.f64 b) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (cos.f64 b))) r)
(*.f64 (/.f64 (sin.f64 b) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (cos.f64 a))) r)
(/.f64 (pow.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (cbrt.f64 r)) 3) (cos.f64 (+.f64 b a)))
(/.f64 (pow.f64 (exp.f64 (*.f64 (log.f64 (*.f64 r (sin.f64 b))) 1/3)) 3) (cos.f64 (+.f64 b a)))
(/.f64 (pow.f64 (pow.f64 (pow.f64 (*.f64 r (sin.f64 b)) 1/6) 2) 3) (cos.f64 (+.f64 b a)))
(/.f64 (*.f64 (pow.f64 (cbrt.f64 r) 2) (*.f64 (cbrt.f64 r) (sin.f64 b))) (cos.f64 (+.f64 b a)))
(pow.f64 (/.f64 (pow.f64 (*.f64 r (sin.f64 b)) 3) (pow.f64 (cos.f64 (+.f64 b a)) 3)) 1/3)
(*.f64 (/.f64 r (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))) (sin.f64 b))
(/.f64 (sin.f64 b) (/.f64 (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))) r)
(*.f64 (/.f64 (sin.f64 b) (sqrt.f64 (cos.f64 (+.f64 b a)))) (/.f64 r (sqrt.f64 (cos.f64 (+.f64 b a)))))
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a))))
(/.f64 (sin.f64 b) (-.f64 (/.f64 (*.f64 (cos.f64 b) (cos.f64 a)) r) (/.f64 (*.f64 (sin.f64 b) (sin.f64 a)) r)))
(*.f64 (/.f64 1 (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a)))) (*.f64 r (sin.f64 b)))
(/.f64 (sin.f64 b) (/.f64 (fma.f64 (cos.f64 b) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 b)) (sin.f64 a))) r))
(*.f64 (/.f64 (sin.f64 b) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b)))) r)
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (cos.f64 b) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 b)) (sin.f64 a))))
(*.f64 (/.f64 1 (fma.f64 (cos.f64 b) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 b)) (sin.f64 a)))) (*.f64 r (sin.f64 b)))
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (expm1.f64 (log1p.f64 (*.f64 (cos.f64 b) (cos.f64 a)))) (*.f64 (sin.f64 b) (sin.f64 a))))
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (expm1.f64 (log1p.f64 (*.f64 (sin.f64 b) (sin.f64 a))))))
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (exp.f64 (log.f64 (*.f64 (cos.f64 b) (cos.f64 a)))) (*.f64 (sin.f64 b) (sin.f64 a))))
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (log1p.f64 (expm1.f64 (*.f64 (cos.f64 b) (cos.f64 a)))) (*.f64 (sin.f64 b) (sin.f64 a))))
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (expm1.f64 (log1p.f64 (*.f64 (cos.f64 b) (cos.f64 a)))) (*.f64 (sin.f64 b) (sin.f64 a))))
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (log1p.f64 (expm1.f64 (*.f64 (sin.f64 b) (sin.f64 a))))))
(/.f64 (pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 3) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a))))
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (pow.f64 (sqrt.f64 (*.f64 (cos.f64 b) (cos.f64 a))) 2) (*.f64 (sin.f64 b) (sin.f64 a))))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 3)))) r)
(/.f64 (pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 3) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a))))
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 3))))
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (pow.f64 (sqrt.f64 (*.f64 (cos.f64 b) (cos.f64 a))) 2) (*.f64 (sin.f64 b) (sin.f64 a))))
(/.f64 (cbrt.f64 (pow.f64 (*.f64 r (sin.f64 b)) 3)) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a))))
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) 3)))
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 b) (cos.f64 a)))) 1) (*.f64 (sin.f64 b) (sin.f64 a))))
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 b) (cos.f64 a))))) (*.f64 (sin.f64 b) (sin.f64 a))))
(*.f64 (/.f64 (sin.f64 b) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 a) (cos.f64 b))) 3))) r)
(/.f64 (pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 3) (fma.f64 (cos.f64 b) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 b)) (sin.f64 a))))
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 (*.f64 (cos.f64 b) (cbrt.f64 (pow.f64 (cos.f64 a) 2))) (cbrt.f64 (cos.f64 a))) (*.f64 (sin.f64 b) (sin.f64 a))))
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (sqrt.f64 (*.f64 (cos.f64 b) (cos.f64 a))) (sqrt.f64 (*.f64 (cos.f64 b) (cos.f64 a))) (*.f64 (neg.f64 (sin.f64 b)) (sin.f64 a))))
(/.f64 (sin.f64 b) (/.f64 (fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 b) (cos.f64 a))) 2) (cbrt.f64 (*.f64 (cos.f64 b) (cos.f64 a))) (*.f64 (neg.f64 (sin.f64 b)) (sin.f64 a))) r))
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 b) (cos.f64 a))) 2) (cbrt.f64 (*.f64 (cos.f64 b) (cos.f64 a))) (*.f64 (neg.f64 (sin.f64 b)) (sin.f64 a))))
(*.f64 (/.f64 1 (fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 b) (cos.f64 a))) 2) (cbrt.f64 (*.f64 (cos.f64 b) (cos.f64 a))) (*.f64 (neg.f64 (sin.f64 b)) (sin.f64 a)))) (*.f64 r (sin.f64 b)))
(/.f64 (*.f64 r (sin.f64 b)) (/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) 3) (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 3)) (+.f64 (pow.f64 (*.f64 (cos.f64 b) (cos.f64 a)) 2) (+.f64 (pow.f64 (*.f64 (sin.f64 b) (sin.f64 a)) 2) (*.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a)))))))
(/.f64 (*.f64 r (sin.f64 b)) (+.f64 (fma.f64 (cos.f64 b) (cos.f64 a) (neg.f64 (*.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a)) (sqrt.f64 (sin.f64 b))))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a))) (sqrt.f64 (sin.f64 b)) (*.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a)) (sqrt.f64 (sin.f64 b))))))
(/.f64 (*.f64 r (sin.f64 b)) (+.f64 (fma.f64 1 (*.f64 (cos.f64 b) (cos.f64 a)) (neg.f64 (*.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a)) (sqrt.f64 (sin.f64 b))))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a))) (sqrt.f64 (sin.f64 b)) (*.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a)) (sqrt.f64 (sin.f64 b))))))
(*.f64 (/.f64 (sin.f64 b) (+.f64 (fma.f64 (*.f64 (cos.f64 a) (sqrt.f64 (cos.f64 b))) (sqrt.f64 (cos.f64 b)) (neg.f64 (*.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a)) (sqrt.f64 (sin.f64 b))))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a))) (sqrt.f64 (sin.f64 b)) (*.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a)) (sqrt.f64 (sin.f64 b)))))) r)
(/.f64 (*.f64 r (sin.f64 b)) (+.f64 (fma.f64 (cos.f64 b) (cos.f64 a) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (cbrt.f64 (pow.f64 (sin.f64 b) 2))))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a))) (cbrt.f64 (pow.f64 (sin.f64 b) 2)) (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (cbrt.f64 (pow.f64 (sin.f64 b) 2))))))
(*.f64 (/.f64 1 (+.f64 (fma.f64 (cos.f64 b) (cos.f64 a) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (cbrt.f64 (pow.f64 (sin.f64 b) 2))))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a))) (cbrt.f64 (pow.f64 (sin.f64 b) 2)) (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (cbrt.f64 (pow.f64 (sin.f64 b) 2)))))) (*.f64 r (sin.f64 b)))
(/.f64 (*.f64 r (sin.f64 b)) (+.f64 (fma.f64 1 (*.f64 (cos.f64 b) (cos.f64 a)) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (cbrt.f64 (pow.f64 (sin.f64 b) 2))))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a))) (cbrt.f64 (pow.f64 (sin.f64 b) 2)) (*.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (sin.f64 a)) (cbrt.f64 (pow.f64 (sin.f64 b) 2))))))
(/.f64 (*.f64 r (sin.f64 b)) (+.f64 (fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 b) (cos.f64 a))) 2) (cbrt.f64 (*.f64 (cos.f64 b) (cos.f64 a))) (neg.f64 (*.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a)) (sqrt.f64 (sin.f64 b))))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a))) (sqrt.f64 (sin.f64 b)) (*.f64 (*.f64 (sqrt.f64 (sin.f64 b)) (sin.f64 a)) (sqrt.f64 (sin.f64 b))))))
(/.f64 (*.f64 r (sin.f64 b)) (+.f64 (fma.f64 (cos.f64 b) (cos.f64 a) (neg.f64 (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) 2)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) 2) (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) 2)))))
(/.f64 (*.f64 r (sin.f64 b)) (+.f64 (fma.f64 1 (*.f64 (cos.f64 b) (cos.f64 a)) (neg.f64 (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) 2)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) 2) (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) 2)))))
(*.f64 (/.f64 1 (+.f64 (fma.f64 1 (*.f64 (cos.f64 b) (cos.f64 a)) (neg.f64 (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) 2)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) 2) (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) 2))))) (*.f64 r (sin.f64 b)))
(/.f64 (pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 3) (+.f64 (fma.f64 1 (*.f64 (cos.f64 b) (cos.f64 a)) (neg.f64 (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) 2)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a)))) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) 2) (*.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 b) (sin.f64 a))) 2)))))
Outputs
(*.f64 (/.f64 (sin.f64 b) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b)))) r)
Calls

4 calls:

404.0ms
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 a b)))
207.0ms
b
199.0ms
a
135.0ms
r
Results
ErrorSegmentsBranch
0.3b1r
0.3b1a
0.3b1b
0.3b1(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 a b)))
Compiler

Compiled 2661 to 705 computations (73.5% saved)

regimes517.0ms (3.4%)

Counts
133 → 1
Calls
Call 1
Inputs
(*.f64 r b)
(/.f64 r (/.f64 (cos.f64 a) b))
(/.f64 b (/.f64 (cos.f64 a) r))
(*.f64 (/.f64 b (cos.f64 a)) r)
(/.f64 b (/.f64 (cos.f64 a) r))
(/.f64 r (/.f64 (cos.f64 a) b))
(*.f64 (/.f64 r (cos.f64 a)) b)
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 (*.f64 b (neg.f64 r)) (cos.f64 a))
(*.f64 (*.f64 (/.f64 1 (cos.f64 a)) b) r)
(*.f64 (*.f64 (/.f64 1 (cos.f64 a)) r) b)
(/.f64 1 (/.f64 (cos.f64 a) (*.f64 r b)))
(/.f64 (*.f64 r b) (cos.f64 (+.f64 b a)))
(/.f64 (*.f64 r b) (cos.f64 (+.f64 b a)))
(*.f64 (-.f64 (+.f64 1 (/.f64 b (cos.f64 a))) 1) r)
(*.f64 (/.f64 1 (cos.f64 (+.f64 b a))) (*.f64 r b))
(*.f64 (-.f64 (+.f64 1 (/.f64 r (cos.f64 a))) 1) b)
(*.f64 (/.f64 (sin.f64 b) (cos.f64 a)) r)
(*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r)
(/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 a) r))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))
(*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b))
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 a))
(*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))
(/.f64 (*.f64 (sin.f64 b) (neg.f64 r)) (cos.f64 b))
(/.f64 (sin.f64 b) (/.f64 (neg.f64 (cos.f64 a)) r))
(/.f64 (sin.f64 b) (/.f64 (neg.f64 (cos.f64 b)) r))
(/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (-.f64 b a))) r)
(*.f64 (/.f64 1 (cos.f64 b)) (*.f64 r (sin.f64 b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)))
(*.f64 (/.f64 1 (cos.f64 a)) (*.f64 r (sin.f64 b)))
(*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))) r)
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 b a)))
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 a b)))
(*.f64 (/.f64 (sin.f64 b) (neg.f64 (cos.f64 (+.f64 b a)))) r)
(/.f64 (*.f64 (sin.f64 b) (neg.f64 r)) (cos.f64 (+.f64 b a)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) (neg.f64 r)))
(/.f64 1 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 (sin.f64 b) r)))
(*.f64 r (/.f64 1 (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b))))
(*.f64 r (/.f64 1 (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b))))
(/.f64 1 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 (sin.f64 b) r)))
(*.f64 (/.f64 1 (cos.f64 (+.f64 b a))) (*.f64 r (sin.f64 b)))
(*.f64 r (/.f64 1 (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b))))
(*.f64 (sin.f64 b) (*.f64 r (/.f64 1 (cos.f64 (+.f64 b a)))))
(/.f64 (sin.f64 b) (*.f64 (neg.f64 (cos.f64 (+.f64 b a))) (/.f64 1 r)))
(*.f64 (/.f64 1 (cos.f64 (+.f64 b a))) (/.f64 (sin.f64 b) (/.f64 1 r)))
(/.f64 (-.f64 (+.f64 1 (*.f64 (sin.f64 b) r)) 1) (cos.f64 (+.f64 b a)))
(/.f64 (sin.f64 b) (*.f64 1/3 (*.f64 3 (/.f64 (cos.f64 (+.f64 b a)) r))))
(*.f64 (/.f64 1 (cos.f64 (+.f64 b a))) (/.f64 (sin.f64 b) (/.f64 1 r)))
(/.f64 (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 b 3) r)) (*.f64 r b)) (cos.f64 (+.f64 b a)))
(*.f64 (log.f64 (exp.f64 (/.f64 b (cos.f64 a)))) r)
(pow.f64 (sqrt.f64 (*.f64 (/.f64 r (cos.f64 a)) b)) 2)
(pow.f64 (cbrt.f64 (*.f64 (/.f64 r (cos.f64 a)) b)) 3)
(pow.f64 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 r (sin.f64 b))) -1)
(/.f64 (sin.f64 b) (log.f64 (+.f64 (/.f64 (cos.f64 (+.f64 a b)) r) 1)))
(/.f64 (sin.f64 b) (/.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) b)) r))
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) b)))
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (cos.f64 b) (*.f64 a (sin.f64 b))))
(*.f64 (/.f64 1 (-.f64 (cos.f64 b) (*.f64 a (sin.f64 b)))) (*.f64 r (sin.f64 b)))
(*.f64 (/.f64 1 (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) b))) (*.f64 r (sin.f64 b)))
(/.f64 (sin.f64 b) (-.f64 (*.f64 (+.f64 (*.f64 b (*.f64 b -1/2)) 1) (/.f64 (cos.f64 a) r)) (*.f64 b (/.f64 (sin.f64 a) r))))
(/.f64 (sin.f64 b) (log.f64 (exp.f64 (/.f64 (cos.f64 b) r))))
(/.f64 (pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 3) (cos.f64 a))
(/.f64 (pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 3) (cos.f64 b))
(/.f64 (sqrt.f64 (pow.f64 (*.f64 r (sin.f64 b)) 2)) (cos.f64 a))
(/.f64 (sin.f64 b) (exp.f64 (log.f64 (/.f64 (cos.f64 (+.f64 b a)) r))))
(/.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 b) r))) (cos.f64 (+.f64 b a)))
(/.f64 (sin.f64 b) (log.f64 (exp.f64 (/.f64 (cos.f64 (+.f64 b a)) r))))
(/.f64 (sin.f64 b) (exp.f64 (log.f64 (/.f64 (cos.f64 (+.f64 b a)) r))))
(log.f64 (exp.f64 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 b a)))))
(exp.f64 (log.f64 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 b a)))))
(/.f64 (exp.f64 (log.f64 (*.f64 r (sin.f64 b)))) (cos.f64 (+.f64 b a)))
(exp.f64 (log.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))))
(/.f64 (*.f64 r (sin.f64 b)) (log1p.f64 (expm1.f64 (cos.f64 (+.f64 b a)))))
(/.f64 (*.f64 r (sin.f64 b)) (log.f64 (exp.f64 (cos.f64 (+.f64 b a)))))
(log.f64 (exp.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))))
(/.f64 (sin.f64 b) (/.f64 (expm1.f64 (log1p.f64 (cos.f64 (+.f64 b a)))) (neg.f64 r)))
(/.f64 (sin.f64 b) (/.f64 (log1p.f64 (expm1.f64 (cos.f64 (+.f64 b a)))) (neg.f64 r)))
(pow.f64 (cbrt.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)) 3)
(/.f64 (sin.f64 b) (pow.f64 (cbrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r)) 3))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))) 3) r)
(/.f64 (pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 3) (cos.f64 (+.f64 b a)))
(pow.f64 (cbrt.f64 (/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)))) 3)
(*.f64 (sqrt.f64 (pow.f64 (cos.f64 (+.f64 b a)) -2)) (*.f64 r (sin.f64 b)))
(pow.f64 (cbrt.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))) 3)
(/.f64 (sqrt.f64 (pow.f64 (*.f64 r (sin.f64 b)) 2)) (cos.f64 (+.f64 b a)))
(/.f64 (pow.f64 (sqrt.f64 (*.f64 r (sin.f64 b))) 2) (cos.f64 (+.f64 b a)))
(/.f64 (*.f64 r (sin.f64 b)) (sqrt.f64 (pow.f64 (cos.f64 (+.f64 b a)) 2)))
(/.f64 (pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 3) (cos.f64 (+.f64 b a)))
(/.f64 (sin.f64 b) (/.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 3) (neg.f64 r)))
(/.f64 (sin.f64 b) (/.f64 (cbrt.f64 (pow.f64 (cos.f64 (+.f64 b a)) 3)) (neg.f64 r)))
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (cos.f64 b) (*.f64 (sin.f64 b) (sin.f64 a)))) r)
(/.f64 (pow.f64 (pow.f64 (*.f64 (sin.f64 b) r) 1/3) 3) (cos.f64 (+.f64 b a)))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))) r)
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))
(*.f64 (log1p.f64 (expm1.f64 (/.f64 1 (cos.f64 (+.f64 b a))))) (*.f64 r (sin.f64 b)))
(pow.f64 (pow.f64 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 b a))) 3) 1/3)
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (cos.f64 b) (*.f64 (sin.f64 b) (sin.f64 a))))
(pow.f64 (pow.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b)) 3) 1/3)
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (exp.f64 (log1p.f64 (cos.f64 (+.f64 b a)))) 1))
(/.f64 (sin.f64 b) (/.f64 (log.f64 (+.f64 1 (expm1.f64 (cos.f64 (+.f64 b a))))) (neg.f64 r)))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 1 (cos.f64 (+.f64 b a)))) 3) (*.f64 r (sin.f64 b)))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) a))) r)
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 a) b)))
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) a)))
(/.f64 (*.f64 r (sin.f64 b)) (+.f64 (cos.f64 a) (*.f64 b (-.f64 (*.f64 (cos.f64 a) (*.f64 -1/2 b)) (sin.f64 a)))))
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 (fma.f64 -1/2 (*.f64 a a) 1) (cos.f64 b)) (*.f64 a (sin.f64 b))))
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 (+.f64 (*.f64 (*.f64 -1/2 b) b) 1) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a))))
(/.f64 (pow.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (cbrt.f64 r)) 3) (cos.f64 a))
(*.f64 (/.f64 (sin.f64 b) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (cos.f64 b))) r)
(*.f64 (/.f64 (sin.f64 b) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (cos.f64 a))) r)
(/.f64 (pow.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (cbrt.f64 r)) 3) (cos.f64 (+.f64 b a)))
(/.f64 (pow.f64 (exp.f64 (*.f64 (log.f64 (*.f64 r (sin.f64 b))) 1/3)) 3) (cos.f64 (+.f64 b a)))
(/.f64 (pow.f64 (pow.f64 (pow.f64 (*.f64 r (sin.f64 b)) 1/6) 2) 3) (cos.f64 (+.f64 b a)))
(/.f64 (*.f64 (pow.f64 (cbrt.f64 r) 2) (*.f64 (cbrt.f64 r) (sin.f64 b))) (cos.f64 (+.f64 b a)))
(pow.f64 (/.f64 (pow.f64 (*.f64 r (sin.f64 b)) 3) (pow.f64 (cos.f64 (+.f64 b a)) 3)) 1/3)
(*.f64 (/.f64 r (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))) (sin.f64 b))
(/.f64 (sin.f64 b) (/.f64 (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a))) r))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))) r)
(*.f64 (/.f64 (sin.f64 b) (sqrt.f64 (cos.f64 (+.f64 b a)))) (/.f64 r (sqrt.f64 (cos.f64 (+.f64 b a)))))
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a))))
(/.f64 (sin.f64 b) (-.f64 (/.f64 (*.f64 (cos.f64 b) (cos.f64 a)) r) (/.f64 (*.f64 (sin.f64 b) (sin.f64 a)) r)))
(*.f64 (/.f64 1 (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a)))) (*.f64 r (sin.f64 b)))
(/.f64 (sin.f64 b) (/.f64 (fma.f64 (cos.f64 b) (cos.f64 a) (*.f64 (neg.f64 (sin.f64 b)) (sin.f64 a))) r))
Outputs
(*.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))) r)
Calls

4 calls:

152.0ms
r
125.0ms
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 a b)))
106.0ms
b
94.0ms
a
Results
ErrorSegmentsBranch
0.3b1r
0.3b1a
0.3b1b
0.3b1(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 a b)))
Compiler

Compiled 1515 to 447 computations (70.5% saved)

regimes389.0ms (2.5%)

Counts
127 → 1
Calls
Call 1
Inputs
(*.f64 r b)
(/.f64 r (/.f64 (cos.f64 a) b))
(/.f64 b (/.f64 (cos.f64 a) r))
(*.f64 (/.f64 b (cos.f64 a)) r)
(/.f64 b (/.f64 (cos.f64 a) r))
(/.f64 r (/.f64 (cos.f64 a) b))
(*.f64 (/.f64 r (cos.f64 a)) b)
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 (*.f64 b (neg.f64 r)) (cos.f64 a))
(*.f64 (*.f64 (/.f64 1 (cos.f64 a)) b) r)
(*.f64 (*.f64 (/.f64 1 (cos.f64 a)) r) b)
(/.f64 1 (/.f64 (cos.f64 a) (*.f64 r b)))
(/.f64 (*.f64 r b) (cos.f64 (+.f64 b a)))
(/.f64 (*.f64 r b) (cos.f64 (+.f64 b a)))
(*.f64 (-.f64 (+.f64 1 (/.f64 b (cos.f64 a))) 1) r)
(*.f64 (/.f64 1 (cos.f64 (+.f64 b a))) (*.f64 r b))
(*.f64 (-.f64 (+.f64 1 (/.f64 r (cos.f64 a))) 1) b)
(*.f64 (/.f64 (sin.f64 b) (cos.f64 a)) r)
(*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r)
(/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 a) r))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))
(*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b))
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 a))
(*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))
(/.f64 (*.f64 (sin.f64 b) (neg.f64 r)) (cos.f64 b))
(/.f64 (sin.f64 b) (/.f64 (neg.f64 (cos.f64 a)) r))
(/.f64 (sin.f64 b) (/.f64 (neg.f64 (cos.f64 b)) r))
(/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (-.f64 b a))) r)
(*.f64 (/.f64 1 (cos.f64 b)) (*.f64 r (sin.f64 b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)))
(*.f64 (/.f64 1 (cos.f64 a)) (*.f64 r (sin.f64 b)))
(*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))) r)
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 b a)))
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 a b)))
(*.f64 (/.f64 (sin.f64 b) (neg.f64 (cos.f64 (+.f64 b a)))) r)
(/.f64 (*.f64 (sin.f64 b) (neg.f64 r)) (cos.f64 (+.f64 b a)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) (neg.f64 r)))
(/.f64 1 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 (sin.f64 b) r)))
(*.f64 r (/.f64 1 (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b))))
(*.f64 r (/.f64 1 (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b))))
(/.f64 1 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 (sin.f64 b) r)))
(*.f64 (/.f64 1 (cos.f64 (+.f64 b a))) (*.f64 r (sin.f64 b)))
(*.f64 r (/.f64 1 (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b))))
(*.f64 (sin.f64 b) (*.f64 r (/.f64 1 (cos.f64 (+.f64 b a)))))
(/.f64 (sin.f64 b) (*.f64 (neg.f64 (cos.f64 (+.f64 b a))) (/.f64 1 r)))
(*.f64 (/.f64 1 (cos.f64 (+.f64 b a))) (/.f64 (sin.f64 b) (/.f64 1 r)))
(/.f64 (-.f64 (+.f64 1 (*.f64 (sin.f64 b) r)) 1) (cos.f64 (+.f64 b a)))
(/.f64 (sin.f64 b) (*.f64 1/3 (*.f64 3 (/.f64 (cos.f64 (+.f64 b a)) r))))
(*.f64 (/.f64 1 (cos.f64 (+.f64 b a))) (/.f64 (sin.f64 b) (/.f64 1 r)))
(/.f64 (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 b 3) r)) (*.f64 r b)) (cos.f64 (+.f64 b a)))
(*.f64 (log.f64 (exp.f64 (/.f64 b (cos.f64 a)))) r)
(pow.f64 (sqrt.f64 (*.f64 (/.f64 r (cos.f64 a)) b)) 2)
(pow.f64 (cbrt.f64 (*.f64 (/.f64 r (cos.f64 a)) b)) 3)
(pow.f64 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 r (sin.f64 b))) -1)
(/.f64 (sin.f64 b) (log.f64 (+.f64 (/.f64 (cos.f64 (+.f64 a b)) r) 1)))
(/.f64 (sin.f64 b) (/.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) b)) r))
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) b)))
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (cos.f64 b) (*.f64 a (sin.f64 b))))
(*.f64 (/.f64 1 (-.f64 (cos.f64 b) (*.f64 a (sin.f64 b)))) (*.f64 r (sin.f64 b)))
(*.f64 (/.f64 1 (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) b))) (*.f64 r (sin.f64 b)))
(/.f64 (sin.f64 b) (-.f64 (*.f64 (+.f64 (*.f64 b (*.f64 b -1/2)) 1) (/.f64 (cos.f64 a) r)) (*.f64 b (/.f64 (sin.f64 a) r))))
(/.f64 (sin.f64 b) (log.f64 (exp.f64 (/.f64 (cos.f64 b) r))))
(/.f64 (pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 3) (cos.f64 a))
(/.f64 (pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 3) (cos.f64 b))
(/.f64 (sqrt.f64 (pow.f64 (*.f64 r (sin.f64 b)) 2)) (cos.f64 a))
(/.f64 (sin.f64 b) (exp.f64 (log.f64 (/.f64 (cos.f64 (+.f64 b a)) r))))
(/.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 b) r))) (cos.f64 (+.f64 b a)))
(/.f64 (sin.f64 b) (log.f64 (exp.f64 (/.f64 (cos.f64 (+.f64 b a)) r))))
(/.f64 (sin.f64 b) (exp.f64 (log.f64 (/.f64 (cos.f64 (+.f64 b a)) r))))
(log.f64 (exp.f64 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 b a)))))
(exp.f64 (log.f64 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 b a)))))
(/.f64 (exp.f64 (log.f64 (*.f64 r (sin.f64 b)))) (cos.f64 (+.f64 b a)))
(exp.f64 (log.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))))
(/.f64 (*.f64 r (sin.f64 b)) (log1p.f64 (expm1.f64 (cos.f64 (+.f64 b a)))))
(/.f64 (*.f64 r (sin.f64 b)) (log.f64 (exp.f64 (cos.f64 (+.f64 b a)))))
(log.f64 (exp.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))))
(/.f64 (sin.f64 b) (/.f64 (expm1.f64 (log1p.f64 (cos.f64 (+.f64 b a)))) (neg.f64 r)))
(/.f64 (sin.f64 b) (/.f64 (log1p.f64 (expm1.f64 (cos.f64 (+.f64 b a)))) (neg.f64 r)))
(pow.f64 (cbrt.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)) 3)
(/.f64 (sin.f64 b) (pow.f64 (cbrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r)) 3))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))) 3) r)
(/.f64 (pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 3) (cos.f64 (+.f64 b a)))
(pow.f64 (cbrt.f64 (/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)))) 3)
(*.f64 (sqrt.f64 (pow.f64 (cos.f64 (+.f64 b a)) -2)) (*.f64 r (sin.f64 b)))
(pow.f64 (cbrt.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))) 3)
(/.f64 (sqrt.f64 (pow.f64 (*.f64 r (sin.f64 b)) 2)) (cos.f64 (+.f64 b a)))
(/.f64 (pow.f64 (sqrt.f64 (*.f64 r (sin.f64 b))) 2) (cos.f64 (+.f64 b a)))
(/.f64 (*.f64 r (sin.f64 b)) (sqrt.f64 (pow.f64 (cos.f64 (+.f64 b a)) 2)))
(/.f64 (pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 3) (cos.f64 (+.f64 b a)))
(/.f64 (sin.f64 b) (/.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 3) (neg.f64 r)))
(/.f64 (sin.f64 b) (/.f64 (cbrt.f64 (pow.f64 (cos.f64 (+.f64 b a)) 3)) (neg.f64 r)))
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (cos.f64 b) (*.f64 (sin.f64 b) (sin.f64 a)))) r)
(/.f64 (pow.f64 (pow.f64 (*.f64 (sin.f64 b) r) 1/3) 3) (cos.f64 (+.f64 b a)))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))) r)
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))
(*.f64 (log1p.f64 (expm1.f64 (/.f64 1 (cos.f64 (+.f64 b a))))) (*.f64 r (sin.f64 b)))
(pow.f64 (pow.f64 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 b a))) 3) 1/3)
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (cos.f64 b) (*.f64 (sin.f64 b) (sin.f64 a))))
(pow.f64 (pow.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b)) 3) 1/3)
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (exp.f64 (log1p.f64 (cos.f64 (+.f64 b a)))) 1))
(/.f64 (sin.f64 b) (/.f64 (log.f64 (+.f64 1 (expm1.f64 (cos.f64 (+.f64 b a))))) (neg.f64 r)))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 1 (cos.f64 (+.f64 b a)))) 3) (*.f64 r (sin.f64 b)))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) a))) r)
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 a) b)))
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) a)))
(/.f64 (*.f64 r (sin.f64 b)) (+.f64 (cos.f64 a) (*.f64 b (-.f64 (*.f64 (cos.f64 a) (*.f64 -1/2 b)) (sin.f64 a)))))
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 (fma.f64 -1/2 (*.f64 a a) 1) (cos.f64 b)) (*.f64 a (sin.f64 b))))
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 (+.f64 (*.f64 (*.f64 -1/2 b) b) 1) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a))))
(/.f64 (pow.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (cbrt.f64 r)) 3) (cos.f64 a))
(*.f64 (/.f64 (sin.f64 b) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (cos.f64 b))) r)
(*.f64 (/.f64 (sin.f64 b) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (cos.f64 a))) r)
(/.f64 (pow.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (cbrt.f64 r)) 3) (cos.f64 (+.f64 b a)))
(/.f64 (pow.f64 (exp.f64 (*.f64 (log.f64 (*.f64 r (sin.f64 b))) 1/3)) 3) (cos.f64 (+.f64 b a)))
(/.f64 (pow.f64 (pow.f64 (pow.f64 (*.f64 r (sin.f64 b)) 1/6) 2) 3) (cos.f64 (+.f64 b a)))
(/.f64 (*.f64 (pow.f64 (cbrt.f64 r) 2) (*.f64 (cbrt.f64 r) (sin.f64 b))) (cos.f64 (+.f64 b a)))
(pow.f64 (/.f64 (pow.f64 (*.f64 r (sin.f64 b)) 3) (pow.f64 (cos.f64 (+.f64 b a)) 3)) 1/3)
(*.f64 (/.f64 r (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))) (sin.f64 b))
(/.f64 (sin.f64 b) (/.f64 (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a))) r))
Outputs
(*.f64 (/.f64 r (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))) (sin.f64 b))
Calls

4 calls:

116.0ms
a
85.0ms
r
77.0ms
b
73.0ms
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 a b)))
Results
ErrorSegmentsBranch
0.3b1r
0.3b1a
0.3b1b
0.3b1(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 a b)))
Compiler

Compiled 1415 to 428 computations (69.8% saved)

regimes413.0ms (2.7%)

Counts
125 → 1
Calls
Call 1
Inputs
(*.f64 r b)
(/.f64 r (/.f64 (cos.f64 a) b))
(/.f64 b (/.f64 (cos.f64 a) r))
(*.f64 (/.f64 b (cos.f64 a)) r)
(/.f64 b (/.f64 (cos.f64 a) r))
(/.f64 r (/.f64 (cos.f64 a) b))
(*.f64 (/.f64 r (cos.f64 a)) b)
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 (*.f64 b (neg.f64 r)) (cos.f64 a))
(*.f64 (*.f64 (/.f64 1 (cos.f64 a)) b) r)
(*.f64 (*.f64 (/.f64 1 (cos.f64 a)) r) b)
(/.f64 1 (/.f64 (cos.f64 a) (*.f64 r b)))
(/.f64 (*.f64 r b) (cos.f64 (+.f64 b a)))
(/.f64 (*.f64 r b) (cos.f64 (+.f64 b a)))
(*.f64 (-.f64 (+.f64 1 (/.f64 b (cos.f64 a))) 1) r)
(*.f64 (/.f64 1 (cos.f64 (+.f64 b a))) (*.f64 r b))
(*.f64 (-.f64 (+.f64 1 (/.f64 r (cos.f64 a))) 1) b)
(*.f64 (/.f64 (sin.f64 b) (cos.f64 a)) r)
(*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r)
(/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 a) r))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))
(*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b))
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 a))
(*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))
(/.f64 (*.f64 (sin.f64 b) (neg.f64 r)) (cos.f64 b))
(/.f64 (sin.f64 b) (/.f64 (neg.f64 (cos.f64 a)) r))
(/.f64 (sin.f64 b) (/.f64 (neg.f64 (cos.f64 b)) r))
(/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (-.f64 b a))) r)
(*.f64 (/.f64 1 (cos.f64 b)) (*.f64 r (sin.f64 b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)))
(*.f64 (/.f64 1 (cos.f64 a)) (*.f64 r (sin.f64 b)))
(*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))) r)
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 b a)))
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 a b)))
(*.f64 (/.f64 (sin.f64 b) (neg.f64 (cos.f64 (+.f64 b a)))) r)
(/.f64 (*.f64 (sin.f64 b) (neg.f64 r)) (cos.f64 (+.f64 b a)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) (neg.f64 r)))
(/.f64 1 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 (sin.f64 b) r)))
(*.f64 r (/.f64 1 (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b))))
(*.f64 r (/.f64 1 (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b))))
(/.f64 1 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 (sin.f64 b) r)))
(*.f64 (/.f64 1 (cos.f64 (+.f64 b a))) (*.f64 r (sin.f64 b)))
(*.f64 r (/.f64 1 (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b))))
(*.f64 (sin.f64 b) (*.f64 r (/.f64 1 (cos.f64 (+.f64 b a)))))
(/.f64 (sin.f64 b) (*.f64 (neg.f64 (cos.f64 (+.f64 b a))) (/.f64 1 r)))
(*.f64 (/.f64 1 (cos.f64 (+.f64 b a))) (/.f64 (sin.f64 b) (/.f64 1 r)))
(/.f64 (-.f64 (+.f64 1 (*.f64 (sin.f64 b) r)) 1) (cos.f64 (+.f64 b a)))
(/.f64 (sin.f64 b) (*.f64 1/3 (*.f64 3 (/.f64 (cos.f64 (+.f64 b a)) r))))
(*.f64 (/.f64 1 (cos.f64 (+.f64 b a))) (/.f64 (sin.f64 b) (/.f64 1 r)))
(/.f64 (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 b 3) r)) (*.f64 r b)) (cos.f64 (+.f64 b a)))
(*.f64 (log.f64 (exp.f64 (/.f64 b (cos.f64 a)))) r)
(pow.f64 (sqrt.f64 (*.f64 (/.f64 r (cos.f64 a)) b)) 2)
(pow.f64 (cbrt.f64 (*.f64 (/.f64 r (cos.f64 a)) b)) 3)
(pow.f64 (/.f64 (cos.f64 (+.f64 b a)) (*.f64 r (sin.f64 b))) -1)
(/.f64 (sin.f64 b) (log.f64 (+.f64 (/.f64 (cos.f64 (+.f64 a b)) r) 1)))
(/.f64 (sin.f64 b) (/.f64 (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) b)) r))
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) b)))
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (cos.f64 b) (*.f64 a (sin.f64 b))))
(*.f64 (/.f64 1 (-.f64 (cos.f64 b) (*.f64 a (sin.f64 b)))) (*.f64 r (sin.f64 b)))
(*.f64 (/.f64 1 (-.f64 (cos.f64 a) (*.f64 (sin.f64 a) b))) (*.f64 r (sin.f64 b)))
(/.f64 (sin.f64 b) (-.f64 (*.f64 (+.f64 (*.f64 b (*.f64 b -1/2)) 1) (/.f64 (cos.f64 a) r)) (*.f64 b (/.f64 (sin.f64 a) r))))
(/.f64 (sin.f64 b) (log.f64 (exp.f64 (/.f64 (cos.f64 b) r))))
(/.f64 (pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 3) (cos.f64 a))
(/.f64 (pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 3) (cos.f64 b))
(/.f64 (sqrt.f64 (pow.f64 (*.f64 r (sin.f64 b)) 2)) (cos.f64 a))
(/.f64 (sin.f64 b) (exp.f64 (log.f64 (/.f64 (cos.f64 (+.f64 b a)) r))))
(/.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 b) r))) (cos.f64 (+.f64 b a)))
(/.f64 (sin.f64 b) (log.f64 (exp.f64 (/.f64 (cos.f64 (+.f64 b a)) r))))
(/.f64 (sin.f64 b) (exp.f64 (log.f64 (/.f64 (cos.f64 (+.f64 b a)) r))))
(log.f64 (exp.f64 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 b a)))))
(exp.f64 (log.f64 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 b a)))))
(/.f64 (exp.f64 (log.f64 (*.f64 r (sin.f64 b)))) (cos.f64 (+.f64 b a)))
(exp.f64 (log.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))))
(/.f64 (*.f64 r (sin.f64 b)) (log1p.f64 (expm1.f64 (cos.f64 (+.f64 b a)))))
(/.f64 (*.f64 r (sin.f64 b)) (log.f64 (exp.f64 (cos.f64 (+.f64 b a)))))
(log.f64 (exp.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))))
(/.f64 (sin.f64 b) (/.f64 (expm1.f64 (log1p.f64 (cos.f64 (+.f64 b a)))) (neg.f64 r)))
(/.f64 (sin.f64 b) (/.f64 (log1p.f64 (expm1.f64 (cos.f64 (+.f64 b a)))) (neg.f64 r)))
(pow.f64 (cbrt.f64 (*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))) r)) 3)
(/.f64 (sin.f64 b) (pow.f64 (cbrt.f64 (/.f64 (cos.f64 (+.f64 b a)) r)) 3))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a)))) 3) r)
(/.f64 (pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 3) (cos.f64 (+.f64 b a)))
(pow.f64 (cbrt.f64 (/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)))) 3)
(*.f64 (sqrt.f64 (pow.f64 (cos.f64 (+.f64 b a)) -2)) (*.f64 r (sin.f64 b)))
(pow.f64 (cbrt.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))) 3)
(/.f64 (sqrt.f64 (pow.f64 (*.f64 r (sin.f64 b)) 2)) (cos.f64 (+.f64 b a)))
(/.f64 (pow.f64 (sqrt.f64 (*.f64 r (sin.f64 b))) 2) (cos.f64 (+.f64 b a)))
(/.f64 (*.f64 r (sin.f64 b)) (sqrt.f64 (pow.f64 (cos.f64 (+.f64 b a)) 2)))
(/.f64 (pow.f64 (cbrt.f64 (*.f64 r (sin.f64 b))) 3) (cos.f64 (+.f64 b a)))
(/.f64 (sin.f64 b) (/.f64 (pow.f64 (cbrt.f64 (cos.f64 (+.f64 b a))) 3) (neg.f64 r)))
(/.f64 (sin.f64 b) (/.f64 (cbrt.f64 (pow.f64 (cos.f64 (+.f64 b a)) 3)) (neg.f64 r)))
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (cos.f64 b) (*.f64 (sin.f64 b) (sin.f64 a)))) r)
(/.f64 (pow.f64 (pow.f64 (*.f64 (sin.f64 b) r) 1/3) 3) (cos.f64 (+.f64 b a)))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))) r)
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (cos.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))
(*.f64 (log1p.f64 (expm1.f64 (/.f64 1 (cos.f64 (+.f64 b a))))) (*.f64 r (sin.f64 b)))
(pow.f64 (pow.f64 (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 (+.f64 b a))) 3) 1/3)
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (cos.f64 b) (*.f64 (sin.f64 b) (sin.f64 a))))
(pow.f64 (pow.f64 (*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b)) 3) 1/3)
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (exp.f64 (log1p.f64 (cos.f64 (+.f64 b a)))) 1))
(/.f64 (sin.f64 b) (/.f64 (log.f64 (+.f64 1 (expm1.f64 (cos.f64 (+.f64 b a))))) (neg.f64 r)))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 1 (cos.f64 (+.f64 b a)))) 3) (*.f64 r (sin.f64 b)))
(*.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) a))) r)
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 a) b)))
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 (cos.f64 b) (cos.f64 a)) (*.f64 (sin.f64 b) a)))
(/.f64 (*.f64 r (sin.f64 b)) (+.f64 (cos.f64 a) (*.f64 b (-.f64 (*.f64 (cos.f64 a) (*.f64 -1/2 b)) (sin.f64 a)))))
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 (fma.f64 -1/2 (*.f64 a a) 1) (cos.f64 b)) (*.f64 a (sin.f64 b))))
(/.f64 (*.f64 r (sin.f64 b)) (-.f64 (*.f64 (+.f64 (*.f64 (*.f64 -1/2 b) b) 1) (cos.f64 a)) (*.f64 (sin.f64 b) (sin.f64 a))))
(/.f64 (pow.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (cbrt.f64 r)) 3) (cos.f64 a))
(*.f64 (/.f64 (sin.f64 b) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (cos.f64 b))) r)
(*.f64 (/.f64 (sin.f64 b) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (cos.f64 a))) r)
(/.f64 (pow.f64 (*.f64 (cbrt.f64 (sin.f64 b)) (cbrt.f64 r)) 3) (cos.f64 (+.f64 b a)))
(/.f64 (pow.f64 (exp.f64 (*.f64 (log.f64 (*.f64 r (sin.f64 b))) 1/3)) 3) (cos.f64 (+.f64 b a)))
(/.f64 (pow.f64 (pow.f64 (pow.f64 (*.f64 r (sin.f64 b)) 1/6) 2) 3) (cos.f64 (+.f64 b a)))
(/.f64 (*.f64 (pow.f64 (cbrt.f64 r) 2) (*.f64 (cbrt.f64 r) (sin.f64 b))) (cos.f64 (+.f64 b a)))
(pow.f64 (/.f64 (pow.f64 (*.f64 r (sin.f64 b)) 3) (pow.f64 (cos.f64 (+.f64 b a)) 3)) 1/3)
Outputs
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))) r)
Calls

4 calls:

101.0ms
r
95.0ms
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 a b)))
87.0ms
b
70.0ms
a
Results
ErrorSegmentsBranch
16.2b1r
16.2b1a
16.2b1b
16.2b1(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 (+.f64 a b)))
Compiler

Compiled 1383 to 422 computations (69.5% saved)

regimes70.0ms (0.5%)

Counts
39 → 1
Calls
Call 1
Inputs
(*.f64 r b)
(/.f64 r (/.f64 (cos.f64 a) b))
(/.f64 b (/.f64 (cos.f64 a) r))
(*.f64 (/.f64 b (cos.f64 a)) r)
(/.f64 b (/.f64 (cos.f64 a) r))
(/.f64 r (/.f64 (cos.f64 a) b))
(*.f64 (/.f64 r (cos.f64 a)) b)
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 (*.f64 b (neg.f64 r)) (cos.f64 a))
(*.f64 (*.f64 (/.f64 1 (cos.f64 a)) b) r)
(*.f64 (*.f64 (/.f64 1 (cos.f64 a)) r) b)
(/.f64 1 (/.f64 (cos.f64 a) (*.f64 r b)))
(/.f64 (*.f64 r b) (cos.f64 (+.f64 b a)))
(/.f64 (*.f64 r b) (cos.f64 (+.f64 b a)))
(*.f64 (-.f64 (+.f64 1 (/.f64 b (cos.f64 a))) 1) r)
(*.f64 (/.f64 1 (cos.f64 (+.f64 b a))) (*.f64 r b))
(*.f64 (-.f64 (+.f64 1 (/.f64 r (cos.f64 a))) 1) b)
(*.f64 (/.f64 (sin.f64 b) (cos.f64 a)) r)
(*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r)
(/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 a) r))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))
(*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b))
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 a))
(*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))
(/.f64 (*.f64 (sin.f64 b) (neg.f64 r)) (cos.f64 b))
(/.f64 (sin.f64 b) (/.f64 (neg.f64 (cos.f64 a)) r))
(/.f64 (sin.f64 b) (/.f64 (neg.f64 (cos.f64 b)) r))
(/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (-.f64 b a))) r)
(*.f64 (/.f64 1 (cos.f64 b)) (*.f64 r (sin.f64 b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)))
(*.f64 (/.f64 1 (cos.f64 a)) (*.f64 r (sin.f64 b)))
(*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))
Outputs
(*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))
Calls

3 calls:

21.0ms
b
20.0ms
r
20.0ms
a
Results
ErrorSegmentsBranch
16.2b1r
16.2b1a
16.2b1b
Compiler

Compiled 308 to 93 computations (69.8% saved)

regimes67.0ms (0.4%)

Counts
38 → 1
Calls
Call 1
Inputs
(*.f64 r b)
(/.f64 r (/.f64 (cos.f64 a) b))
(/.f64 b (/.f64 (cos.f64 a) r))
(*.f64 (/.f64 b (cos.f64 a)) r)
(/.f64 b (/.f64 (cos.f64 a) r))
(/.f64 r (/.f64 (cos.f64 a) b))
(*.f64 (/.f64 r (cos.f64 a)) b)
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 (*.f64 b (neg.f64 r)) (cos.f64 a))
(*.f64 (*.f64 (/.f64 1 (cos.f64 a)) b) r)
(*.f64 (*.f64 (/.f64 1 (cos.f64 a)) r) b)
(/.f64 1 (/.f64 (cos.f64 a) (*.f64 r b)))
(/.f64 (*.f64 r b) (cos.f64 (+.f64 b a)))
(/.f64 (*.f64 r b) (cos.f64 (+.f64 b a)))
(*.f64 (-.f64 (+.f64 1 (/.f64 b (cos.f64 a))) 1) r)
(*.f64 (/.f64 1 (cos.f64 (+.f64 b a))) (*.f64 r b))
(*.f64 (-.f64 (+.f64 1 (/.f64 r (cos.f64 a))) 1) b)
(*.f64 (/.f64 (sin.f64 b) (cos.f64 a)) r)
(*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r)
(/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 a) r))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))
(*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b))
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 a))
(*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))
(/.f64 (*.f64 (sin.f64 b) (neg.f64 r)) (cos.f64 b))
(/.f64 (sin.f64 b) (/.f64 (neg.f64 (cos.f64 a)) r))
(/.f64 (sin.f64 b) (/.f64 (neg.f64 (cos.f64 b)) r))
(/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (-.f64 b a))) r)
(*.f64 (/.f64 1 (cos.f64 b)) (*.f64 r (sin.f64 b)))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 (+.f64 b a)) r))
(/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)))
(*.f64 (/.f64 1 (cos.f64 a)) (*.f64 r (sin.f64 b)))
Outputs
(/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)))
Calls

3 calls:

21.0ms
r
19.0ms
a
19.0ms
b
Results
ErrorSegmentsBranch
16.2b1r
16.2b1a
16.2b1b
Compiler

Compiled 299 to 91 computations (69.6% saved)

regimes175.0ms (1.1%)

Counts
32 → 3
Calls
Call 1
Inputs
(*.f64 r b)
(/.f64 r (/.f64 (cos.f64 a) b))
(/.f64 b (/.f64 (cos.f64 a) r))
(*.f64 (/.f64 b (cos.f64 a)) r)
(/.f64 b (/.f64 (cos.f64 a) r))
(/.f64 r (/.f64 (cos.f64 a) b))
(*.f64 (/.f64 r (cos.f64 a)) b)
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 (*.f64 b (neg.f64 r)) (cos.f64 a))
(*.f64 (*.f64 (/.f64 1 (cos.f64 a)) b) r)
(*.f64 (*.f64 (/.f64 1 (cos.f64 a)) r) b)
(/.f64 1 (/.f64 (cos.f64 a) (*.f64 r b)))
(/.f64 (*.f64 r b) (cos.f64 (+.f64 b a)))
(/.f64 (*.f64 r b) (cos.f64 (+.f64 b a)))
(*.f64 (-.f64 (+.f64 1 (/.f64 b (cos.f64 a))) 1) r)
(*.f64 (/.f64 1 (cos.f64 (+.f64 b a))) (*.f64 r b))
(*.f64 (-.f64 (+.f64 1 (/.f64 r (cos.f64 a))) 1) b)
(*.f64 (/.f64 (sin.f64 b) (cos.f64 a)) r)
(*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r)
(/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 a) r))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))
(*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b))
(/.f64 (*.f64 r (sin.f64 b)) (cos.f64 a))
(*.f64 (/.f64 r (cos.f64 b)) (sin.f64 b))
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))
(/.f64 (*.f64 (sin.f64 b) (neg.f64 r)) (cos.f64 b))
(/.f64 (sin.f64 b) (/.f64 (neg.f64 (cos.f64 a)) r))
(/.f64 (sin.f64 b) (/.f64 (neg.f64 (cos.f64 b)) r))
Outputs
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))
(*.f64 (*.f64 (/.f64 1 (cos.f64 a)) b) r)
(/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))
Calls

3 calls:

77.0ms
r
45.0ms
a
44.0ms
b
Results
ErrorSegmentsBranch
22.5b4r
16.4b3a
16.1b3b
Compiler

Compiled 245 to 77 computations (68.6% saved)

bsearch171.0ms (1.1%)

Algorithm
binary-search
Steps
TimeLeftRight
104.0ms
9.392951315321692e-21
2.5994734657612143e-15
66.0ms
-0.00062025530690066
-9.690349234444297e-5
Compiler

Compiled 18 to 13 computations (27.8% saved)

regimes153.0ms (1%)

Counts
21 → 3
Calls
Call 1
Inputs
(*.f64 r b)
(/.f64 r (/.f64 (cos.f64 a) b))
(/.f64 b (/.f64 (cos.f64 a) r))
(*.f64 (/.f64 b (cos.f64 a)) r)
(/.f64 b (/.f64 (cos.f64 a) r))
(/.f64 r (/.f64 (cos.f64 a) b))
(*.f64 (/.f64 r (cos.f64 a)) b)
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 (*.f64 b (neg.f64 r)) (cos.f64 a))
(*.f64 (*.f64 (/.f64 1 (cos.f64 a)) b) r)
(*.f64 (*.f64 (/.f64 1 (cos.f64 a)) r) b)
(/.f64 1 (/.f64 (cos.f64 a) (*.f64 r b)))
(/.f64 (*.f64 r b) (cos.f64 (+.f64 b a)))
(/.f64 (*.f64 r b) (cos.f64 (+.f64 b a)))
(*.f64 (-.f64 (+.f64 1 (/.f64 b (cos.f64 a))) 1) r)
(*.f64 (/.f64 1 (cos.f64 (+.f64 b a))) (*.f64 r b))
(*.f64 (-.f64 (+.f64 1 (/.f64 r (cos.f64 a))) 1) b)
(*.f64 (/.f64 (sin.f64 b) (cos.f64 a)) r)
(*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r)
(/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r))
(/.f64 (sin.f64 b) (/.f64 (cos.f64 a) r))
Outputs
(*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r)
(*.f64 (*.f64 (/.f64 1 (cos.f64 a)) b) r)
(/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r))
Calls

3 calls:

76.0ms
r
38.0ms
b
34.0ms
a
Results
ErrorSegmentsBranch
22.5b4r
16.4b3a
16.1b3b
Compiler

Compiled 165 to 63 computations (61.8% saved)

bsearch130.0ms (0.8%)

Algorithm
binary-search
Steps
TimeLeftRight
63.0ms
1.2224342414590965e-14
2.1969071337613816e-7
67.0ms
-0.00062025530690066
-9.690349234444297e-5
Compiler

Compiled 18 to 13 computations (27.8% saved)

regimes168.0ms (1.1%)

Counts
19 → 3
Calls
Call 1
Inputs
(*.f64 r b)
(/.f64 r (/.f64 (cos.f64 a) b))
(/.f64 b (/.f64 (cos.f64 a) r))
(*.f64 (/.f64 b (cos.f64 a)) r)
(/.f64 b (/.f64 (cos.f64 a) r))
(/.f64 r (/.f64 (cos.f64 a) b))
(*.f64 (/.f64 r (cos.f64 a)) b)
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 (*.f64 b (neg.f64 r)) (cos.f64 a))
(*.f64 (*.f64 (/.f64 1 (cos.f64 a)) b) r)
(*.f64 (*.f64 (/.f64 1 (cos.f64 a)) r) b)
(/.f64 1 (/.f64 (cos.f64 a) (*.f64 r b)))
(/.f64 (*.f64 r b) (cos.f64 (+.f64 b a)))
(/.f64 (*.f64 r b) (cos.f64 (+.f64 b a)))
(*.f64 (-.f64 (+.f64 1 (/.f64 b (cos.f64 a))) 1) r)
(*.f64 (/.f64 1 (cos.f64 (+.f64 b a))) (*.f64 r b))
(*.f64 (-.f64 (+.f64 1 (/.f64 r (cos.f64 a))) 1) b)
(*.f64 (/.f64 (sin.f64 b) (cos.f64 a)) r)
(*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r)
Outputs
(*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r)
(*.f64 (*.f64 (/.f64 1 (cos.f64 a)) b) r)
(*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r)
Calls

3 calls:

67.0ms
b
45.0ms
r
29.0ms
a
Results
ErrorSegmentsBranch
22.5b4r
16.4b3a
16.1b3b
Compiler

Compiled 151 to 60 computations (60.3% saved)

bsearch150.0ms (1%)

Algorithm
binary-search
Steps
TimeLeftRight
65.0ms
9.392951315321692e-21
2.5994734657612143e-15
85.0ms
-0.00062025530690066
-9.690349234444297e-5
Compiler

Compiled 18 to 13 computations (27.8% saved)

regimes71.0ms (0.5%)

Counts
18 → 1
Calls
Call 1
Inputs
(*.f64 r b)
(/.f64 r (/.f64 (cos.f64 a) b))
(/.f64 b (/.f64 (cos.f64 a) r))
(*.f64 (/.f64 b (cos.f64 a)) r)
(/.f64 b (/.f64 (cos.f64 a) r))
(/.f64 r (/.f64 (cos.f64 a) b))
(*.f64 (/.f64 r (cos.f64 a)) b)
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 (*.f64 b (neg.f64 r)) (cos.f64 a))
(*.f64 (*.f64 (/.f64 1 (cos.f64 a)) b) r)
(*.f64 (*.f64 (/.f64 1 (cos.f64 a)) r) b)
(/.f64 1 (/.f64 (cos.f64 a) (*.f64 r b)))
(/.f64 (*.f64 r b) (cos.f64 (+.f64 b a)))
(/.f64 (*.f64 r b) (cos.f64 (+.f64 b a)))
(*.f64 (-.f64 (+.f64 1 (/.f64 b (cos.f64 a))) 1) r)
(*.f64 (/.f64 1 (cos.f64 (+.f64 b a))) (*.f64 r b))
(*.f64 (-.f64 (+.f64 1 (/.f64 r (cos.f64 a))) 1) b)
(*.f64 (/.f64 (sin.f64 b) (cos.f64 a)) r)
Outputs
(*.f64 (/.f64 (sin.f64 b) (cos.f64 a)) r)
Calls

3 calls:

45.0ms
a
11.0ms
b
11.0ms
r
Results
ErrorSegmentsBranch
29.8b1r
29.8b1a
29.8b1b
Compiler

Compiled 144 to 57 computations (60.4% saved)

regimes34.0ms (0.2%)

Counts
17 → 1
Calls
Call 1
Inputs
(*.f64 r b)
(/.f64 r (/.f64 (cos.f64 a) b))
(/.f64 b (/.f64 (cos.f64 a) r))
(*.f64 (/.f64 b (cos.f64 a)) r)
(/.f64 b (/.f64 (cos.f64 a) r))
(/.f64 r (/.f64 (cos.f64 a) b))
(*.f64 (/.f64 r (cos.f64 a)) b)
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 (*.f64 b (neg.f64 r)) (cos.f64 a))
(*.f64 (*.f64 (/.f64 1 (cos.f64 a)) b) r)
(*.f64 (*.f64 (/.f64 1 (cos.f64 a)) r) b)
(/.f64 1 (/.f64 (cos.f64 a) (*.f64 r b)))
(/.f64 (*.f64 r b) (cos.f64 (+.f64 b a)))
(/.f64 (*.f64 r b) (cos.f64 (+.f64 b a)))
(*.f64 (-.f64 (+.f64 1 (/.f64 b (cos.f64 a))) 1) r)
(*.f64 (/.f64 1 (cos.f64 (+.f64 b a))) (*.f64 r b))
(*.f64 (-.f64 (+.f64 1 (/.f64 r (cos.f64 a))) 1) b)
Outputs
(*.f64 (*.f64 (/.f64 1 (cos.f64 a)) b) r)
Calls

3 calls:

11.0ms
b
10.0ms
r
10.0ms
a
Results
ErrorSegmentsBranch
32.5b1r
32.5b1a
32.5b1b
Compiler

Compiled 137 to 54 computations (60.6% saved)

regimes22.0ms (0.1%)

Counts
9 → 1
Calls
Call 1
Inputs
(*.f64 r b)
(/.f64 r (/.f64 (cos.f64 a) b))
(/.f64 b (/.f64 (cos.f64 a) r))
(*.f64 (/.f64 b (cos.f64 a)) r)
(/.f64 b (/.f64 (cos.f64 a) r))
(/.f64 r (/.f64 (cos.f64 a) b))
(*.f64 (/.f64 r (cos.f64 a)) b)
(/.f64 (*.f64 b r) (cos.f64 a))
(/.f64 (*.f64 b (neg.f64 r)) (cos.f64 a))
Outputs
(*.f64 (/.f64 b (cos.f64 a)) r)
Calls

3 calls:

7.0ms
b
6.0ms
r
6.0ms
a
Results
ErrorSegmentsBranch
32.5b1r
32.5b1a
32.5b1b
Compiler

Compiled 67 to 27 computations (59.7% saved)

regimes13.0ms (0.1%)

Accuracy

Total -9.7b remaining (-29.8%)

Threshold costs -9.7b (-29.8%)

Counts
3 → 1
Calls
Call 1
Inputs
(*.f64 r b)
(/.f64 r (/.f64 (cos.f64 a) b))
(/.f64 b (/.f64 (cos.f64 a) r))
Outputs
(/.f64 r (/.f64 (cos.f64 a) b))
Calls

3 calls:

4.0ms
r
4.0ms
a
4.0ms
b
Results
ErrorSegmentsBranch
32.5b1r
32.5b1a
32.5b1b
Compiler

Compiled 30 to 18 computations (40% saved)

simplify16.0ms (0.1%)

Algorithm
egg-herbie
Rules
17×*-commutative_binary64
+-commutative_binary64
sub-neg_binary64
neg-sub0_binary64
neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
059303
184303
295303
3100303
4102303
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(*.f64 (/.f64 (sin.f64 b) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b)))) r)
(*.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))) r)
(*.f64 (/.f64 r (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))) (sin.f64 b))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))) r)
(*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))
(/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)))
(if (<=.f64 b -5720845453378325/9223372036854775808) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)) (if (<=.f64 b 6242686925685171/664613997892457936451903530140172288) (*.f64 (*.f64 (/.f64 1 (cos.f64 a)) b) r) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))))
(if (<=.f64 b -5720845453378325/9223372036854775808) (*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r) (if (<=.f64 b 1937024374906455/158456325028528675187087900672) (*.f64 (*.f64 (/.f64 1 (cos.f64 a)) b) r) (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r))))
(if (<=.f64 b -5720845453378325/9223372036854775808) (*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r) (if (<=.f64 b 6242686925685171/664613997892457936451903530140172288) (*.f64 (*.f64 (/.f64 1 (cos.f64 a)) b) r) (*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r)))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 a)) r)
(*.f64 (*.f64 (/.f64 1 (cos.f64 a)) b) r)
(*.f64 (/.f64 b (cos.f64 a)) r)
(/.f64 r (/.f64 (cos.f64 a) b))
(*.f64 r b)
Outputs
(*.f64 (/.f64 (sin.f64 b) (fma.f64 (sin.f64 b) (neg.f64 (sin.f64 a)) (*.f64 (cos.f64 a) (cos.f64 b)))) r)
(*.f64 (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))) r)
(*.f64 r (/.f64 (sin.f64 b) (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))))
(*.f64 (/.f64 r (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))) (sin.f64 b))
(*.f64 (sin.f64 b) (/.f64 r (-.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (*.f64 (sin.f64 b) (sin.f64 a)))))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 (+.f64 a b))) r)
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 (+.f64 b a))))
(*.f64 (/.f64 r (cos.f64 (+.f64 b a))) (sin.f64 b))
(*.f64 (sin.f64 b) (/.f64 r (cos.f64 (+.f64 b a))))
(/.f64 r (/.f64 (cos.f64 (+.f64 b a)) (sin.f64 b)))
(if (<=.f64 b -5720845453378325/9223372036854775808) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)) (if (<=.f64 b 6242686925685171/664613997892457936451903530140172288) (*.f64 (*.f64 (/.f64 1 (cos.f64 a)) b) r) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))))
(if (<=.f64 b -5720845453378325/9223372036854775808) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b)) (if (<=.f64 b 6242686925685171/664613997892457936451903530140172288) (*.f64 r (*.f64 b (/.f64 1 (cos.f64 a)))) (/.f64 (*.f64 (sin.f64 b) r) (cos.f64 b))))
(if (<=.f64 b -5720845453378325/9223372036854775808) (*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r) (if (<=.f64 b 1937024374906455/158456325028528675187087900672) (*.f64 (*.f64 (/.f64 1 (cos.f64 a)) b) r) (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r))))
(if (<=.f64 b -5720845453378325/9223372036854775808) (*.f64 r (/.f64 (sin.f64 b) (cos.f64 b))) (if (<=.f64 b 1937024374906455/158456325028528675187087900672) (*.f64 r (*.f64 b (/.f64 1 (cos.f64 a)))) (/.f64 (sin.f64 b) (/.f64 (cos.f64 b) r))))
(if (<=.f64 b -5720845453378325/9223372036854775808) (*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r) (if (<=.f64 b 6242686925685171/664613997892457936451903530140172288) (*.f64 (*.f64 (/.f64 1 (cos.f64 a)) b) r) (*.f64 (/.f64 (sin.f64 b) (cos.f64 b)) r)))
(if (<=.f64 b -5720845453378325/9223372036854775808) (*.f64 r (/.f64 (sin.f64 b) (cos.f64 b))) (if (<=.f64 b 6242686925685171/664613997892457936451903530140172288) (*.f64 r (*.f64 b (/.f64 1 (cos.f64 a)))) (*.f64 r (/.f64 (sin.f64 b) (cos.f64 b)))))
(*.f64 (/.f64 (sin.f64 b) (cos.f64 a)) r)
(*.f64 r (/.f64 (sin.f64 b) (cos.f64 a)))
(*.f64 (*.f64 (/.f64 1 (cos.f64 a)) b) r)
(*.f64 r (*.f64 b (/.f64 1 (cos.f64 a))))
(*.f64 (/.f64 b (cos.f64 a)) r)
(*.f64 r (/.f64 b (cos.f64 a)))
(/.f64 r (/.f64 (cos.f64 a) b))
(*.f64 r b)
(*.f64 b r)
Compiler

Compiled 237 to 147 computations (38% saved)

soundness115.0ms (0.7%)

Algorithm
egg-herbie
Rules
871×fma-def_binary64
816×fma-def_binary64
768×associate-*l*_binary64
747×associate-*r*_binary64
497×times-frac_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0914
11314
21714
32014
42114
01501894
14791846
216401785
01712278
15622195
220932107
Stop Event
node limit
node limit
saturated
Compiler

Compiled 169 to 110 computations (34.9% saved)

end138.0ms (0.9%)

Compiler

Compiled 198 to 73 computations (63.1% saved)

Profiling

Loading profile data...